Shared Spinner component for button loading states

Adds a reusable shadcn-style Spinner (lucide loader-circle icon,
localized aria-label) and wires it into every button that has a
pending state: comment submit, delete, tag save, profile save,
admin saves, upload, login and register.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
2026-10-04 03:05:48 +02:00
co-authored by Devin
parent fab086d17e
commit d95ccf9dc7
9 changed files with 40 additions and 0 deletions
+2
View File
@@ -3,6 +3,7 @@ import { Button } from '@/components/ui/button'
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'
import { Input } from '@/components/ui/input'
import { Label } from '@/components/ui/label'
import { Spinner } from '@/components/ui/spinner'
const { login } = useAuth()
const { t } = useI18n()
@@ -50,6 +51,7 @@ async function onSubmit() {
{{ errorMessage }}
</p>
<Button type="submit" class="w-full" :disabled="loading">
<Spinner v-if="loading" />
{{ $t('auth.login') }}
</Button>
<p class="text-center text-sm text-muted-foreground">