You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

26 lines
1020 B

import * as React from 'react'
import { QueryClientProvider } from '@tanstack/react-query'
import { BrowserRouter } from 'react-router-dom'
import { DirectionProvider } from '@radix-ui/react-direction'
import { queryClient } from '@/lib/query-client'
import { TooltipProvider } from '@/components/ui/tooltip'
import { ToastContainer } from '@/components/ui/toast-container'
import { useLanguageStore } from '@/i18n'
/* پروایدرهای سراسری: React Query + RTL/LTR چندزبانه + Tooltips + Router + Toasts */
export default function Providers({ children }: { children: React.ReactNode }) {
const language = useLanguageStore((s) => s.language)
const dir = language === 'en' ? 'ltr' : 'rtl'
return (
<QueryClientProvider client={queryClient}>
<DirectionProvider dir={dir}>
<TooltipProvider delayDuration={200}>
<BrowserRouter>{children}</BrowserRouter>
<ToastContainer />
</TooltipProvider>
</DirectionProvider>
</QueryClientProvider>
)
}