@raclettejs/core 0.1.9 → 0.1.11
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 +41 -10
- package/dist/cli.js +54 -54
- package/dist/index.js +2 -2
- package/package.json +30 -30
- package/services/backend/package.json +34 -45
- package/services/backend/yarn.lock +420 -1178
- package/services/frontend/package.json +28 -40
- package/services/frontend/src/core/lib/data/dataApi.ts +9 -7
- package/services/frontend/src/core/lib/data/fetchDataHandler.ts +38 -20
- package/services/frontend/src/core/lib/data/queryApi.ts +7 -4
- package/services/frontend/src/core/lib/data/writeDataHandler.ts +12 -1
- package/services/frontend/src/core/lib/easteregg.ts +7 -1
- package/services/frontend/src/core/lib/eggs/asteroids/index.ts +2 -2
- package/services/frontend/src/core/setup/plugin-system/api/plugin-data.ts +2 -2
- package/services/frontend/src/orchestrator/assets/styles/main.scss +2 -0
- package/services/frontend/src/orchestrator/assets/styles/vuetifyStyles.scss +21 -0
- package/services/frontend/src/orchestrator/components/menu/UserNotifications.vue +4 -2
- package/services/frontend/src/orchestrator/components/welcomeScreen/AdminWelcomeScreen.vue +1 -0
- package/services/frontend/src/orchestrator/components/welcomeScreen/UserWelcomeScreen.vue +1 -0
- package/services/frontend/src/orchestrator/composables/useVueQueryObservableHelper.ts +5 -2
- package/services/frontend/src/orchestrator/composables/useVueWriteOperationHelper.ts +5 -2
- package/services/frontend/src/orchestrator/i18n/de-DE.json +4 -0
- package/services/frontend/src/orchestrator/i18n/en-EU.json +4 -0
- package/services/frontend/src/orchestrator/i18n/sk.json +4 -0
- package/services/frontend/src/orchestrator/i18n/tl-TL.json +5 -1
- package/services/frontend/src/orchestrator/setup/loginApp.ts +1 -0
- package/services/frontend/src/orchestrator/types/PluginApi.ts +4 -1
- package/services/frontend/yarn.lock +792 -1873
- package/yarn.lock +435 -618
|
@@ -16,57 +16,45 @@
|
|
|
16
16
|
"format": "prettier --write src/"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@date-io/date-fns": "
|
|
19
|
+
"@date-io/date-fns": "3.2.1",
|
|
20
20
|
"@mdi/font": "7.4.47",
|
|
21
|
-
"@tailwindcss/vite": "
|
|
22
|
-
"@tsconfig/node20": "
|
|
23
|
-
"@vueuse/core": "13.
|
|
24
|
-
"@vueuse/rxjs": "
|
|
25
|
-
"axios": "1.
|
|
21
|
+
"@tailwindcss/vite": "4.1.13",
|
|
22
|
+
"@tsconfig/node20": "20.1.6",
|
|
23
|
+
"@vueuse/core": "13.9.0",
|
|
24
|
+
"@vueuse/rxjs": "13.9.0",
|
|
25
|
+
"axios": "1.12.2",
|
|
26
26
|
"date-fns": "4.1.0",
|
|
27
27
|
"esm": "3.x",
|
|
28
|
-
"interactjs": "
|
|
28
|
+
"interactjs": "1.10.27",
|
|
29
29
|
"mini-rx-store": "6.1.2",
|
|
30
30
|
"nanoid": "5.1.5",
|
|
31
31
|
"ramda": "0.31.3",
|
|
32
32
|
"rxjs": "7.x",
|
|
33
|
-
"sass": "
|
|
33
|
+
"sass": "1.92.1",
|
|
34
34
|
"socket.io-client": "4.x",
|
|
35
|
-
"tailwindcss": "
|
|
36
|
-
"uuid": "
|
|
37
|
-
"vue": "
|
|
38
|
-
"vue-i18n": "11.1.
|
|
39
|
-
"vue-konva": "^3.2.1",
|
|
35
|
+
"tailwindcss": "4.1.13",
|
|
36
|
+
"uuid": "13.0.0",
|
|
37
|
+
"vue": "3.5.21",
|
|
38
|
+
"vue-i18n": "11.1.12",
|
|
40
39
|
"vue-router": "4.5.1",
|
|
41
|
-
"vuetify": "3.
|
|
40
|
+
"vuetify": "3.10.2"
|
|
42
41
|
},
|
|
43
42
|
"devDependencies": {
|
|
44
|
-
"@types/node": "
|
|
45
|
-
"@types/ramda": "
|
|
46
|
-
"@vitejs/plugin-vue": "6.0.
|
|
47
|
-
"@vue/
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"eslint": "^9.34.0",
|
|
51
|
-
"eslint-config-prettier": "^10.1.5",
|
|
52
|
-
"eslint-config-standard": "17.1.0",
|
|
53
|
-
"eslint-plugin-arrowsmith": "^1.1.0",
|
|
54
|
-
"eslint-plugin-cypress": "5.1.0",
|
|
43
|
+
"@types/node": "24.5.1",
|
|
44
|
+
"@types/ramda": "0.31.1",
|
|
45
|
+
"@vitejs/plugin-vue": "6.0.1",
|
|
46
|
+
"@vue/tsconfig": "0.8.1",
|
|
47
|
+
"eslint": "9.35.0",
|
|
48
|
+
"eslint-config-prettier": "10.1.8",
|
|
55
49
|
"eslint-plugin-import": "2.32.0",
|
|
56
|
-
"eslint-plugin-
|
|
57
|
-
"eslint-plugin-
|
|
58
|
-
"eslint-plugin-
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"prettier-eslint": "^16.4.2",
|
|
66
|
-
"typescript": "^5.8.3",
|
|
67
|
-
"vite": "7.0.4",
|
|
68
|
-
"vitest": "3.2.4",
|
|
69
|
-
"vue-eslint-parser": "^10.2.0",
|
|
70
|
-
"vue-tsc": "^3.0.1"
|
|
50
|
+
"eslint-plugin-prefer-arrow-functions": "3.8.1",
|
|
51
|
+
"eslint-plugin-tailwindcss": "4.0.0-beta.0",
|
|
52
|
+
"eslint-plugin-vue": "10.4.0",
|
|
53
|
+
"globals": "16.4.0",
|
|
54
|
+
"prettier": "3.6.2",
|
|
55
|
+
"typescript": "5.9.2",
|
|
56
|
+
"vite": "7.1.5",
|
|
57
|
+
"vue-eslint-parser": "10.2.0",
|
|
58
|
+
"vue-tsc": "3.0.7"
|
|
71
59
|
}
|
|
72
60
|
}
|
|
@@ -19,21 +19,21 @@ const $writeDataApi = (
|
|
|
19
19
|
const isLoadingSubject$ = new BehaviorSubject<boolean>(false)
|
|
20
20
|
const dataSubject$ = new BehaviorSubject([])
|
|
21
21
|
const errorSubject$ = new BehaviorSubject(null)
|
|
22
|
-
const
|
|
22
|
+
const responseSubject$ = new BehaviorSubject({})
|
|
23
23
|
const writeApi = {
|
|
24
24
|
isLoading$: isLoadingSubject$.asObservable(),
|
|
25
25
|
data$: dataSubject$.asObservable(),
|
|
26
26
|
error$: errorSubject$.asObservable(),
|
|
27
|
-
|
|
27
|
+
response$: responseSubject$.asObservable(),
|
|
28
28
|
execute: async (executeParams = {}) => {
|
|
29
29
|
const _executeParams = clone(executeParams)
|
|
30
30
|
errorSubject$.next(null)
|
|
31
|
-
|
|
32
|
-
isLoadingSubject$.next(true)
|
|
31
|
+
responseSubject$.next({})
|
|
33
32
|
const queryParams = mergeDeepRight(_params, _executeParams)
|
|
34
33
|
if (options.responseType === "stream") {
|
|
35
34
|
return writeData(actionId, operationDefinition, queryParams, options)
|
|
36
35
|
}
|
|
36
|
+
isLoadingSubject$.next(true)
|
|
37
37
|
const resultData = await writeData(
|
|
38
38
|
actionId,
|
|
39
39
|
operationDefinition,
|
|
@@ -44,14 +44,16 @@ const $writeDataApi = (
|
|
|
44
44
|
errorSubject$.next(errorObj)
|
|
45
45
|
isLoadingSubject$.next(false)
|
|
46
46
|
})
|
|
47
|
-
|
|
47
|
+
responseSubject$.next(resultData?.response)
|
|
48
48
|
|
|
49
49
|
// Update both boolean and observable on success
|
|
50
50
|
isLoadingSubject$.next(false)
|
|
51
51
|
|
|
52
52
|
// Update data if resultData is available
|
|
53
|
-
if (resultData) {
|
|
54
|
-
const dataArray = Array.isArray(resultData)
|
|
53
|
+
if (resultData?.result) {
|
|
54
|
+
const dataArray = Array.isArray(resultData.result)
|
|
55
|
+
? resultData.result
|
|
56
|
+
: [resultData.result]
|
|
55
57
|
dataSubject$.next(dataArray)
|
|
56
58
|
}
|
|
57
59
|
|
|
@@ -183,7 +183,10 @@ const finishRemoteQuery = (actionIdentifier, result, params, options) => {
|
|
|
183
183
|
actionId: actionId,
|
|
184
184
|
},
|
|
185
185
|
})
|
|
186
|
-
return
|
|
186
|
+
return {
|
|
187
|
+
result: resultObj,
|
|
188
|
+
response: result.data,
|
|
189
|
+
}
|
|
187
190
|
}
|
|
188
191
|
|
|
189
192
|
return itemDispatcher(actionIdentifier, resultObj, true)
|
|
@@ -225,7 +228,10 @@ const handleRemoteRequest = async (
|
|
|
225
228
|
? await $api.axios.get(target, config)
|
|
226
229
|
: await $api.axios.post(target, params, config)
|
|
227
230
|
|
|
228
|
-
return
|
|
231
|
+
return {
|
|
232
|
+
response,
|
|
233
|
+
result: finishRemoteQuery(actionIdentifier, response, params, options),
|
|
234
|
+
}
|
|
229
235
|
} catch (e) {
|
|
230
236
|
if (e.name === "AbortError" || e.name === "CanceledError") {
|
|
231
237
|
log.api(`${method} request was cancelled for actionId:`, actionIdentifier)
|
|
@@ -239,12 +245,15 @@ const handleRemoteRequest = async (
|
|
|
239
245
|
e,
|
|
240
246
|
})
|
|
241
247
|
|
|
242
|
-
return
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
+
return {
|
|
249
|
+
response: e,
|
|
250
|
+
result: finishRemoteQuery(
|
|
251
|
+
actionIdentifier,
|
|
252
|
+
{ data: [], error: e?.response?.data || e },
|
|
253
|
+
params,
|
|
254
|
+
options,
|
|
255
|
+
),
|
|
256
|
+
}
|
|
248
257
|
}
|
|
249
258
|
}
|
|
250
259
|
|
|
@@ -359,22 +368,28 @@ const routeHandlers = {
|
|
|
359
368
|
"search/query": async (actionIdentifier, target, params, options, signal) => {
|
|
360
369
|
if (params.search?.q === "@showall") {
|
|
361
370
|
const dataState = $store.getState("data")
|
|
362
|
-
return
|
|
371
|
+
return {
|
|
372
|
+
response: "dataStore",
|
|
373
|
+
result: itemDispatcher(
|
|
374
|
+
actionIdentifier,
|
|
375
|
+
{
|
|
376
|
+
result: Object.values(dataState),
|
|
377
|
+
},
|
|
378
|
+
true,
|
|
379
|
+
),
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
return {
|
|
384
|
+
response: "dataStore",
|
|
385
|
+
result: itemDispatcher(
|
|
363
386
|
actionIdentifier,
|
|
364
387
|
{
|
|
365
|
-
result:
|
|
388
|
+
result: [],
|
|
366
389
|
},
|
|
367
390
|
true,
|
|
368
|
-
)
|
|
391
|
+
),
|
|
369
392
|
}
|
|
370
|
-
|
|
371
|
-
return itemDispatcher(
|
|
372
|
-
actionIdentifier,
|
|
373
|
-
{
|
|
374
|
-
result: [],
|
|
375
|
-
},
|
|
376
|
-
true,
|
|
377
|
-
)
|
|
378
393
|
},
|
|
379
394
|
}
|
|
380
395
|
|
|
@@ -438,7 +453,10 @@ const getData = async (actionId, target, params, options) => {
|
|
|
438
453
|
actionIdentifier,
|
|
439
454
|
)
|
|
440
455
|
if (cacheResult !== null) {
|
|
441
|
-
return
|
|
456
|
+
return {
|
|
457
|
+
response: "cached_" + cachedQuery.hash,
|
|
458
|
+
result: cacheResult,
|
|
459
|
+
}
|
|
442
460
|
}
|
|
443
461
|
}
|
|
444
462
|
// Execute route
|
|
@@ -19,7 +19,7 @@ export const $queryApi = (
|
|
|
19
19
|
return queryApis[actionId]
|
|
20
20
|
}
|
|
21
21
|
const errorSubject$ = new BehaviorSubject(null)
|
|
22
|
-
const
|
|
22
|
+
const responseSubject$ = new BehaviorSubject({})
|
|
23
23
|
const cleanedParams = fixQueryParamTypes(params)
|
|
24
24
|
// check if we have a query fullfilling the needs of the one requested
|
|
25
25
|
// here. If not we will update the one with this actionId
|
|
@@ -35,7 +35,7 @@ export const $queryApi = (
|
|
|
35
35
|
})
|
|
36
36
|
const queryApi = {
|
|
37
37
|
error$: errorSubject$.asObservable(),
|
|
38
|
-
|
|
38
|
+
response$: responseSubject$.asObservable(),
|
|
39
39
|
query$: $store.select((state) => state.queries[actionId]),
|
|
40
40
|
uuids$: $store.select((state) => state.queries[actionId].uuids),
|
|
41
41
|
remove: () => {
|
|
@@ -48,7 +48,7 @@ export const $queryApi = (
|
|
|
48
48
|
execute: async (executeParams = {}) => {
|
|
49
49
|
const _executeParams = clone(executeParams)
|
|
50
50
|
errorSubject$.next(null)
|
|
51
|
-
|
|
51
|
+
responseSubject$.next({})
|
|
52
52
|
const queryParams = mergeDeepRight(cleanedParams, _executeParams)
|
|
53
53
|
$store.dispatch({
|
|
54
54
|
type: "queries/update",
|
|
@@ -68,10 +68,13 @@ export const $queryApi = (
|
|
|
68
68
|
const errorObj = e
|
|
69
69
|
errorSubject$.next(errorObj)
|
|
70
70
|
})
|
|
71
|
-
|
|
71
|
+
responseSubject$.next(resultData?.response)
|
|
72
72
|
if (options.cb && typeof options.cb === "function") {
|
|
73
73
|
options.cb(resultData)
|
|
74
74
|
}
|
|
75
|
+
if (resultData.result) {
|
|
76
|
+
resultData.result = await resultData.result
|
|
77
|
+
}
|
|
75
78
|
return resultData
|
|
76
79
|
},
|
|
77
80
|
onDeleted: (callback) => {
|
|
@@ -117,13 +117,24 @@ const writeData = async (actionId, operationDefinition, item, options) => {
|
|
|
117
117
|
cleanItem,
|
|
118
118
|
config,
|
|
119
119
|
)
|
|
120
|
+
.then((res) => {
|
|
121
|
+
return {
|
|
122
|
+
response: res,
|
|
123
|
+
}
|
|
124
|
+
})
|
|
125
|
+
.catch((e) => reportError(e))
|
|
120
126
|
} else {
|
|
121
127
|
return await $api.axios[operationDefinition.method](
|
|
122
128
|
validTarget,
|
|
123
129
|
cleanItem,
|
|
124
130
|
config,
|
|
125
131
|
)
|
|
126
|
-
.then((res) =>
|
|
132
|
+
.then((res) => {
|
|
133
|
+
return {
|
|
134
|
+
response: res,
|
|
135
|
+
result: handleServerItem(res.data, notify, true),
|
|
136
|
+
}
|
|
137
|
+
})
|
|
127
138
|
.catch((e) => reportError(e))
|
|
128
139
|
}
|
|
129
140
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import snow from "./eggs/snow"
|
|
2
2
|
import asteroids from "./eggs/asteroids/index"
|
|
3
3
|
import smoke from "./eggs/smoke"
|
|
4
|
+
import { $eventbus } from "@racletteCore/main"
|
|
4
5
|
|
|
5
6
|
const eggs = {
|
|
6
7
|
asteroids: asteroids,
|
|
@@ -12,7 +13,12 @@ const eggMe = (egg) => {
|
|
|
12
13
|
return
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
return eggs[egg]()
|
|
16
|
+
return eggs[egg](() => {
|
|
17
|
+
$eventbus.emit("ui_addToSnackBar", {
|
|
18
|
+
i18n: "core.eggcontrols." + egg,
|
|
19
|
+
color: "info",
|
|
20
|
+
})
|
|
21
|
+
})
|
|
16
22
|
}
|
|
17
23
|
|
|
18
24
|
const debounceHelper = (count, time = 800) => {
|
|
@@ -519,7 +519,7 @@ function isTouchOnly() {
|
|
|
519
519
|
return isTouchOnly
|
|
520
520
|
}
|
|
521
521
|
// Export function to create and start the game with SSR safety
|
|
522
|
-
export default (): ModernAsteroids | null => {
|
|
522
|
+
export default (notifyUser): ModernAsteroids | null => {
|
|
523
523
|
if (
|
|
524
524
|
typeof window === "undefined" ||
|
|
525
525
|
typeof document === "undefined" ||
|
|
@@ -528,6 +528,6 @@ export default (): ModernAsteroids | null => {
|
|
|
528
528
|
console.warn("Racleroids game can only run in browser environment")
|
|
529
529
|
return null
|
|
530
530
|
}
|
|
531
|
-
|
|
531
|
+
notifyUser()
|
|
532
532
|
return new ModernAsteroids()
|
|
533
533
|
}
|
|
@@ -82,7 +82,7 @@ export const handlePluginOperations =
|
|
|
82
82
|
params = {},
|
|
83
83
|
options = {},
|
|
84
84
|
}: CustomStoreActionsPayload = {}) => {
|
|
85
|
-
if (id) handlerId = id
|
|
85
|
+
if (id?.length) handlerId = id
|
|
86
86
|
const instanceActionId =
|
|
87
87
|
getInstanceActionId(
|
|
88
88
|
prefixedPluginName,
|
|
@@ -118,7 +118,7 @@ export const handlePluginOperations =
|
|
|
118
118
|
params = {},
|
|
119
119
|
options = {},
|
|
120
120
|
}: CustomStoreActionsPayload = {}) => {
|
|
121
|
-
if (id) handlerId = id
|
|
121
|
+
if (id?.length) handlerId = id
|
|
122
122
|
const instanceActionId =
|
|
123
123
|
getInstanceActionId(
|
|
124
124
|
prefixedPluginName,
|
|
@@ -3,3 +3,24 @@
|
|
|
3
3
|
$reset: false
|
|
4
4
|
);
|
|
5
5
|
@use "@mdi/font/css/materialdesignicons.css";
|
|
6
|
+
|
|
7
|
+
// The styles below are picked from vuetify's reset css (which is disabled)
|
|
8
|
+
|
|
9
|
+
/* Apply cursor pointer to button elements */
|
|
10
|
+
button,
|
|
11
|
+
[type="button"],
|
|
12
|
+
[type="reset"],
|
|
13
|
+
[type="submit"],
|
|
14
|
+
[role="button"] {
|
|
15
|
+
cursor: pointer;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/* Specify the pointer cursor of trigger elements */
|
|
19
|
+
[aria-controls] {
|
|
20
|
+
cursor: pointer;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
|
|
24
|
+
[aria-disabled="true"] {
|
|
25
|
+
cursor: default;
|
|
26
|
+
}
|
|
@@ -32,10 +32,12 @@
|
|
|
32
32
|
</v-btn>
|
|
33
33
|
</template>
|
|
34
34
|
|
|
35
|
-
<v-card left
|
|
35
|
+
<v-card left>
|
|
36
36
|
<v-expansion-panels v-model="panel">
|
|
37
37
|
<v-expansion-panel>
|
|
38
|
-
<v-expansion-panel-title>
|
|
38
|
+
<v-expansion-panel-title>{{
|
|
39
|
+
$t("core.new")
|
|
40
|
+
}}</v-expansion-panel-title>
|
|
39
41
|
<v-expansion-panel-text>
|
|
40
42
|
<v-list density="compact">
|
|
41
43
|
<v-list-item
|
|
@@ -41,7 +41,7 @@ export const useVueQueryObservableHelper = (
|
|
|
41
41
|
subscriber$[instanceActionId] = coreQuery
|
|
42
42
|
const queryRef = useObservable<QueryApiQuery>(coreQuery.query$)
|
|
43
43
|
const errorObservable = useObservable(coreQuery.error$)
|
|
44
|
-
const
|
|
44
|
+
const responseRef = useObservable<QueryApiQuery>(coreQuery.response$)
|
|
45
45
|
if (options.useStore !== false) {
|
|
46
46
|
watch(queryRef, (value, oldValue) => {
|
|
47
47
|
const newUUIDS = value?.uuids || []
|
|
@@ -73,7 +73,10 @@ export const useVueQueryObservableHelper = (
|
|
|
73
73
|
return queryRef.value?.loading
|
|
74
74
|
}),
|
|
75
75
|
data,
|
|
76
|
-
|
|
76
|
+
dataArr: computed(() => {
|
|
77
|
+
return data.value ? Object.values(data.value) : []
|
|
78
|
+
}),
|
|
79
|
+
response: responseRef,
|
|
77
80
|
execute: coreQuery.execute,
|
|
78
81
|
uuids: coreQuery.uuids$,
|
|
79
82
|
error: computed(() => {
|
|
@@ -45,7 +45,7 @@ export const useVueWriteOperationHelper = (
|
|
|
45
45
|
const isLoadingObservable = useObservable(writeOperation.isLoading$)
|
|
46
46
|
const dataObservable = useObservable(writeOperation.data$)
|
|
47
47
|
const errorObservable = useObservable(writeOperation.error$)
|
|
48
|
-
const
|
|
48
|
+
const responseRef = useObservable(writeOperation.response$)
|
|
49
49
|
if (options.useStore !== false) {
|
|
50
50
|
watch(dataObservable, (value, oldValue) => {
|
|
51
51
|
const uuids = []
|
|
@@ -80,7 +80,10 @@ export const useVueWriteOperationHelper = (
|
|
|
80
80
|
return isLoadingObservable.value
|
|
81
81
|
}),
|
|
82
82
|
data,
|
|
83
|
-
|
|
83
|
+
dataArr: computed(() => {
|
|
84
|
+
return data.value ? Object.values(data.value) : []
|
|
85
|
+
}),
|
|
86
|
+
response: responseRef,
|
|
84
87
|
execute: writeOperation.execute,
|
|
85
88
|
error: computed(() => {
|
|
86
89
|
return errorObservable.value
|
|
@@ -85,6 +85,7 @@
|
|
|
85
85
|
"return_to_home": "Zur Startseite",
|
|
86
86
|
"noConnectionToServer": "Es kann keine Verbindung zum Server hergestellt werden"
|
|
87
87
|
},
|
|
88
|
+
"new": "Neu",
|
|
88
89
|
"lastSocketUpdateReceivedAt": "Letzte Servernachricht erhalten am",
|
|
89
90
|
"logout": "Abmelden",
|
|
90
91
|
"refreshAllQueries": "Alle Suchen aktualisieren",
|
|
@@ -105,6 +106,9 @@
|
|
|
105
106
|
"reloadPageHint": "Bitte laden Sie diese Seite in ihren Browser neu, um die Änderungen zu aktivieren.",
|
|
106
107
|
"color": "Farbe",
|
|
107
108
|
"versionUpdate": "Eine neue Version ist verfügbar. Laden Sie die Seite neu, um alle neuen Features zu nutzen.",
|
|
109
|
+
"eggcontrols": {
|
|
110
|
+
"asteroids": "Nutzen sie die Pfeiltasten zum Navigieren und die Leertaste zum Schießen. Mit escape beenden sie das Spiel, Viel Spaß!"
|
|
111
|
+
},
|
|
108
112
|
"languages": {
|
|
109
113
|
"tl-TL": "Klingonisch",
|
|
110
114
|
"de-DE": "Deutsch (Deutschland)",
|
|
@@ -85,6 +85,7 @@
|
|
|
85
85
|
"return_to_home": "Go to home page",
|
|
86
86
|
"noConnectionToServer": "Cannot connect to the server"
|
|
87
87
|
},
|
|
88
|
+
"new": "New",
|
|
88
89
|
"lastSocketUpdateReceivedAt": "Last server message received at",
|
|
89
90
|
"logout": "Log out",
|
|
90
91
|
"refreshAllQueries": "Refresh all queries",
|
|
@@ -105,6 +106,9 @@
|
|
|
105
106
|
"reloadPageHint": "Please reload this page in your browser to activate the changes.",
|
|
106
107
|
"color": "Color",
|
|
107
108
|
"versionUpdate": "A new version is available. Reload the page to use all new features.",
|
|
109
|
+
"eggcontrols": {
|
|
110
|
+
"asteroids": "Use the arrow keys to navigate and the spacebar to shoot. Press Escape to exit the game. Have fun!"
|
|
111
|
+
},
|
|
108
112
|
"languages": {
|
|
109
113
|
"tl-TL": "Klingon",
|
|
110
114
|
"de-DE": "German (Germany)",
|
|
@@ -85,6 +85,7 @@
|
|
|
85
85
|
"return_to_home": "Prejsť na domovskú stránku",
|
|
86
86
|
"noConnectionToServer": "Nepodarilo sa pripojiť k serveru"
|
|
87
87
|
},
|
|
88
|
+
"new": "nové",
|
|
88
89
|
"lastSocketUpdateReceivedAt": "Posledná správa zo servera prijatá o",
|
|
89
90
|
"logout": "Odhlásiť sa",
|
|
90
91
|
"refreshAllQueries": "Obnoviť všetky dopyty",
|
|
@@ -105,6 +106,9 @@
|
|
|
105
106
|
"reloadPageHint": "Obnovte túto stránku vo svojom prehliadači, aby sa zmeny prejavili.",
|
|
106
107
|
"color": "Farba",
|
|
107
108
|
"versionUpdate": "Je dostupná nová verzia. Obnovte stránku pre použitie všetkých nových funkcií.",
|
|
109
|
+
"eggcontrols": {
|
|
110
|
+
"asteroids": "Použite šípky na navigáciu a medzerník na streľbu. Stlačením klávesu Escape ukončíte hru. Bavte sa!"
|
|
111
|
+
},
|
|
108
112
|
"languages": {
|
|
109
113
|
"tl-TL": "Klingončina",
|
|
110
114
|
"de-DE": "Nemčina (Nemecko)",
|
|
@@ -85,6 +85,7 @@
|
|
|
85
85
|
"return_to_home": "vav paqDaq yIja’",
|
|
86
86
|
"noConnectionToServer": "tlhej QunDaq ‘ej tobogh log tapbe’"
|
|
87
87
|
},
|
|
88
|
+
"new": "qchu'",
|
|
88
89
|
"lastSocketUpdateReceivedAt": "Qun QaptaH neghtaH rep",
|
|
89
90
|
"logout": "Qel",
|
|
90
91
|
"refreshAllQueries": "bochmey Qap yItlhutlh",
|
|
@@ -104,6 +105,9 @@
|
|
|
104
105
|
"batch$CountSynced": "{count} ghItlhmey serverDaq QaptaH law’",
|
|
105
106
|
"reloadPageHint": "paqvam loDnI'pu' Daq laD chel — ngeD choH!",
|
|
106
107
|
"color": "ngem",
|
|
107
|
-
"versionUpdate": "veS wov ’oH. paq reload chel pagh SoH Hoch tlhab!"
|
|
108
|
+
"versionUpdate": "veS wov ’oH. paq reload chel pagh SoH Hoch tlhab!",
|
|
109
|
+
"eggcontrols": {
|
|
110
|
+
"asteroids": "navigatmeH 'arrow keys' yIlo' 'ej bachmeH 'spacebar' yIlo'. QujmeH 'Escape' yIlo'. yIchegh 'ej yIbel!"
|
|
111
|
+
}
|
|
108
112
|
}
|
|
109
113
|
}
|
|
@@ -16,7 +16,10 @@ export type PluginMethod = (payload?: CustomStoreActionsPayload) => {
|
|
|
16
16
|
response: Ref<unknown>
|
|
17
17
|
error: Ref<unknown>
|
|
18
18
|
data: ComputedRef<unknown>
|
|
19
|
-
|
|
19
|
+
dataArr: Array<ComputedRef<unknown>>
|
|
20
|
+
execute: (
|
|
21
|
+
params?: Record<string, any>,
|
|
22
|
+
) => Promise<{ response: any; result: any }>
|
|
20
23
|
// query and uuids only provided from queryObservableHelper
|
|
21
24
|
query?: ComputedRef<Query>
|
|
22
25
|
uuids?: Array<string>
|