123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- import 'package:flutter/material.dart';
- import 'package:photos/ente_theme_data.dart';
- class CaptionedTextWidget extends StatelessWidget {
- final String title;
- final String? subTitle;
- final TextStyle? textStyle;
- final bool makeTextBold;
- final Color? textColor;
- final Color? subTitleColor;
- const CaptionedTextWidget({
- required this.title,
- this.subTitle,
- this.textStyle,
- this.makeTextBold = false,
- this.textColor,
- this.subTitleColor,
- Key? key,
- }) : super(key: key);
- @override
- Widget build(BuildContext context) {
- final enteColorScheme = Theme.of(context).colorScheme.enteTheme.colorScheme;
- final enteTextTheme = Theme.of(context).colorScheme.enteTheme.textTheme;
- final List<Widget> children = [
- Flexible(
- child: Text(
- title,
- style: textStyle ??
- (makeTextBold
- ? enteTextTheme.bodyBold.copyWith(color: textColor)
- : enteTextTheme.body.copyWith(color: textColor)),
- ),
- ),
- ];
- if (subTitle != null) {
- children.add(const SizedBox(width: 4));
- children.add(
- Text(
- '\u2022',
- style: enteTextTheme.small.copyWith(
- color: subTitleColor ?? enteColorScheme.textMuted,
- ),
- ),
- );
- children.add(const SizedBox(width: 4));
- children.add(
- Text(
- subTitle!,
- style: enteTextTheme.small.copyWith(
- color: subTitleColor ?? enteColorScheme.textMuted,
- ),
- ),
- );
- }
- return Flexible(
- child: Padding(
- padding: const EdgeInsets.symmetric(vertical: 14, horizontal: 2),
- child: Row(
- children: children,
- ),
- ),
- );
- }
- }
|