From 1550dfb3f03ec45b93369678b246c7892f141f7e Mon Sep 17 00:00:00 2001 From: Prospector <6166773+Prospector@users.noreply.github.com> Date: Mon, 1 Jun 2026 08:52:01 -0700 Subject: [PATCH] feat: add toggle for showing play time (#6240) * feat: add toggle for showing play time * prepr --- .../ui/settings/AppearanceSettings.vue | 84 ++++++++++++------- .../app-frontend/src/locales/en-US/index.json | 6 ++ .../app-frontend/src/pages/instance/Index.vue | 20 +++-- apps/app-frontend/src/store/theme.ts | 1 + packages/app-lib/src/state/settings.rs | 1 + 5 files changed, 76 insertions(+), 36 deletions(-) diff --git a/apps/app-frontend/src/components/ui/settings/AppearanceSettings.vue b/apps/app-frontend/src/components/ui/settings/AppearanceSettings.vue index 01d49310e..74dc28a76 100644 --- a/apps/app-frontend/src/components/ui/settings/AppearanceSettings.vue +++ b/apps/app-frontend/src/components/ui/settings/AppearanceSettings.vue @@ -10,8 +10,9 @@ import type { ColorTheme, FeatureFlag } from '@/store/theme.ts' const themeStore = useTheming() const { formatMessage } = useVIntl() -const worldsInHomeFeatureFlag = 'worlds_in_home' as FeatureFlag -const skipUnknownPackWarningFeatureFlag = 'skip_unknown_pack_warning' as FeatureFlag +const worldsInHomeFlag: FeatureFlag = 'worlds_in_home' +const skipUnknownPackWarningFlag: FeatureFlag = 'skip_unknown_pack_warning' +const showPlayTimeFlag: FeatureFlag = 'show_instance_play_time' const messages = defineMessages({ colorThemeTitle: { @@ -100,6 +101,14 @@ const messages = defineMessages({ defaultMessage: "If you attempt to install a Modrinth Pack file (.mrpack) that isn't hosted on Modrinth, we'll make sure you understand the risks before installing it.", }, + showPlayTimeTitle: { + id: 'app.appearance-settings.show-play-time.title', + defaultMessage: 'Show play time', + }, + showPlayTimeDescription: { + id: 'app.appearance-settings.show-play-time.description', + defaultMessage: `Displays how much time you've spent playing an instance.`, + }, }) const os = ref(await getOS()) @@ -153,25 +162,6 @@ watch( /> -
-
-

- {{ formatMessage(messages.hideNametagTitle) }} -

-

{{ formatMessage(messages.hideNametagDescription) }}

-
- -
-

@@ -192,6 +182,44 @@ watch(

+
+
+

+ {{ formatMessage(messages.showPlayTimeTitle) }} +

+

{{ formatMessage(messages.showPlayTimeDescription) }}

+
+ +
+ +
+
+

+ {{ formatMessage(messages.hideNametagTitle) }} +

+

{{ formatMessage(messages.hideNametagDescription) }}

+
+ +
+

@@ -226,12 +254,12 @@ watch(

{{ formatMessage(messages.jumpBackIntoWorldsDescription) }}

@@ -245,13 +273,13 @@ watch(

{{ formatMessage(messages.unknownPackWarningDescription) }}

diff --git a/apps/app-frontend/src/locales/en-US/index.json b/apps/app-frontend/src/locales/en-US/index.json index 5d909a577..c135561d0 100644 --- a/apps/app-frontend/src/locales/en-US/index.json +++ b/apps/app-frontend/src/locales/en-US/index.json @@ -86,6 +86,12 @@ "app.appearance-settings.select-option": { "message": "Select an option" }, + "app.appearance-settings.show-play-time.description": { + "message": "Displays how much time you've spent playing an instance." + }, + "app.appearance-settings.show-play-time.title": { + "message": "Show play time" + }, "app.appearance-settings.toggle-sidebar.description": { "message": "Enables the ability to toggle the sidebar." }, diff --git a/apps/app-frontend/src/pages/instance/Index.vue b/apps/app-frontend/src/pages/instance/Index.vue index 009090029..1e003a923 100644 --- a/apps/app-frontend/src/pages/instance/Index.vue +++ b/apps/app-frontend/src/pages/instance/Index.vue @@ -32,14 +32,16 @@ {{ instance.loader }} {{ instance.game_version }}
-
+