import 'package:fikoyt_merkez/apps/mesaici/model/calisma_kayit.dart'; import 'package:fikoyt_merkez/apps/mesaici/widgets/aktif_kart/alt_butonlar.dart'; import 'package:fikoyt_merkez/apps/mesaici/widgets/aktif_kart/giris_cikis_butonlari.dart'; import 'package:fikoyt_merkez/apps/mesaici/widgets/aktif_kart/gunluk_izinli.dart'; import 'package:fikoyt_merkez/apps/mesaici/widgets/aktif_kart/kumulatif_satir.dart'; import 'package:fikoyt_merkez/apps/mesaici/widgets/aktif_kart/maas_tablosu.dart'; import 'package:fikoyt_merkez/apps/mesaici/widgets/aktif_kart/raporlu.dart'; import 'package:fikoyt_merkez/apps/mesaici/widgets/aktif_kart/saat_tablosu.dart'; import 'package:fikoyt_merkez/apps/mesaici/widgets/aktif_kart/sensorler.dart'; import 'package:fikoyt_merkez/apps/mesaici/widgets/aktif_kart/yillik_izinli.dart'; import 'package:fikoyt_merkez/core/Extensions/fiko_tarih.dart'; import 'package:fikoyt_merkez/core/widgets/fiko_ui/fiko_button/fiko_button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_animate/flutter_animate.dart'; import 'package:get/get.dart'; import '../../../../core/fikoyt.service.dart'; // ignore: must_be_immutable class AktifKart extends StatelessWidget { AktifKart({super.key, this.kayit}); Rx? kayit = CalismaKayit().obs; @override Widget build(BuildContext context) { return Container( decoration: const BoxDecoration( color: Colors.white, borderRadius: BorderRadius.all( Radius.circular(5), ), boxShadow: [ BoxShadow(color: Colors.black12, offset: Offset(0, 0), spreadRadius: 1, blurRadius: 0.0, blurStyle: BlurStyle.outer), ]), child: Column( children: [ Obx( () => Visibility( visible: kayit?.value.tarih == null, child: Container( width: double.infinity, padding: const EdgeInsets.only(bottom: 40, top: 40, left: 5, right: 5), decoration: BoxDecoration( borderRadius: BorderRadius.circular(10), // color: Colors.grey.shade100, border: Border.all(color: Colors.grey.shade400), boxShadow: [ BoxShadow( color: Colors.black.withOpacity(0.15), ), BoxShadow( color: Colors.grey.shade200, spreadRadius: -5.0, blurRadius: 12.0, ), ]), child: Column( children: [ const Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Icon(Icons.add, size: 56, color: Colors.blue), ], ), FikoButton1( text: "Aktif Kayıt Yok", textColor: Colors.red, textStrokeColor: Colors.yellow, textSize: 20, ), Wrap( alignment: WrapAlignment.center, crossAxisAlignment: WrapCrossAlignment.center, children: [ FikoButton1( text: "Hemen Ekleyin", textColor: Colors.black38, textStrokeColor: Colors.transparent, textSize: 16, radius: 0, edgePadding: EdgeInsets.zero, ), Align( alignment: Alignment.center, child: TextButton( // icon: const Text("💡"), child: const Text( "💡 Kart Ekle", style: TextStyle( color: Colors.blue, fontWeight: FontWeight.bold, fontSize: 14, ), ), onPressed: () { kayit?.value.tarih = DateTime.now(); kayit?.refresh(); }, ), ), ], ), ], ), ).animate(effects: [ // FadeEffect(duration: 1000.ms, curve: Curves.easeIn), // ScaleEffect(begin: const Offset(0.2, 0.2),duration: 500.ms, curve: Curves.easeIn), FadeEffect(duration: 1000.ms), SaturateEffect(delay: 1000.ms, duration: 500.ms, curve: Curves.easeIn), BlurEffect( duration: 600.ms, begin: const Offset(3, 3), end: const Offset(0, 0), ), ShimmerEffect( delay: 1000.ms, duration: 1000.ms, curve: Curves.easeIn, ), ]) // .animate( // autoPlay: true, // effects: [ // ShakeEffect( // delay: 5000.ms, // duration: 2000.ms, // curve: Curves.easeInOut, // rotation: 0.02, // hz: 4, // ) // ], // onComplete: (controller) { // controller.loop(); // }, // ), ), ), /** */ Obx( () => Visibility( visible: kayit?.value.tarih != null, child: Column( children: [ Row( children: [ // const Text( // "📅", // style: TextStyle(fontSize: 16), // ), SizedBox( width: 33, child: MaterialButton( elevation: 0, minWidth: 0, shape: const CircleBorder( // borderRadius: BorderRadius.all(Radius.circular(5)), side: BorderSide.none, ), padding: const EdgeInsets.all(0), child: const Text("📅"), // color: Colors.white, onPressed: () { // if (kDebugMode) { // Scaffold.of(context).openEndDrawer(); print('clicked'); // } }, ), ), Expanded( child: Obx( () => FikoButton1( text: "${kayit?.value.tarih != null ? kayit?.value.tarih?.formatla('dd MMMM yyyy EEEE') : 'Çalışma Gününü Seçiniz'}", textSize: 13, // edgePadding: const EdgeInsets.symmetric(vertical: 2.0), textColor: Colors.black, textStrokeColor: Colors.transparent, // radius: 0, backColor: Colors.transparent, onPressed: () async { kayit?.value.tarih = await FikoYTService.tarihSec(context, varsayilanTarih: kayit?.value.tarih); kayit?.refresh(); }, ), ), ), SizedBox( width: 33, child: MaterialButton( elevation: 0, minWidth: 0, shape: const CircleBorder( // borderRadius: BorderRadius.all(Radius.circular(5)), side: BorderSide.none, ), padding: const EdgeInsets.all(0), child: const Text("♻️"), // color: Colors.white, onPressed: () { // if (kDebugMode) { // Scaffold.of(context).openEndDrawer(); print('clicked'); // } }, ), ), ], ), const Divider( height: 2, ), Padding( padding: const EdgeInsets.all(5), child: Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ Expanded( child: Obx( () => TextButton( onPressed: () { kayit?.value.gunTuru = GunTuru.CALISMA_GUNU; kayit?.refresh(); }, style: TextButton.styleFrom( alignment: Alignment.center, fixedSize: const Size.fromHeight(20), backgroundColor: kayit?.value.gunTuru == GunTuru.CALISMA_GUNU ? Colors.teal : Colors.grey.shade200, shape: const BeveledRectangleBorder(borderRadius: BorderRadius.zero), foregroundColor: kayit?.value.gunTuru == GunTuru.CALISMA_GUNU ? Colors.white : Colors.teal, textStyle: const TextStyle( fontSize: 10, fontWeight: FontWeight.bold, ), ), child: const Text('Çalışma Günü'), ), ), ), Expanded( child: Obx( () => TextButton( onPressed: () { kayit?.value.gunTuru = GunTuru.DINLENME_GUNU; kayit?.refresh(); }, style: TextButton.styleFrom( alignment: Alignment.center, fixedSize: const Size.fromHeight(20), backgroundColor: kayit?.value.gunTuru == GunTuru.DINLENME_GUNU ? Colors.teal : Colors.grey.shade200, shape: const BeveledRectangleBorder(borderRadius: BorderRadius.zero), foregroundColor: kayit?.value.gunTuru == GunTuru.DINLENME_GUNU ? Colors.white : Colors.teal, textStyle: const TextStyle( fontSize: 10, fontWeight: FontWeight.bold, ), ), child: const Text('Dinlenme Günü'), ), ), ), Expanded( child: Obx( () => TextButton( onPressed: () { kayit?.value.gunTuru = GunTuru.HAFTA_TATILI; kayit?.refresh(); }, style: TextButton.styleFrom( alignment: Alignment.center, fixedSize: const Size.fromHeight(20), backgroundColor: kayit?.value.gunTuru == GunTuru.HAFTA_TATILI ? Colors.teal : Colors.grey.shade200, shape: const BeveledRectangleBorder(borderRadius: BorderRadius.zero), foregroundColor: kayit?.value.gunTuru == GunTuru.HAFTA_TATILI ? Colors.white : Colors.teal, textStyle: const TextStyle( fontSize: 10, fontWeight: FontWeight.bold, ), ), child: const Text('Hafta Tatili'), ), ), ), ], ), ), /** NOT: Orta Bölüm */ Padding( padding: const EdgeInsets.all(5), child: Row( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.center, children: [ /** NOT: Sol Göstergeler */ Sensorlar(kayit: kayit), /** NOT: Orta Veri Girişleri */ Expanded( child: Padding( padding: const EdgeInsets.symmetric(horizontal: 5, vertical: 0), child: Column( children: [ Obx( () => Visibility( visible: kayit?.value.raporlu != true && kayit?.value.gunlukIzinli != true && kayit?.value.yillikIzinli != true, child: SaatTablosu(kayit: kayit), ), ), /** */ Obx( () => Visibility( visible: kayit?.value.raporlu == true, child: Raporlu(kayit: kayit), ), ), /** */ Obx( () => Visibility( visible: kayit?.value.gunlukIzinli == true, child: GunlukIzinli(kayit: kayit), ), ), /** */ Obx( () => Visibility( visible: kayit?.value.yillikIzinli == true, child: YillikIzinli(kayit: kayit), ), ), /** */ const SizedBox( height: 5, ), /** Maaş Tablosu */ MaasTablosu(kayit: kayit), /** */ KumultatifSatir(kayit: kayit), /** */ GirisCikisButonlari(kayit: kayit), ], ), ), ), /** NOT: Sağ Göstergeler */ Sensorlar(kayit: kayit), ], ), ), /** */ AltButonlar(kayit: kayit), ], ), ), ) ], ), ); } }