Files
umbrix/lib/features/home/widget/empty_profiles_home_body.dart
Umbrix Developer 76a374950f feat: mobile-like window size and always-visible stats
- Changed window size to mobile phone format (400x800)
- Removed width condition for ActiveProxyFooter - now always visible
- Added run-umbrix.sh launch script with icon copying
- Stats cards now display on all screen sizes
2026-01-17 13:09:20 +03:00

56 lines
1.6 KiB
Dart

import 'package:fluentui_system_icons/fluentui_system_icons.dart';
import 'package:flutter/material.dart';
import 'package:gap/gap.dart';
import 'package:umbrix/core/localization/translations.dart';
import 'package:umbrix/core/router/router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
class EmptyProfilesHomeBody extends HookConsumerWidget {
const EmptyProfilesHomeBody({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final t = ref.watch(translationsProvider);
return SliverFillRemaining(
hasScrollBody: false,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(t.home.emptyProfilesMsg),
const Gap(16),
OutlinedButton.icon(
onPressed: () => const AddProfileRoute().push(context),
icon: const Icon(FluentIcons.add_24_regular),
label: Text(t.profile.add.buttonText),
),
],
),
);
}
}
class EmptyActiveProfileHomeBody extends HookConsumerWidget {
const EmptyActiveProfileHomeBody({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final t = ref.watch(translationsProvider);
return SliverFillRemaining(
hasScrollBody: false,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(t.home.noActiveProfileMsg),
const Gap(16),
OutlinedButton(
onPressed: () => const ProfilesOverviewRoute().push(context),
child: Text(t.profile.overviewPageTitle),
),
],
),
);
}
}