From 7728b4b1abe460388d9dcd6d03a984dfdf3cd17e Mon Sep 17 00:00:00 2001
From: Azalea <22280294+hykilpikonna@users.noreply.github.com>
Date: Tue, 2 Apr 2024 00:16:34 -0400
Subject: [PATCH] [M] Move setting descriptions to i18n
---
AquaNet/src/libs/generalTypes.ts | 2 --
AquaNet/src/libs/i18n/en_ref.ts | 9 +++++++++
AquaNet/src/pages/User/Settings.svelte | 8 ++++----
src/main/java/ext/Ext.kt | 2 +-
src/main/java/icu/samnyan/aqua/net/SettingsApi.kt | 7 ++-----
.../java/icu/samnyan/aqua/net/db/AquaGameOptions.kt | 13 ++++---------
6 files changed, 20 insertions(+), 21 deletions(-)
diff --git a/AquaNet/src/libs/generalTypes.ts b/AquaNet/src/libs/generalTypes.ts
index 22cec995..ea0f3e5c 100644
--- a/AquaNet/src/libs/generalTypes.ts
+++ b/AquaNet/src/libs/generalTypes.ts
@@ -116,8 +116,6 @@ export interface MusicMeta {
export type AllMusic = { [key: string]: MusicMeta }
export interface GameOption {
- name: string
- desc: string
key: string
value: any
type: "Boolean"
diff --git a/AquaNet/src/libs/i18n/en_ref.ts b/AquaNet/src/libs/i18n/en_ref.ts
index ec531605..e0749aac 100644
--- a/AquaNet/src/libs/i18n/en_ref.ts
+++ b/AquaNet/src/libs/i18n/en_ref.ts
@@ -87,6 +87,15 @@ export const EN_REF_SETTINGS = {
'settings.title': 'Settings',
'settings.tabs.profile': 'Profile',
'settings.tabs.game': 'Game',
+ 'settings.fields.unlockMusic.name': 'Unlock All Music',
+ 'settings.fields.unlockMusic.desc': 'Unlock all music and master difficulty in game.',
+ 'settings.fields.unlockChara.name': 'Unlock All Characters',
+ 'settings.fields.unlockChara.desc': 'Unlock all characters, voices, and partners in game.',
+ 'settings.fields.unlockCollectables.name': 'Unlock All Collectables',
+ 'settings.fields.unlockCollectables.desc': 'Unlock all collectables (nameplate, title, icon, frame) in game. ' +
+ 'This setting is not relevant in chusan because in-game user box is disabled.',
+ 'settings.fields.unlockTickets.name': 'Unlock All Tickets',
+ 'settings.fields.unlockTickets.desc': 'Infinite map/ex tickets (note: maimai still limits which tickets can be used).',
}
export const EN_REF = { ...EN_REF_USER, ...EN_REF_Welcome, ...EN_REF_GENERAL,
diff --git a/AquaNet/src/pages/User/Settings.svelte b/AquaNet/src/pages/User/Settings.svelte
index e2e39c9b..935aba47 100644
--- a/AquaNet/src/pages/User/Settings.svelte
+++ b/AquaNet/src/pages/User/Settings.svelte
@@ -134,11 +134,11 @@
{#if field.type === "Boolean"}
- submitGameOption(field.key, field.value)} />
-
{/if}
diff --git a/src/main/java/ext/Ext.kt b/src/main/java/ext/Ext.kt
index 27cd7b3f..1067f5d1 100644
--- a/src/main/java/ext/Ext.kt
+++ b/src/main/java/ext/Ext.kt
@@ -47,7 +47,7 @@ annotation class Doc(
@Target(AnnotationTarget.PROPERTY)
@Retention(AnnotationRetention.RUNTIME)
-annotation class SettingField(val name: Str, val desc: Str)
+annotation class SettingField
// Reflection
@Suppress("UNCHECKED_CAST")
diff --git a/src/main/java/icu/samnyan/aqua/net/SettingsApi.kt b/src/main/java/icu/samnyan/aqua/net/SettingsApi.kt
index 9a2b12af..f5372ebb 100644
--- a/src/main/java/icu/samnyan/aqua/net/SettingsApi.kt
+++ b/src/main/java/icu/samnyan/aqua/net/SettingsApi.kt
@@ -20,11 +20,8 @@ class SettingsApi(
val fields = AquaGameOptions::class.vars()
.mapNotNull { it.findAnnotation()?.let { an -> it to an } }
val fieldMap = fields.associate { (f, _) -> f.name to f }
- val fieldDesc = fields.map { (f, an) -> mapOf(
- "key" to f.name,
- "name" to an.name,
- "desc" to an.desc,
- "type" to f.returnType.jvmErasure.simpleName
+ val fieldDesc = fields.map { (f, _) -> mapOf(
+ "key" to f.name, "type" to f.returnType.jvmErasure.simpleName
) }
@API("get")
diff --git a/src/main/java/icu/samnyan/aqua/net/db/AquaGameOptions.kt b/src/main/java/icu/samnyan/aqua/net/db/AquaGameOptions.kt
index 34b78be6..e9c579a2 100644
--- a/src/main/java/icu/samnyan/aqua/net/db/AquaGameOptions.kt
+++ b/src/main/java/icu/samnyan/aqua/net/db/AquaGameOptions.kt
@@ -14,21 +14,16 @@ class AquaGameOptions(
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Long = 0,
- @SettingField("Unlock All Music",
- "Unlock all music and master difficulty in game")
+ @SettingField
var unlockMusic: Boolean = false,
- @SettingField("Unlock All Chara",
- "Unlock all characters and partners in game")
+ @SettingField
var unlockChara: Boolean = false,
- @SettingField("Unlock All Collectables",
- "Unlock all collectables (nameplate, title, icon, frame) in game. " +
- "This setting is not relevant in chusan because in-game user box is disabled in chusan.")
+ @SettingField
var unlockCollectables: Boolean = false,
- @SettingField("Unlock All Tickets" ,
- "Unlock all map tickets (the game still limits which tickets can be used)")
+ @SettingField
var unlockTickets: Boolean = false,
)