diff --git a/src/App.tsx b/src/App.tsx index e8f6062..7ca02ed 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -10,6 +10,7 @@ import { ModalsProvider } from '@mantine/modals'; import { useQueryAPI } from 'hooks'; import { useEffect } from 'react'; import { + Navigate, Route, RouterProvider, createBrowserRouter, @@ -56,6 +57,7 @@ function App() { const router = createBrowserRouter( createRoutesFromElements( + } /> } diff --git a/src/pages/settings/components/Themes.tsx b/src/pages/settings/components/Themes.tsx index 024a0a0..c3e1403 100644 --- a/src/pages/settings/components/Themes.tsx +++ b/src/pages/settings/components/Themes.tsx @@ -7,6 +7,7 @@ import { Divider, Group, Modal, + Select, Stack, Text, TextInput, @@ -32,16 +33,27 @@ function ThemesSettings({ theme }: any) { const { data, isFetched } = useQueryAPI({ endpoint: 'api/themes', }); + const { data: backgrounds, isFetched: isBackgroundFetched } = useQueryAPI({ + endpoint: 'api/backgrounds', + }) const [themesList, setThemesList] = useState([]); + const [backgroundList, setBackgroundList] = useState(["None"]); const [selectedTheme, setSelectedTheme] = useState({}); const { mutateAsync: createTheme } = useMutationAPI(); const { mutateAsync: deleteTheme } = useMutationAPI(); + useEffect(() => { if (isFetched) { setThemesList(data); } }, [data, isFetched]); + useEffect(() => { + if (backgrounds && isBackgroundFetched) { + setBackgroundList(["None", ...backgrounds]); + } + }, [backgrounds, isBackgroundFetched]); + const handleOpen = (theme: any) => { setSelectedTheme(theme); open(); @@ -201,13 +213,14 @@ function ThemesSettings({ theme }: any) { /> - + onChange={(value) => setSelectedTheme({ ...selectedTheme, - backgroundImage: e.target.value, + backgroundImage: value, }) } styles={{