diff --git a/.env b/.env index 8c9d162..e68a554 100644 --- a/.env +++ b/.env @@ -1,3 +1,3 @@ -VITE_API_URL = 'http://10.109.87.88:4000' +VITE_API_URL = 'http://10.165.85.88:4000' VITE_TOKEN_NAME = 'dpage-editor-t' VITE_REFRESH_TOKEN_NAME = 'dpage-editor-t' \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx index 4b89f66..57ecbe2 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,4 +1,4 @@ -import { type FC } from 'react' +import { useEffect, useState, type FC } from 'react' import './assets/fonts/irancell/style.css' import { BrowserRouter } from 'react-router-dom' import MainRouter from './router/MainRouter' @@ -7,6 +7,7 @@ import FaJson from '@/langs/fa.json' import { I18nextProvider } from 'react-i18next' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import ToastContainer from './components/Toast' +import { getToken, setRefreshToken, setToken } from './config/func' i18next.init({ interpolation: { escapeValue: false }, @@ -21,6 +22,48 @@ i18next.init({ const queryClient = new QueryClient() const App: FC = () => { + + const [isLogin, setIsLogin] = useState<'checking' | 'isLogin' | 'isNotLogin'>('checking') + + + useEffect(() => { + // استخراج توکن‌ها از URL در صورت وجود + const urlParams = new URLSearchParams(window.location.search) + const tokenFromUrl = urlParams.get('token') + const refreshTokenFromUrl = urlParams.get('refreshToken') + + if (tokenFromUrl && refreshTokenFromUrl) { + // ذخیره توکن‌ها (جایگزین کردن توکن‌های قبلی اگر وجود داشته باشند) + setToken(tokenFromUrl) + setRefreshToken(refreshTokenFromUrl) + + // حذف پارامترها از URL + const newUrl = window.location.pathname + window.history.replaceState({}, '', newUrl) + + // تنظیم وضعیت لاگین و هدایت به صفحه اصلی + setIsLogin('isLogin') + // if (window.location.pathname === Paths.auth.login) { + // window.location.href = Paths.home + // } + return + } + + const token = getToken() + if (token) { + setIsLogin('isLogin') + } else { + setIsLogin('isNotLogin') + if (window.location.href.split('auth').length === 1) { + // window.location.href = Paths.auth.login + } + } + + }, []) + + console.log('isLogin', isLogin); + + return ( diff --git a/src/pages/home/service/HomeService.ts b/src/pages/home/service/HomeService.ts index 397dd43..5413bf7 100644 --- a/src/pages/home/service/HomeService.ts +++ b/src/pages/home/service/HomeService.ts @@ -9,22 +9,24 @@ import type { } from "@/pages/catalogue/types/Types"; export const createCatalog = async (params: CreateCatalogParamsType) => { - const { data } = await axios.post("/catalogue", params); + const { data } = await axios.post("/admin/catalogue", params); return data; }; export const getCatalogs = async () => { - const { data } = await axios.get("/catalogue"); + const { data } = await axios.get("/admin/catalogue"); return data; }; export const getCatalogById = async (id: string) => { - const { data } = await axios.get(`/catalogue/${id}`); + const { data } = await axios.get( + `/admin/catalogue/${id}`, + ); return data; }; export const updateCatalog = async (params: UpdateCatalogParamsType) => { - const { data } = await axios.patch(`/catalogue/${params.id}`, { + const { data } = await axios.patch(`/admin/catalogue/${params.id}`, { content: params.content, }); return data;