- Replace Vite + React Router with Next.js 15 App Router - Implement i18n with next-intl (URL-based: /de, /en, /sr) - Add SSR/SSG for all pages (48 static pages generated) - Setup Supabase SSR client for auth - Migrate all pages: Home, About, Portfolio, Blog, Contact, Login, Dashboard, Imprint, Privacy, Terms - Add Docker support with standalone output - Replace i18next with next-intl JSON translations - Use next/image for optimized images Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
16 lines
475 B
TypeScript
16 lines
475 B
TypeScript
// Label.tsx
|
|
import React from 'react';
|
|
|
|
interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
|
|
required?: boolean;
|
|
}
|
|
|
|
export const Label: React.FC<LabelProps> = ({ children, required, className = '', ...props }) => {
|
|
return (
|
|
<label className={`block text-sm font-medium text-white/80 mb-2 ${className}`} {...props}>
|
|
{children}
|
|
{required && <span className="text-red-400 ml-1">*</span>}
|
|
</label>
|
|
);
|
|
};
|