|
|
@@ -0,0 +1,79 @@
|
|
|
+<script lang="ts" setup>
|
|
|
+</script>
|
|
|
+
|
|
|
+<template>
|
|
|
+ <div class="permission-card">
|
|
|
+ <div class="shield">
|
|
|
+ <div class="shield-body">
|
|
|
+ <div class="lock-icon">
|
|
|
+ <div class="lock-shackle"/>
|
|
|
+ <div class="lock-body"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+.permission-card {
|
|
|
+ position: relative;
|
|
|
+ aspect-ratio: 3 / 1;
|
|
|
+ background: #1d1a0f;
|
|
|
+ border-radius: 8px;
|
|
|
+ overflow: hidden;
|
|
|
+ border: 1px solid rgba(250, 173, 20, 0.25);
|
|
|
+ box-shadow: 0 0 12px rgba(250, 173, 20, 0.08),
|
|
|
+ inset 0 0 20px rgba(0, 0, 0, 0.3);
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+}
|
|
|
+
|
|
|
+.shield {
|
|
|
+ animation: shield-glow 2s ease-in-out infinite;
|
|
|
+}
|
|
|
+
|
|
|
+.shield-body {
|
|
|
+ width: 36px;
|
|
|
+ height: 42px;
|
|
|
+ background: linear-gradient(180deg, #ffc53d, #faad14);
|
|
|
+ clip-path: polygon(50% 0%, 100% 15%, 100% 65%, 50% 100%, 0% 65%, 0% 15%);
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ box-shadow: 0 0 16px rgba(250, 173, 20, 0.4);
|
|
|
+}
|
|
|
+
|
|
|
+.lock-icon {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ gap: 1px;
|
|
|
+}
|
|
|
+
|
|
|
+.lock-shackle {
|
|
|
+ width: 12px;
|
|
|
+ height: 8px;
|
|
|
+ border: 2px solid #1d1a0f;
|
|
|
+ border-bottom: none;
|
|
|
+ border-radius: 6px 6px 0 0;
|
|
|
+}
|
|
|
+
|
|
|
+.lock-body {
|
|
|
+ width: 14px;
|
|
|
+ height: 10px;
|
|
|
+ background: #1d1a0f;
|
|
|
+ border-radius: 2px;
|
|
|
+}
|
|
|
+
|
|
|
+@keyframes shield-glow {
|
|
|
+ 0%, 100% {
|
|
|
+ filter: drop-shadow(0 0 4px rgba(250, 173, 20, 0.3));
|
|
|
+ transform: scale(1);
|
|
|
+ }
|
|
|
+ 50% {
|
|
|
+ filter: drop-shadow(0 0 12px rgba(250, 173, 20, 0.6));
|
|
|
+ transform: scale(1.08);
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|