// ignore_for_file: library_private_types_in_public_api import 'package:fikoyt_merkez/apps/mesaici/model/model_ayarlar.dart'; import 'package:fikoyt_merkez/apps/mesaici/pages/ayarlar/resmi_tatiller/resmi_tatil_item.dart'; import 'package:fikoyt_merkez/apps/mesaici/servisler/fikoyt.mesaici.service.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/fiko_ui/fiko_button/fiko_button.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:flutter_animate/flutter_animate.dart'; import 'package:flutter_multi_formatter/formatters/masked_input_formatter.dart'; import 'package:get/get.dart'; import 'package:vrouter/vrouter.dart'; import '../../../../../core/widgets/base_page/base_page_view.dart'; import '../../../../../core/widgets/draggable_home.dart'; import '../../../../../core/widgets/fikoyt_elastic/fikoyt_elastic.dart'; import '../../../base_page_mesaici_view.dart'; import '../../../widgets/mesaici_navigasyon/mesaici_navigasyon.dart'; import '../../../widgets/uygulama_baslik/uygulama_baslik.dart'; import 'resmi_tatil_dialog.dart'; class PageAyarResmiTatillerLogic extends GetxController {} class PageMesaiciResmiTatiller extends StatefulWidget { const PageMesaiciResmiTatiller({super.key}); @override _PageMesaiciResmiTatillerState createState() => _PageMesaiciResmiTatillerState(); } class _PageMesaiciResmiTatillerState extends State { PageAyarResmiTatillerLogic logic = Get.put(PageAyarResmiTatillerLogic()); BasePageLogic basePageLogic = Get.put(BasePageLogic()); BasePageMesaiciLogic basePageMesaiciLogic = Get.put(BasePageMesaiciLogic()); final FikoYTMesaiciService servisMesaici = Get.put(FikoYTMesaiciService()); final FikoYTService servisFikoYT = FikoYTService(); //---> @override Widget build(BuildContext context) { SchedulerBinding.instance.addPostFrameCallback((_) { basePageLogic.subTitle.value = "🚩 Resmi Tatiller"; }); 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: Container( child: Column( children: [ Center( child: CircleAvatar( backgroundColor: Colors.blueAccent.shade700, radius: 64, child: CircleAvatar( backgroundColor: Colors.blueAccent.shade100, radius: 54, child: const CircleAvatar( radius: 54, child: Text( "🚩", style: TextStyle( fontSize: 54, ), ), ), //CircleAvatar ), //CircleAvatar ), //CircleAvatar ), FikoButton1( text: "Resmi Tatiller", textSize: 24, textStrokeColor: Colors.blue, ), SizedBox( height: 24.0, child: ListView( shrinkWrap: true, scrollDirection: Axis.horizontal, children: [ SizedBox( width: 33, child: MaterialButton( elevation: 0, minWidth: 0, shape: RoundedRectangleBorder( borderRadius: const BorderRadius.all(Radius.circular(5)), side: BorderSide(width: 1, color: Colors.blue.withOpacity(0.5), style: BorderStyle.solid), ), padding: const EdgeInsets.all(0), child: const Text("🏠"), // const Icon(Icons.home, // color: Colors.lightBlue, size: 14), // color: Colors.white, onPressed: () async { // Scaffold.of(context).openEndDrawer(); context.vRouter.to("/mesaici"); }, ), ), const SizedBox(width: 3), SizedBox( width: 33, child: MaterialButton( elevation: 0, minWidth: 0, shape: RoundedRectangleBorder( borderRadius: const BorderRadius.all(Radius.circular(5)), side: BorderSide(width: 1, color: Colors.blue.withOpacity(0.5), style: BorderStyle.solid), ), padding: const EdgeInsets.all(0), // color: Colors.white, onPressed: () async { // Scaffold.of(context).openEndDrawer(); context.vRouter.to("/mesaici/bildirimler"); }, child: const Text("🛎️"), // const Icon(Icons.notifications, // color: Colors.lightBlue, size: 14), ), ), const SizedBox(width: 3), SizedBox( width: 33, child: MaterialButton( elevation: 0, minWidth: 0, shape: RoundedRectangleBorder( borderRadius: const BorderRadius.all(Radius.circular(5)), side: BorderSide(width: 1, color: Colors.blue.withOpacity(0.5), style: BorderStyle.solid), ), padding: const EdgeInsets.all(0), child: const Text("⚙️"), // const Icon(Icons.settings, // color: Colors.lightBlue, size: 14), // color: Colors.white, onPressed: () { // if (kDebugMode) { context.vRouter.to("/mesaici/ayarlar"); // Scaffold.of(context).openEndDrawer(); print('clicked'); // } }, ), ), ], ), ), Center( child: Text( "Bu Sayfada Resmi Tatil Olarak Belirlenen Günleri Ayarlayabilirsiniz", style: TextStyle(color: Colors.grey.shade800, fontSize: 10), ), ), const MesaiciNavigasyon(), ], ), ), ), ], ), body: [ Row( mainAxisAlignment: MainAxisAlignment.center, children: [ const Expanded( child: Divider( indent: 20.0, endIndent: 10.0, thickness: 1, ), ), const Text( '🚩 Resmi Tatil Listesi', style: TextStyle( fontWeight: FontWeight.bold, ), ), const Expanded( child: Divider( indent: 10.0, endIndent: 20.0, thickness: 1, ), ), SizedBox( width: 33, child: MaterialButton( elevation: 0, minWidth: 0, shape: CircleBorder( // borderRadius: // const BorderRadius.all( // Radius.circular(5)), side: BorderSide(width: 1, color: Colors.blue.withOpacity(0.5), style: BorderStyle.solid), ), padding: const EdgeInsets.all(0), // color: Colors.white, onPressed: () async { ResmiTatil resmiTatil = ResmiTatil(); FikoYTService.dialogGoster( context, SizedBox( width: 250, // height: 300, child: ResmiTatilDialog( resmiTatil: resmiTatil, ), ), FikoDialogAyarlari(baslik: "Resmi Tatil Ekle", baslikSimge: "➕", altButonlar: [ FikoButton1( textColor: Colors.green, textStrokeColor: Colors.transparent, text: "Ekle", onPressed: (() { List? _list = servisMesaici.ayarlarModel!.value.resmiTatiller.toList(); _list.add(resmiTatil); servisMesaici.ayarlarModel!.value.resmiTatiller = _list; // resmiTatil.refresh(); servisMesaici.ayarlarModel!.refresh(); Navigator.pop( context, ); }), ), FikoButton1( textColor: Colors.red, textStrokeColor: Colors.transparent, text: "Kapat", onPressed: (() { Navigator.pop( context, ); }), ), ]), ); }, child: const Text("➕"), // const Icon(Icons.notifications, // color: Colors.lightBlue, size: 14), ), ), ], ), /** */ const Padding( padding: EdgeInsets.all(5), child: Column(children: []), ), /** */ if (servisMesaici.ayarlarModel?.value.resmiTatiller.isNotEmpty ?? false) ...List.generate( (servisMesaici.ayarlarModel?.value.resmiTatiller ?? []).length, (index) { return ResmiTatilItem(resmiTatil: ResmiTatil()); }, ).toList(), /** */ if (servisMesaici.ayarlarModel?.value.resmiTatiller.isEmpty ?? true) Padding( padding: const EdgeInsets.only(top: 30.0), child: Stack( children: [ Card( child: Container( height: 100.0, ), ), FractionalTranslation( translation: const Offset(0.0, -0.4), child: Align( alignment: const FractionalOffset(0.5, 0.0), child: CircleAvatar( // backgroundColor: Colors.redAccent.shade200, radius: 25.0, child: Image.asset( 'assets/mesaici/ayarlar/resmi-tatil.png', // width: 300, width: 42, height: 42, fit: BoxFit.contain, ), ), ), ), Padding( padding: const EdgeInsets.only(top: 48), child: Align( alignment: const FractionalOffset(0.5, 0.5), child: Text( "Henüz Resmi Tatil Kaydı Girilmemiş", style: TextStyle( fontSize: 16, fontWeight: FontWeight.w300, color: Colors.blueAccent.shade400, ), textAlign: TextAlign.center, ), ), ), ], ), ), ], 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("/"); }, ); } @override void dispose() { Get.delete(); super.dispose(); } }