import 'dart:async'; import 'package:fikoyt_merkez/apps/mesaici/widgets/aktif_kart/cikis_secici.dart'; import 'package:fikoyt_merkez/apps/mesaici/widgets/aktif_kart/giris_secici.dart'; import 'package:fikoyt_merkez/core/Extensions/fiko_duration_ext.dart'; import 'package:fikoyt_merkez/core/Extensions/fiko_tarih.dart'; import 'package:fikoyt_merkez/core/fikoyt.service.dart'; import 'package:fikoyt_merkez/core/interface/fiko_dialog_ayarlari.dart'; import 'package:fikoyt_merkez/core/widgets/dakika_secici/duration_picker.dart'; import 'package:fikoyt_merkez/core/widgets/fiko_ui/fiko_button/fiko_button.dart'; import 'package:fikoyt_merkez/core/widgets/yazi_kutulari/yazi_kutulari.dart'; import 'package:flutter/material.dart'; import 'package:flutter_animate/flutter_animate.dart'; import 'package:flutter_multi_formatter/flutter_multi_formatter.dart'; import 'package:get/get.dart'; import '../../model/calisma_kayit.dart'; class SaatTablosuMesaiCarpani extends StatelessWidget { SaatTablosuMesaiCarpani({super.key, required this.kayit}); final Rx? kayit; @override Widget build(BuildContext context) { RxBool mesaiCarpaniEditGoster = false.obs; return Column( children: [ const Text( " Fazla Çalışılan Süre İçin Maaş Katsayısını Aşağıdaki Çubuğu Kaydırarak Ayarlayınız. "), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ FikoButton1( text: "⏳ Geçerli Mesai Oranı", textSize: 10, edgePadding: const EdgeInsets.symmetric(horizontal: 10, vertical: 1), textColor: Colors.black, textStrokeColor: Colors.transparent, borderColor: Colors.blue, onPressed: () { mesaiCarpaniEditGoster.value = false; }, ), ], ), Obx( () => Slider( value: kayit?.value.mesaiCarpani ?? 1.0, // label: "", min: 1, max: 5, onChanged: (double value) { kayit?.value.mesaiCarpani = value; mesaiCarpaniEditGoster.value = false; kayit?.refresh(); }, ), ), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Obx( () => FikoButton1( text: "x${kayit?.value.mesaiCarpani?.toStringAsFixed(3) ?? 1.000.toStringAsFixed(3)}", textSize: 12, edgePadding: const EdgeInsets.symmetric(vertical: 2.0), textColor: Colors.green, textStrokeColor: Colors.transparent, onPressed: () { mesaiCarpaniEditGoster.value = !mesaiCarpaniEditGoster.value; }, ), ), ], ), Obx( () => Visibility( visible: mesaiCarpaniEditGoster.value, child: FikoYaziKutusu( baslik: "Mesai Çarpanı", simgeSol: const Text( "➗", style: TextStyle(fontSize: 22), ), klavyeTipi: TextInputType.number, formatlayicilar: [ CurrencyInputFormatter( trailingSymbol: "x", mantissaLength: 3, ) // MaskedInputFormatter( // '00000-0000-M00-B00-N# ', // allowedCharMatcher: RegExp("^[0-9]*\$"), // ), ], degeri: (kayit?.value.mesaiCarpani ?? 1.0) .toCurrencyString(trailingSymbol: 'x', mantissaLength: 3), degisti: (value) { double deger = double.parse(value.replaceAll("x", "").replaceAll(",", "")); if (deger < 1.0) deger = 1.0; if (deger > 5.0) deger = 5.0; kayit?.value.mesaiCarpani = deger; kayit?.refresh(); }, // degeri: "0.00₺", ), ), ), Wrap( alignment: WrapAlignment.center, crossAxisAlignment: WrapCrossAlignment.center, direction: Axis.horizontal, children: [ FikoButton1( text: "✨ x1.000", textSize: 10, edgePadding: const EdgeInsets.symmetric(horizontal: 10, vertical: 1), textColor: Colors.black, textStrokeColor: Colors.transparent, borderColor: Colors.blue, onPressed: () { kayit?.value.mesaiCarpani = 1.000; kayit?.refresh(); }, ), const SizedBox( width: 5, ), FikoButton1( text: "✨ x1.250", textSize: 10, edgePadding: const EdgeInsets.symmetric(horizontal: 10, vertical: 1), textColor: Colors.black, textStrokeColor: Colors.transparent, borderColor: Colors.blue, onPressed: () { kayit?.value.mesaiCarpani = 1.250; kayit?.refresh(); }, ), const SizedBox( width: 5, ), FikoButton1( text: "✨ x1.500", textSize: 10, edgePadding: const EdgeInsets.symmetric(horizontal: 10, vertical: 1), textColor: Colors.black, textStrokeColor: Colors.transparent, borderColor: Colors.blue, onPressed: () { kayit?.value.mesaiCarpani = 1.500; kayit?.refresh(); }, ), const SizedBox( width: 5, ), FikoButton1( text: "✨ x2.000", textSize: 10, edgePadding: const EdgeInsets.symmetric(horizontal: 10, vertical: 1), textColor: Colors.black, textStrokeColor: Colors.transparent, borderColor: Colors.blue, onPressed: () { kayit?.value.mesaiCarpani = 2.000; kayit?.refresh(); }, ), ], ), ], ); } }