// AUTO-GENERATED widget — matches web .error/.info/.success import 'package:flutter/material.dart'; import 'package:inou_app/design/inou_theme.dart'; import 'package:inou_app/design/inou_text.dart'; enum MessageType { error, info, success } class InouMessage extends StatelessWidget { final String message; final MessageType type; const InouMessage({ super.key, required this.message, this.type = MessageType.info, }); @override Widget build(BuildContext context) { final style = _getStyle(); return Container( padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 10), decoration: BoxDecoration( color: style.background, border: Border.all(color: style.border), borderRadius: BorderRadius.circular(InouTheme.radiusMd), ), child: Text( message, style: InouText.body.copyWith(color: style.foreground), ), ); } _MessageStyle _getStyle() { switch (type) { case MessageType.error: return _MessageStyle( background: InouTheme.dangerLight, foreground: InouTheme.danger, border: InouTheme.errorBorder, ); case MessageType.info: return _MessageStyle( background: InouTheme.accentLight, foreground: InouTheme.accent, border: InouTheme.infoBorder, ); case MessageType.success: return _MessageStyle( background: InouTheme.successLight, foreground: InouTheme.success, border: InouTheme.successBorder, ); } } } class _MessageStyle { final Color background; final Color foreground; final Color border; _MessageStyle({ required this.background, required this.foreground, required this.border, }); }