Rain/lib/app/ui/widgets/weather/desc/desc.dart

60 lines
1.5 KiB
Dart
Raw Normal View History

2023-06-17 20:57:57 +03:00
import 'package:flutter/material.dart';
2024-08-04 11:48:25 +03:00
import 'package:gap/gap.dart';
2023-06-17 20:57:57 +03:00
import 'package:get/get.dart';
2023-07-18 21:57:37 +03:00
class DescWeather extends StatefulWidget {
2023-06-17 20:57:57 +03:00
const DescWeather({
super.key,
required this.imageName,
required this.value,
required this.desc,
this.message = '',
});
final String imageName;
final String value;
final String desc;
final String? message;
2023-07-18 21:57:37 +03:00
@override
State<DescWeather> createState() => _DescWeatherState();
}
class _DescWeatherState extends State<DescWeather> {
bool hide = true;
2023-10-30 23:04:14 +05:30
2023-06-17 20:57:57 +03:00
@override
Widget build(BuildContext context) {
2023-10-30 23:04:14 +05:30
final textTheme = context.textTheme;
2023-07-18 21:57:37 +03:00
return GestureDetector(
onTap: () => setState(() => hide = !hide),
child: Tooltip(
message: widget.message,
child: SizedBox(
2024-01-05 18:55:14 +03:00
height: 90,
2023-07-18 21:57:37 +03:00
width: 100,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
2025-03-15 23:40:48 +03:00
Image.asset(widget.imageName, scale: 20),
2024-08-04 11:48:25 +03:00
const Gap(5),
2023-07-18 21:57:37 +03:00
Text(
widget.value,
2023-10-30 23:04:14 +05:30
style: textTheme.labelLarge,
2025-03-15 23:40:48 +03:00
overflow: TextOverflow.ellipsis,
2023-07-18 21:57:37 +03:00
),
Expanded(
child: Text(
widget.desc,
2023-10-30 23:04:14 +05:30
style: textTheme.bodySmall,
2023-07-18 21:57:37 +03:00
overflow: hide ? TextOverflow.ellipsis : TextOverflow.visible,
textAlign: TextAlign.center,
),
2023-06-17 20:57:57 +03:00
),
2023-07-18 21:57:37 +03:00
],
),
2023-06-17 20:57:57 +03:00
),
),
);
}
}