|
|
|
@ -1,4 +1,5 @@ |
|
|
|
import 'package:flutter/material.dart'; |
|
|
|
import 'package:shia_game_flutter/common_ui/resources/my_colors.dart'; |
|
|
|
import 'package:shia_game_flutter/common_ui/resources/my_text_style.dart'; |
|
|
|
import 'package:shia_game_flutter/core/utils/screen_size.dart'; |
|
|
|
import 'package:shia_game_flutter/core/widgets/container/my_container.dart'; |
|
|
|
@ -8,21 +9,25 @@ import 'package:shia_game_flutter/features/battle_league/first_part/domain/entit |
|
|
|
class TopicWidget extends StatelessWidget { |
|
|
|
const TopicWidget({ |
|
|
|
super.key, |
|
|
|
this.onTap, |
|
|
|
required this.topic, |
|
|
|
this.onPressed, |
|
|
|
this.selected = false, |
|
|
|
}); |
|
|
|
|
|
|
|
final VoidCallback? onTap; |
|
|
|
final void Function(TopicsEntity topic)? onPressed; |
|
|
|
final TopicsEntity topic; |
|
|
|
final bool selected; |
|
|
|
|
|
|
|
@override |
|
|
|
Widget build(BuildContext context) { |
|
|
|
return MyContainer( |
|
|
|
onTap: onTap, |
|
|
|
onTap: () { |
|
|
|
onPressed?.call(topic); |
|
|
|
}, |
|
|
|
height: 48.h, |
|
|
|
width: 148.w, |
|
|
|
borderRadius: const BorderRadius.all(Radius.circular(12)), |
|
|
|
borderGradient: LinearGradient( |
|
|
|
borderGradient: !selected ? null : LinearGradient( |
|
|
|
begin: AlignmentDirectional.centerStart, |
|
|
|
end: AlignmentDirectional.centerEnd, |
|
|
|
colors: [ |
|
|
|
@ -30,7 +35,7 @@ class TopicWidget extends StatelessWidget { |
|
|
|
const Color(0XFFAA76FF).withValues(alpha: 0), |
|
|
|
], |
|
|
|
), |
|
|
|
gradient: const RadialGradient( |
|
|
|
gradient: !selected ? null : const RadialGradient( |
|
|
|
center: Alignment.center, |
|
|
|
radius: 3, |
|
|
|
colors: [ |
|
|
|
@ -38,6 +43,7 @@ class TopicWidget extends StatelessWidget { |
|
|
|
Color(0XFF792BF3), |
|
|
|
], |
|
|
|
), |
|
|
|
color: selected ? null : MyColors.black.withValues(alpha: 0.2), |
|
|
|
boxShadow: [ |
|
|
|
BoxShadow( |
|
|
|
offset: const Offset(0, 3.53), |
|
|
|
|