import 'package:fikoyt_mesaici/apps/mesaici/model/model_hareketler.dart'; import 'package:fikoyt_mesaici/core/widgets/yazi_kutulari/yazi_kutulari.dart'; import 'package:fikoyt_ui/ui/ui.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:vrouter/vrouter.dart'; class SaatTablosuMesaiCarpani extends StatelessWidget { SaatTablosuMesaiCarpani({super.key, required this.kayit}); final Rx? kayit; @override Widget build(BuildContext context) { bool mesaiCarpaniEditGoster = false; return StatefulBuilder( builder: (context, setState) => Column( children: [ Text( " Fazla Çalışılan Süre İçin Maaş Katsayısını Aşağıdaki Çubuğu Kaydırarak Ayarlayınız. ", style: TextStyle( color: Theme.of(context).extension()?.textColor, ), ), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ FikoButton( text: "⏳ Geçerli Mesai Oranı", tema: FikoButtonTheme( fontSize: 10, edgePadding: const EdgeInsets.symmetric(horizontal: 10, vertical: 1), textColor: Theme.of(context).extension()?.textColor, textStrokeColor: Colors.transparent, borderColor: Colors.blue, ), onPressed: () { kayit?.value?.calismaKarti?.gecerliMesaiOraniAl(); setState( () {}, ); }, ), ], ), Slider( value: kayit?.value?.calismaKarti?.mesaiOrani?.toDouble() ?? 0.0, // label: "", min: 0, max: 400, onChanged: (double value) { kayit?.value?.calismaKarti?.mesaiOrani = value.floor().toDouble(); // mesaiCarpaniEditGoster.value = false; setState( () {}, ); }, ), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ FikoButton( text: "%${kayit?.value?.calismaKarti?.mesaiOrani?.toStringAsFixed(3) ?? 0.000.toStringAsFixed(3)}", tema: FikoButtonTheme( fontSize: 12, edgePadding: const EdgeInsets.symmetric(horizontal: 10, vertical: 1), textColor: Theme.of(context).extension()?.gecerlitextColor, textStrokeColor: Colors.transparent, // borderColor: Colors.blue, ), onPressed: () { mesaiCarpaniEditGoster = !mesaiCarpaniEditGoster; setState( () {}, ); }, ), ], ), Visibility( visible: mesaiCarpaniEditGoster, child: FikoYaziKutusu( baslik: "Mesai Çarpanı", simgeSol: const Text( "➗", ), radius: 5, klavyeTipi: TextInputType.number, degeri: (kayit?.value?.calismaKarti?.mesaiOrani ?? 0.0).toString(), degisti: (value) { num deger = num.parse(value.replaceAll("x", "").replaceAll(",", "")); if (deger < 0.0) deger = 0.0; if (deger > 400.0) deger = 400.0; kayit?.value?.calismaKarti?.mesaiOrani = deger; setState( () {}, ); }, // degeri: "0.00₺", ), ), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ FikoButton( text: "⏳ 50 %", tema: FikoButtonTheme( fontSize: 10, edgePadding: const EdgeInsets.symmetric(horizontal: 10, vertical: 1), textColor: kayit?.value?.calismaKarti?.mesaiOrani == 50.0 ? Colors.yellow : Colors.black, textStrokeColor: Colors.transparent, backgroundColor: kayit?.value?.calismaKarti?.mesaiOrani == 50.0 ? Colors.blue : Colors.transparent, borderColor: kayit?.value?.calismaKarti?.mesaiOrani == 50.0 ? Colors.yellow : Colors.blue, ), onPressed: () { kayit?.value?.calismaKarti?.mesaiOrani = 50.0; kayit?.refresh(); setState( () {}, ); context.vRouter.pop(); }, ), const SizedBox( width: 5, ), FikoButton( text: "⏳ 100 %", tema: FikoButtonTheme( fontSize: 10, edgePadding: const EdgeInsets.symmetric(horizontal: 10, vertical: 1), textColor: kayit?.value?.calismaKarti?.mesaiOrani == 100.0 ? Colors.yellow : Colors.black, textStrokeColor: Colors.transparent, backgroundColor: kayit?.value?.calismaKarti?.mesaiOrani == 100.0 ? Colors.blue : Colors.transparent, borderColor: kayit?.value?.calismaKarti?.mesaiOrani == 100.0 ? Colors.yellow : Colors.blue, ), onPressed: () { kayit?.value?.calismaKarti?.mesaiOrani = 100.0; kayit?.refresh(); setState( () {}, ); context.vRouter.pop(); }, ), const SizedBox( width: 5, ), FikoButton( text: "⏳ 150 %", tema: FikoButtonTheme( fontSize: 10, edgePadding: const EdgeInsets.symmetric(horizontal: 10, vertical: 1), textColor: kayit?.value?.calismaKarti?.mesaiOrani == 150.0 ? Colors.yellow : Colors.black, textStrokeColor: Colors.transparent, backgroundColor: kayit?.value?.calismaKarti?.mesaiOrani == 150.0 ? Colors.blue : Colors.transparent, borderColor: kayit?.value?.calismaKarti?.mesaiOrani == 150.0 ? Colors.yellow : Colors.blue, ), onPressed: () { kayit?.value?.calismaKarti?.mesaiOrani = 150.0; kayit?.refresh(); setState( () {}, ); context.vRouter.pop(); }, ), ], ), ], ), ); } }