2023-07-06 17:18:41 +03:30
|
|
|
import 'package:flutter/material.dart';
|
2024-03-08 00:20:48 +01:00
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
}
|