ci / ci (22, ubuntu-latest) (push) Canceled after 0s
GitHub Release / release (push) Canceled after 0s
Publish Docker image / build (linux/amd64, ubuntu-latest, amd64) (push) Canceled after 0s
Publish Docker image / build (linux/arm64, ubuntu-24.04-arm, arm64) (push) Canceled after 0s
Publish Docker image / merge (push) Canceled after 0s
- 每用户标签与彩色打标,图库 OR/AND 筛选与批量打标 - 操作日志记录登录、删除、设置与标签操作 - API 标签/打标接口;README 与文档站截图同步
42 lines
990 B
Vue
42 lines
990 B
Vue
<script setup lang="ts">
|
|
export type SettingsRadioOption = {
|
|
value: string
|
|
label: string
|
|
description?: string
|
|
}
|
|
|
|
defineProps<{
|
|
items: SettingsRadioOption[]
|
|
}>()
|
|
|
|
const model = defineModel<string>({ required: true })
|
|
|
|
const radioUi = {
|
|
fieldset: 'flex flex-col divide-y divide-default',
|
|
item: 'flex items-start gap-4 py-4',
|
|
wrapper: 'min-w-0 flex-1 pr-2',
|
|
base: 'mt-0.5 shrink-0',
|
|
label: 'block text-sm font-medium text-highlighted',
|
|
description: 'mt-1 block text-xs leading-relaxed text-muted'
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<URadioGroup
|
|
v-model="model"
|
|
:items="items"
|
|
variant="list"
|
|
:ui="radioUi"
|
|
>
|
|
<template #label="{ item }">
|
|
<span class="text-sm font-medium text-highlighted">{{ item.label }}</span>
|
|
</template>
|
|
<template #description="{ item }">
|
|
<span
|
|
v-if="item.description"
|
|
class="mt-1 block text-xs leading-relaxed text-muted"
|
|
>{{ item.description }}</span>
|
|
</template>
|
|
</URadioGroup>
|
|
</template>
|