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