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 与文档站截图同步
41 lines
859 B
Vue
41 lines
859 B
Vue
<script setup lang="ts">
|
|
defineProps<{
|
|
hasChanges: boolean
|
|
saving: boolean
|
|
}>()
|
|
|
|
const emit = defineEmits<{
|
|
save: []
|
|
restore: []
|
|
}>()
|
|
|
|
const { t } = useI18n()
|
|
</script>
|
|
|
|
<template>
|
|
<div class="border-t border-default bg-default px-4 py-4 sm:px-6">
|
|
<div class="flex flex-wrap items-center justify-end gap-3">
|
|
<p
|
|
v-if="hasChanges"
|
|
class="mr-auto text-xs text-warning"
|
|
>
|
|
{{ t('settings.unsavedChanges') }}
|
|
</p>
|
|
<UButton
|
|
:label="t('settings.restoreDefaults')"
|
|
color="neutral"
|
|
variant="outline"
|
|
@click="emit('restore')"
|
|
/>
|
|
<UButton
|
|
:label="t('settings.saveSettings')"
|
|
icon="i-lucide-save"
|
|
color="primary"
|
|
:loading="saving"
|
|
:disabled="!hasChanges"
|
|
@click="emit('save')"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</template>
|