import 'package:flutter/material.dart'; class LoginHeader extends StatelessWidget { const LoginHeader({super.key}); @override Widget build(BuildContext context) => Column( children: [ const SizedBox(height: 40), Image.asset( 'assets/logo/icon.png', height: 110, fit: BoxFit.contain, gaplessPlayback: true, ), const SizedBox(height: 20), const Text( 'Marianum Fulda', textAlign: TextAlign.center, style: TextStyle( color: Colors.white, fontSize: 26, fontWeight: FontWeight.w600, letterSpacing: 0.3, ), ), const SizedBox(height: 6), Text( 'Stundenplan, Talk & Dateien an einem Ort.', textAlign: TextAlign.center, style: TextStyle( color: Colors.white.withValues(alpha: 0.85), fontSize: 14, height: 1.3, ), ), ], ); } class LoginDisclaimer extends StatelessWidget { const LoginDisclaimer({super.key}); @override Widget build(BuildContext context) => Padding( padding: const EdgeInsets.symmetric(horizontal: 8), child: Text( 'Inoffizieller Nextcloud & Webuntis Client. Wird nicht vom Marianum betrieben. Keine Gewähr für Vollständigkeit, Richtigkeit und Aktualität.', textAlign: TextAlign.center, style: TextStyle( color: Colors.white.withValues(alpha: 0.75), fontSize: 11, height: 1.4, ), ), ); } class LoginFooter extends StatelessWidget { const LoginFooter({super.key}); @override Widget build(BuildContext context) => Padding( padding: const EdgeInsets.only(top: 16, bottom: 8), child: Text( 'Marianum Fulda. Die persönliche Schule.', textAlign: TextAlign.center, style: TextStyle( color: Colors.white.withValues(alpha: 0.7), fontSize: 12, fontStyle: FontStyle.italic, ), ), ); }