// ignore_for_file: library_private_types_in_public_api import 'package:fikoyt_mesaici/apps/mesaici/base_page_mesaici_view.dart'; import 'package:fikoyt_mesaici/apps/mesaici/model/alt_kart/alt_kart.dart'; import 'package:fikoyt_mesaici/apps/mesaici/model/model_hareketler.dart'; import 'package:fikoyt_mesaici/apps/mesaici/pages/hareketler/hareket_kart/hareket_kart.dart'; import 'package:fikoyt_mesaici/apps/mesaici/servisler/fikoyt.mesaici.service.dart'; import 'package:fikoyt_mesaici/apps/mesaici/widgets/kullanici_bilgi_navigasyon/kullanici_bilgi_navigasyon.dart'; import 'package:fikoyt_mesaici/apps/mesaici/widgets/uygulama_baslik/uygulama_baslik.dart'; import 'package:fikoyt_mesaici/core/fikoyt.service.dart'; import 'package:fikoyt_mesaici/core/interface/fiko_dialog_ayarlari.dart'; import 'package:fikoyt_mesaici/core/widgets/base_page/base_page_view.dart'; import 'package:fikoyt_mesaici/core/widgets/draggable_home.dart'; import 'package:fikoyt_mesaici/core/widgets/fiko_ui/fiko_button/fiko_button.dart'; import 'package:fikoyt_mesaici/core/widgets/fikoyt_elastic/fikoyt_elastic.dart'; import 'package:fikoyt_mesaici/core/widgets/yazi_kutulari/yazi_kutulari.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:get/get.dart'; import 'package:isar/isar.dart'; import 'package:vrouter/vrouter.dart'; class PageMesaiciYardimLogic extends GetxController { BasePageLogic basePageLogic = Get.put(BasePageLogic()); BasePageMesaiciLogic basePageMesaiciLogic = Get.put(BasePageMesaiciLogic()); //---> // final FikoYTMesaiciService FikoYTService.servisMesaici = Get.put(FikoYTMesaiciService()); final FikoYTService servisFikoYT = FikoYTService(); //---> Rx yardimId = Rx(null); Rx aktifHareket = Rx(null); } class PageMesaiciYardim extends StatefulWidget { PageMesaiciYardim({super.key, required this.kartId}); dynamic kartId; @override _PageMesaiciYardimState createState() => _PageMesaiciYardimState(); } class _PageMesaiciYardimState extends State { PageMesaiciYardimLogic logic = Get.put(PageMesaiciYardimLogic()); @override void initState() { SchedulerBinding.instance.addPostFrameCallback((_) { logic.yardimId.value = widget.kartId; logic.yardimId.refresh(); logic.basePageLogic.subTitle.value = "❓ Yardım"; }); // widget.kartId = DateTime.now().formatla("dd.MM.yyyy EEEE"); super.initState(); } @override void dispose() { Get.delete(); super.dispose(); } @override Widget build(BuildContext context) { ScreenSizeTypes screenType = FikoYTElastic.getScreenSizeType(context); [ // ScreenSizeTypes.small, ScreenSizeTypes.mini, ScreenSizeTypes.extraMini ].contains(screenType); return DraggableHome( leading: const UygulamaBaslikSol(), title: UygulamaBaslikOrta(), actions: const [ UygulamaBaslikSag(), ], headerWidget: PageView( children: [ Container( color: Colors.transparent, //Colors.orange, height: 300 - kToolbarHeight - 10, margin: const EdgeInsets.only(top: kToolbarHeight, bottom: 10, right: 10, left: 10), child: KullaniciBilgiNavigasyon( simge: const Text( "📝", style: TextStyle( fontSize: 54, ), ), ), ), ], ), body: [ Obx( () => FutureBuilder( future: logic.alAktifHareket(), builder: (context, snapshot) => KartHareket(kayit: logic.aktifHareket), ), ), /** Ek Ödemeler */ Padding( padding: const EdgeInsets.symmetric(horizontal: 10), child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ const Expanded( child: Divider( indent: 0.0, endIndent: 10.0, thickness: 1, ), ), FikoButton1( text: '➕ Hareketler', textStrokeColor: Colors.transparent, textColor: Colors.black, ), const Expanded( child: Divider( indent: 10.0, endIndent: 0.0, thickness: 1, ), ), FikoButton1( text: "➕", onPressed: () async { AltKart altKart1 = AltKart(); logic.aciklamaEkle(context, altKart1).then( (value) async { if (value == null) return; /** */ await FikoYTService.servisMesaici.isar?.writeTxn( () async { ModelHareketler altHrkt = ModelHareketler()..turu = KartTuru.ALT_KART; altHrkt.tarih = DateTime.now(); AltKart altKart = AltKart(); altKart.aciklama = altKart1.aciklama ?? ""; altHrkt.altKart = altKart; altKart.ustKartid = logic.aktifHareket.value?.id; // logic.aktifHareket.value?.altKartlar.clear(); logic.aktifHareket.value?.altKartlar.add(altHrkt); // await isar.writeTxn(() async { await FikoYTService.servisMesaici.isar?.modelHareketlers.put(altHrkt); altHrkt.ustKart.value = logic.aktifHareket.value; await altHrkt.ustKart.save(); await logic.aktifHareket.value?.altKartlar.save(); await logic.alAktifHareket(); logic.aktifHareket.refresh(); }, ); // }); }, ); }, ), ], ), ), /** */ // Container( // margin: const EdgeInsets.only(top: 10, bottom: 10, right: 10, left: 10), // child: AktifKart( // kayit: CalismaKayit.fromEmbedded(aktifKart: logic.FikoYTService.servisMesaici.isar?.modelHareketlers.where().filter().calismaKarti((q) => q.tarihBetween(widget.kartId.ilkSaatler(), widget.kartId.sonSaatler())).calismaKartiProperty().findFirstSync()!).obs, // ), // ), ], headerExpandedHeight: 315, // stretchMaxHeight: 100, fullyStretchable: false, backgroundColor: Colors.grey.shade200, centerTitle: true, alwaysShowLeadingAndAction: true, appBarColor: Colors.blue.shade500, alwaysShowTitle: true, curvedBodyRadius: 0, onStretchTrigger: () async { context.vRouter.to("/"); }, ); } }