feat(web): lien « Buy me a coffee » (nav, réglages, funding)
- constante BUYMEACOFFEE_URL ; item de nav « Offrez-moi un café » - section support dans les Réglages + i18n EN/FR - champ `funding` dans le package.json publié ; mentions README EN/FR
This commit is contained in:
@@ -178,13 +178,31 @@
|
||||
</dl>
|
||||
<SkeletonRow v-else />
|
||||
</section>
|
||||
|
||||
<!-- Support -->
|
||||
<section class="card flex flex-col gap-3">
|
||||
<h2 class="flex items-center gap-2 text-sm font-semibold text-zinc-100">
|
||||
<Coffee :size="16" /> {{ t('settings.support') }}
|
||||
</h2>
|
||||
<p class="text-xs text-zinc-500">{{ t('settings.supportHint') }}</p>
|
||||
<div>
|
||||
<a
|
||||
:href="BUYMEACOFFEE_URL"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="inline-flex h-9 items-center justify-center gap-1.5 rounded-lg border border-zinc-700 bg-zinc-800 px-3 text-sm font-medium text-zinc-200 transition-colors hover:bg-zinc-700 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500/70 focus-visible:ring-offset-2 focus-visible:ring-offset-zinc-950"
|
||||
>
|
||||
<Coffee :size="16" /> {{ t('settings.supportCta') }}
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { computed, onMounted, ref } from 'vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import { Bell, BellOff, Check, Copy, Download, FolderOpen, KeyRound, Plus, RefreshCw, ScanSearch, Send, Server, Shield, SlidersHorizontal, Trash2, X } from '@lucide/vue';
|
||||
import { Bell, BellOff, Check, Coffee, Copy, Download, FolderOpen, KeyRound, Plus, RefreshCw, ScanSearch, Send, Server, Shield, SlidersHorizontal, Trash2, X } from '@lucide/vue';
|
||||
import type {
|
||||
AuditLogEntry,
|
||||
AuditLogsResponse,
|
||||
@@ -195,6 +213,7 @@ import type {
|
||||
TokensListResponse,
|
||||
} from '@arboretum/shared';
|
||||
import { api, ApiError } from '../lib/api';
|
||||
import { BUYMEACOFFEE_URL } from '../lib/constants';
|
||||
import { useSettingsStore } from '../stores/settings';
|
||||
import { usePushStore } from '../stores/push';
|
||||
import { useToastsStore } from '../stores/toasts';
|
||||
|
||||
Reference in New Issue
Block a user