Add linux deb dependencies Add backup recovery strategy select Support custom text scaling Optimize the display of different text scale Optimize windows setup experience Optimize startTun performance Optimize android tv experience Optimize default option Optimize computed text size Optimize hyperOS freeform window Add developer mode Update core Optimize more details
34 lines
825 B
Dart
34 lines
825 B
Dart
import 'package:fl_clash/models/config.dart';
|
|
import 'package:fl_clash/providers/config.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
|
|
class TextScaleNotification extends StatelessWidget {
|
|
final Widget child;
|
|
final Function(TextScale textScale) onNotification;
|
|
|
|
const TextScaleNotification({
|
|
super.key,
|
|
required this.child,
|
|
required this.onNotification,
|
|
});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Consumer(
|
|
builder: (_, ref, child) {
|
|
ref.listen(
|
|
themeSettingProvider.select((state) => state.textScale),
|
|
(prev, next) {
|
|
if (prev != next) {
|
|
onNotification(next);
|
|
}
|
|
},
|
|
);
|
|
return child!;
|
|
},
|
|
child: child,
|
|
);
|
|
}
|
|
}
|