import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../providers/language_provider.dart'; import '../config/language/language_enum.dart'; class Txt extends StatelessWidget { const Txt({ super.key, required this.text, this.style, this.textAlign, this.maxLines, this.textScaleFactor, this.overflow, this.dir, }); final String text; final TextStyle? style; final TextAlign? textAlign; final int? maxLines; final double? textScaleFactor; final TextOverflow? overflow; final TextDirection? dir; @override Widget build(BuildContext context) { final languageProvider = Provider.of(context); final langCode = languageProvider.currentLangCode; final effectiveDirection = dir ?? (langCode == Language.ar ? TextDirection.rtl : TextDirection.ltr); final translatedText = languageProvider.translate(text); return Directionality( textDirection: effectiveDirection, child: Text( translatedText, textAlign: textAlign ?? TextAlign.start, maxLines: maxLines, overflow: overflow, textScaler: TextScaler.linear(textScaleFactor ?? 0.9), style: style ?? TextStyle( fontFamily: langCode == Language.ar ? 'Baloo_Bhaijaan_2' : 'Poppins', fontWeight: FontWeight.w400, ), ), ); } }