1- import { ChevronRight , Languages } from 'lucide-react' ;
2- import React , { useCallback , useMemo } from 'react' ;
3- import { toast } from 'sonner' ;
41import { useTranslation } from 'next-i18next' ;
52import { useRouter } from 'next/router' ;
3+ import React , { type PropsWithChildren , useCallback , useMemo } from 'react' ;
4+ import { toast } from 'sonner' ;
65import { api } from '~/utils/api' ;
76import { getSupportedLanguages } from '~/utils/i18n/client' ;
87import { GeneralPicker } from '../GeneralPicker' ;
98
10- export const LanguagePicker : React . FC = ( ) => {
9+ export const LanguagePicker : React . FC < PropsWithChildren > = ( { children } ) => {
1110 const router = useRouter ( ) ;
1211 const { i18n, t } = useTranslation ( 'account_page' ) ;
1312 const updateUser = api . user . updateUserDetail . useMutation ( ) ;
@@ -34,19 +33,6 @@ export const LanguagePicker: React.FC = () => {
3433 [ router , t , updateUser ] ,
3534 ) ;
3635
37- const trigger = useMemo (
38- ( ) => (
39- < div className = "hover:text-foreground/80 flex w-full justify-between px-0 py-2 text-[16px] font-medium text-gray-300" >
40- < div className = "flex items-center gap-4" >
41- < Languages className = "h-5 w-5 text-green-500" />
42- { t ( 'ui.change_language' ) }
43- </ div >
44- < ChevronRight className = "h-6 w-6 text-gray-500" />
45- </ div >
46- ) ,
47- [ t ] ,
48- ) ;
49-
5036 const extractKey = useCallback ( ( language : { code : string } ) => language . code , [ ] ) ;
5137 const selected = useCallback (
5238 ( language : { code : string } ) => i18n . language === language . code ,
@@ -56,7 +42,7 @@ export const LanguagePicker: React.FC = () => {
5642
5743 return (
5844 < GeneralPicker
59- trigger = { trigger }
45+ trigger = { children }
6046 title = { t ( 'ui.change_language_details.title' ) }
6147 placeholderText = { t ( 'ui.change_language_details.placeholder' ) }
6248 noOptionsText = { t ( 'ui.change_language_details.no_currency_found' ) }
0 commit comments