diff --git a/vue3/src/apps/tandoor/main.ts b/vue3/src/apps/tandoor/main.ts
index b2c86d4dd..a4d15c18d 100644
--- a/vue3/src/apps/tandoor/main.ts
+++ b/vue3/src/apps/tandoor/main.ts
@@ -28,7 +28,7 @@ import ApiSettings from "@/components/settings/ApiSettings.vue";
const routes = [
{path: '/', component: StartPage, name: 'view_home'},
{path: '/test', component: TestPage, name: 'view_test'},
- {path: '/settings', component: SettingsPage, name: 'view_settings', redirect: 'settings/account',
+ {path: '/settings', component: SettingsPage, name: 'view_settings', redirect: '/settings/account',
children: [
{path: 'account', component: AccountSettings, name: 'view_settings_account'},
{path: 'cosmetic', component: CosmeticSettings, name: 'view_settings_cosmetic'},
diff --git a/vue3/src/components/dialogs/ModelEditorDialog.vue b/vue3/src/components/dialogs/ModelEditorDialog.vue
index f523bd262..7d4022261 100644
--- a/vue3/src/components/dialogs/ModelEditorDialog.vue
+++ b/vue3/src/components/dialogs/ModelEditorDialog.vue
@@ -1,6 +1,6 @@
-
+
@@ -19,7 +19,7 @@ const emit = defineEmits(['create', 'save', 'delete'])
const props = defineProps({
model: {
- type: '',
+ type: String,
required: true,
validator: (val) => ['AccessToken'].includes(val)
},
diff --git a/vue3/src/components/model_editors/AccessTokenEditor.vue b/vue3/src/components/model_editors/AccessTokenEditor.vue
index c765fbb4f..22d90931e 100644
--- a/vue3/src/components/model_editors/AccessTokenEditor.vue
+++ b/vue3/src/components/model_editors/AccessTokenEditor.vue
@@ -1,13 +1,20 @@
- {{ $t(OBJ_LOCALIZATION_KEY) }}
+
+ {{ $t(OBJ_LOCALIZATION_KEY) }}
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -30,13 +37,16 @@ import DeleteConfirmDialog from "@/components/dialogs/DeleteConfirmDialog.vue";
import {useI18n} from "vue-i18n";
import {ErrorMessageType, PreparedMessage, useMessageStore} from "@/stores/MessageStore";
import {DateTime} from "luxon";
+import {useClipboard} from "@vueuse/core";
const {t} = useI18n()
+const {copy} = useClipboard()
-const emit = defineEmits(['create', 'save', 'delete'])
+const emit = defineEmits(['create', 'save', 'delete', 'close'])
const props = defineProps({
- item: {type: {} as AccessToken, required: false},
+ item: {type: {} as AccessToken, required: false},
+ dialog: {type: Boolean, default: false}
})
const OBJ_LOCALIZATION_KEY = 'Access_Token'
diff --git a/vue3/src/components/settings/ApiSettings.vue b/vue3/src/components/settings/ApiSettings.vue
index 0230566a4..5679e49eb 100644
--- a/vue3/src/components/settings/ApiSettings.vue
+++ b/vue3/src/components/settings/ApiSettings.vue
@@ -25,20 +25,18 @@
Make sure to save your token after creation as they cannot be viewed afterwards.
- {{$t('New')}}
-
+ {{ $t('New') }}
+
-
-
+
+
{{ at.token }}
Scope {{ at.scope }}
- Expired
-
- Expires {{ DateTime.fromJSDate(at.expires).toLocaleString(DateTime.DATE_FULL) }}
-
+ Expires {{ DateTime.fromJSDate(at.expires).toLocaleString(DateTime.DATE_FULL) }}
+ Expired
@@ -48,7 +46,6 @@
-
diff --git a/vue3/src/vuetify.ts b/vue3/src/vuetify.ts
index ee7ce4880..14e5e6b87 100644
--- a/vue3/src/vuetify.ts
+++ b/vue3/src/vuetify.ts
@@ -63,6 +63,7 @@ export default createVuetify({
create: 'fa-solid fa-circle-plus',
search: 'fa-solid fa-magnifying-glass',
copy: 'fa-solid fa-copy',
+ close: 'fa-solid fa-xmark',
settings: 'fa-solid fa-sliders',
spaces: 'fa-solid fa-database',
shopping: 'fa-solid fa-cart-shopping',