From 983847187144c8fb46fd92e77035d9948278562a Mon Sep 17 00:00:00 2001 From: Alexander Andreev Date: Mon, 5 Jan 2026 14:43:12 +0300 Subject: [PATCH] =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=D1=81?= =?UTF-8?q?=20=D0=B3=D0=BB=D0=B0=D0=B2=D0=BD=D0=BE=D0=B9=20=D0=BF=D0=BE=20?= =?UTF-8?q?=D0=B2=D0=B8=D0=B7=D1=83=D0=B0=D0=BB=D1=83.=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D0=BE=D1=81=D0=BF=D0=BE=D1=81=D0=BE=D0=B1?= =?UTF-8?q?=D0=BD=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/composables/useAuth.ts | 7 + app/layouts/default.vue | 51 +- app/pages/index.vue | 562 +++++++++++++++++- app/pages/village.vue | 13 +- .../admin/village/complete-clearing.post.ts | 10 +- server/api/admin/village/trigger-tick.post.ts | 49 ++ server/api/habits/[id]/complete.post.ts | 33 +- server/api/quests/daily-visit.post.ts | 23 +- server/services/villageService.ts | 392 ++++-------- server/utils/economy.ts | 39 ++ 10 files changed, 860 insertions(+), 319 deletions(-) create mode 100644 server/api/admin/village/trigger-tick.post.ts create mode 100644 server/utils/economy.ts diff --git a/app/composables/useAuth.ts b/app/composables/useAuth.ts index 6c2073f..fc19857 100644 --- a/app/composables/useAuth.ts +++ b/app/composables/useAuth.ts @@ -64,6 +64,12 @@ export function useAuth() { } }; + const updateUser = (partialUser: Partial) => { + if (user.value) { + user.value = { ...user.value, ...partialUser }; + } + }; + // Expose the state and methods. return { user, @@ -72,5 +78,6 @@ export function useAuth() { fetchMe, login, logout, + updateUser, }; } diff --git a/app/layouts/default.vue b/app/layouts/default.vue index 71b02c3..bea4c46 100644 --- a/app/layouts/default.vue +++ b/app/layouts/default.vue @@ -3,8 +3,8 @@
@@ -35,11 +35,58 @@ \ No newline at end of file diff --git a/app/pages/village.vue b/app/pages/village.vue index 747b20e..dbbcf75 100644 --- a/app/pages/village.vue +++ b/app/pages/village.vue @@ -49,12 +49,12 @@ -
-

Admin Tools

- - -
- +
+

Admin Tools

+ + + +

Activity Log

@@ -184,6 +184,7 @@ async function handleAdminAction(url) { const handleResetVillage = () => handleAdminAction('/api/admin/village/reset'); const handleCompleteClearing = () => handleAdminAction('/api/admin/village/complete-clearing'); +const handleTriggerTick = () => handleAdminAction('/api/admin/village/trigger-tick');