mirror of
https://github.com/CorentinTh/it-tools.git
synced 2025-04-25 09:16:15 -04:00
fix(encryption): alert on decryption error (#711)
* update(c-alert): Add variant 'error' * fix(encryption): Alert decryption error (#652) * feat(c-alert): added title * refactor(composable): mutualized computedCatch --------- Co-authored-by: code2933 <code2933@outlook.com>
This commit is contained in:
parent
4d5a67d96d
commit
02b0d0d1a1
5 changed files with 58 additions and 6 deletions
|
@ -1,11 +1,19 @@
|
|||
<script lang="ts" setup>
|
||||
const variants = ['warning'] as const;
|
||||
const variants = ['warning', 'error'] as const;
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<h2>Basic</h2>
|
||||
<c-alert v-for="variant in variants" :key="variant" :type="variant" mb-4>
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Magni reprehenderit itaque enim? Suscipit magni optio velit
|
||||
quia, eveniet repellat pariatur quaerat laudantium dignissimos natus, beatae deleniti adipisci, atque necessitatibus
|
||||
odio!
|
||||
</c-alert>
|
||||
|
||||
<h2>With title</h2>
|
||||
<c-alert v-for="variant in variants" :key="variant" :type="variant" title="This is the title" mb-4>
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Magni reprehenderit itaque enim? Suscipit magni optio velit
|
||||
quia, eveniet repellat pariatur quaerat laudantium dignissimos natus, beatae deleniti adipisci, atque necessitatibus
|
||||
odio!
|
||||
</c-alert>
|
||||
</template>
|
||||
|
|
|
@ -3,6 +3,7 @@ import { defineThemes } from '../theme/theme.models';
|
|||
import { appThemes } from '../theme/themes';
|
||||
|
||||
import WarningIcon from '~icons/mdi/alert-circle-outline';
|
||||
import ErrorIcon from '~icons/mdi/close-circle-outline';
|
||||
|
||||
export const { useTheme } = defineThemes({
|
||||
dark: {
|
||||
|
@ -12,6 +13,12 @@ export const { useTheme } = defineThemes({
|
|||
textColor: appThemes.dark.warning.color,
|
||||
icon: WarningIcon,
|
||||
},
|
||||
error: {
|
||||
backgroundColor: appThemes.dark.error.colorFaded,
|
||||
borderColor: appThemes.dark.error.color,
|
||||
textColor: appThemes.dark.error.color,
|
||||
icon: ErrorIcon,
|
||||
},
|
||||
},
|
||||
light: {
|
||||
warning: {
|
||||
|
@ -20,5 +27,11 @@ export const { useTheme } = defineThemes({
|
|||
textColor: darken(appThemes.light.warning.color, 40),
|
||||
icon: WarningIcon,
|
||||
},
|
||||
error: {
|
||||
backgroundColor: appThemes.light.error.colorFaded,
|
||||
borderColor: appThemes.light.error.color,
|
||||
textColor: darken(appThemes.light.error.color, 40),
|
||||
icon: ErrorIcon,
|
||||
},
|
||||
},
|
||||
});
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<script lang="ts" setup>
|
||||
import { useTheme } from './c-alert.theme';
|
||||
|
||||
const props = withDefaults(defineProps<{ type?: 'warning' }>(), { type: 'warning' });
|
||||
const { type } = toRefs(props);
|
||||
const props = withDefaults(defineProps<{ type?: 'warning'; title?: string }>(), { type: 'warning', title: undefined });
|
||||
const { type, title } = toRefs(props);
|
||||
|
||||
const theme = useTheme();
|
||||
const variantTheme = computed(() => theme.value[type.value]);
|
||||
|
@ -17,6 +17,9 @@ const variantTheme = computed(() => theme.value[type.value]);
|
|||
</div>
|
||||
|
||||
<div class="c-alert--content">
|
||||
<div v-if="title" class="c-alert--title" text-15px fw-600>
|
||||
{{ title }}
|
||||
</div>
|
||||
<slot />
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue