diff --git a/AquaNet/src/components/settings/UserSettings.svelte b/AquaNet/src/components/settings/UserSettings.svelte index 5edfaea5..29faee9f 100644 --- a/AquaNet/src/components/settings/UserSettings.svelte +++ b/AquaNet/src/components/settings/UserSettings.svelte @@ -156,6 +156,16 @@ +
+
+ submit('hideCountry', me.hideCountry.toString())}/> + +
+
diff --git a/AquaNet/src/libs/i18n/en_ref.ts b/AquaNet/src/libs/i18n/en_ref.ts index c882abe5..e68513b0 100644 --- a/AquaNet/src/libs/i18n/en_ref.ts +++ b/AquaNet/src/libs/i18n/en_ref.ts @@ -244,6 +244,8 @@ export const EN_REF_SETTINGS = { 'settings.fields.gameUsername.desc': 'Your name shown in game', 'settings.fields.optOutOfLeaderboard.name': 'Opt Out of Leaderboard', 'settings.fields.optOutOfLeaderboard.desc': 'You will still be able to see yourself on the leaderboard after logging in', + 'settings.fields.hideCountry.name': 'Hide Country', + 'settings.fields.hideCountry.desc': 'Your country of registration will not be visible on your profile', 'settings.fields.enableMusicRank.name': 'Enable Recommended Music Rank on Your Machine', 'settings.fields.enableMusicRank.desc': 'If you have your own ranking, you can turn this off. It only affects your own machine', 'settings.profile.picture': 'Profile Picture', diff --git a/AquaNet/src/libs/i18n/zh.ts b/AquaNet/src/libs/i18n/zh.ts index 183b05f6..dee56fb8 100644 --- a/AquaNet/src/libs/i18n/zh.ts +++ b/AquaNet/src/libs/i18n/zh.ts @@ -256,6 +256,8 @@ const zhSettings: typeof EN_REF_SETTINGS = { 'settings.fields.gameUsername.desc': '在游戏中显示的用户名', 'settings.fields.optOutOfLeaderboard.name': '不参与排行榜', 'settings.fields.optOutOfLeaderboard.desc': '登录之后还是可以在排行榜上看到自己', + "settings.fields.hideCountry.name": "隐藏注册国家", + "settings.fields.hideCountry.desc": "您的注册国家不会在个人资料中显示", 'settings.fields.enableMusicRank.name': '在你的机台上启用「推荐乐曲排行榜」', 'settings.fields.enableMusicRank.desc': '如果你自己设计了排行榜的话,可以关闭这个(会影响你自己的机器)。', 'settings.profile.picture': '头像', diff --git a/src/main/java/icu/samnyan/aqua/net/UserRegistrar.kt b/src/main/java/icu/samnyan/aqua/net/UserRegistrar.kt index 2309f9a3..d578a963 100644 --- a/src/main/java/icu/samnyan/aqua/net/UserRegistrar.kt +++ b/src/main/java/icu/samnyan/aqua/net/UserRegistrar.kt @@ -325,5 +325,5 @@ class UserRegistrar( } SUCCESS - } + } } diff --git a/src/main/java/icu/samnyan/aqua/net/db/AquaNetUser.kt b/src/main/java/icu/samnyan/aqua/net/db/AquaNetUser.kt index ef20611d..8d86db00 100644 --- a/src/main/java/icu/samnyan/aqua/net/db/AquaNetUser.kt +++ b/src/main/java/icu/samnyan/aqua/net/db/AquaNetUser.kt @@ -63,6 +63,7 @@ class AquaNetUser( var profileBio: String? = "", var profilePicture: String? = "", var optOutOfLeaderboard: Boolean = false, + var hideCountry: Boolean = false, // Email confirmation var emailConfirmed: Boolean = false, @@ -97,7 +98,7 @@ class AquaNetUser( val publicFields get() = mapOf( "username" to username, "displayName" to displayName, - "country" to country, + "country" to if (hideCountry) "" else country, "regTime" to regTime, "profileLocation" to profileLocation, "profileBio" to profileBio, @@ -264,4 +265,5 @@ class AquaUserServices( } fun checkOptOutOfLeaderboard(optOutOfLeaderboard: Str) = optOutOfLeaderboard.toBoolean() + fun checkHideCountry(hideCountry: Str) = hideCountry.toBoolean() } diff --git a/src/main/resources/db/80/V1000_78__country_opt_out.sql b/src/main/resources/db/80/V1000_78__country_opt_out.sql new file mode 100644 index 00000000..2a4fe7af --- /dev/null +++ b/src/main/resources/db/80/V1000_78__country_opt_out.sql @@ -0,0 +1,2 @@ +ALTER TABLE `aqua_net_user` + ADD COLUMN IF NOT EXISTS `hide_country` bit NOT NULL DEFAULT b'0'; \ No newline at end of file