From 944f84944cc3136deaf069023c6f69f8503255f7 Mon Sep 17 00:00:00 2001 From: Pihkaal Date: Sat, 24 Jan 2026 22:48:04 +0100 Subject: [PATCH] feat(settings/clock/alarm): implement (achievements) --- app/assets/fonts/nds-39px.ttf | Bin 3964 -> 4056 bytes .../BottomScreen/Menus/Clock/Alarm.vue | 133 ++++++++++++++++++ .../Settings/BottomScreen/Menus/Menus.vue | 2 + app/stores/achievements.ts | 4 + i18n/locales/en.json | 7 + .../bottom-screen/clock/achievements/X.webp | Bin 0 -> 68 bytes .../clock/achievements/header.webp | Bin 0 -> 110 bytes .../clock/achievements/reset-button.webp | Bin 0 -> 134 bytes .../clock/achievements/small-trophy.webp | Bin 0 -> 64 bytes .../clock/achievements/view-all-button.webp | Bin 0 -> 204 bytes 10 files changed, 146 insertions(+) create mode 100644 app/components/Settings/BottomScreen/Menus/Clock/Alarm.vue create mode 100644 public/nds/images/settings/bottom-screen/clock/achievements/X.webp create mode 100644 public/nds/images/settings/bottom-screen/clock/achievements/header.webp create mode 100644 public/nds/images/settings/bottom-screen/clock/achievements/reset-button.webp create mode 100644 public/nds/images/settings/bottom-screen/clock/achievements/small-trophy.webp create mode 100644 public/nds/images/settings/bottom-screen/clock/achievements/view-all-button.webp diff --git a/app/assets/fonts/nds-39px.ttf b/app/assets/fonts/nds-39px.ttf index e345c837605f5474131f13c8379cc4681ff8a924..0e978f58e556c8d262cfee90a253dfe77658bf0c 100644 GIT binary patch delta 425 zcmew(cSC-Hc>M(i1_loQV11+PL-D-~42%{)enN6?VgbWeMmZq=43Iw~J*P5l`o5CO z3=B+j7#Ns+GEx&$3{sa*0LtwFVzUgO0G|fiTp;@k5UXV5mQ+|IF!2EO&j9jGa`KZC z85qQDfcjH_e2d(~iUI~<22lnEFGdNVfI?nkZmNvxj!p&!))x#6oJR}ti%S^JGo&#v z@NWRgGcW>4AU1eg$r#UX^A+f3pa28I)2VAcVf4fY=Ip#+g}jsH7-bp5CfhKkGQVM% zJ9z=4HES3H3xm_-2aKYe`v3p`fB6401LI^zCPij!qDqqmm{<)nfChu`4j}#jv|R*< z6M%RP5WfNX1Q=3GEkF!(ATv-2v(MxSOqssS48Txe@dG-KnSq^w8>kiufaDmhfr^0u cm1bJS!020|SSDu)b0Dq4-7y21W}YKOs3cv4CMSqYRLL0?40|o>Q6DvoYC( zfq`iP5dXYoAR8|36CCo(Vy zr2zHD0Qn}li4_G5LJXn|3|@>9Kmmok#N1RF)g7G-46Hp244g*`@{3Ct&NHMjFz|_WhNhBWSM-1QCKmAfrY^VsErLsGcqs%jko;&AIMi=F!=xf|HJ>6CNU|>6I7x+ yIf02qHv^~-gcktu5uh6dfEegUMqpSlz5x0c6lMuPya9;+OrFD(xjB@%nFjzmvsPvR diff --git a/app/components/Settings/BottomScreen/Menus/Clock/Alarm.vue b/app/components/Settings/BottomScreen/Menus/Clock/Alarm.vue new file mode 100644 index 0000000..3516b43 --- /dev/null +++ b/app/components/Settings/BottomScreen/Menus/Clock/Alarm.vue @@ -0,0 +1,133 @@ + + + diff --git a/app/components/Settings/BottomScreen/Menus/Menus.vue b/app/components/Settings/BottomScreen/Menus/Menus.vue index a9f1f77..20751f8 100644 --- a/app/components/Settings/BottomScreen/Menus/Menus.vue +++ b/app/components/Settings/BottomScreen/Menus/Menus.vue @@ -11,6 +11,7 @@ import UserUserName from "./User/UserName.vue"; import UserPersonalMessage from "./User/PersonalMessage.vue"; import ClockMenu from "./Clock/Menu.vue"; +import ClockAlarm from "./Clock/Alarm.vue"; import ClockDate from "./Clock/Date.vue"; import ClockTime from "./Clock/Time.vue"; import TouchScreenMenu from "./TouchScreen/Menu.vue"; @@ -172,6 +173,7 @@ const viewComponents: Record = { optionsLanguage: OptionsLanguage, optionsGbaMode: OptionsGbaMode, + clockAlarm: ClockAlarm, clockDate: ClockDate, clockTime: ClockTime, diff --git a/app/stores/achievements.ts b/app/stores/achievements.ts index dbe8fdf..83ca348 100644 --- a/app/stores/achievements.ts +++ b/app/stores/achievements.ts @@ -72,8 +72,12 @@ export const useAchievementsStore = defineStore("achievements", () => { }; return { + // TODO: rename to unlocked achievements: computed(() => storage.value.unlocked), advancement: computed(() => storage.value.advancement), + allObtained: computed( + () => storage.value.unlocked.length === ACHIEVEMENTS.length, + ), unlock, reset, isUnlocked: computed( diff --git a/i18n/locales/en.json b/i18n/locales/en.json index c78c02c..5ff4810 100644 --- a/i18n/locales/en.json +++ b/i18n/locales/en.json @@ -54,6 +54,13 @@ "title": "Clock", "description": "Change date, time, and alarm settings.", + "alarm": { + "title": "Achievements", + "description": "Manage your achievements.", + "resetButton": "Reset Achievements", + "resetConfirmation": "Reset all achievements?" + }, + "date": { "title": "Date", "description": "Today's date." diff --git a/public/nds/images/settings/bottom-screen/clock/achievements/X.webp b/public/nds/images/settings/bottom-screen/clock/achievements/X.webp new file mode 100644 index 0000000000000000000000000000000000000000..c3c793e581c631ea07aaf768ec3e08924540318d GIT binary patch literal 68 zcmWIYbaS&|U|7h<>z;oa*|>w)%<;{AdTcm6PSue{a`?eE3wfQH*3>t0i> Q3))}B+XfqMK@Ru$0MdmsPXGV_ literal 0 HcmV?d00001 diff --git a/public/nds/images/settings/bottom-screen/clock/achievements/reset-button.webp b/public/nds/images/settings/bottom-screen/clock/achievements/reset-button.webp new file mode 100644 index 0000000000000000000000000000000000000000..f388a854c2cf4548274db2311d0a56bb1cdbc1b7 GIT binary patch literal 134 zcmV;10D1pXNk&F~00012MM6+kP&iC-0000lfWQX;HL#5&1xVe{o+VI%9cW0X(a%4l z86VMqf=QaiJSOBzw|bF%Xy=sQ5Y&Nmi_I6%7vF0LN;{|gJ_9FGFP)uk=$G$fpk0Uh o#^6S}rnA!xz4<-{+Bv|x_y&e@Z@fs?e5SEC;UCmX_5B4xKRr1;7XSbN literal 0 HcmV?d00001 diff --git a/public/nds/images/settings/bottom-screen/clock/achievements/small-trophy.webp b/public/nds/images/settings/bottom-screen/clock/achievements/small-trophy.webp new file mode 100644 index 0000000000000000000000000000000000000000..1623aef0eac04a602512e234323712e308637fe4 GIT binary patch literal 64 zcmWIYbaS&{U|bbDJB@|N>Uo;8=!$`mBC2{M zvuYyLA`#8?G-r_&6--wlqI;r=6{Lt2kw79s?tu{16-^8POiN+to@ipm`lBD+!I?uW GIXVFMdRvYF literal 0 HcmV?d00001