|
1 | 1 | <template> |
2 | 2 | <v-snackbar |
3 | 3 | v-model="snackbar" |
4 | | - :timeout="4000" |
5 | | - color="#bd4147" |
| 4 | + :timeout="2000" |
6 | 5 | location="top" |
| 6 | + :color="color" |
7 | 7 | transition="slide-x-transition" |
8 | 8 | > |
9 | 9 | {{ message }} |
10 | 10 | </v-snackbar> |
11 | 11 | </template> |
12 | 12 |
|
13 | | -<script lang="ts"> |
14 | | -import { computed, defineComponent } from "vue"; |
| 13 | +<script setup lang="ts"> |
| 14 | +import { computed } from "vue"; |
15 | 15 | import { useStore } from "@/store"; |
16 | 16 |
|
17 | | -export default defineComponent({ |
18 | | - props: { |
19 | | - typeMessage: { |
20 | | - type: String, |
21 | | - required: true, |
22 | | - }, |
23 | | -
|
24 | | - mainContent: { |
25 | | - type: String, |
26 | | - default: "", |
27 | | - required: false, |
28 | | - }, |
| 17 | +const { mainContent } = defineProps({ |
| 18 | + mainContent: { |
| 19 | + type: String, |
| 20 | + default: "", |
| 21 | + required: true, |
29 | 22 | }, |
30 | | - setup(props) { |
31 | | - const store = useStore(); |
| 23 | +}); |
32 | 24 |
|
33 | | - const snackbar = computed({ |
34 | | - get() { |
35 | | - return store.getters["snackbar/snackbarError"]; |
36 | | - }, |
37 | | - set() { |
38 | | - store.dispatch("snackbar/unsetShowStatusSnackbarError"); |
39 | | - }, |
40 | | - }); |
| 25 | +const store = useStore(); |
41 | 26 |
|
42 | | - const message = computed(() => { |
43 | | - switch (props.typeMessage) { |
44 | | - case "loading": |
45 | | - return `Loading the ${props.mainContent} has failed, please try again.`; |
46 | | - case "action": |
47 | | - return `The ${props.mainContent} request has failed, please try again.`; |
48 | | - case "licenseRequired": |
49 | | - return `The ${props.mainContent} request has failed, license required.`; |
50 | | - default: |
51 | | - return "The request has failed, please try again."; |
52 | | - } |
53 | | - }); |
| 27 | +const color = computed(() => store.getters["layout/getStatusDarkMode"] === "dark" ? "#F9F3EE" : "#1E1E1E"); |
54 | 28 |
|
55 | | - return { |
56 | | - snackbar, |
57 | | - message, |
58 | | - }; |
| 29 | +const snackbar = computed({ |
| 30 | + get() { |
| 31 | + return store.getters["snackbar/snackbarCopy"]; |
| 32 | + }, |
| 33 | + set() { |
| 34 | + store.dispatch("snackbar/unsetShowStatusSnackbarCopy"); |
59 | 35 | }, |
60 | 36 | }); |
| 37 | +
|
| 38 | +const message = computed(() => `${mainContent} copied to clipboard.`); |
61 | 39 | </script> |
0 commit comments