From cdb1bb30b129349f6fa5454216d9a17e38d5ff55 Mon Sep 17 00:00:00 2001 From: Casey Wittrock Date: Wed, 22 Oct 2025 02:21:19 -0500 Subject: [PATCH] build --- frontend/package-lock.json | 14 +++ frontend/package.json | 1 + frontend/src/App.vue | 49 ++++++----- frontend/src/components/DataTable.vue | 43 +++++++++ frontend/src/components/HelloWorld.vue | 38 -------- frontend/src/components/SideBar.vue | 83 ++++++++++++++++-- frontend/src/components/pages/Calendar.vue | 6 ++ frontend/src/components/pages/Clients.vue | 40 +++++++++ frontend/src/components/pages/Create.vue | 9 ++ frontend/src/components/pages/Home.vue | 9 ++ frontend/src/components/pages/Jobs.vue | 9 ++ frontend/src/components/pages/Routes.vue | 9 ++ frontend/src/components/pages/TimeSheets.vue | 9 ++ frontend/src/components/pages/Warranties.vue | 9 ++ frontend/src/main.js | 3 +- frontend/src/router.js | 31 +++++++ frontend/src/router/index.js | 11 --- frontend/src/style.css | 92 +++++++++----------- 18 files changed, 337 insertions(+), 128 deletions(-) create mode 100644 frontend/src/components/DataTable.vue delete mode 100644 frontend/src/components/HelloWorld.vue create mode 100644 frontend/src/components/pages/Calendar.vue create mode 100644 frontend/src/components/pages/Clients.vue create mode 100644 frontend/src/components/pages/Create.vue create mode 100644 frontend/src/components/pages/Jobs.vue create mode 100644 frontend/src/components/pages/Routes.vue create mode 100644 frontend/src/components/pages/TimeSheets.vue create mode 100644 frontend/src/components/pages/Warranties.vue create mode 100644 frontend/src/router.js delete mode 100644 frontend/src/router/index.js diff --git a/frontend/package-lock.json b/frontend/package-lock.json index ead3c0f..42ead5f 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -8,6 +8,7 @@ "name": "frontend", "version": "0.0.0", "dependencies": { + "@iconoir/vue": "^7.11.0", "axios": "^1.12.2", "frappe-ui": "^0.1.205", "pinia": "^3.0.3", @@ -645,6 +646,19 @@ } } }, + "node_modules/@iconoir/vue": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@iconoir/vue/-/vue-7.11.0.tgz", + "integrity": "sha512-o768Cu9nayRcxryYElKmfRLBOfY26xVKB4T8z+ppJnEWy2QiDLIs8NJVc53HGvTsrfn7JC7+uu32ZUdFpx4m6A==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/iconoir" + }, + "peerDependencies": { + "vue": "3" + } + }, "node_modules/@interactjs/types": { "version": "1.10.27", "resolved": "https://registry.npmjs.org/@interactjs/types/-/types-1.10.27.tgz", diff --git a/frontend/package.json b/frontend/package.json index 160c27f..989af67 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -9,6 +9,7 @@ "preview": "vite preview" }, "dependencies": { + "@iconoir/vue": "^7.11.0", "axios": "^1.12.2", "frappe-ui": "^0.1.205", "pinia": "^3.0.3", diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 81c28ec..13f8d41 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -1,30 +1,37 @@ - diff --git a/frontend/src/components/DataTable.vue b/frontend/src/components/DataTable.vue new file mode 100644 index 0000000..2b5a30e --- /dev/null +++ b/frontend/src/components/DataTable.vue @@ -0,0 +1,43 @@ + + + diff --git a/frontend/src/components/HelloWorld.vue b/frontend/src/components/HelloWorld.vue deleted file mode 100644 index e84a56a..0000000 --- a/frontend/src/components/HelloWorld.vue +++ /dev/null @@ -1,38 +0,0 @@ - - - - - diff --git a/frontend/src/components/SideBar.vue b/frontend/src/components/SideBar.vue index 2040b80..064242c 100644 --- a/frontend/src/components/SideBar.vue +++ b/frontend/src/components/SideBar.vue @@ -1,15 +1,86 @@ + + diff --git a/frontend/src/components/pages/Calendar.vue b/frontend/src/components/pages/Calendar.vue new file mode 100644 index 0000000..e978cd6 --- /dev/null +++ b/frontend/src/components/pages/Calendar.vue @@ -0,0 +1,6 @@ + + diff --git a/frontend/src/components/pages/Clients.vue b/frontend/src/components/pages/Clients.vue new file mode 100644 index 0000000..8e5a030 --- /dev/null +++ b/frontend/src/components/pages/Clients.vue @@ -0,0 +1,40 @@ + + + diff --git a/frontend/src/components/pages/Create.vue b/frontend/src/components/pages/Create.vue new file mode 100644 index 0000000..86a5a1a --- /dev/null +++ b/frontend/src/components/pages/Create.vue @@ -0,0 +1,9 @@ + + + diff --git a/frontend/src/components/pages/Home.vue b/frontend/src/components/pages/Home.vue index e69de29..4a1770c 100644 --- a/frontend/src/components/pages/Home.vue +++ b/frontend/src/components/pages/Home.vue @@ -0,0 +1,9 @@ + + + diff --git a/frontend/src/components/pages/Jobs.vue b/frontend/src/components/pages/Jobs.vue new file mode 100644 index 0000000..04bf004 --- /dev/null +++ b/frontend/src/components/pages/Jobs.vue @@ -0,0 +1,9 @@ + + + diff --git a/frontend/src/components/pages/Routes.vue b/frontend/src/components/pages/Routes.vue new file mode 100644 index 0000000..e92532e --- /dev/null +++ b/frontend/src/components/pages/Routes.vue @@ -0,0 +1,9 @@ + + + diff --git a/frontend/src/components/pages/TimeSheets.vue b/frontend/src/components/pages/TimeSheets.vue new file mode 100644 index 0000000..9c45959 --- /dev/null +++ b/frontend/src/components/pages/TimeSheets.vue @@ -0,0 +1,9 @@ + + + diff --git a/frontend/src/components/pages/Warranties.vue b/frontend/src/components/pages/Warranties.vue new file mode 100644 index 0000000..cae0c3d --- /dev/null +++ b/frontend/src/components/pages/Warranties.vue @@ -0,0 +1,9 @@ + + + diff --git a/frontend/src/main.js b/frontend/src/main.js index 1a0d1ed..8192e64 100644 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -1,5 +1,6 @@ import { createApp } from "vue"; import "./style.css"; import App from "./App.vue"; +import router from "./router"; -createApp(App).mount("#custom-ui-app"); +createApp(App).use(router).mount("#custom-ui-app"); diff --git a/frontend/src/router.js b/frontend/src/router.js new file mode 100644 index 0000000..563711b --- /dev/null +++ b/frontend/src/router.js @@ -0,0 +1,31 @@ +import { RouterView } from "vue-router"; +import { createRouter, createWebHashHistory } from "vue-router"; +import Calendar from "./components/pages/Calendar.vue"; +import Clients from "./components/pages/Clients.vue"; +import Jobs from "./components/pages/Jobs.vue"; +import Create from "./components/pages/Create.vue"; +import Routes from "./components/pages/Routes.vue"; +import TimeSheets from "./components/pages/TimeSheets.vue"; +import Warranties from "./components/pages/Warranties.vue"; +import Home from "./components/pages/Home.vue"; + +const routes = [ + { + path: "/", + component: Home, + }, + { path: "/calendar", component: Calendar }, + { path: "/clients", component: Clients }, + { path: "/jobs", component: Jobs }, + { path: "/routes", component: Routes }, + { path: "/create", component: Create }, + { path: "/timesheets", component: TimeSheets }, + { path: "/warranties", component: Warranties }, +]; + +const router = createRouter({ + history: createWebHashHistory(), + routes, +}); + +export default router; diff --git a/frontend/src/router/index.js b/frontend/src/router/index.js deleted file mode 100644 index 3c8f203..0000000 --- a/frontend/src/router/index.js +++ /dev/null @@ -1,11 +0,0 @@ -import { createRouter, createWebHashHistory } from "vue-router"; -import Home from "../components/pages/Home.vue"; - -const routes = [{ path: "/", component: Home }]; - -const router = createRouter({ - history: createWebHashHistory(), - routes, -}); - -export default router; diff --git a/frontend/src/style.css b/frontend/src/style.css index 9491fd5..23242d0 100644 --- a/frontend/src/style.css +++ b/frontend/src/style.css @@ -1,44 +1,6 @@ :root { - font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; - line-height: 1.5; - font-weight: 400; - - color-scheme: light dark; - color: rgba(255, 255, 255, 0.87); - background-color: #242424; - - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -h1 { - font-size: 3.2em; - line-height: 1.1; -} - -button { - border-radius: 8px; - border: 1px solid transparent; - padding: 0.6em 1.2em; - font-size: 1em; - font-weight: 500; - font-family: inherit; - background-color: #1a1a1a; - cursor: pointer; - transition: border-color 0.25s; -} -button:hover { - border-color: #646cff; -} -button:focus, -button:focus-visible { - outline: 4px auto -webkit-focus-ring-color; -} - -.card { - padding: 2em; + --primary-text-color: #ffffff; + --secondary-background-color: #669084; } #custom-ui-app { @@ -49,15 +11,43 @@ button:focus-visible { text-align: center; } -@media (prefers-color-scheme: light) { - :root { - color: #213547; - background-color: #ffffff; - } - a:hover { - color: #747bff; - } - button { - background-color: #f9f9f9; - } +.page-turn-button { + border-radius: 5px; + border: none; +} + +.page-num-button { + border: none; + background-color: Transparent; +} + +.interaction-button { + border: none; + border-radius: 5px; + /*background-color: mediumseagreen;*/ + color: white; + background-color: rgb(69, 112, 101); +} + +.interaction-button:hover { + background-color: rgb(82, 132, 119); +} + +#client-content { + display: flex; + flex-direction: column; + width: 95%; + justify-content: center; +} + +#filter-container { + display: flex; + flex-direction: row; + gap: 5px 5px; +} + +#paging-controls { + display: flex; + justify-content: flex-end; + gap: 5px; }