import 'package:fikoyt_mesaici/apps/mesaici/base_page_mesaici_view.dart'; import 'package:fikoyt_mesaici/apps/mesaici/model/ayarlar/model_ayarlar.dart'; import 'package:fikoyt_mesaici/apps/mesaici/servisler/fikoyt.mesaici.service.dart'; import 'package:fikoyt_mesaici/core/fikoyt.service.dart'; import 'package:fikoyt_mesaici/core/widgets/fiko_ui/fiko_button/fiko_button.dart'; import 'package:fikoyt_mesaici/core/widgets/yazi_kutulari/yazi_kutulari.dart'; import 'package:flutter/material.dart'; import 'package:flutter_animate/flutter_animate.dart'; import 'package:get/get.dart'; import '../../../model/ayarlar/maas_parametreleri/ek_odeme.dart'; class EkOdemeEkle extends StatelessWidget { EkOdemeEkle({super.key, this.ekOdeme}); BasePageMesaiciLogic basePageMesaiciLogic = Get.put(BasePageMesaiciLogic()); final FikoYTMesaiciService servisMesaici = Get.put(FikoYTMesaiciService()); final FikoYTService servisFikoYT = FikoYTService(); EkOdeme? ekOdeme; late Rx ekOdemeObs = (ekOdeme ?? EkOdeme()).obs; @override Widget build(BuildContext context) { ekOdemeObs.listen((val) { ekOdeme = val; // servisMesaici.ayarlarModel!.refresh(); }); return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ const Text( "Ödemeye Bir İsim Veriniz", ), Obx( () => FikoYaziKutusu( baslik: "Ödeme İsmi", simgeSol: const Text( "👩🏻‍🤝‍👨🏽", style: TextStyle( fontSize: 16, ), ), radius: 5.0, degeri: ekOdemeObs.value.ismi, degisti: (value) { ekOdemeObs.value.ismi = value; }, ), ), FikoAciklamaKutusu( baslik: "Ek Ödeme Açıklama", radius: 5.0, degeri: ekOdemeObs.value.aciklama, yaziBoyutu: 12.0, degisti: (value) { ekOdemeObs.value.aciklama = value; }, ), /** */ Obx( () => Text.rich(TextSpan(text: "Aktif Ödeme Türü", children: [ TextSpan(text: " (${ekOdemeObs.value.turu.simge} ${ekOdemeObs.value.turu.ismi})", style: const TextStyle(fontWeight: FontWeight.w600)), ])), ), SizedBox( height: 22, child: ShaderMask( shaderCallback: (Rect rect) { return const LinearGradient( begin: Alignment.centerLeft, end: Alignment.centerRight, colors: [Colors.purple, Colors.transparent, Colors.transparent, Colors.purple], stops: [0.0, 0.1, 0.9, 1.0], // 10% purple, 80% transparent, 10% purple ).createShader(rect); }, blendMode: BlendMode.dstOut, child: ListView( shrinkWrap: true, physics: const BouncingScrollPhysics(), scrollDirection: Axis.horizontal, // your ListView children: [ const SizedBox( width: 20, ), for (var i = 0; i < EkOdemeTuruTumu.length; i++) Obx( () { EkOdemeTuru vrd = EkOdemeTuruTumu[i]; return Padding( padding: const EdgeInsets.symmetric( horizontal: 1, ), child: FikoButton1( text: "${vrd.simge} ${vrd.ismi}", borderColor: Colors.grey.shade400, backColor: ekOdemeObs.value.turu == EkOdemeTuruTumu[i] ? Colors.blue.withOpacity(0.7) : Colors.black.withOpacity(0), edgePadding: const EdgeInsets.symmetric(vertical: 2, horizontal: 5), textColor: Colors.amberAccent, textStrokeColor: Colors.blue, onLongPress: () {}, onPressed: () { ekOdeme?.turu = EkOdemeTuruTumu[i]; ekOdemeObs.value.turu = EkOdemeTuruTumu[i]; ekOdemeObs.refresh(); // servisMesaici.ayarlarModel!.value.calismaSuresiAyarlari.aktifVardiya = i; servisMesaici.ayarlarModel!.refresh(); }, ), ).animate( effects: [const FadeEffect(), ShimmerEffect(delay: 1000.ms)], ); }, ), const SizedBox( width: 20, ), ], ), ), ), const Text( "Ücret Miktarını Giriniz", ), FikoYaziKutusu( baslik: "Ücret Miktarı", simgeSol: const Text( "💸", style: TextStyle(fontSize: 16), ), sonEk: const Text("₺"), radius: 5.0, klavyeTipi: TextInputType.number, // formatlayicilar: [ // CurrencyInputFormatter( // // trailingSymbol: "₺", // ) // // MaskedInputFormatter( // // '00000-0000-M00-B00-N# ', // // allowedCharMatcher: RegExp("^[0-9]*\$"), // // ), // ], degeri: "${ekOdemeObs.value.miktar}", degisti: (value) { if (value.isNum) { ekOdemeObs.value.miktar = double.parse(value.replaceAll("₺", "").replaceAll(",", "")); // servisMesaici.ayarlarModel!.refresh(); } else {} // maasObs.refresh(); }, // degeri: "0.00₺", ), ], ); } }