Added background Select
This commit is contained in:
@@ -10,6 +10,7 @@ import { ModalsProvider } from '@mantine/modals';
|
|||||||
import { useQueryAPI } from 'hooks';
|
import { useQueryAPI } from 'hooks';
|
||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
import {
|
import {
|
||||||
|
Navigate,
|
||||||
Route,
|
Route,
|
||||||
RouterProvider,
|
RouterProvider,
|
||||||
createBrowserRouter,
|
createBrowserRouter,
|
||||||
@@ -56,6 +57,7 @@ function App() {
|
|||||||
const router = createBrowserRouter(
|
const router = createBrowserRouter(
|
||||||
createRoutesFromElements(
|
createRoutesFromElements(
|
||||||
<Route>
|
<Route>
|
||||||
|
<Route path='/' element={<Navigate to={`/${import.meta.env.VITE_BASE_URL}`} />} />
|
||||||
<Route
|
<Route
|
||||||
path={`/${import.meta.env.VITE_BASE_URL}`}
|
path={`/${import.meta.env.VITE_BASE_URL}`}
|
||||||
element={<Homepage theme={theme} />}
|
element={<Homepage theme={theme} />}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import {
|
|||||||
Divider,
|
Divider,
|
||||||
Group,
|
Group,
|
||||||
Modal,
|
Modal,
|
||||||
|
Select,
|
||||||
Stack,
|
Stack,
|
||||||
Text,
|
Text,
|
||||||
TextInput,
|
TextInput,
|
||||||
@@ -32,16 +33,27 @@ function ThemesSettings({ theme }: any) {
|
|||||||
const { data, isFetched } = useQueryAPI({
|
const { data, isFetched } = useQueryAPI({
|
||||||
endpoint: 'api/themes',
|
endpoint: 'api/themes',
|
||||||
});
|
});
|
||||||
|
const { data: backgrounds, isFetched: isBackgroundFetched } = useQueryAPI({
|
||||||
|
endpoint: 'api/backgrounds',
|
||||||
|
})
|
||||||
const [themesList, setThemesList] = useState([]);
|
const [themesList, setThemesList] = useState([]);
|
||||||
|
const [backgroundList, setBackgroundList] = useState<any>(["None"]);
|
||||||
const [selectedTheme, setSelectedTheme] = useState<any>({});
|
const [selectedTheme, setSelectedTheme] = useState<any>({});
|
||||||
const { mutateAsync: createTheme } = useMutationAPI();
|
const { mutateAsync: createTheme } = useMutationAPI();
|
||||||
const { mutateAsync: deleteTheme } = useMutationAPI();
|
const { mutateAsync: deleteTheme } = useMutationAPI();
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (isFetched) {
|
if (isFetched) {
|
||||||
setThemesList(data);
|
setThemesList(data);
|
||||||
}
|
}
|
||||||
}, [data, isFetched]);
|
}, [data, isFetched]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (backgrounds && isBackgroundFetched) {
|
||||||
|
setBackgroundList(["None", ...backgrounds]);
|
||||||
|
}
|
||||||
|
}, [backgrounds, isBackgroundFetched]);
|
||||||
|
|
||||||
const handleOpen = (theme: any) => {
|
const handleOpen = (theme: any) => {
|
||||||
setSelectedTheme(theme);
|
setSelectedTheme(theme);
|
||||||
open();
|
open();
|
||||||
@@ -201,13 +213,14 @@ function ThemesSettings({ theme }: any) {
|
|||||||
/>
|
/>
|
||||||
</Group>
|
</Group>
|
||||||
<Group c={'black'} justify='space-between'>
|
<Group c={'black'} justify='space-between'>
|
||||||
<TextInput
|
<Select
|
||||||
label='Background Image Path'
|
data={backgroundList}
|
||||||
|
label='Background Image'
|
||||||
value={selectedTheme.backgroundImage}
|
value={selectedTheme.backgroundImage}
|
||||||
onChange={(e) =>
|
onChange={(value) =>
|
||||||
setSelectedTheme({
|
setSelectedTheme({
|
||||||
...selectedTheme,
|
...selectedTheme,
|
||||||
backgroundImage: e.target.value,
|
backgroundImage: value,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
styles={{
|
styles={{
|
||||||
|
|||||||
Reference in New Issue
Block a user