diff --git a/website/client/src/assets/scss/dropdown.scss b/website/client/src/assets/scss/dropdown.scss
index 6aeab256aa..f619baf112 100644
--- a/website/client/src/assets/scss/dropdown.scss
+++ b/website/client/src/assets/scss/dropdown.scss
@@ -7,6 +7,10 @@
.dropdown-toggle:hover {
--caret-color: #{$purple-300};
+
+ &.disabled {
+ pointer-events: none;
+ }
}
.dropdown.show > .dropdown-toggle:not(.btn-success) {
diff --git a/website/client/src/pages/settings/generalSettings.vue b/website/client/src/pages/settings/generalSettings.vue
index d7a49290e9..d39cb16aef 100644
--- a/website/client/src/pages/settings/generalSettings.vue
+++ b/website/client/src/pages/settings/generalSettings.vue
@@ -45,11 +45,7 @@
-
- |
- Audio TODO
- |
-
+
@@ -114,9 +110,11 @@ import { sharedInlineSettingStore } from './components/inlineSettingMixin';
import LanguageSetting from './inlineSettings/languageSetting';
import DateFormatSetting from './inlineSettings/dateFormatSetting';
import DayStartAdjustmentSetting from './inlineSettings/dayStartAdjustmentSetting.vue';
+import AudioThemeSetting from '@/pages/settings/inlineSettings/audioThemeSetting.vue';
export default {
components: {
+ AudioThemeSetting,
DayStartAdjustmentSetting,
DateFormatSetting,
LanguageSetting,
diff --git a/website/client/src/pages/settings/inlineSettings/audioThemeSetting.vue b/website/client/src/pages/settings/inlineSettings/audioThemeSetting.vue
new file mode 100644
index 0000000000..d6684d3510
--- /dev/null
+++ b/website/client/src/pages/settings/inlineSettings/audioThemeSetting.vue
@@ -0,0 +1,202 @@
+
+
+
+ |
+ {{ $t("audioTheme") }}
+ |
+
+ {{ $t(`audioTheme_${currentAudioTheme}`) }}
+ |
+
+
+ {{ $t('edit') }}
+
+ |
+
+
+ |
+
+ {{ $t("audioTheme") }}
+
+
+ {{ $t("audioThemeDisclaimer") }}
+
+
+
+
+ |
+
+
+
+
+
+
+
diff --git a/website/common/locales/en/settings.json b/website/common/locales/en/settings.json
index 5656593a21..4925f5b4cd 100644
--- a/website/common/locales/en/settings.json
+++ b/website/common/locales/en/settings.json
@@ -206,6 +206,9 @@
"changePasswordDisclaimer": "Password must be 8 characters or more. We recommend a strong password that you're not using elsewhere.",
"dateFormatDisclaimer": "Adjust the date formatting across Habitica.",
"verifyUsernameVeteranPet": "One of these Veteran Pets will be waiting for you after you've finished confirming!",
+ "enableAudio": "Enable Audio",
+ "playDemoAudio": "Play Demo",
+ "audioThemeDisclaimer": "Audio themes add optional sound effects to the Habitica website. Volume levels are controlled using your computer's volume settings.",
"mentioning": "Mentioning",
"suggestMyUsername": "Suggest my username",
"everywhere": "Everywhere",