From d465642f72f763997d4f91a33426aee0fbf291e7 Mon Sep 17 00:00:00 2001 From: GarandPLG Date: Sun, 2 Feb 2025 23:27:27 +0100 Subject: [PATCH] =?UTF-8?q?Aktualizacja=20do=20wersji=200.0.28=20i=20popra?= =?UTF-8?q?wa=20formatowania=20raport=C3=B3w?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Zmieniono wersję z 0.0.27 na 0.0.28 w `package.json`, `dockerfile` i interfejsie użytkownika. - Dodano `useFormatNumber` i `useRedisKeyPrefix` do formatowania liczb oraz generowania prefixów do kluczy redis. - Zaktualizowano auto-importy ESLint i deklaracje typów dla nowych composables. - Poprawiono formatowanie raportu administracyjnego poprzez lepsze wiązanie danych i formatowanie wartości. - Dostosowano `AdministrationAccordion`, aby domyślnie rozwijał pierwszą sekcję. - Zmieniono komponenty wykresów i podpowiedzi na `useFormatNumber` dla spójnego formatowania. - Usprawniono obliczenia w `populationGrowth`, eliminując zbędne funkcje formatowania. - Zoptymalizowano klucze pamięci podręcznej dzięki `redisKeyPrefix` dla lepszej wydajności. - Zaktualizowano `.gitignore`, dodając katalog `auto-types`. --- .eslintrc-auto-import.json | 4 +- .gitignore | 4 +- dockerfile | 2 +- package.json | 2 +- src/auto-types/auto-imports.d.ts | 4 + src/auto-types/components.d.ts | 1 + .../chartLineWithPagination.vue | 6 +- .../charts-and-stats/customChartTooltip.vue | 2 +- .../administrationAccordion.vue | 14 +- .../administration/administrationBurgCard.vue | 14 +- .../administration/administrationDetails.vue | 157 ++++++++++++++++++ .../administrationProvincesCard.vue | 14 +- .../report/administrationReport.vue | 19 ++- src/components/report/diplomacyReport.vue | 4 +- .../report/population/populationGrowth.vue | 16 +- src/composables/useFormatNumber.ts | 3 + src/composables/useRedisKeyPrefix.ts | 11 ++ src/pages/index.vue | 2 +- src/pages/reports/[turn]/[state].vue | 16 +- 19 files changed, 238 insertions(+), 57 deletions(-) create mode 100644 src/components/report/administration/administrationDetails.vue create mode 100644 src/composables/useFormatNumber.ts create mode 100644 src/composables/useRedisKeyPrefix.ts diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json index a0ed94e..2b9b749 100644 --- a/.eslintrc-auto-import.json +++ b/.eslintrc-auto-import.json @@ -508,6 +508,8 @@ "PaginationNext": true, "PaginationPrev": true, "useFetchPopulationReport": true, - "useFetchAdministrationReport": true + "useFetchAdministrationReport": true, + "useRedisKeyPrefix": true, + "useFormatNumber": true } } diff --git a/.gitignore b/.gitignore index f55a4ce..1afd03c 100644 --- a/.gitignore +++ b/.gitignore @@ -42,4 +42,6 @@ slim.report.json redis/data commit.txt -git-diff.txt \ No newline at end of file +git-diff.txt + +auto-types \ No newline at end of file diff --git a/dockerfile b/dockerfile index 65aaba4..c4a3b51 100644 --- a/dockerfile +++ b/dockerfile @@ -14,7 +14,7 @@ RUN bun run build-only \ FROM alpine:latest LABEL maintainer="garandplg@garandplg.com" -LABEL version="0.0.27" +LABEL version="0.0.28" LABEL description="Garand's WG. Pocketbase + Redis + Bun + Vue3 + Vite + TypeScript + TailwindCSS + Shadcn-vue" ARG PB_VERSION=0.22.26 diff --git a/package.json b/package.json index c019551..173e031 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "garands-world-game", - "version": "0.0.27", + "version": "0.0.28", "private": true, "type": "module", "scripts": { diff --git a/src/auto-types/auto-imports.d.ts b/src/auto-types/auto-imports.d.ts index 15a8f88..d56a142 100644 --- a/src/auto-types/auto-imports.d.ts +++ b/src/auto-types/auto-imports.d.ts @@ -340,6 +340,7 @@ declare global { const useFocus: typeof import('@vueuse/core')['useFocus'] const useFocusWithin: typeof import('@vueuse/core')['useFocusWithin'] const useFormField: typeof import('../components/ui/form/useFormField')['useFormField'] + const useFormatNumber: typeof import('../composables/useFormatNumber')['default'] const useFps: typeof import('@vueuse/core')['useFps'] const useFullscreen: typeof import('@vueuse/core')['useFullscreen'] const useGamepad: typeof import('@vueuse/core')['useGamepad'] @@ -394,6 +395,7 @@ declare global { const useProcessEndTurnCollectionsData: typeof import('../composables/useProcessEndTurnCollectionsData')['default'] const useRafFn: typeof import('@vueuse/core')['useRafFn'] const useRedis: typeof import('../composables/useRedis')['useRedis'] + const useRedisKeyPrefix: typeof import('../composables/useRedisKeyPrefix')['default'] const useRefHistory: typeof import('@vueuse/core')['useRefHistory'] const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver'] const useRoute: typeof import('vue-router')['useRoute'] @@ -822,6 +824,7 @@ declare module 'vue' { readonly useFocus: UnwrapRef readonly useFocusWithin: UnwrapRef readonly useFormField: UnwrapRef + readonly useFormatNumber: UnwrapRef readonly useFps: UnwrapRef readonly useFullscreen: UnwrapRef readonly useGamepad: UnwrapRef @@ -876,6 +879,7 @@ declare module 'vue' { readonly useProcessEndTurnCollectionsData: UnwrapRef readonly useRafFn: UnwrapRef readonly useRedis: UnwrapRef + readonly useRedisKeyPrefix: UnwrapRef readonly useRefHistory: UnwrapRef readonly useResizeObserver: UnwrapRef readonly useRoute: UnwrapRef diff --git a/src/auto-types/components.d.ts b/src/auto-types/components.d.ts index 075c2ba..04306c1 100644 --- a/src/auto-types/components.d.ts +++ b/src/auto-types/components.d.ts @@ -13,6 +13,7 @@ declare module 'vue' { AccordionTrigger: typeof import('./../components/ui/accordion/AccordionTrigger.vue')['default'] AdministrationAccordion: typeof import('./../components/report/administration/administrationAccordion.vue')['default'] AdministrationBurgCard: typeof import('./../components/report/administration/administrationBurgCard.vue')['default'] + AdministrationDetails: typeof import('./../components/report/administration/administrationDetails.vue')['default'] AdministrationProvincesCard: typeof import('./../components/report/administration/administrationProvincesCard.vue')['default'] AdministrationReport: typeof import('./../components/report/administrationReport.vue')['default'] BuildingsReport: typeof import('./../components/report/buildingsReport.vue')['default'] diff --git a/src/components/charts-and-stats/chartLineWithPagination.vue b/src/components/charts-and-stats/chartLineWithPagination.vue index 15aa10e..6466956 100644 --- a/src/components/charts-and-stats/chartLineWithPagination.vue +++ b/src/components/charts-and-stats/chartLineWithPagination.vue @@ -85,11 +85,7 @@ const changePage = (page: number) => { class="mb-3 mt-6 h-[600px]" :show-legend="false" :custom-tooltip="customChartTooltip" - :y-formatter=" - (tick, i) => { - return `${tick.toLocaleString('en-US')}`; - } - " + :y-formatter="(tick, i) => useFormatNumber(tick)" /> diff --git a/src/components/charts-and-stats/customChartTooltip.vue b/src/components/charts-and-stats/customChartTooltip.vue index 1b0032b..ef269d1 100644 --- a/src/components/charts-and-stats/customChartTooltip.vue +++ b/src/components/charts-and-stats/customChartTooltip.vue @@ -31,7 +31,7 @@ defineProps<{ {{ item.name }} - {{ item.value.toLocaleString('en-US') }} + {{ useFormatNumber(item.value) }} diff --git a/src/components/report/administration/administrationAccordion.vue b/src/components/report/administration/administrationAccordion.vue index 24be15a..92b43e8 100644 --- a/src/components/report/administration/administrationAccordion.vue +++ b/src/components/report/administration/administrationAccordion.vue @@ -16,12 +16,15 @@ const props = defineProps<{ const provinces = props.accordionItems.find(item => item.type === 'provinces')?.content ?? []; const burgs = props.accordionItems.find(item => item.type === 'burgs')?.content ?? []; - -const { cultureNames, religionNames } = await useFetchAdministrationReport(props.turn, props.state);