From 811977508451faede24e5bbb79505be89a51ffb0 Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Fri, 9 Aug 2024 22:19:50 +0200 Subject: [PATCH] Fully implement settings --- app.go | 8 ++- frontend/package.json | 6 ++- frontend/package.json.md5 | 2 +- frontend/pnpm-lock.yaml | 50 +++++++++++++++++++ .../Energy/Food/EmptyFoodComp.svelte | 1 + .../components/Energy/Food/FoodTable.svelte | 2 +- frontend/src/lib/components/Header.svelte | 14 ++++++ frontend/src/lib/components/Modal.svelte | 50 +++++++++++++++++++ .../lib/components/Settings/Setting.svelte | 43 ++++++++++++++++ .../lib/components/Settings/Settings.svelte | 17 +++++++ frontend/src/lib/store/FoodStore.ts | 9 +++- frontend/wailsjs/go/main/App.d.ts | 2 +- frontend/wailsjs/go/models.ts | 14 ++++++ main.go | 2 +- settingsservice.go | 32 ++++++------ wailstypes.go | 5 ++ 16 files changed, 235 insertions(+), 22 deletions(-) create mode 100644 frontend/src/lib/components/Modal.svelte create mode 100644 frontend/src/lib/components/Settings/Setting.svelte create mode 100644 frontend/src/lib/components/Settings/Settings.svelte diff --git a/app.go b/app.go index faaf49a..3b45e99 100644 --- a/app.go +++ b/app.go @@ -55,6 +55,10 @@ func (a *App) GetLastPer100(name string) WailsPer100 { func (a *App) GetSettings() settings { return Settings } -func (a *App) SetSetting(key string, value any) settings { - return settingsService.Set(key, value) +func (a *App) SetSetting(key string, value int64) WailsGenericAck { + _, err := settingsService.Set(key, value) + if err != nil { + return WailsGenericAck{Success: false, Error: err.Error()} + } + return WailsGenericAck{Success: true} } diff --git a/frontend/package.json b/frontend/package.json index 3cf76b2..6e11a0b 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -21,7 +21,11 @@ "tailwindcss": "^3.4.3", "tslib": "^2.4.0", "typescript": "^4.6.4", - "vite": "^3.0.7" + "vite": "^3.0.7", + "@fortawesome/fontawesome-svg-core": "^6.5.2", + "@fortawesome/free-brands-svg-icons": "^6.5.2", + "@fortawesome/free-regular-svg-icons": "^6.5.2", + "@fortawesome/free-solid-svg-icons": "^6.5.2" }, "dependencies": { "autoprefixer": "^10.4.20", diff --git a/frontend/package.json.md5 b/frontend/package.json.md5 index 5912d1d..d0ba65c 100644 --- a/frontend/package.json.md5 +++ b/frontend/package.json.md5 @@ -1 +1 @@ -0539f67989f30cc4f97afd5c6035bcad \ No newline at end of file +bd9b801d4541f25052f0d4cb72b7d95a \ No newline at end of file diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 777149e..2ecb9f7 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -18,6 +18,18 @@ importers: specifier: ^3.1.5 version: 3.1.5(chart.js@4.4.3)(svelte@3.59.2) devDependencies: + '@fortawesome/fontawesome-svg-core': + specifier: ^6.5.2 + version: 6.6.0 + '@fortawesome/free-brands-svg-icons': + specifier: ^6.5.2 + version: 6.6.0 + '@fortawesome/free-regular-svg-icons': + specifier: ^6.5.2 + version: 6.6.0 + '@fortawesome/free-solid-svg-icons': + specifier: ^6.5.2 + version: 6.6.0 '@sveltejs/vite-plugin-svelte': specifier: ^1.0.1 version: 1.4.0(svelte@3.59.2)(vite@3.2.10(sass@1.77.8)) @@ -73,6 +85,26 @@ packages: cpu: [loong64] os: [linux] + '@fortawesome/fontawesome-common-types@6.6.0': + resolution: {integrity: sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==} + engines: {node: '>=6'} + + '@fortawesome/fontawesome-svg-core@6.6.0': + resolution: {integrity: sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg==} + engines: {node: '>=6'} + + '@fortawesome/free-brands-svg-icons@6.6.0': + resolution: {integrity: sha512-1MPD8lMNW/earme4OQi1IFHtmHUwAKgghXlNwWi9GO7QkTfD+IIaYpIai4m2YJEzqfEji3jFHX1DZI5pbY/biQ==} + engines: {node: '>=6'} + + '@fortawesome/free-regular-svg-icons@6.6.0': + resolution: {integrity: sha512-Yv9hDzL4aI73BEwSEh20clrY8q/uLxawaQ98lekBx6t9dQKDHcDzzV1p2YtBGTtolYtNqcWdniOnhzB+JPnQEQ==} + engines: {node: '>=6'} + + '@fortawesome/free-solid-svg-icons@6.6.0': + resolution: {integrity: sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==} + engines: {node: '>=6'} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -947,6 +979,24 @@ snapshots: '@esbuild/linux-loong64@0.15.18': optional: true + '@fortawesome/fontawesome-common-types@6.6.0': {} + + '@fortawesome/fontawesome-svg-core@6.6.0': + dependencies: + '@fortawesome/fontawesome-common-types': 6.6.0 + + '@fortawesome/free-brands-svg-icons@6.6.0': + dependencies: + '@fortawesome/fontawesome-common-types': 6.6.0 + + '@fortawesome/free-regular-svg-icons@6.6.0': + dependencies: + '@fortawesome/fontawesome-common-types': 6.6.0 + + '@fortawesome/free-solid-svg-icons@6.6.0': + dependencies: + '@fortawesome/fontawesome-common-types': 6.6.0 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 diff --git a/frontend/src/lib/components/Energy/Food/EmptyFoodComp.svelte b/frontend/src/lib/components/Energy/Food/EmptyFoodComp.svelte index f7325fc..1ec1c00 100644 --- a/frontend/src/lib/components/Energy/Food/EmptyFoodComp.svelte +++ b/frontend/src/lib/components/Energy/Food/EmptyFoodComp.svelte @@ -70,6 +70,7 @@ scope="row" > +