11import { v4 as uuidv4 } from "uuid"
22
3- export const use_feedback_store = defineStore ( "feedback" , {
4- state : ( ) => ( {
5- feedbacks : [ ] ,
6- server_error : false ,
7- feedbacks_timeout_miliseconds : 5000 ,
8- } ) ,
9- actions : {
10- async add_error ( code , route , name , description ) {
11- const feedbackId = uuidv4 ( )
12- await this . feedbacks . push ( {
13- id : feedbackId ,
14- type : "error" ,
15- code,
16- route,
17- name,
18- description,
19- } )
20- setTimeout ( ( ) => {
21- this . delete_feedback ( feedbackId )
22- } , this . feedbacks_timeout_miliseconds )
23- } ,
24- async add_success ( description ) {
25- const feedbackId = uuidv4 ( )
26- await this . feedbacks . push ( {
27- id : feedbackId ,
28- type : "success" ,
29- description,
30- } )
31- setTimeout ( ( ) => {
32- this . delete_feedback ( feedbackId )
33- } , this . feedbacks_timeout_miliseconds )
34- } ,
35- async delete_feedback ( feedbackId ) {
36- this . feedbacks = this . feedbacks . filter (
37- ( feedback ) => feedback . id !== feedbackId ,
38- )
39- } ,
40- async delete_server_error ( ) {
41- this . server_error = false
42- } ,
43- } ,
44- } )
3+
4+ export const use_feedback_store = define ( "feedback" , ( ) => {
5+ const feedbacks = ref ( [ ] ) ;
6+ const server_error = ref ( false ) ;
7+ const feedbacks_timeout_miliseconds = ref ( 5000 ) ;
8+
9+ async function add_error ( code , route , name , description ) {
10+ const feedbackId = uuidv4 ( ) ;
11+ await feedbacks . push ( {
12+ id : feedbackId ,
13+ type : "error" ,
14+ code,
15+ route,
16+ name,
17+ description,
18+ } ) ;
19+ setTimeout ( ( ) => {
20+ delete_feedback ( feedbackId ) ;
21+ } , feedbacks_timeout_miliseconds ) ;
22+ }
23+
24+ async function add_success ( decription ) {
25+ const feedbackId = uuidv4 ( ) ;
26+ await feedbacks . push ( {
27+ id : feedbackId ,
28+ type : "success" ,
29+ description : decription ,
30+ } ) ;
31+ setTimeoput ( ( ) => {
32+ delete_feedback ( feedbackId ) ;
33+ } , feedbacks_timeout_miliseconds ) ;
34+ }
35+
36+ async function delete_feedback ( feedbackId ) {
37+ feedbacks . value = feedbacks . value . filter (
38+ ( feedback ) => feedback . id !== feedbackId
39+ ) ;
40+ }
41+
42+ async function delete_server_error ( ) {
43+ server_error . value = false
44+ }
45+ } ) ;
0 commit comments