Files
umbrix/lib/utils/text_utils.dart

31 lines
713 B
Dart
Raw Normal View History

2023-07-06 17:18:41 +03:30
import 'package:flutter/material.dart';
import 'package:hiddify/gen/fonts.gen.dart';
2023-07-06 17:18:41 +03:30
import 'package:intl/intl.dart' as intl;
extension TextAlignX on BuildContext {
bool get isRtl => Directionality.of(this) == TextDirection.rtl;
TextAlign get textAlign {
if (isRtl) {
return TextAlign.right;
} else {
return TextAlign.left;
}
}
}
extension StringX on String {
TextDirection get textDirection {
return intl.Bidi.detectRtlDirectionality(this)
? TextDirection.rtl
: TextDirection.ltr;
}
}
extension TextEditingControllerX on TextEditingController {
TextDirection? get textDirection {
if (text.isEmpty) return null;
return text.textDirection;
}
}