Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | 79x 4x 2x 70x 70x | <template>
<div class="danger-zone-wrapper mt-4">
<div class="danger-card">
<button type="button" class="danger-card-header" @click="isOpen = !isOpen">
<span>
<font-awesome-icon icon="fa-solid fa-triangle-exclamation" class="me-2" />
{{ t('common.dangerZone') }}
</span>
<font-awesome-icon
:icon="isOpen ? 'fa-solid fa-chevron-up' : 'fa-solid fa-chevron-down'"
class="ms-2 small"
/>
</button>
<div v-if="isOpen" class="danger-card-body">
<slot />
</div>
</div>
</div>
</template>
<script setup lang="ts">
import { ref } from 'vue'
import { useUILanguage } from '@/composables/useUILanguage'
const { t } = useUILanguage()
const isOpen = ref(false)
</script>
<style scoped>
.danger-zone-wrapper {
--danger-card-bg: var(--bw-surface);
--danger-card-border: #dc3545;
--danger-card-header-bg: #fff0f0;
--danger-card-header-hover-bg: #fde8e8;
--danger-card-header-text: #dc3545;
}
:global([data-bs-theme='dark'] .danger-zone-wrapper) {
--danger-card-bg: #2a1f24;
--danger-card-border: #c94655;
--danger-card-header-bg: #3a252d;
--danger-card-header-hover-bg: #4a2c36;
--danger-card-header-text: #c94655;
}
.danger-card {
border: 1px solid var(--danger-card-border);
border-radius: 0.375rem;
background: var(--danger-card-bg);
}
.danger-card-header {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
background: var(--danger-card-header-bg);
color: var(--danger-card-header-text);
font-weight: 600;
padding: 0.75rem 1rem;
border: none;
border-radius: 0.375rem;
cursor: pointer;
text-align: left;
transition: background 0.15s;
}
.danger-card-header:hover {
background: var(--danger-card-header-hover-bg);
}
.danger-card-header:has(+ .danger-card-body) {
border-bottom: 1px solid color-mix(in srgb, var(--bw-border) 45%, #dc3545 55%);
border-radius: 0.375rem 0.375rem 0 0;
}
.danger-card-body {
padding: 1rem;
background: var(--danger-card-bg);
}
</style>
|