Skip to content

Commit

Permalink
Merge pull request #140 from Securrency-OSS/asim/dialog-theme
Browse files Browse the repository at this point in the history
feat: Added `DialogTheme` in Mirai Theme data
  • Loading branch information
divyanshub024 committed Jun 6, 2023
2 parents ebcc261 + 16ce339 commit d38ade3
Show file tree
Hide file tree
Showing 7 changed files with 572 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import 'package:flutter/material.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:mirai/mirai.dart';
import 'package:mirai/src/utils/color_utils.dart';

part 'mirai_dialog_theme.freezed.dart';
part 'mirai_dialog_theme.g.dart';

@freezed
class MiraiDialogTheme with _$MiraiDialogTheme {
const factory MiraiDialogTheme({
String? backgroundColor,
double? elevation,
String? shadowColor,
String? surfaceTintColor,
MiraiBorder? shape,
MiraiAlignmentGeometry? alignment,
MiraiTextStyle? titleTextStyle,
MiraiTextStyle? contentTextStyle,
MiraiEdgeInsets? actionsPadding,
String? iconColor,
}) = _MiraiDialogTheme;

factory MiraiDialogTheme.fromJson(Map<String, dynamic> json) =>
_$MiraiDialogThemeFromJson(json);
}

extension MiraiDialogThemeParser on MiraiDialogTheme {
DialogTheme? get parse {
return DialogTheme(
backgroundColor: backgroundColor.toColor,
elevation: elevation,
shadowColor: shadowColor.toColor,
surfaceTintColor: surfaceTintColor.toColor,
shape: shape?.parse,
alignment: alignment?.parse,
titleTextStyle: titleTextStyle?.parse,
contentTextStyle: contentTextStyle?.parse,
actionsPadding: actionsPadding.parse,
iconColor: iconColor.toColor,
);
}
}
Loading

0 comments on commit d38ade3

Please sign in to comment.