Skip to content

Instantly share code, notes, and snippets.

@mortezanazari-hub
Created January 23, 2025 13:12
/// {@template outline_text_button}
/// یک ویجت دکمه متنی outline سفارشی که با پلتفرم سازگار است.
/// A custom outline text button widget that adapts to the platform.
/// {@endtemplate}
class OutlineTextButton extends AppTextButton {
/// {@macro outline_text_button}
const OutlineTextButton({
super.key,
required super.label,
super.onTap,
super.leading,
super.trailing,
super.appButtonSize,
});
/// رنگ پس‌زمینه.
/// The background color.
@override
Color backgroundColor(BuildContext context) {
return context.buttonTheme.outlinedDefault;
}
/// رنگ غیرفعال.
/// The disabled color.
@override
Color disabledColor(BuildContext context) {
return context.buttonTheme.outlinedDisabled;
}
/// رنگ فوکوس.
/// The focus color.
@override
Color focusColor(BuildContext context) {
return context.buttonTheme.outlinedFocused;
}
/// رنگ هاور.
/// The hover color.
@override
Color hoverColor(BuildContext context) {
return context.buttonTheme.outlinedHover;
}
/// رنگ متن.
/// The text color.
@override
Color textColor(BuildContext context) {
return context.buttonTheme.buttonLineDefault;
}
/// حاشیه پیش‌فرض.
/// The default border.
@override
BorderSide defaultBorder(BuildContext context) {
return BorderSide(
color: context.buttonTheme.buttonLineDefault,
);
}
/// حاشیه فوکوس.
/// The focused border.
@override
BorderSide focusedBorder(BuildContext context) {
return BorderSide(
color: context.buttonTheme.buttonLineDefault,
);
}
/// حاشیه هاور.
/// The hover border.
@override
BorderSide hoverBorder(BuildContext context) {
return BorderSide(
color: context.buttonTheme.buttonLineDefault,
);
}
/// حاشیه غیرفعال.
/// The disabled border.
@override
BorderSide disabledBorder(BuildContext context) {
return BorderSide(
color: context.buttonTheme.outlinedBorderDisabled,
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment