feat: middle save
This commit is contained in:
parent
50cbab9a56
commit
3fce68c5d0
8 changed files with 50 additions and 2 deletions
3
bun.lock
3
bun.lock
|
@ -7,6 +7,7 @@
|
||||||
"react": "^19.0.0",
|
"react": "^19.0.0",
|
||||||
"react-dom": "^19.0.0",
|
"react-dom": "^19.0.0",
|
||||||
"react-router": "^7.3.0",
|
"react-router": "^7.3.0",
|
||||||
|
"zustand": "^5.0.3",
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/js": "^9.21.0",
|
"@eslint/js": "^9.21.0",
|
||||||
|
@ -447,6 +448,8 @@
|
||||||
|
|
||||||
"yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="],
|
"yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="],
|
||||||
|
|
||||||
|
"zustand": ["zustand@5.0.3", "", { "peerDependencies": { "@types/react": ">=18.0.0", "immer": ">=9.0.6", "react": ">=18.0.0", "use-sync-external-store": ">=1.2.0" }, "optionalPeers": ["@types/react", "immer", "react", "use-sync-external-store"] }, "sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg=="],
|
||||||
|
|
||||||
"@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
|
"@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
|
||||||
|
|
||||||
"@eslint/eslintrc/globals": ["globals@14.0.0", "", {}, "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ=="],
|
"@eslint/eslintrc/globals": ["globals@14.0.0", "", {}, "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ=="],
|
||||||
|
|
|
@ -14,7 +14,8 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"react": "^19.0.0",
|
"react": "^19.0.0",
|
||||||
"react-dom": "^19.0.0",
|
"react-dom": "^19.0.0",
|
||||||
"react-router": "^7.3.0"
|
"react-router": "^7.3.0",
|
||||||
|
"zustand": "^5.0.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/js": "^9.21.0",
|
"@eslint/js": "^9.21.0",
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
import { BrowserRouter, Route, Routes } from "react-router";
|
import { BrowserRouter, Route, Routes } from "react-router";
|
||||||
import "./App.scss";
|
import "./App.scss";
|
||||||
|
import Dashboard from "./components/dashboard";
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
return (
|
return (
|
||||||
<BrowserRouter>
|
<BrowserRouter>
|
||||||
<Routes>
|
<Routes>
|
||||||
<Route path={"/"} element={<></>} />
|
<Route path={"*"} element={<Dashboard />} />
|
||||||
</Routes>
|
</Routes>
|
||||||
</BrowserRouter>
|
</BrowserRouter>
|
||||||
);
|
);
|
||||||
|
|
0
src/components/dashboard/dashboard.scss
Normal file
0
src/components/dashboard/dashboard.scss
Normal file
10
src/components/dashboard/index.tsx
Normal file
10
src/components/dashboard/index.tsx
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
import Directory from "../directory";
|
||||||
|
import "./dashboard.scss";
|
||||||
|
|
||||||
|
function Dashboard() {
|
||||||
|
return (
|
||||||
|
<Directory />
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Dashboard;
|
1
src/components/directory/directory.scss
Normal file
1
src/components/directory/directory.scss
Normal file
|
@ -0,0 +1 @@
|
||||||
|
|
18
src/components/directory/index.tsx
Normal file
18
src/components/directory/index.tsx
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
import { usePath } from "../../store/path";
|
||||||
|
import { useEffect } from "react";
|
||||||
|
|
||||||
|
import "./directory.scss";
|
||||||
|
|
||||||
|
function Directory() {
|
||||||
|
const path = usePath();
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
path.update(location.pathname);
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div></div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Directory;
|
14
src/store/path.ts
Normal file
14
src/store/path.ts
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
import { create } from "zustand";
|
||||||
|
|
||||||
|
interface PathState {
|
||||||
|
data: undefined;
|
||||||
|
update(path: string): Promise<void>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const usePath = create<PathState>((set) => ({
|
||||||
|
data: undefined,
|
||||||
|
update: async (path: string) => {
|
||||||
|
console.log(path);
|
||||||
|
set({ data: undefined });
|
||||||
|
}
|
||||||
|
}));
|
Loading…
Reference in a new issue