feat(shared): legacy presentation/ + shared design system + widgets

- lib/presentation : pages legacy (explore/network, notifications) avec BLoC
- lib/shared/design_system : UnionFlow Design System v2 (tokens, components)
  + MD3 tokens + module_colors par feature
- lib/shared/widgets : widgets transversaux (core_card, core_shimmer,
  error_widget, loading_widget, powered_by_lions_dev, etc.)
- lib/shared/constants + utils
This commit is contained in:
dahoud
2026-04-15 20:27:23 +00:00
parent 744faa3a9c
commit 7cd7c6fc9e
36 changed files with 1890 additions and 837 deletions

View File

@@ -50,7 +50,7 @@ class UFDropdownTile<T> extends StatelessWidget {
Widget build(BuildContext context) {
final isDark = Theme.of(context).brightness == Brightness.dark;
final effectiveBgColor = backgroundColor ??
(isDark ? AppColors.darkSurface : AppColors.lightSurface);
(isDark ? AppColors.surfaceDark : AppColors.surface);
final effectiveItemBuilder = itemBuilder ?? (item) => item.toString();
return Container(
@@ -67,16 +67,16 @@ class UFDropdownTile<T> extends StatelessWidget {
title,
style: AppTypography.bodyTextSmall.copyWith(
fontWeight: FontWeight.w600,
color: isDark ? AppColors.textPrimaryDark : AppColors.textPrimaryLight,
color: isDark ? AppColors.textPrimaryDark : AppColors.textPrimary,
),
),
),
Container(
padding: const EdgeInsets.symmetric(horizontal: SpacingTokens.lg),
decoration: BoxDecoration(
color: isDark ? AppColors.darkBackground : Colors.white,
color: isDark ? AppColors.backgroundDark : Colors.white,
borderRadius: BorderRadius.circular(SpacingTokens.radiusMd),
border: Border.all(color: isDark ? AppColors.darkBorder : AppColors.lightBorder),
border: Border.all(color: isDark ? AppColors.borderDark : AppColors.border),
),
child: DropdownButtonHideUnderline(
child: DropdownButton<T>(

View File

@@ -46,7 +46,7 @@ class UFSwitchTile extends StatelessWidget {
Widget build(BuildContext context) {
final isDark = Theme.of(context).brightness == Brightness.dark;
final effectiveBgColor = backgroundColor ??
(isDark ? AppColors.darkSurface : AppColors.lightSurface);
(isDark ? AppColors.surfaceDark : AppColors.surface);
return Container(
margin: const EdgeInsets.only(bottom: SpacingTokens.lg),
@@ -65,13 +65,13 @@ class UFSwitchTile extends StatelessWidget {
title,
style: AppTypography.bodyTextSmall.copyWith(
fontWeight: FontWeight.w600,
color: isDark ? AppColors.textPrimaryDark : AppColors.textPrimaryLight,
color: isDark ? AppColors.textPrimaryDark : AppColors.textPrimary,
),
),
Text(
subtitle,
style: AppTypography.subtitleSmall.copyWith(
color: isDark ? AppColors.textSecondaryDark : AppColors.textSecondaryLight,
color: isDark ? AppColors.textSecondaryDark : AppColors.textSecondary,
),
),
],
@@ -80,7 +80,7 @@ class UFSwitchTile extends StatelessWidget {
Switch(
value: value,
onChanged: onChanged,
activeColor: AppColors.primaryGreen,
activeColor: AppColors.primary,
),
],
),