From 28f2f9a9ca6419209ffc5771f4bb49aa19e52a34 Mon Sep 17 00:00:00 2001 From: Marco Crapts Date: Fri, 26 May 2023 01:44:20 +0200 Subject: [PATCH] refactor to UI components --- components.d.ts | 6 ++-- src/App.vue | 10 +++--- src/components/Auth.vue | 2 +- src/components/TopBar/Hamburger.vue | 2 +- src/components/ViewModes/ListView.vue | 13 ++++--- src/components/ViewModes/Mindmap.vue | 16 +++++---- src/components/ui/UIAlert.vue | 12 +++++-- src/components/ui/UIBadge.vue | 2 +- src/components/ui/UIInputCheckbox.vue | 35 +++++++++++++++++++ .../ui/{UITextInput.vue => UIInputText.vue} | 26 ++++++++++---- src/components/ui/UIModal.vue | 4 +-- src/components/ui/UITab.vue | 17 +++++++++ src/components/ui/UITabs.vue | 3 ++ 13 files changed, 112 insertions(+), 36 deletions(-) create mode 100644 src/components/ui/UIInputCheckbox.vue rename src/components/ui/{UITextInput.vue => UIInputText.vue} (51%) create mode 100644 src/components/ui/UITab.vue create mode 100644 src/components/ui/UITabs.vue diff --git a/components.d.ts b/components.d.ts index 1d2df31..11fa89e 100644 --- a/components.d.ts +++ b/components.d.ts @@ -34,13 +34,15 @@ declare module '@vue/runtime-core' { UIBadge: typeof import('./src/components/ui/UIBadge.vue')['default'] UIButton: typeof import('./src/components/ui/UIButton.vue')['default'] UIButtonGroup: typeof import('./src/components/ui/UIButtonGroup.vue')['default'] - UICard: typeof import('./src/components/ui/UICard.vue')['default'] UIDropdown: typeof import('./src/components/ui/UIDropdown.vue')['default'] UIDropdownItem: typeof import('./src/components/ui/UIDropdownItem.vue')['default'] + UIInputCheckbox: typeof import('./src/components/ui/UIInputCheckbox.vue')['default'] + UIInputText: typeof import('./src/components/ui/UIInputText.vue')['default'] UIMenu: typeof import('./src/components/ui/UIMenu.vue')['default'] UIMenuItem: typeof import('./src/components/ui/UIMenuItem.vue')['default'] UIModal: typeof import('./src/components/ui/UIModal.vue')['default'] + UITab: typeof import('./src/components/ui/UITab.vue')['default'] UITable: typeof import('./src/components/ui/UITable.vue')['default'] - UITextInput: typeof import('./src/components/ui/UITextInput.vue')['default'] + UITabs: typeof import('./src/components/ui/UITabs.vue')['default'] } } diff --git a/src/App.vue b/src/App.vue index 5a97eaf..17b0717 100644 --- a/src/App.vue +++ b/src/App.vue @@ -103,14 +103,14 @@ provide('loading', loading) notes.

- + >
- + The passphrase you entered is incorrect. diff --git a/src/components/Auth.vue b/src/components/Auth.vue index fda0f69..8d51a9d 100644 --- a/src/components/Auth.vue +++ b/src/components/Auth.vue @@ -42,5 +42,5 @@ onMounted(() => ui.start('#auth', uiConfig)) diff --git a/src/components/TopBar/Hamburger.vue b/src/components/TopBar/Hamburger.vue index 955bc06..ff95eb8 100644 --- a/src/components/TopBar/Hamburger.vue +++ b/src/components/TopBar/Hamburger.vue @@ -9,7 +9,7 @@ const emit = defineEmits<{ - + > @@ -74,17 +74,16 @@ const deleteSelectedNotes = (closeModal: () => void) => { diff --git a/src/components/ViewModes/Mindmap.vue b/src/components/ViewModes/Mindmap.vue index 3145064..bddf6c1 100644 --- a/src/components/ViewModes/Mindmap.vue +++ b/src/components/ViewModes/Mindmap.vue @@ -221,8 +221,11 @@ const mindmaps = computed(() => { }, [] as string[][]) return mindmaps .filter((mindmap) => mindmap.length > 1) + .sort((a, b) => b.length - a.length) .sort((a, b) => { - return a.includes(rootNote.value?.id || '') ? b.length - a.length : 1 + return ( + Number(b.includes(rootNote.value?.id || '')) - Number(a.includes(rootNote.value?.id || '')) + ) }) .slice(0, 5) .map((mindmap): Mindmap => { @@ -270,18 +273,17 @@ const links = computed(() => { diff --git a/src/components/ui/UIAlert.vue b/src/components/ui/UIAlert.vue index 9fefa37..7a8f7d3 100644 --- a/src/components/ui/UIAlert.vue +++ b/src/components/ui/UIAlert.vue @@ -7,12 +7,18 @@ const props = withDefaults(defineProps(), { }) const styleClass = computed(() => { - const colorClass = `dui-alert-${props.color}` + const colorVariants = { + 'info': 'dui-alert-info', + 'success': 'dui-alert-success', + 'warning': 'dui-alert-warning', + 'error': 'dui-alert-error' + } + const colorClass = colorVariants[props.color] return [colorClass] }) diff --git a/src/components/ui/UIBadge.vue b/src/components/ui/UIBadge.vue index 16b9d5b..8403023 100644 --- a/src/components/ui/UIBadge.vue +++ b/src/components/ui/UIBadge.vue @@ -1,6 +1,6 @@ + diff --git a/src/components/ui/UITextInput.vue b/src/components/ui/UIInputText.vue similarity index 51% rename from src/components/ui/UITextInput.vue rename to src/components/ui/UIInputText.vue index d31eea4..58889b4 100644 --- a/src/components/ui/UITextInput.vue +++ b/src/components/ui/UIInputText.vue @@ -1,11 +1,13 @@