fix: center empty_page_placeholder title alignment

This commit is contained in:
Aliaksei Tratseuski 2024-05-15 20:20:59 +04:00
parent a7ed0d20b2
commit c70edb957d

View file

@ -1,4 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:gap/gap.dart';
import 'package:selfprivacy/ui/components/not_ready_card/not_ready_card.dart'; import 'package:selfprivacy/ui/components/not_ready_card/not_ready_card.dart';
class EmptyPagePlaceholder extends StatelessWidget { class EmptyPagePlaceholder extends StatelessWidget {
@ -10,50 +11,72 @@ class EmptyPagePlaceholder extends StatelessWidget {
super.key, super.key,
}); });
final bool showReadyCard;
final IconData iconData;
final String title; final String title;
final String description; final String description;
final IconData iconData;
final bool showReadyCard;
@override @override
Widget build(final BuildContext context) => !showReadyCard Widget build(final BuildContext context) => showReadyCard
? _expandedContent(context) ? Column(
: Column(
crossAxisAlignment: CrossAxisAlignment.stretch, crossAxisAlignment: CrossAxisAlignment.stretch,
children: [ children: [
const Padding( if (showReadyCard)
padding: EdgeInsets.symmetric(horizontal: 15), const Padding(
child: NotReadyCard(), padding: EdgeInsets.symmetric(
), vertical: 15,
Expanded( horizontal: 15,
child: Container(
padding: const EdgeInsets.symmetric(horizontal: 15),
child: Center(
child: _expandedContent(context),
), ),
child: NotReadyCard(),
),
Expanded(
child: _ContentWidget(
iconData: iconData,
title: title,
description: description,
), ),
), ),
], ],
)
: _ContentWidget(
iconData: iconData,
title: title,
description: description,
); );
}
Widget _expandedContent(final BuildContext context) => Padding( class _ContentWidget extends StatelessWidget {
const _ContentWidget({
required this.iconData,
required this.title,
required this.description,
});
final IconData iconData;
final String title;
final String description;
@override
Widget build(final BuildContext context) => Container(
padding: const EdgeInsets.symmetric(horizontal: 20), padding: const EdgeInsets.symmetric(horizontal: 20),
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
Icon( Icon(
iconData, iconData,
size: 50, size: 50,
color: Theme.of(context).colorScheme.onBackground, color: Theme.of(context).colorScheme.onBackground,
), ),
const SizedBox(height: 16), const Gap(16),
Text( Text(
title, title,
style: Theme.of(context).textTheme.headlineMedium?.copyWith( style: Theme.of(context).textTheme.headlineMedium?.copyWith(
color: Theme.of(context).colorScheme.onBackground, color: Theme.of(context).colorScheme.onBackground,
), ),
textAlign: TextAlign.center,
), ),
const SizedBox(height: 8), const Gap(8),
Text( Text(
description, description,
textAlign: TextAlign.center, textAlign: TextAlign.center,