didvan-app/lib/widgets/didvan/app_bar.dart

51 lines
1.7 KiB
Dart

import 'package:didvan/config/theme_data.dart';
import 'package:didvan/models/view/app_bar_data.dart';
import 'package:didvan/widgets/didvan/text.dart';
import 'package:flutter/material.dart';
class DidvanAppBar extends StatelessWidget {
final AppBarData appBarData;
const DidvanAppBar({Key? key, required this.appBarData}) : super(key: key);
@override
Widget build(BuildContext context) {
final MediaQueryData d = MediaQuery.of(context);
return Padding(
padding: EdgeInsets.only(top: d.padding.top, right: 4, left: 20),
child: Row(
children: [
IconButton(
onPressed: () => Navigator.of(context).pop(),
color: Theme.of(context).colorScheme.title,
icon: const Icon(Icons.arrow_back),
),
const SizedBox(width: 16),
Expanded(
child: Align(
alignment: Alignment.centerRight,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
if (appBarData.title != null)
DidvanText(
appBarData.title!,
style: Theme.of(context).textTheme.headline3,
color: Theme.of(context).colorScheme.title,
),
if (appBarData.subtitle != null)
DidvanText(
appBarData.title!,
style: Theme.of(context).textTheme.overline,
color: Theme.of(context).colorScheme.caption,
),
],
),
),
),
if (appBarData.trailing != null) appBarData.trailing!,
],
),
);
}
}