From f839730ebbb855984e46ee01ccb97aab1b47e181 Mon Sep 17 00:00:00 2001 From: wea_ondara Date: Thu, 28 Sep 2023 17:26:40 +0200 Subject: [PATCH] added a sidebar drawer to improve mobile responsiveness --- src/App.vue | 13 +++- src/components/NavBar.vue | 92 ++++++++++++------------ src/components/SideBar.vue | 87 ++++++++++++++++++++++ src/components/SideBarHead.vue | 24 +++++++ src/components/SideBarNavItem.vue | 41 +++++++++++ src/components/locale/LocaleSelector.vue | 4 +- src/locale/de.ts | 4 +- src/locale/en.ts | 4 +- 8 files changed, 218 insertions(+), 51 deletions(-) create mode 100644 src/components/SideBar.vue create mode 100644 src/components/SideBarHead.vue create mode 100644 src/components/SideBarNavItem.vue diff --git a/src/App.vue b/src/App.vue index 966e5b7..0d30f7f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -5,6 +5,7 @@ import DocumentLocaleSetter from '@/components/locale/DocumentLocaleSetter.vue'; import NavBar from '@/components/NavBar.vue'; import LocaleSaver from '@/components/locale/LocaleSaver.vue'; import StoragePersist from '@/components/StoragePersist.vue'; +import SideBar from '@/components/SideBar.vue'; @Options({ name: 'App', @@ -13,20 +14,26 @@ import StoragePersist from '@/components/StoragePersist.vue'; LocaleSaver, NavBar, RouterView, + SideBar, StoragePersist, }, }) export default class App extends Vue { + sidebarToggled = false; } diff --git a/src/components/NavBar.vue b/src/components/NavBar.vue index b3053e8..2d95193 100644 --- a/src/components/NavBar.vue +++ b/src/components/NavBar.vue @@ -13,6 +13,9 @@ import LocaleSelector from '@/components/locale/LocaleSelector.vue'; LocaleSelector, MangaUpdatesUpdater, }, + emits: { + 'toggleSidebar': undefined, + }, }) export default class NavBar extends Vue { } @@ -20,51 +23,52 @@ export default class NavBar extends Vue { + + + diff --git a/src/components/SideBar.vue b/src/components/SideBar.vue new file mode 100644 index 0000000..4799152 --- /dev/null +++ b/src/components/SideBar.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/src/components/SideBarHead.vue b/src/components/SideBarHead.vue new file mode 100644 index 0000000..a920ed1 --- /dev/null +++ b/src/components/SideBarHead.vue @@ -0,0 +1,24 @@ + + + diff --git a/src/components/SideBarNavItem.vue b/src/components/SideBarNavItem.vue new file mode 100644 index 0000000..1f6aa00 --- /dev/null +++ b/src/components/SideBarNavItem.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/src/components/locale/LocaleSelector.vue b/src/components/locale/LocaleSelector.vue index 01cd998..a77610d 100644 --- a/src/components/locale/LocaleSelector.vue +++ b/src/components/locale/LocaleSelector.vue @@ -13,8 +13,8 @@ export default class LocaleSelector extends Vue { get supportedLocales(): { value: string, text: string } [] { return [ - {value: 'en', text: this.$t('locale.en')}, - {value: 'de', text: this.$t('locale.de')}, + {value: 'en', text: this.$t('locales.en')}, + {value: 'de', text: this.$t('locales.de')}, ]; } } diff --git a/src/locale/de.ts b/src/locale/de.ts index 4df0094..c83ee0e 100644 --- a/src/locale/de.ts +++ b/src/locale/de.ts @@ -1,6 +1,7 @@ import {messagesEn} from '@/locale/en'; export const messagesDe = { + design: 'Design', fetch: { mangaUpdates: { chapters: 'Kapitel', @@ -10,7 +11,8 @@ export const messagesDe = { starting: 'Starte', }, }, - locale: messagesEn.locale, + locale: 'Sprache', + locales: messagesEn.locales, localStoragePersistNotSupported: 'Lokaler Speicher wird nicht permanent. Das könnte in längere Wartezeiten verursachen!', manga: { chapters: { diff --git a/src/locale/en.ts b/src/locale/en.ts index 7a12a2b..e19da0e 100644 --- a/src/locale/en.ts +++ b/src/locale/en.ts @@ -1,4 +1,5 @@ export const messagesEn = { + design: 'Design', fetch: { mangaUpdates: { chapters: 'Chapters', @@ -8,7 +9,8 @@ export const messagesEn = { starting: 'Starting', }, }, - locale: { + locale: 'Language', + locales: { 'de': 'Deutsch', 'en': 'English', },