diff --git a/src/components/Navbar.vue b/src/components/Navbar.vue index 7bd524e..1adfe9e 100644 --- a/src/components/Navbar.vue +++ b/src/components/Navbar.vue @@ -24,7 +24,7 @@ function logout() { +
+ +
+ {{ route.meta.navName }} +
+
@@ -66,14 +85,4 @@ nav { display: flex; align-items: center; } - -@media screen and (max-width: 768px) { - .navbar-container { - flex-direction: column; - } - - .actions { - margin: 10px 0; - } -} diff --git a/src/lib/isMobile.js b/src/lib/isMobile.js new file mode 100644 index 0000000..33d0f7f --- /dev/null +++ b/src/lib/isMobile.js @@ -0,0 +1,14 @@ +import { reactive } from 'vue'; + +const mobileMediaQuery = 'screen and (max-width: 768px)'; +const matchMedia = window.matchMedia(mobileMediaQuery); + +const isMobile = reactive(matchMedia.matches); + +matchMedia.addEventListener('change', (event) => { + isMobile = event.matches; +}); + +export const install = (app) => { + app.config.globalProperties.$isMobile = isMobile; +} \ No newline at end of file diff --git a/src/main.js b/src/main.js index d70cd2e..c904e84 100644 --- a/src/main.js +++ b/src/main.js @@ -5,6 +5,7 @@ import router from './router'; import { createPinia } from 'pinia'; import { install as installRecaptcha } from "vue3-recaptcha-v2"; import { install as installDarkMode } from './lib/darkMode'; +import { install as installIsMobile } from './lib/isMobile'; const pinia = createPinia(); const app = createApp(App); @@ -12,6 +13,7 @@ const app = createApp(App); app.use(pinia); app.use(router); app.use(installDarkMode); +app.use(installIsMobile); app.use(installRecaptcha, { sitekey: import.meta.env.VITE_RECAPTCHA_SITEKEY }); diff --git a/src/views/DailyMottoView.vue b/src/views/DailyMottoView.vue index 5c89488..bccd031 100644 --- a/src/views/DailyMottoView.vue +++ b/src/views/DailyMottoView.vue @@ -38,7 +38,7 @@ const generateMotto = async () => {