diff --git a/app.vue b/app.vue index fbc6572..f606843 100644 --- a/app.vue +++ b/app.vue @@ -9,21 +9,29 @@ const banner = useState("banner", () => false); +let current_theme = "dark" // default theme +const saved_theme = localStorage.getItem("selectedTheme"); +if (saved_theme) { + current_theme = saved_theme; +} + +useHead({ + link: [ + { + rel: "stylesheet", + href: `/themes/${current_theme}.css` + } + ] +}) \ No newline at end of file diff --git a/components/Channel.vue b/components/Channel.vue index 1828641..0f48323 100644 --- a/components/Channel.vue +++ b/components/Channel.vue @@ -36,6 +36,6 @@ const isCurrentChannel = props.uuid == props.currentUuid; } .current-channel { - background-color: rgb(70, 70, 70); + background-color: var(--sidebar-highlighted-background-color); } \ No newline at end of file diff --git a/components/Message.vue b/components/Message.vue index 5cd7773..e8bb600 100644 --- a/components/Message.vue +++ b/components/Message.vue @@ -88,7 +88,7 @@ onMounted(async () => { } .message:hover { - background-color: rgb(20, 20, 20); + background-color: var(--chat-highlighted-background-color); } .normal-message { @@ -142,7 +142,7 @@ onMounted(async () => { .message-date { font-size: .7em; - color: rgb(150, 150, 150); + color: var(--secondary-text-color); cursor: default; } diff --git a/components/MessageArea.vue b/components/MessageArea.vue index 49577f9..7612243 100644 --- a/components/MessageArea.vue +++ b/components/MessageArea.vue @@ -251,7 +251,7 @@ router.beforeEach((to, from, next) => { flex-direction: column; justify-content: center; align-content: center; - border: 1px solid rgb(70, 70, 70); + border: 1px solid var(--padding-color); padding-bottom: 1dvh; padding-top: 1dvh; margin-bottom: 1dvh; @@ -266,7 +266,7 @@ router.beforeEach((to, from, next) => { #message-box-input { width: 80%; - background-color: rgb(50, 50, 50); + background-color: var(--sidebar-background-color); border: none; color: inherit; padding-left: 1dvw; @@ -284,11 +284,13 @@ router.beforeEach((to, from, next) => { #submit-button { background-color: inherit; border: none; - color: rgb(200, 200, 200); + color: var(--primary-color); + transition: color 100ms; font-size: 1.5em; } #submit-button:hover { - color: rgb(255, 255, 255); + color: var(--primary-highlighted-color); + cursor: pointer; } \ No newline at end of file diff --git a/components/Settings/UserSettings/Account.vue b/components/Settings/UserSettings/Account.vue index 0fe5013..4247c60 100644 --- a/components/Settings/UserSettings/Account.vue +++ b/components/Settings/UserSettings/Account.vue @@ -145,8 +145,8 @@ const deleteAccount = async () => { font-size: 1em; border-radius: 8px; border: none; - color: white; - background-color: #54361b; + color: var(--text-color); + background-color: var(--accent-color); } .profile-popup { diff --git a/components/UserPopup.vue b/components/UserPopup.vue index 092e7d5..b27ecea 100644 --- a/components/UserPopup.vue +++ b/components/UserPopup.vue @@ -1,7 +1,7 @@