2
2
import { generateLoremIpsum } from ' ./lorem-ipsum-generator.service' ;
3
3
import { useCopy } from ' @/composable/copy' ;
4
4
import { randIntFromInterval } from ' @/utils/random' ;
5
+ import { computedRefreshable } from ' @/composable/computedRefreshable' ;
5
6
6
7
const paragraphs = ref (1 );
7
8
const sentences = ref ([3 , 8 ]);
8
9
const words = ref ([8 , 15 ]);
9
10
const startWithLoremIpsum = ref (true );
10
11
const asHTML = ref (false );
11
12
12
- const loremIpsumText = computed (() =>
13
+ const [ loremIpsumText, refreshLoremIpsum] = computedRefreshable (() =>
13
14
generateLoremIpsum ({
14
15
paragraphCount: paragraphs .value ,
15
16
asHTML: asHTML .value ,
@@ -18,6 +19,7 @@ const loremIpsumText = computed(() =>
18
19
startWithLoremIpsum: startWithLoremIpsum .value ,
19
20
}),
20
21
);
22
+
21
23
const { copy } = useCopy ({ source: loremIpsumText , text: ' Lorem ipsum copied to the clipboard' });
22
24
</script >
23
25
@@ -41,10 +43,13 @@ const { copy } = useCopy({ source: loremIpsumText, text: 'Lorem ipsum copied to
41
43
42
44
<c-input-text :value =" loremIpsumText" multiline placeholder =" Your lorem ipsum..." readonly mt-5 rows =" 5" />
43
45
44
- <div mt-5 flex justify-center >
46
+ <div mt-5 flex justify-center gap-3 >
45
47
<c-button autofocus @click =" copy()" >
46
48
Copy
47
49
</c-button >
50
+ <c-button @click =" refreshLoremIpsum" >
51
+ Refresh
52
+ </c-button >
48
53
</div >
49
54
</c-card >
50
55
</template >
0 commit comments