'use client'; import React from 'react'; import clsx from 'clsx'; type LoadingSpinnerProps = { showBackground?: boolean; showBorder?: boolean; /** kleiner Spinner ohne äußeres Layout – z.B. im Button */ inline?: boolean; /** Größe des Spinners */ size?: 'sm' | 'md' | 'lg'; /** Zusätzliche Klassen (z.B. text-current) */ className?: string; }; const sizeClasses = { sm: 'size-4 border-2', md: 'size-6 border-3', lg: 'size-8 border-4', }; export default function LoadingSpinner({ showBackground = false, showBorder = false, inline = false, size = 'md', className, }: LoadingSpinnerProps) { // INLINE: nur der Kreis – perfekt für Buttons/Labels if (inline) { return ( Lädt... ); } // BLOCK: dein bisheriges Layout const outerClasses = [ 'flex flex-col flex-1 justify-center items-center', showBackground && 'bg-white shadow-2xs dark:bg-neutral-800 dark:shadow-neutral-700/70', showBorder && 'border border-gray-200 dark:border-neutral-700', ] .filter(Boolean) .join(' '); return (
Lädt...
); }