diff --git a/.vscode/settings.json b/.vscode/settings.json index 843699bc8..ac1e92eb0 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -32,5 +32,9 @@ }, "[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" - } + }, + "i18n-ally.localesPaths": [ + "locale", + "src/i18n" + ] } diff --git a/CHANGELOG-nightly.md b/CHANGELOG-nightly.md index dd471b7e6..6c7296e3e 100644 --- a/CHANGELOG-nightly.md +++ b/CHANGELOG-nightly.md @@ -1,3 +1,8 @@ +### 3.1.21.1000 + +- Added new extension notice +- Added checks to see if new extension is running + ### 3.1.20.2000 - Fixed an issue causing emote cards to not display all info diff --git a/CHANGELOG.md b/CHANGELOG.md index 01fa30ab0..489e7c4d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +### 3.1.21 + +- Added new extension notice +- Added checks to see if new extension is running + ### 3.1.20 - Fixed some lint issues diff --git a/package.json b/package.json index 34f2137dc..17e5fa728 100644 --- a/package.json +++ b/package.json @@ -3,8 +3,8 @@ "displayName": "7TV", "description": "Improve your viewing experience on Twitch & YouTube with new features, emotes, vanity and performance.", "private": true, - "version": "3.1.20", - "dev_version": "2.0", + "version": "3.1.21", + "dev_version": "1.0", "scripts": { "start": "cross-env NODE_ENV=dev yarn build:dev && cross-env NODE_ENV=dev vite --mode dev", "build:section:app": "vite build --config vite.config.mts", diff --git a/src/app/settings/Settings.ts b/src/app/settings/Settings.ts index 71338df6e..ea30bdc1a 100644 --- a/src/app/settings/Settings.ts +++ b/src/app/settings/Settings.ts @@ -12,6 +12,8 @@ const Store = defineAsyncComponent(() => import("@/app/store/Store.vue")); class SettingsMenuContext { open = false; view: AnyInstanceType | null = null; + newExtensionNoticeDismissed = false; + newExtensionNoticeSeen = false; category = ""; scrollpoint = ""; @@ -31,6 +33,10 @@ class SettingsMenuContext { this.seen.push(key); } } + + this.newExtensionNoticeDismissed = + localStorage.getItem(LOCAL_STORAGE_KEYS.NEW_EXTENSION_NOTICE_DISMISSED) === "true"; + this.newExtensionNoticeSeen = localStorage.getItem(LOCAL_STORAGE_KEYS.NEW_EXTENSION_NOTICE_SEEN) === "true"; } toggle(): void { @@ -49,6 +55,18 @@ class SettingsMenuContext { localStorage.setItem(LOCAL_STORAGE_KEYS.SEEN_SETTINGS, this.seen.join(",")); } + + dismissNewExtensionNotice(): void { + this.newExtensionNoticeDismissed = true; + localStorage.setItem(LOCAL_STORAGE_KEYS.NEW_EXTENSION_NOTICE_DISMISSED, "true"); + } + + markNewExtensionNoticeSeen(): void { + if (this.newExtensionNoticeSeen) return; + + this.newExtensionNoticeSeen = true; + localStorage.setItem(LOCAL_STORAGE_KEYS.NEW_EXTENSION_NOTICE_SEEN, "true"); + } } const views = { diff --git a/src/app/settings/SettingsMenu.vue b/src/app/settings/SettingsMenu.vue index e49813169..8402e6f6a 100644 --- a/src/app/settings/SettingsMenu.vue +++ b/src/app/settings/SettingsMenu.vue @@ -246,7 +246,10 @@ function updateSidebarExpansionIndicator() { shouldShowSidebarExpansion.value = container.scrollTop < 3 && container.scrollHeight > container.clientHeight; } -onMounted(() => updateSidebarExpansionIndicator()); +onMounted(() => { + ctx.markNewExtensionNoticeSeen(); + updateSidebarExpansionIndicator(); +}); function scrollSidebarToNextPage() { const container = sidebarScroller.value?.container; diff --git a/src/app/settings/SettingsViewHome.vue b/src/app/settings/SettingsViewHome.vue index 8149dbaeb..44c0b305a 100644 --- a/src/app/settings/SettingsViewHome.vue +++ b/src/app/settings/SettingsViewHome.vue @@ -2,6 +2,24 @@
+
+
+ Try the new 7TV extension + Give the new 7TV extension a try and see what we've been working on. +
+
+ Check it out + +
+
@@ -25,8 +43,12 @@