Home / File/ language-selector.tsx — ui Source File

language-selector.tsx — ui Source File

Architecture documentation for language-selector.tsx, a tsx file in the ui codebase. 3 imports, 0 dependents.

File tsx Internationalization Dictionary 3 imports 6 functions

Entity Profile

Dependency Diagram

graph LR
  0196e53a_5d8c_e12e_d1db_960c6e31ec4a["language-selector.tsx"]
  1d141819_425e_b5fd_4c8e_32f7c6a42cf2["react"]
  0196e53a_5d8c_e12e_d1db_960c6e31ec4a --> 1d141819_425e_b5fd_4c8e_32f7c6a42cf2
  9e04de79_0b92_db17_84ad_a529f1990b55["select"]
  0196e53a_5d8c_e12e_d1db_960c6e31ec4a --> 9e04de79_0b92_db17_84ad_a529f1990b55
  79081a1f_55a3_945a_fb8c_d53d6d3eab81["utils"]
  0196e53a_5d8c_e12e_d1db_960c6e31ec4a --> 79081a1f_55a3_945a_fb8c_d53d6d3eab81
  style 0196e53a_5d8c_e12e_d1db_960c6e31ec4a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"use client"

import * as React from "react"
import {
  Select,
  SelectContent,
  SelectGroup,
  SelectItem,
  SelectTrigger,
  SelectValue,
} from "@/examples/base/ui/select"

import { cn } from "@/lib/utils"

export type Language = "en" | "ar" | "he"

export type Direction = "ltr" | "rtl"

export type Translations<
  T extends Record<string, string> = Record<string, string>,
> = Record<
  Language,
  {
    dir: Direction
    locale?: string
    values: T
  }
>

export const languageOptions = [
  { value: "en", label: "English" },
  { value: "ar", label: "Arabic (العربية)" },
  { value: "he", label: "Hebrew (עברית)" },
] as const

type LanguageContextType = {
  language: Language
  setLanguage: (language: Language) => void
}

const LanguageContext = React.createContext<LanguageContextType | undefined>(
  undefined
)

export function LanguageProvider({
  children,
  defaultLanguage = "ar",
}: {
  children: React.ReactNode
  defaultLanguage?: Language
}) {
  const [language, setLanguage] = React.useState<Language>(defaultLanguage)

  return (
    <LanguageContext.Provider value={{ language, setLanguage }}>
      {children}
    </LanguageContext.Provider>
  )
}

// ... (66 more lines)

Subdomains

Dependencies

  • react
  • select
  • utils

Frequently Asked Questions

What does language-selector.tsx do?
language-selector.tsx is a source file in the ui codebase, written in tsx. It belongs to the Internationalization domain, Dictionary subdomain.
What functions are defined in language-selector.tsx?
language-selector.tsx defines 6 function(s): LanguageProvider, LanguageSelector, language, useLanguageContext, useTranslation, value.
What does language-selector.tsx depend on?
language-selector.tsx imports 3 module(s): react, select, utils.
Where is language-selector.tsx in the architecture?
language-selector.tsx is located at apps/v4/components/language-selector.tsx (domain: Internationalization, subdomain: Dictionary, directory: apps/v4/components).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free