Refine admin workflows and team access

This commit is contained in:
AzuTear
2026-06-26 18:09:29 +02:00
parent b7804e10ea
commit 8b69dfbafb
71 changed files with 5066 additions and 751 deletions
@@ -2,6 +2,7 @@
import { CheckCircle2, Trash2 } from '@lucide/vue'
import Button from '../ui/Button.vue'
import NativeSelect from '../ui/NativeSelect.vue'
import type { AdminCandidateItem, AdminNominationReviewItem } from '../../types/awards'
defineProps<{
@@ -27,7 +28,7 @@ defineProps<{
}>()
const emit = defineEmits<{
'platform-change': [event: Event]
'platform-change': [value: string]
approve: [nominationId: number]
reject: [nominationId: number]
}>()
@@ -98,16 +99,14 @@ const emit = defineEmits<{
</label>
<label class="space-y-2">
<span class="text-xs font-semibold uppercase tracking-[0.18em] text-slate-500">Plattform</span>
<select
:value="selectedPlatformValue(reviewForm.platform)"
class="h-12 w-full rounded-2xl border border-violet-200 bg-white px-4 text-sm outline-none transition focus:border-violet-400 focus:ring-4 focus:ring-violet-100"
@change="emit('platform-change', $event)"
>
<option v-for="option in candidatePlatformOptions" :key="option.key" :value="option.key">
{{ option.label }}
</option>
<option value="custom">Eigene Plattform</option>
</select>
<NativeSelect
:model-value="selectedPlatformValue(reviewForm.platform)"
:options="[
...candidatePlatformOptions.map((option) => ({ label: option.label, value: option.key })),
{ label: 'Eigene Plattform', value: 'custom' },
]"
@update:model-value="emit('platform-change', String($event))"
/>
</label>
</div>
<label v-if="selectedPlatformValue(reviewForm.platform) === 'custom'" class="mt-3 block space-y-2">