aboutsummaryrefslogtreecommitdiff
path: root/front-end
diff options
context:
space:
mode:
Diffstat (limited to 'front-end')
-rw-r--r--front-end/src/components/Boomarks/AddOrUpdateForm.vue15
-rw-r--r--front-end/src/components/Settings/PkiSettings.vue5
-rw-r--r--front-end/src/store/bookmarks.ts4
-rw-r--r--front-end/src/store/websiteLookup.ts10
4 files changed, 22 insertions, 12 deletions
diff --git a/front-end/src/components/Boomarks/AddOrUpdateForm.vue b/front-end/src/components/Boomarks/AddOrUpdateForm.vue
index 59af737..0370e0c 100644
--- a/front-end/src/components/Boomarks/AddOrUpdateForm.vue
+++ b/front-end/src/components/Boomarks/AddOrUpdateForm.vue
@@ -40,7 +40,7 @@ const execLookup = async () => {
v$.value.Description.$dirty = true;
}
- if(keywords){
+ if(!isEmpty(keywords)){
v$.value.Tags.$model = keywords;
v$.value.Tags.$dirty = true;
}
@@ -68,8 +68,13 @@ const showSearchButton = computed(() => lookup.isSupported && !isEmpty(v$.value.
:class="{'dirty': v$.Url.$dirty, 'error': v$.Url.$invalid}" required>
<div class="">
- <button :disabled="!showSearchButton || waiting" @click.prevent="execLookup"
- class="btn blue search-btn">
+ <button
+ type="button"
+ :disabled="!showSearchButton || waiting"
+ @click.self.prevent="execLookup"
+ id="search-btn"
+ class="btn blue search-btn"
+ >
<svg class="w-4 h-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 20 20">
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
@@ -98,8 +103,8 @@ const showSearchButton = computed(() => lookup.isSupported && !isEmpty(v$.value.
</fieldset>
<div class="flex justify-end">
- <button type="submit" class="btn blue">
- Submit
+ <button id="save-button" type="submit" form="bm-add-or-update-form" class="btn blue">
+ Save
</button>
</div>
</form>
diff --git a/front-end/src/components/Settings/PkiSettings.vue b/front-end/src/components/Settings/PkiSettings.vue
index dfa4cad..885b2cb 100644
--- a/front-end/src/components/Settings/PkiSettings.vue
+++ b/front-end/src/components/Settings/PkiSettings.vue
@@ -32,6 +32,8 @@ const removeKey = async (key: PkiPublicKey) => {
title: 'Key Removed',
text: `${key.kid} has been successfully removed`
})
+
+ store.mfaRefreshMethods()
})
}
@@ -117,7 +119,8 @@ const onAddKey = async () => {
text: result
})
- hideAddKeyDialog()
+ hideAddKeyDialog();
+ store.mfaRefreshMethods();
})
}
diff --git a/front-end/src/store/bookmarks.ts b/front-end/src/store/bookmarks.ts
index 2af8344..2d12a9a 100644
--- a/front-end/src/store/bookmarks.ts
+++ b/front-end/src/store/bookmarks.ts
@@ -18,7 +18,7 @@ import { MaybeRef, shallowRef, watch, computed, Ref, ref } from 'vue';
import { apiCall, useAxios, WebMessage } from '@vnuge/vnlib.browser';
import { useToggle, get, set, useOffsetPagination, watchDebounced, syncRef } from '@vueuse/core';
import { PiniaPluginContext, PiniaPlugin, storeToRefs } from 'pinia'
-import { isArray, join, map, split, sortBy } from 'lodash-es';
+import { isArray, join, map, split, sortBy, filter, isEmpty } from 'lodash-es';
import { useQuery } from './index';
export interface Bookmark{
@@ -189,7 +189,7 @@ const searchQuery = (search: Ref<string | null>, tags: Ref<string[]>) => {
const tagQuery = useQuery('t')
const currentTags = computed({
- get: () => split(tagQuery.value, ' '),
+ get: () => filter(split(tagQuery.value, ' '), p => !isEmpty(p)),
set: (value) => set(tagQuery, join(value, ' '))
})
diff --git a/front-end/src/store/websiteLookup.ts b/front-end/src/store/websiteLookup.ts
index 7d4f3ca..560d00f 100644
--- a/front-end/src/store/websiteLookup.ts
+++ b/front-end/src/store/websiteLookup.ts
@@ -4,11 +4,11 @@ import { MaybeRef, Ref, shallowRef, watch } from 'vue';
import { WebMessage, apiCall, useAxios } from '@vnuge/vnlib.browser'
import { get, set } from '@vueuse/core';
import { PiniaPluginContext, PiniaPlugin, storeToRefs } from 'pinia'
-import { defer, noop } from 'lodash-es';
+import { defer, filter, isEmpty, noop } from 'lodash-es';
export interface WebsiteLookupResult {
- title: string | undefined,
- description: string | undefined,
+ readonly title: string | undefined,
+ readonly description: string | undefined,
keywords: string[] | undefined,
}
@@ -57,7 +57,9 @@ export const siteLookupPlugin = (lookupEndpoint: MaybeRef<string>, to: number):
//Execute test with the 'support' query parameter
const { data } = await axios.get<WebMessage<WebsiteLookupResult>>(`${get(lookupEndpoint)}?timeout=${get(timeout)}&url=${base64Url}`)
- return data.getResultOrThrow();
+ const lookup = data.getResultOrThrow();
+ lookup.keywords = filter(lookup.keywords, (k) => !isEmpty(k))
+ return lookup
}
//If login status changes, recheck support