Skip to content
This repository was archived by the owner on Jan 31, 2026. It is now read-only.

Commit 751035f

Browse files
Merge pull request #123 from Maker-Management-Platform/master
v1.1.0
2 parents d429f96 + 8f2a196 commit 751035f

File tree

81 files changed

+1927
-296
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+1927
-296
lines changed

package-lock.json

Lines changed: 104 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,21 @@
3131
"axios": "^1.6.0",
3232
"axios-hooks": "^5.0.1",
3333
"dayjs": "^1.11.10",
34+
"dompurify": "^3.0.8",
3435
"embla-carousel-react": "^7.1.0",
36+
"mdi-react": "^9.4.0",
3537
"react": "^18.2.0",
3638
"react-dom": "^18.2.0",
39+
"react-grid-layout": "1.3.4",
3740
"react-modal-image": "^2.6.0",
3841
"react-router-dom": "^6.18.0",
42+
"reconnecting-eventsource": "^1.6.2",
3943
"three": "^0.158.0"
4044
},
4145
"devDependencies": {
4246
"@types/react": "^18.2.15",
4347
"@types/react-dom": "^18.2.7",
48+
"@types/react-grid-layout": "^1.3.5",
4449
"@typescript-eslint/eslint-plugin": "^6.0.0",
4550
"@typescript-eslint/parser": "^6.0.0",
4651
"@vitejs/plugin-react": "^4.0.3",
@@ -51,6 +56,6 @@
5156
"postcss-preset-mantine": "^1.11.1",
5257
"postcss-simple-vars": "^7.0.1",
5358
"typescript": "^5.0.2",
54-
"vite": "^4.4.5"
59+
"vite": "^4.5.2"
5560
}
5661
}

public/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"local_backend":"/api"}
1+
{"localBackend":"/api"}

src/App.tsx

Lines changed: 42 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,48 @@
1-
import {useDisclosure, useMediaQuery} from '@mantine/hooks';
2-
import {AppShell, Burger, Group, LoadingOverlay} from '@mantine/core';
3-
import {NavBar} from "./core/navbar/NavBar.tsx";
4-
import {Outlet} from "react-router-dom";
5-
import {SettingsContext} from './core/utils/settingsContext.ts';
6-
import useAxios from 'axios-hooks';
1+
import { useDisclosure, useMediaQuery } from '@mantine/hooks';
2+
import { AppShell, Burger, Group, LoadingOverlay } from '@mantine/core';
3+
import { NavBar } from "./core/navbar/NavBar.tsx";
4+
import { Outlet } from "react-router-dom";
75
import { AxiosErrorHandler } from './core/axios-error-handler/AxiosErrorHandler.tsx';
6+
import { ScrollToTop } from './core/scroll-to-top/ScrollToTop.tsx';
7+
import { DashboardProvider } from './dashboard/provider/DashboardProvider.tsx';
8+
import { PrinterWidgetProvider } from './printers/providers/PrinterWidgetProvider.tsx';
9+
import { SSEProvider } from './core/sse/SSEProvider.tsx';
10+
import { SettingsProvider } from './core/settings/settingsProvider.tsx';
811

9-
function App() {
10-
const [opened, {toggle}] = useDisclosure();
12+
export default function App() {
13+
const [opened, { toggle }] = useDisclosure();
1114
const matches = useMediaQuery('(min-width: 900px)');
12-
const [{data, loading, error}] = useAxios(`/settings.json`);
1315

1416
return (
15-
<SettingsContext.Provider value={data}>
16-
<LoadingOverlay visible={loading} zIndex={1000} overlayProps={{ blur: 2 }} />
17-
{!loading && <AppShell
18-
withBorder={true}
19-
header={{height: 60, collapsed: matches}}
20-
//footer={{height: 60}}
21-
navbar={{width: 80, breakpoint: 'sm', collapsed: {mobile: !opened}}}
22-
aside={{width: 300, breakpoint: 'md', collapsed: {desktop: true, mobile: true}}}
23-
padding="md"
24-
>
25-
<AppShell.Header>
26-
<Group h="100%" px="md">
27-
<Burger opened={opened} onClick={toggle} hiddenFrom="sm" size="sm"/>
28-
</Group>
29-
</AppShell.Header>
30-
<NavBar />
31-
<AppShell.Main>
32-
<Outlet />
33-
</AppShell.Main>
34-
<AppShell.Aside p="md">Aside</AppShell.Aside>
35-
</AppShell>}
36-
<AxiosErrorHandler/>
37-
</SettingsContext.Provider>
17+
<SettingsProvider
18+
loading={<LoadingOverlay visible={true} zIndex={1000} overlayProps={{ blur: 2 }} />}
19+
>
20+
<SSEProvider>
21+
<DashboardProvider>
22+
<AppShell
23+
withBorder={true}
24+
header={{ height: 60, collapsed: matches }}
25+
//footer={{height: 60}}
26+
navbar={{ width: 80, breakpoint: 'sm', collapsed: { mobile: !opened } }}
27+
aside={{ width: 300, breakpoint: 'md', collapsed: { desktop: true, mobile: true } }}
28+
padding="md"
29+
>
30+
<AppShell.Header>
31+
<Group h="100%" px="md">
32+
<Burger opened={opened} onClick={toggle} hiddenFrom="sm" size="sm" />
33+
</Group>
34+
</AppShell.Header>
35+
<NavBar />
36+
<AppShell.Main>
37+
<Outlet />
38+
</AppShell.Main>
39+
<AppShell.Aside p="md">Aside</AppShell.Aside>
40+
</AppShell>
41+
<ScrollToTop />
42+
<AxiosErrorHandler />
43+
<PrinterWidgetProvider />
44+
</DashboardProvider>
45+
</SSEProvider>
46+
</SettingsProvider>
3847
)
39-
}
40-
41-
export default App
48+
}

src/assets/components/file-card/FileCard.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ import classes from './FileCard.module.css';
44
import { DropDownMenu } from '../parts/drop-down-menu/DropDownMenu.tsx';
55
import { AssetCardProps } from '../AssetCardProps.ts';
66
import { useCallback, useContext, useState } from 'react';
7-
import { SettingsContext } from '@/core/utils/settingsContext.ts';
7+
import { SettingsContext } from '@/core/settings/settingsContext.ts';
88

99

1010
export function FileCard({ asset, projectUuid, selected, onSelectChange, onDelete }: AssetCardProps) {
11-
const { local_backend } = useContext(SettingsContext);
11+
const { settings } = useContext(SettingsContext);
1212
const [loading, setLoading] = useState(false);
1313
const toggleLoadingCallback = useCallback(() => {
1414
setLoading((l) => {
@@ -41,7 +41,7 @@ export function FileCard({ asset, projectUuid, selected, onSelectChange, onDelet
4141
projectUuid={projectUuid}
4242
id={asset.id}
4343
openDetails={() => onSelectChange(true)}
44-
downloadURL={`${local_backend}/projects/${projectUuid}/assets/${asset?.id}?download=true'`}
44+
downloadURL={`${settings.localBackend}/projects/${projectUuid}/assets/${asset?.id}?download=true'`}
4545
onDelete={() => onDelete(projectUuid, asset.id)}
4646
toggleLoad={toggleLoadingCallback}>
4747
</DropDownMenu>

0 commit comments

Comments
 (0)