@raclettejs/core 0.1.17 → 0.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -1
- package/package.json +2 -2
- package/services/backend/package.json +2 -2
- package/services/backend/src/core/config/configService.ts +4 -0
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/composition/composition.service.ts +86 -0
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/composition/routes/index.ts +4 -0
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/composition/routes/route.composition.post.bulk.ts +58 -0
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/composition/routes/route.composition.restore.ts +55 -0
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/interactionLink/interactionLink.service.ts +96 -9
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/interactionLink/routes/index.ts +4 -0
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/interactionLink/routes/route.interactionLink.post.bulk.ts +60 -0
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/interactionLink/routes/route.interactionLink.restore.ts +55 -0
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/project/project.model.ts +17 -0
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/project/project.schema.ts +18 -6
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/project/routes/index.ts +5 -5
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/tag/routes/index.ts +4 -0
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/tag/routes/route.tag.post.bulk.ts +58 -0
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/tag/routes/route.tag.restore.ts +55 -0
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/tag/tag.service.ts +74 -1
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/user/routes/index.ts +2 -0
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/user/routes/route.user.restore.ts +55 -0
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/user/user.service.ts +1 -0
- package/services/backend/src/domains/system/routes/route.user.login.ts +4 -2
- package/services/backend/src/shared/types/core/ProjectUpdate.types.ts +1 -0
- package/services/backend/src/shared/types/dataTypes/tags.ts +1 -0
- package/services/frontend/package.json +8 -8
- package/services/frontend/src/core/lib/configService.ts +1 -1
- package/services/frontend/src/core/lib/data/dataApi.ts +10 -1
- package/services/frontend/src/core/lib/data/fetchDataHandler.ts +3 -23
- package/services/frontend/src/core/lib/data/writeDataHandler.ts +8 -13
- package/services/frontend/src/core/lib/dataHelper.ts +15 -0
- package/services/frontend/src/core/lib/eggs/snow.ts +32 -43
- package/services/frontend/src/core/lib/eventWhitelist.ts +4 -13
- package/services/frontend/src/core/main.ts +7 -1
- package/services/frontend/src/orchestrator/LoginApp.vue +0 -1
- package/services/frontend/src/orchestrator/ProductOrchestrator.vue +40 -5
- package/services/frontend/src/orchestrator/components/composition/CompositionOverlay.vue +7 -3
- package/services/frontend/src/orchestrator/components/composition/WidgetsLayoutLoader.vue +12 -24
- package/services/frontend/src/orchestrator/components/input/SimpleSearchInput.vue +16 -4
- package/services/frontend/src/orchestrator/components/menu/AppBarMenu.vue +184 -0
- package/services/frontend/src/orchestrator/components/menu/UserMenu.vue +62 -46
- package/services/frontend/src/orchestrator/components/navigation/PageNavigationSidebar.vue +11 -1
- package/services/frontend/src/orchestrator/composables/usePageNavigation.ts +10 -1
- package/services/frontend/src/orchestrator/i18n/de-DE.json +15 -0
- package/services/frontend/src/orchestrator/i18n/en-EU.json +15 -0
- package/services/frontend/src/orchestrator/i18n/sk.json +15 -0
- package/services/frontend/src/orchestrator/router/index.ts +16 -0
- package/yarn.lock +4 -4
- package/services/frontend/src/orchestrator/setup/loginApp.ts +0 -27
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
>
|
|
32
32
|
</v-list-item>
|
|
33
33
|
<v-divider />
|
|
34
|
+
|
|
34
35
|
<v-list-item @click="toggleTheme">
|
|
35
36
|
<template #prepend>
|
|
36
37
|
<v-icon>mdi-theme-light-dark</v-icon>
|
|
@@ -43,42 +44,59 @@
|
|
|
43
44
|
</template>
|
|
44
45
|
<v-list-item-title>{{ $t("core.toggle_snow") }}</v-list-item-title>
|
|
45
46
|
</v-list-item>
|
|
46
|
-
<
|
|
47
|
-
<
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
:disabled="activeRouteName === item.route || !item.route"
|
|
51
|
-
:active="activeRouteName === item.route"
|
|
52
|
-
:value="item.route || ''"
|
|
53
|
-
color="primary"
|
|
54
|
-
class="nav-link"
|
|
55
|
-
link
|
|
56
|
-
@click="navigate(item)"
|
|
47
|
+
<div id="appUserMenu" ref="appUserMenu">
|
|
48
|
+
<template
|
|
49
|
+
v-for="item in pageNavigation.userMenuItems"
|
|
50
|
+
:key="item.route"
|
|
57
51
|
>
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
item.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
:
|
|
72
|
-
|
|
52
|
+
<v-list-item
|
|
53
|
+
:key="locale"
|
|
54
|
+
v-if="item.slotType !== 'inline'"
|
|
55
|
+
:disabled="activeRouteName === item.route || !item.route"
|
|
56
|
+
:active="activeRouteName === item.route"
|
|
57
|
+
:value="item.route || ''"
|
|
58
|
+
color="primary"
|
|
59
|
+
class="nav-link"
|
|
60
|
+
link
|
|
61
|
+
@click="navigate(item)"
|
|
62
|
+
>
|
|
63
|
+
<!-- item prepend icon -->
|
|
64
|
+
<template v-if="item.icon" #prepend>
|
|
65
|
+
<v-icon :icon="item.icon" />
|
|
66
|
+
</template>
|
|
67
|
+
<v-list-item-title v-if="item.title">{{
|
|
68
|
+
item.title
|
|
69
|
+
}}</v-list-item-title>
|
|
70
|
+
</v-list-item>
|
|
71
|
+
<template v-else>
|
|
72
|
+
<v-list-group v-if="item.icon || item.title">
|
|
73
|
+
<template v-slot:activator="{ props }">
|
|
74
|
+
<v-list-item
|
|
75
|
+
v-bind="props"
|
|
76
|
+
:prepend-icon="item.icon"
|
|
77
|
+
:title="item.title"
|
|
78
|
+
></v-list-item>
|
|
79
|
+
</template>
|
|
80
|
+
<WidgetsLayoutLoader
|
|
81
|
+
v-if="compositions[item.compositionId]"
|
|
82
|
+
:widgets-layout="compositions[item.compositionId].widgetsLayout"
|
|
83
|
+
slot-type="inline"
|
|
84
|
+
:slot-layout="compositions[item.compositionId].slotLayout"
|
|
85
|
+
:max-height="availableComponentHeight"
|
|
86
|
+
/>
|
|
87
|
+
</v-list-group>
|
|
88
|
+
<template v-else>
|
|
89
|
+
<WidgetsLayoutLoader
|
|
90
|
+
v-if="compositions[item.compositionId]"
|
|
91
|
+
:widgets-layout="compositions[item.compositionId].widgetsLayout"
|
|
92
|
+
slot-type="inline"
|
|
93
|
+
:max-height="availableComponentHeight"
|
|
94
|
+
:slot-layout="compositions[item.compositionId].slotLayout"
|
|
95
|
+
/>
|
|
96
|
+
</template>
|
|
73
97
|
</template>
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
:widgets-layout="compositions[item.compositionId].widgetsLayout"
|
|
77
|
-
slot-type="inline"
|
|
78
|
-
:slot-layout="compositions[item.compositionId].slotLayout"
|
|
79
|
-
/>
|
|
80
|
-
</v-list-group>
|
|
81
|
-
</template>
|
|
98
|
+
</template>
|
|
99
|
+
</div>
|
|
82
100
|
|
|
83
101
|
<v-divider />
|
|
84
102
|
|
|
@@ -94,7 +112,7 @@
|
|
|
94
112
|
</template>
|
|
95
113
|
<script setup lang="ts">
|
|
96
114
|
import localeFlags from "@racletteOrchestrator/assets/iconMappings/flags.json"
|
|
97
|
-
import { computed, onMounted, ref } from "vue"
|
|
115
|
+
import { computed, useTemplateRef, onMounted, ref } from "vue"
|
|
98
116
|
import { useRouter } from "vue-router"
|
|
99
117
|
import useStateSubscriber from "@racletteOrchestrator/composables/useStateSubscriber"
|
|
100
118
|
import useUiState from "@racletteOrchestrator/composables/useUiState"
|
|
@@ -112,7 +130,10 @@ import {
|
|
|
112
130
|
import usePageNavigation, {
|
|
113
131
|
type NavigationItem,
|
|
114
132
|
} from "@racletteOrchestrator/composables/usePageNavigation"
|
|
115
|
-
|
|
133
|
+
const appUserMenuRef = useTemplateRef("appUserMenu")
|
|
134
|
+
const availableComponentHeight = computed(
|
|
135
|
+
() => appUserMenuRef?.value?.offsetHeight || 150,
|
|
136
|
+
)
|
|
116
137
|
const { locales } = configService.getI18nConfig()
|
|
117
138
|
const router = useRouter()
|
|
118
139
|
const asteroidsDebounce = asteroidsDebounceHelper(3)
|
|
@@ -125,10 +146,6 @@ const { getCompositionLinkForSlotName } = useRouteState()
|
|
|
125
146
|
const userLanguage = useLocalStorage<string>("user-language", null)
|
|
126
147
|
const userTheme = useLocalStorage<string>("user-theme", null)
|
|
127
148
|
const { state: pageNavigation } = usePageNavigation()
|
|
128
|
-
const showDevIndicator = useLocalStorage<boolean | ("true" | "false")>(
|
|
129
|
-
"show-dev-indicator",
|
|
130
|
-
null,
|
|
131
|
-
)
|
|
132
149
|
|
|
133
150
|
const isOpen = ref(false)
|
|
134
151
|
const canRefresh = ref(true)
|
|
@@ -164,11 +181,6 @@ const avatar = computed(() => {
|
|
|
164
181
|
|
|
165
182
|
return nameString
|
|
166
183
|
})
|
|
167
|
-
|
|
168
|
-
const isInDev = computed(
|
|
169
|
-
() => showDevIndicator.value === true || showDevIndicator.value === "true",
|
|
170
|
-
)
|
|
171
|
-
|
|
172
184
|
const toggleTheme = () => {
|
|
173
185
|
theme.value = theme.value === "light" ? "dark" : "light"
|
|
174
186
|
userTheme.value = theme.value
|
|
@@ -197,7 +209,11 @@ const navigate = (item: NavigationItem) => {
|
|
|
197
209
|
item.navigateTo()
|
|
198
210
|
}
|
|
199
211
|
|
|
200
|
-
const openEgg = () =>
|
|
212
|
+
const openEgg = () =>
|
|
213
|
+
asteroidsDebounce(() => {
|
|
214
|
+
isOpen.value = false
|
|
215
|
+
eggMe("asteroids")
|
|
216
|
+
})
|
|
201
217
|
|
|
202
218
|
onMounted(async () => {
|
|
203
219
|
if (isDecember()) {
|
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
pageNavigation?.navigationItems?.length ||
|
|
6
6
|
pageNavigation?.footerItems?.length
|
|
7
7
|
"
|
|
8
|
-
id="
|
|
8
|
+
id="appPageNavSidebar"
|
|
9
9
|
v-model="navigationDrawer"
|
|
10
10
|
:rail="navigationRail"
|
|
11
|
+
:expand-on-hover="pageNavigationRail"
|
|
11
12
|
permanent
|
|
12
13
|
:order="-2"
|
|
13
14
|
color="page-nav-bg"
|
|
@@ -33,6 +34,9 @@
|
|
|
33
34
|
<template v-if="item.icon" #prepend>
|
|
34
35
|
<v-icon :icon="item.icon" />
|
|
35
36
|
</template>
|
|
37
|
+
<template v-if="item.title" #title>
|
|
38
|
+
{{ item.title }}
|
|
39
|
+
</template>
|
|
36
40
|
</v-list-item>
|
|
37
41
|
</div>
|
|
38
42
|
</div>
|
|
@@ -58,6 +62,9 @@
|
|
|
58
62
|
<template v-if="item.icon" #prepend>
|
|
59
63
|
<v-icon :icon="item.icon" />
|
|
60
64
|
</template>
|
|
65
|
+
<template v-if="item.title" #title>
|
|
66
|
+
{{ item.title }}
|
|
67
|
+
</template>
|
|
61
68
|
</v-list-item>
|
|
62
69
|
</div>
|
|
63
70
|
</div>
|
|
@@ -73,7 +80,9 @@ import usePageNavigation, {
|
|
|
73
80
|
} from "@racletteOrchestrator/composables/usePageNavigation"
|
|
74
81
|
import useRouteState from "@racletteOrchestrator/composables/useRouteState"
|
|
75
82
|
import { DEFAULT_SLOT_NAME } from "@racletteOrchestrator/router/routeParserHelper"
|
|
83
|
+
import useStateSubscriber from "@racletteOrchestrator/composables/useStateSubscriber"
|
|
76
84
|
|
|
85
|
+
const { state: projectConfig } = useStateSubscriber(["project", "config"])
|
|
77
86
|
const { state: pageNavigation } = usePageNavigation()
|
|
78
87
|
const { getCompositionLinkForSlotName } = useRouteState()
|
|
79
88
|
const currentPageRoute = getCompositionLinkForSlotName(DEFAULT_SLOT_NAME)
|
|
@@ -81,6 +90,7 @@ const currentPageRoute = getCompositionLinkForSlotName(DEFAULT_SLOT_NAME)
|
|
|
81
90
|
const navigationDrawer = ref(true)
|
|
82
91
|
const navigationRail = ref(true)
|
|
83
92
|
|
|
93
|
+
const pageNavigationRail = projectConfig.value?.railPageNavigation || false
|
|
84
94
|
const activeRouteName = computed(() => currentPageRoute?.value?.slotValue)
|
|
85
95
|
|
|
86
96
|
const navigate = (item: NavigationItem) => item.navigateTo()
|
|
@@ -19,17 +19,23 @@ export type NavigationItem = {
|
|
|
19
19
|
|
|
20
20
|
export default () => {
|
|
21
21
|
const { locale } = useUiState()
|
|
22
|
-
const { state } = useInteractionLinks([
|
|
22
|
+
const { state } = useInteractionLinks([
|
|
23
|
+
"page-navigation",
|
|
24
|
+
"user-menu",
|
|
25
|
+
"app-bar",
|
|
26
|
+
])
|
|
23
27
|
const { triggerInteractionLink } = useRouteState()
|
|
24
28
|
|
|
25
29
|
const navigationItems = computed<{
|
|
26
30
|
navigationItems: NavigationItem[]
|
|
27
31
|
footerItems: NavigationItem[]
|
|
28
32
|
userMenuItems: NavigationItem[]
|
|
33
|
+
appBarItems: NavigationItem[]
|
|
29
34
|
}>(() => {
|
|
30
35
|
const navigationItems: NavigationItem[] = []
|
|
31
36
|
const footerItems: NavigationItem[] = []
|
|
32
37
|
const userMenuItems: NavigationItem[] = []
|
|
38
|
+
const appBarItems: NavigationItem[] = []
|
|
33
39
|
locale.value
|
|
34
40
|
state.value.forEach((interactionLink) =>
|
|
35
41
|
interactionLink.triggers
|
|
@@ -60,6 +66,8 @@ export default () => {
|
|
|
60
66
|
}
|
|
61
67
|
} else if (type === "user-menu") {
|
|
62
68
|
userMenuItems.push(item)
|
|
69
|
+
} else if (type === "app-bar") {
|
|
70
|
+
appBarItems.push(item)
|
|
63
71
|
}
|
|
64
72
|
}
|
|
65
73
|
}),
|
|
@@ -69,6 +77,7 @@ export default () => {
|
|
|
69
77
|
navigationItems,
|
|
70
78
|
footerItems,
|
|
71
79
|
userMenuItems,
|
|
80
|
+
appBarItems,
|
|
72
81
|
}
|
|
73
82
|
})
|
|
74
83
|
return {
|
|
@@ -72,10 +72,25 @@
|
|
|
72
72
|
"noAccountYet": "Noch kein Konto?",
|
|
73
73
|
"moreInformation": "Weitere Informationen"
|
|
74
74
|
},
|
|
75
|
+
"openInFloatingWindow": "In extrafenster öffnen",
|
|
75
76
|
"showDeleted": "Zeige gelöschte",
|
|
76
77
|
"hideDeleted": "Verstecke gelöschte",
|
|
78
|
+
"selectAll": "Alle auswählen",
|
|
79
|
+
"selected": "ausgewählt",
|
|
80
|
+
"noItemsSelected": "Keine Elemente ausgewählt. Bitte wählen Sie mindestens ein Element aus, um fortzufahren.",
|
|
77
81
|
"cancel": "Abbrechen",
|
|
78
82
|
"close": "Schließen",
|
|
83
|
+
"itemsCount": "Anzahl der Elemente",
|
|
84
|
+
"selectedItems": "Ausgewählte Elemente",
|
|
85
|
+
"selectItemsToExport": "Elemente zum Exportieren auswählen",
|
|
86
|
+
"export": "Exportieren",
|
|
87
|
+
"selectItemsToImport": "Elemente zum Importieren auswählen",
|
|
88
|
+
"import": "Importieren",
|
|
89
|
+
"exportSummary": "Export-Zusammenfassung",
|
|
90
|
+
"exportSuccessMessage": "Elemente wurden erfolgreich exportiert",
|
|
91
|
+
"importSummary": "Import-Zusammenfassung",
|
|
92
|
+
"importSuccessMessage": "Elemente bereit zum Importieren",
|
|
93
|
+
"saveImported": "Importierte Elemente speichern",
|
|
79
94
|
"clear": "Leeren",
|
|
80
95
|
"copyToClipboard$name": "{name} in Zwischenablage kopieren",
|
|
81
96
|
"timeAgo": "vor {time}",
|
|
@@ -72,10 +72,25 @@
|
|
|
72
72
|
"noAccountYet": "Don't have an account yet?",
|
|
73
73
|
"moreInformation": "More information"
|
|
74
74
|
},
|
|
75
|
+
"openInFloatingWindow": "Open in floating window",
|
|
75
76
|
"showDeleted": "Show deleted",
|
|
76
77
|
"hideDeleted": "Hide deleted",
|
|
78
|
+
"selectAll": "Select All",
|
|
79
|
+
"selected": "selected",
|
|
80
|
+
"noItemsSelected": "No items selected. Please select at least one item to continue.",
|
|
77
81
|
"cancel": "Cancel",
|
|
78
82
|
"close": "Close",
|
|
83
|
+
"itemsCount": "Items count",
|
|
84
|
+
"selectedItems": "Selected items",
|
|
85
|
+
"selectItemsToExport": "Select Items to Export",
|
|
86
|
+
"export": "Export",
|
|
87
|
+
"selectItemsToImport": "Select Items to Import",
|
|
88
|
+
"import": "Import",
|
|
89
|
+
"exportSummary": "Export Summary",
|
|
90
|
+
"exportSuccessMessage": "Items have been successfully exported",
|
|
91
|
+
"importSummary": "Import Summary",
|
|
92
|
+
"importSuccessMessage": "Items ready to import",
|
|
93
|
+
"saveImported": "Save Imported Items",
|
|
79
94
|
"clear": "Clear",
|
|
80
95
|
"copyToClipboard$name": "Copy {name} to clipboard",
|
|
81
96
|
"timeAgo": "{time} ago",
|
|
@@ -72,10 +72,25 @@
|
|
|
72
72
|
"noAccountYet": "Ešte nemáte účet?",
|
|
73
73
|
"moreInformation": "Viac informácií"
|
|
74
74
|
},
|
|
75
|
+
"openInFloatingWindow": "Otvoriť v plávajúcom okne",
|
|
75
76
|
"showDeleted": "relácia vymazaná",
|
|
76
77
|
"hideDeleted": "skryť odstránené",
|
|
78
|
+
"selectAll": "Vybrať všetko",
|
|
79
|
+
"selected": "vybrané",
|
|
80
|
+
"noItemsSelected": "Nie sú vybrané žiadne položky. Vyberte aspoň jednu položku pre pokračovanie.",
|
|
77
81
|
"cancel": "Zrušiť",
|
|
78
82
|
"close": "Zavrieť",
|
|
83
|
+
"itemsCount": "Počet položiek",
|
|
84
|
+
"selectedItems": "Vybrané položky",
|
|
85
|
+
"selectItemsToExport": "Vyberte položky na export",
|
|
86
|
+
"export": "Exportovať",
|
|
87
|
+
"selectItemsToImport": "Vyberte položky na import",
|
|
88
|
+
"import": "Importovať",
|
|
89
|
+
"exportSummary": "Súhrn exportu",
|
|
90
|
+
"exportSuccessMessage": "Položky boli úspešne exportované",
|
|
91
|
+
"importSummary": "Súhrn importu",
|
|
92
|
+
"importSuccessMessage": "Položky pripravené na import",
|
|
93
|
+
"saveImported": "Uložiť importované položky",
|
|
79
94
|
"clear": "Vyčistiť",
|
|
80
95
|
"copyToClipboard$name": "Skopírovať {name} do schránky",
|
|
81
96
|
"timeAgo": "pred {time}",
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { createRouter, createWebHistory } from "vue-router"
|
|
5
5
|
import { afterEach, beforeEach } from "./routerHooks"
|
|
6
6
|
import routes from "./routes"
|
|
7
|
+
import { $eventbus } from "@racletteCore/main"
|
|
7
8
|
|
|
8
9
|
// create router instance
|
|
9
10
|
|
|
@@ -15,5 +16,20 @@ const router = createRouter({
|
|
|
15
16
|
/* Rooter hooks */
|
|
16
17
|
router.beforeEach(beforeEach)
|
|
17
18
|
router.afterEach(afterEach)
|
|
19
|
+
$eventbus.on("backend/error", (error) => {
|
|
20
|
+
if (error.name === "AxiosError") {
|
|
21
|
+
const errorResponse = error.response?.data
|
|
22
|
+
if (errorResponse?.code === "FST_JWT_AUTHORIZATION_TOKEN_EXPIRED") {
|
|
23
|
+
// Capture current route path (including query and hash)
|
|
24
|
+
const currentUrl = router.currentRoute.value.fullPath
|
|
25
|
+
// Redirect to login with the current URL as a query param
|
|
26
|
+
if (window.location.href !== window.location.origin + "/login") {
|
|
27
|
+
window.location.href =
|
|
28
|
+
window.location.origin + "/login?redirect=" + currentUrl
|
|
29
|
+
}
|
|
18
30
|
|
|
31
|
+
return
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
})
|
|
19
35
|
export default router
|
package/yarn.lock
CHANGED
|
@@ -295,10 +295,10 @@
|
|
|
295
295
|
resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.2.9.tgz#d229a7b7f9dac167a156992ef23c7f023653f53b"
|
|
296
296
|
integrity sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==
|
|
297
297
|
|
|
298
|
-
"@raclettejs/types@^0.1.
|
|
299
|
-
version "0.1.
|
|
300
|
-
resolved "https://registry.yarnpkg.com/@raclettejs/types/-/types-0.1.
|
|
301
|
-
integrity sha512-
|
|
298
|
+
"@raclettejs/types@^0.1.19":
|
|
299
|
+
version "0.1.19"
|
|
300
|
+
resolved "https://registry.yarnpkg.com/@raclettejs/types/-/types-0.1.19.tgz#5f17afcc3b8f2d4849c828648711c426fdb2f74d"
|
|
301
|
+
integrity sha512-EdIMglaM+ivsvkVaXZKVKBoyXsLivulloveYPEV70Lm1iLeja6l7IywyM82dMdEgNMmpEMlG8r2TjHyXu9MPkg==
|
|
302
302
|
dependencies:
|
|
303
303
|
"@types/node" "24.5.2"
|
|
304
304
|
fastify "5.6.0"
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
// TODO: check if this file can be deleted
|
|
2
|
-
export const createLoginApp = async (
|
|
3
|
-
el: string,
|
|
4
|
-
loginMethod: Function,
|
|
5
|
-
noUsers: boolean,
|
|
6
|
-
) => {
|
|
7
|
-
const [{ createApp }, { default: LoginApp }, { i18n }, { default: vuetify }] =
|
|
8
|
-
await Promise.all([
|
|
9
|
-
import("vue"),
|
|
10
|
-
import("../LoginApp.vue"),
|
|
11
|
-
import("./i18n"),
|
|
12
|
-
import("./vuetify"),
|
|
13
|
-
])
|
|
14
|
-
|
|
15
|
-
await Promise.all([
|
|
16
|
-
import("../assets/styles/main.scss"),
|
|
17
|
-
import("../assets/styles/tailwindStyles.css"),
|
|
18
|
-
import("../assets/styles/vuetifyStyles.scss"),
|
|
19
|
-
])
|
|
20
|
-
|
|
21
|
-
const app = createApp(LoginApp, { loginMethod, noUsers })
|
|
22
|
-
app.use(i18n)
|
|
23
|
-
app.use(vuetify)
|
|
24
|
-
app.mount(el)
|
|
25
|
-
|
|
26
|
-
return app
|
|
27
|
-
}
|