-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathApp.tsx
More file actions
81 lines (72 loc) · 2.45 KB
/
App.tsx
File metadata and controls
81 lines (72 loc) · 2.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/**
* * React Utils
*/
import { Routes, Route } from "react-router-dom";
/*
* * Wallet && Blockchain interaction
*/
/*
* * Mantine UI Library
*/
import {
ColorScheme,
ColorSchemeProvider,
MantineProvider,
} from "@mantine/core";
import { useHotkeys, useLocalStorage } from "@mantine/hooks";
/**
* *Layout */
import Layout from "@layout/default";
/**
* *Pages */
import Home from "@pages/Home";
import BalancesCoins from "@pages/BalancesCoins";
import BalancesNFT from "@pages/BalancesNFT";
import AssetsProposals from "@pages/AssetsProposals";
import Dashboard from "@pages/Dashboard";
import CreateSharedWallet from "@pages/CreateSW";
function App() {
/*Theme Mode Management*/
const [colorScheme, setColorScheme] = useLocalStorage<ColorScheme>({
key: "mantine-color-scheme",
defaultValue: "dark",
getInitialValueInEffect: true,
});
const toggleColorScheme = (value?: ColorScheme) =>
setColorScheme(value || (colorScheme === "dark" ? "light" : "dark"));
useHotkeys([["mod+J", () => toggleColorScheme()]]);
return (
<div className="App">
<ColorSchemeProvider
colorScheme={colorScheme}
toggleColorScheme={toggleColorScheme}
>
<MantineProvider theme={{ colorScheme }}>
<Routes>
<Route path="/" element={<Home />} />
<Route element={<Layout />}>
<Route path="/wallet/*" element={<Dashboard />} />
<Route
path="/wallet/create-shared-wallet"
element={<CreateSharedWallet />}
/>
<Route
path="/wallet/assets-proposals"
element={<AssetsProposals />}
/>
<Route
path="/wallet/assets/balances/*"
element={<BalancesCoins />}
/>
<Route
path="/wallet/assets/balances/nfts"
element={<BalancesNFT />}
/>
</Route>
</Routes>
</MantineProvider>
</ColorSchemeProvider>
</div>
);
}
export default App;