diff --git a/package-lock.json b/package-lock.json index 10e070f..f24f263 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,7 +28,8 @@ "@progress/kendo-theme-default": "^12.0.1", "campfire-logs-dashboard": "file:./campfire-logs-dashboard", "react": "^19.1.1", - "react-dom": "^19.1.1" + "react-dom": "^19.1.1", + "react-router-dom": "^7.9.1" }, "devDependencies": { "@eslint/js": "^9.33.0", @@ -2371,6 +2372,15 @@ "dev": true, "license": "MIT" }, + "node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -3784,6 +3794,44 @@ "node": ">=0.10.0" } }, + "node_modules/react-router": { + "version": "7.9.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.9.1.tgz", + "integrity": "sha512-pfAByjcTpX55mqSDGwGnY9vDCpxqBLASg0BMNAuMmpSGESo/TaOUG6BllhAtAkCGx8Rnohik/XtaqiYUJtgW2g==", + "license": "MIT", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.9.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.9.1.tgz", + "integrity": "sha512-U9WBQssBE9B1vmRjo9qTM7YRzfZ3lUxESIZnsf4VjR/lXYz9MHjvOxHzr/aUm4efpktbVOrF09rL/y4VHa8RMw==", + "license": "MIT", + "dependencies": { + "react-router": "7.9.1" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, "node_modules/react-transition-group": { "version": "4.4.5", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", @@ -3888,6 +3936,12 @@ "semver": "bin/semver.js" } }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", + "license": "MIT" + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", diff --git a/package.json b/package.json index 57be719..f2cb294 100644 --- a/package.json +++ b/package.json @@ -28,9 +28,10 @@ "@progress/kendo-react-progressbars": "^12.0.1", "@progress/kendo-react-tooltip": "^12.0.1", "@progress/kendo-theme-default": "^12.0.1", + "campfire-logs-dashboard": "file:./campfire-logs-dashboard", "react": "^19.1.1", "react-dom": "^19.1.1", - "campfire-logs-dashboard": "file:./campfire-logs-dashboard" + "react-router-dom": "^7.9.1" }, "devDependencies": { "@eslint/js": "^9.33.0", diff --git a/src/App.jsx b/src/App.jsx index f67355a..ef0bf83 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,35 +1,15 @@ -import { useState } from 'react' -import reactLogo from './assets/react.svg' -import viteLogo from '/vite.svg' -import './App.css' +import React from 'react'; +import AppRoutes from './routes/AppRoutes'; +import CampfireAppBar from './components/AppBar'; function App() { - const [count, setCount] = useState(0) - return ( - <> -
- - Vite logo - - - React logo - -
-

Vite + React

-
- -

- Edit src/App.jsx and save to test HMR -

-
-

- Click on the Vite and React logos to learn more -

- - ) -} +
+ + +
+ ); -export default App +}; + +export default App; \ No newline at end of file diff --git a/src/components/AppBar.jsx b/src/components/AppBar.jsx index e69de29..f7438b1 100644 --- a/src/components/AppBar.jsx +++ b/src/components/AppBar.jsx @@ -0,0 +1,27 @@ +import React from 'react'; +import { AppBar, AppBarSection, AppBarSpacer } from '@progress/kendo-react-layout'; +import { Button } from '@progress/kendo-react-buttons'; +import { Link } from 'react-router-dom'; + +const CampfireAppBar = () => { + return ( + + + + + + + + + + + + + + + + + ); +}; + +export default CampfireAppBar; \ No newline at end of file diff --git a/src/main.jsx b/src/main.jsx index c29f9c1..d249a6f 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -1,11 +1,14 @@ -import { StrictMode } from 'react' -import { createRoot } from 'react-dom/client' +import { StrictMode } from 'react'; +import { createRoot } from 'react-dom/client'; +import { BrowserRouter } from 'react-router-dom'; import 'campfire-logs-dashboard/dist/css/campfire-logs-dashboard.css'; -import './index.css' -import App from './App.jsx' +import './index.css'; +import App from './App.jsx'; createRoot(document.getElementById('root')).render( - + + + , -) +); diff --git a/src/pages/Dashboard.jsx b/src/pages/Dashboard.jsx index e69de29..3a33106 100644 --- a/src/pages/Dashboard.jsx +++ b/src/pages/Dashboard.jsx @@ -0,0 +1,9 @@ +import React from 'react'; + +const Dashboard = () => { + return ( +

This is the Dashboard Page

+ ); +}; + +export default Dashboard; \ No newline at end of file diff --git a/src/pages/EditorPage.jsx b/src/pages/EditorPage.jsx index e69de29..151c9fa 100644 --- a/src/pages/EditorPage.jsx +++ b/src/pages/EditorPage.jsx @@ -0,0 +1,9 @@ +import React from 'react'; + +const EditorPage = () => { + return ( +

This is the Editor Page

+ ); +}; + +export default EditorPage; \ No newline at end of file diff --git a/src/pages/NotFound.jsx b/src/pages/NotFound.jsx index e69de29..9636ea2 100644 --- a/src/pages/NotFound.jsx +++ b/src/pages/NotFound.jsx @@ -0,0 +1,9 @@ +import React from 'react'; + +const NotFound = () => { + return ( +

404: Page Not Found

+ ); +}; + +export default NotFound; \ No newline at end of file diff --git a/src/routes/AppRoutes.jsx b/src/routes/AppRoutes.jsx index e69de29..baff392 100644 --- a/src/routes/AppRoutes.jsx +++ b/src/routes/AppRoutes.jsx @@ -0,0 +1,20 @@ +import React from 'react' +import { Routes, Route } from 'react-router-dom'; + +import Dashboard from '../pages/Dashboard'; +import EditorPage from '../pages/EditorPage'; +import NotFound from '../pages/NotFound'; + +const AppRoutes = () => { + return ( + + } /> + } /> + } /> + } /> + + ); +}; + +export default AppRoutes; +