@fy-/fws-vue 0.0.944 → 0.0.946
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/composables/rest.ts +5 -5
- package/composables/ssr.ts +3 -1
- package/package.json +1 -1
- package/stores/rest.ts +5 -2
- package/style.css +18 -2
package/composables/rest.ts
CHANGED
|
@@ -43,7 +43,7 @@ export function useRest(): <ResultType extends APIResult>(
|
|
|
43
43
|
if (isServerRendered()) {
|
|
44
44
|
const hasResult = restStore.getResult(requestHash);
|
|
45
45
|
if (hasResult !== undefined) {
|
|
46
|
-
const result =
|
|
46
|
+
const result = hasResult as ResultType;
|
|
47
47
|
restStore.removeResult(requestHash);
|
|
48
48
|
if (result.result === "error") {
|
|
49
49
|
eventBus.emit("rest-error", result);
|
|
@@ -56,10 +56,10 @@ export function useRest(): <ResultType extends APIResult>(
|
|
|
56
56
|
try {
|
|
57
57
|
const restResult: ResultType = await rest(url, method, params);
|
|
58
58
|
if (getMode() === "ssr") {
|
|
59
|
-
restStore.addResult(
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
restStore.addResult(
|
|
60
|
+
requestHash,
|
|
61
|
+
JSON.parse(JSON.stringify(restResult)),
|
|
62
|
+
);
|
|
63
63
|
}
|
|
64
64
|
return Promise.resolve(restResult);
|
|
65
65
|
} catch (error) {
|
package/composables/ssr.ts
CHANGED
|
@@ -21,7 +21,9 @@ export interface SSRResult {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
export function isServerRendered() {
|
|
24
|
-
|
|
24
|
+
const state = getInitialState();
|
|
25
|
+
if (state && state.isSSR) return true;
|
|
26
|
+
return false;
|
|
25
27
|
}
|
|
26
28
|
|
|
27
29
|
export function initVueClient(router: Router, pinia: Pinia) {
|
package/package.json
CHANGED
package/stores/rest.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { defineStore } from "pinia";
|
|
|
2
2
|
import { APIResult } from "../composables/rest";
|
|
3
3
|
|
|
4
4
|
type SharedState = {
|
|
5
|
-
results: Record<number,
|
|
5
|
+
results: Record<number, any | undefined>;
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
export const useRestStore = defineStore({
|
|
@@ -11,9 +11,12 @@ export const useRestStore = defineStore({
|
|
|
11
11
|
results: {},
|
|
12
12
|
}),
|
|
13
13
|
actions: {
|
|
14
|
-
addResult(id: number, result:
|
|
14
|
+
addResult(id: number, result: any) {
|
|
15
15
|
this.results[id] = result;
|
|
16
16
|
},
|
|
17
|
+
hasResult(id: number) {
|
|
18
|
+
return this.results[id] !== undefined;
|
|
19
|
+
},
|
|
17
20
|
getResult(id: number) {
|
|
18
21
|
return this.results[id];
|
|
19
22
|
},
|
package/style.css
CHANGED
|
@@ -10,25 +10,41 @@
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
.btn {
|
|
13
|
-
@apply inline-flex gap-1 text-white focus:ring-
|
|
13
|
+
@apply inline-flex gap-1 border-none text-white focus:ring-1 font-medium rounded-lg focus:outline-none transition-colors ease-in-out motion-reduce:transition-none;
|
|
14
14
|
&.primary {
|
|
15
15
|
@apply bg-fv-primary-700 hover:bg-fv-primary-800 focus:ring-fv-primary-300 dark:bg-fv-primary-600 dark:hover:bg-fv-primary-700 dark:focus:ring-fv-primary-800;
|
|
16
|
+
&.outline {
|
|
17
|
+
@apply bg-transparent !border border-fv-primary-800 text-fv-primary-700 dark:border-fv-primary-800 dark:text-fv-primary-800 hover:bg-fv-primary-800 hover:text-white dark:hover:bg-fv-primary-800 dark:hover:text-white;
|
|
18
|
+
}
|
|
16
19
|
}
|
|
17
20
|
&.accent {
|
|
18
21
|
@apply bg-fv-accent-700 hover:bg-fv-accent-800 focus:ring-fv-accent-300 dark:bg-fv-accent-600 dark:hover:bg-fv-accent-700 dark:focus:ring-fv-accent-800;
|
|
22
|
+
&.outline {
|
|
23
|
+
@apply bg-transparent border border-fv-accent-800 text-fv-accent-700 dark:border-fv-accent-800 dark:text-fv-accent-800 hover:bg-fv-accent-800 hover:text-white dark:hover:bg-fv-accent-800 dark:hover:text-white;
|
|
24
|
+
}
|
|
19
25
|
}
|
|
20
26
|
&.success,
|
|
21
27
|
&.valid {
|
|
22
28
|
@apply bg-green-700 hover:bg-green-800 focus:ring-green-300 dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-green-800;
|
|
29
|
+
&.outline {
|
|
30
|
+
@apply bg-transparent border border-green-800 text-green-700 dark:border-green-800 dark:text-green-800 hover:bg-green-800 hover:text-white dark:hover:bg-green-800 dark:hover:text-white;
|
|
31
|
+
}
|
|
23
32
|
}
|
|
24
33
|
&.error,
|
|
25
34
|
&.danger {
|
|
26
35
|
@apply bg-red-700 hover:bg-red-800 focus:ring-red-300 dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-800;
|
|
36
|
+
&.outline {
|
|
37
|
+
@apply bg-transparent border border-red-800 text-red-700 dark:border-red-800 dark:text-red-800 hover:bg-red-800 hover:text-white dark:hover:bg-red-800 dark:hover:text-white;
|
|
38
|
+
}
|
|
27
39
|
}
|
|
28
40
|
&.neutral {
|
|
29
41
|
@apply bg-fv-neutral-700 hover:bg-fv-neutral-800 focus:ring-fv-neutral-300 dark:bg-fv-neutral-600 dark:hover:bg-fv-neutral-700 dark:focus:ring-fv-neutral-800;
|
|
42
|
+
&.outline {
|
|
43
|
+
@apply bg-transparent border border-fv-neutral-800 text-fv-neutral-700 dark:border-fv-neutral-800 dark:text-fv-neutral-800 hover:bg-fv-neutral-800 hover:text-white dark:hover:bg-fv-neutral-800 dark:hover:text-white;
|
|
44
|
+
}
|
|
30
45
|
}
|
|
31
46
|
|
|
47
|
+
|
|
32
48
|
&.defaults {
|
|
33
49
|
@apply px-2 py-1;
|
|
34
50
|
}
|
|
@@ -41,4 +57,4 @@
|
|
|
41
57
|
&.small {
|
|
42
58
|
@apply px-2 py-1 text-xs;
|
|
43
59
|
}
|
|
44
|
-
}
|
|
60
|
+
}
|