// ignore_for_file: library_private_types_in_public_api import 'package:fikoyt_merkez/apps/mesaici/pages/ayarlar/calisma_sureleri/mola_dialog.dart'; import 'package:fikoyt_merkez/apps/mesaici/pages/ayarlar/calisma_sureleri/vardiye_dialog.dart'; import 'package:fikoyt_merkez/apps/mesaici/servisler/mesaici.ayarlar.dart'; import 'package:fikoyt_merkez/apps/mesaici/widgets/mesaici_navigasyon/mesaici_navigasyon.dart'; import 'package:fikoyt_merkez/core/Extensions/fiko_tarih.dart'; import 'package:fikoyt_merkez/core/interface/fiko_dialog_ayarlari.dart'; import 'package:fikoyt_merkez/core/widgets/dakika_secici/duration_picker.dart'; import 'package:fikoyt_merkez/core/Extensions/fiko_duration_ext.dart'; import 'package:fikoyt_merkez/core/widgets/fiko_ui/fiko_button/fiko_button.dart'; import 'package:fikoyt_merkez/core/widgets/fikoyt_elastic/screen.dart'; import 'package:fikoyt_merkez/core/widgets/yazi_kutulari/yazi_kutulari.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:flutter_animate/flutter_animate.dart'; import 'package:flutter_multi_formatter/flutter_multi_formatter.dart'; import 'package:get/get.dart'; import 'package:getwidget/getwidget.dart'; import 'package:vrouter/vrouter.dart'; import '../../../../../core/fikoyt.service.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 '../../../servisler/fikoyt.mesaici.service.dart'; import '../../../widgets/uygulama_baslik/uygulama_baslik.dart'; class PageHesapAyarlariLogic extends GetxController {} class PageMesaiciCalismSureleri extends StatefulWidget { const PageMesaiciCalismSureleri({super.key}); @override _PageMesaiciCalismaSureleriState createState() => _PageMesaiciCalismaSureleriState(); } class _PageMesaiciCalismaSureleriState extends State { PageHesapAyarlariLogic logic = Get.put(PageHesapAyarlariLogic()); 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 = "🕒 Çalışma Süreleri"; }); 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: 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: "Çalışma Süreleri", 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(); if (kDebugMode) { print('clicked'); } // } }, ), ), ], ), ), Center( child: Text( "Çalışma Sürelerinizi Bu Sayfadan Düzenleyebilirsiniz", style: TextStyle(color: Colors.grey.shade800, fontSize: 10), ), ), const MesaiciNavigasyon(), ], ), ), ], ), body: [ Padding( padding: const EdgeInsets.all(5), child: Column(children: [ ListTile( leading: const SizedBox( // height: double.infinity, child: Text( "📆", style: TextStyle( fontSize: 36, ), ), ), title: const Text( ' Aylık Çalışma Günü', style: TextStyle( fontWeight: FontWeight.w600, ), ), dense: false, subtitle: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ const Text( 'Maaşınız Kaç Gün Üzerinden Hesaplanıcak', style: TextStyle( fontWeight: FontWeight.w300, ), ), Obx( () => Slider( value: servisMesaici.ayarlarModel!.value .calismaSuresiAyarlari.aylikMaasGunu ?.toDouble() ?? 31, // label: "", min: 1, max: 31, onChanged: (double value) { servisMesaici.ayarlarModel!.value.calismaSuresiAyarlari .aylikMaasGunu = value.toInt(); servisMesaici.ayarlarModel!.refresh(); }, ), ), Align( alignment: Alignment.centerRight, child: Obx( () => Text( " ${servisMesaici.ayarlarModel!.value.calismaSuresiAyarlari.aylikMaasGunu} Gün", style: const TextStyle( fontWeight: FontWeight.bold, color: Colors.teal, ), ), ), ), ], ), // trailing: const Icon(Icons.chevron_right_sharp), isThreeLine: true, splashColor: Colors.grey.shade300, onTap: () {}, ), ListTile( leading: const SizedBox( // height: double.infinity, child: Text( "🕥", style: TextStyle( fontSize: 36, ), ), ), title: const Text( ' Aylık Çalışma Günü', style: TextStyle( fontWeight: FontWeight.w600, ), ), dense: false, subtitle: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ const Text( 'Bir Aylık Çalışma Saatiniz', style: TextStyle( fontWeight: FontWeight.w300, ), ), // Obx( // () => Slider( // value: servisMesaici.aylikMaasGunu.value.toDouble(), // // label: "", // min: 1, // max: 31, // onChanged: (double value) { // servisMesaici.aylikCalismaSaati.value = value; // servisMesaici.ayarlariKaydet(); // }, // ), // ), Row( mainAxisAlignment: MainAxisAlignment.end, children: [ Obx( () => FikoButton1( text: "⏳ ${servisMesaici.ayarlarModel!.value.calismaSuresiAyarlari.aylikCalismaSaati} Saat", textSize: 12, edgePadding: const EdgeInsets.symmetric( horizontal: 10, vertical: 1), textColor: Colors.teal, textStrokeColor: Colors.transparent, // borderColor: Colors.blue, onPressed: () {}, ), ), ], ), ], ), // trailing: const Icon(Icons.chevron_right_sharp), isThreeLine: true, splashColor: Colors.grey.shade300, onTap: () {}, ), /** Vardiya Bölümü */ Row( mainAxisAlignment: MainAxisAlignment.center, children: [ const Expanded( child: Divider( indent: 20.0, endIndent: 10.0, thickness: 1, ), ), FikoButton1( text: 'Vardiya Seçiniz', textStrokeColor: Colors.transparent, textColor: Colors.black45, onPressed: () { Mola mll = Mola(); FikoYTService.dialogGoster( context, SizedBox( width: 250, // height: 300, child: VardiyaDialog(mola: mll), ), FikoDialogAyarlari( baslik: "Vardiya Ekle", baslikSimge: "➕", altButonlar: [ FikoButton1( textColor: Colors.green, textStrokeColor: Colors.transparent, text: "Ekle", onPressed: (() { Navigator.pop( context, ); }), ), FikoButton1( textColor: Colors.red, textStrokeColor: Colors.transparent, text: "Kapat", onPressed: (() { Navigator.pop( context, ); }), ), ]), ); }, ), 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 {}, child: const Text("➕"), // const Icon(Icons.notifications, // color: Colors.lightBlue, size: 14), ), ), ], ), SizedBox( height: 10, ), /** */ for (final gun in servisMesaici .mesaiciAyarlar.calismaSuresiAyarlari.gunAyarlari .toListe()) Obx( () => GFAccordion( title: '🗓️ ${gun.ismi} Günü Ayarları', contentChild: Column( children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ Expanded( child: TextButton( onPressed: () {}, style: TextButton.styleFrom( alignment: Alignment.center, fixedSize: const Size.fromHeight(20), backgroundColor: Colors.grey.shade200, shape: const BeveledRectangleBorder( borderRadius: BorderRadius.zero), textStyle: const TextStyle( fontSize: 10, fontWeight: FontWeight.bold), ), child: const Text('Çalışma Günü'), ), ), Expanded( child: TextButton( onPressed: () {}, style: TextButton.styleFrom( alignment: Alignment.center, fixedSize: const Size.fromHeight(20), backgroundColor: Colors.grey.shade200, shape: const BeveledRectangleBorder( borderRadius: BorderRadius.zero), textStyle: const TextStyle( fontSize: 10, fontWeight: FontWeight.bold), ), child: const Text('Dinlenme Günü'), ), ), Expanded( child: TextButton( onPressed: () {}, style: TextButton.styleFrom( alignment: Alignment.center, fixedSize: const Size.fromHeight(20), backgroundColor: Colors.grey.shade200, shape: const BeveledRectangleBorder( borderRadius: BorderRadius.zero), textStyle: const TextStyle( fontSize: 10, fontWeight: FontWeight.bold), ), child: const Text('Hafta Tatili'), ), ), ], ), const SizedBox( height: 5, ), Padding( padding: const EdgeInsets.all(5), child: Column( children: [ Row( children: [ Expanded( child: Container( alignment: Alignment.center, decoration: BoxDecoration( color: Colors.grey.shade200, borderRadius: const BorderRadius.only( bottomLeft: Radius.circular(10), topLeft: Radius.circular(10), ), ), child: const Text( "Giriş Saati", style: TextStyle( color: Colors.black, fontWeight: FontWeight.bold), ), ), ), Expanded( child: Container( alignment: Alignment.center, decoration: BoxDecoration( color: Colors.grey.shade200, borderRadius: const BorderRadius.only( bottomRight: Radius.circular(10), topRight: Radius.circular(10), ), ), child: const Text( "Çıkış Saati", style: TextStyle( color: Colors.black, fontWeight: FontWeight.bold), ), ), ), ], ), Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ Expanded( child: FikoButton1( text: "${gun.girisSaati.value.hour}:${gun.girisSaati.value.minute}", textStrokeWidth: 2, textSize: 16, textColor: Colors.red, textStrokeColor: Colors.amber, onPressed: () async { DateTime? rslt = await FikoYTService.saatSec(context, varsayilanTarih: DateTime.now() .ayarlaGununSaati( gun.girisSaati.value)); if (rslt == null) return; gun.girisSaati.value = rslt.gununSaati(); // showTimePicker( // context: context, // initialTime: gun.girisSaati.value) // .then((value) { // if (value != null) { // gun.girisSaati.value = value; // } // }); }, ), ), Expanded( child: FikoButton1( text: "${gun.cikisSaati.value.hour}:${gun.cikisSaati.value.minute}", textStrokeWidth: 2, textSize: 16, textColor: Colors.green, textStrokeColor: Colors.tealAccent, onPressed: () async { DateTime? rslt = await FikoYTService.saatSec(context, varsayilanTarih: DateTime.now() .ayarlaGununSaati( gun.cikisSaati.value)); if (rslt == null) return; gun.cikisSaati.value = rslt.gununSaati(); // showTimePicker( // context: context, // initialTime: gun.cikisSaati.value) // .then((value) { // if (value != null) { // gun.cikisSaati.value = value; // } // }); }, ), ), ], ), Row( children: [ Expanded( child: Container( alignment: Alignment.center, decoration: BoxDecoration( color: Colors.grey.shade200, borderRadius: const BorderRadius.only( bottomLeft: Radius.circular(10), topLeft: Radius.circular(10), ), ), child: const Text( "Giriş Toleransı", style: TextStyle( color: Colors.black, fontWeight: FontWeight.bold), ), ), ), Expanded( child: Container( alignment: Alignment.center, decoration: BoxDecoration( color: Colors.grey.shade200, borderRadius: const BorderRadius.only( bottomRight: Radius.circular(10), topRight: Radius.circular(10), ), ), child: const Text( "Çıkış Toleransı", style: TextStyle( color: Colors.black, fontWeight: FontWeight.bold), ), ), ), ], ), Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ Expanded( child: FikoButton1( text: "${Duration(minutes: gun.girisToleransi.value).insanize ?? 'Yok'}", textStrokeWidth: 2, textSize: 16, onPressed: () { FikoYTService.dialogGoster( context, SizedBox( width: 250, height: 250, child: Obx( () => DurationPicker( duration: Duration( minutes: gun.girisToleransi.value, ), baseUnit: BaseUnit.minute, snapToMins: 0.1, onChange: (value) { gun.girisToleransi.value = (value).inMinutes; }, ), ), ), FikoDialogAyarlari( baslik: "Giriş Toleransı"), ); }, ), ), Expanded( child: FikoButton1( text: "${Duration(minutes: gun.cikisToleransi.value).insanize ?? 'Yok'}", textStrokeWidth: 2, textSize: 16, onPressed: () { FikoYTService.dialogGoster( context, SizedBox( width: 250, height: 250, child: Obx( () => DurationPicker( duration: Duration( minutes: gun.cikisToleransi.value, ), baseUnit: BaseUnit.minute, snapToMins: 0.1, onChange: (value) { gun.cikisToleransi.value = (value).inMinutes; }, ), ), ), FikoDialogAyarlari( baslik: "Çıkış Toleransı")); }, ), ), ], ), ListTile( dense: true, subtitle: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ const Text( 'Çalışma Süresi', style: TextStyle( fontWeight: FontWeight.bold, ), ), FikoButton1( text: "${Duration(minutes: gun.calismaSuresi.value.toInt()).insanizeEk() ?? 'Yok'}", textStrokeWidth: 2, textSize: 16, textColor: Colors.red, textStrokeColor: Colors.yellow, onPressed: () { FikoYTService.dialogGoster( context, Column( children: [ Obx( () => DurationPicker( duration: Duration( minutes: gun .calismaSuresi.value .toInt(), ), baseUnit: BaseUnit.minute, snapToMins: 0.1, onChange: (value) { gun.calismaSuresi.value = (value) .inMinutes .toDouble(); }, ), ), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ FikoButton1( text: "⏳ 11 Saat", textSize: 10, edgePadding: const EdgeInsets .symmetric( horizontal: 10, vertical: 1), textColor: Colors.black, textStrokeColor: Colors.transparent, borderColor: Colors.blue, onPressed: () { gun.calismaSuresi.value = const Duration( hours: 11) .inMinutes .toDouble(); Navigator.pop(context); }, ), const SizedBox( width: 5, ), FikoButton1( text: "⏳ 9 Saat", textSize: 10, edgePadding: const EdgeInsets .symmetric( horizontal: 10, vertical: 1), textColor: Colors.black, textStrokeColor: Colors.transparent, borderColor: Colors.blue, onPressed: () { gun.calismaSuresi.value = const Duration( hours: 9) .inMinutes .toDouble(); Navigator.pop(context); }, ), const SizedBox( width: 5, ), FikoButton1( text: "⏳ 7,5 Saat", textSize: 10, edgePadding: const EdgeInsets .symmetric( horizontal: 10, vertical: 1), textColor: Colors.black, textStrokeColor: Colors.transparent, borderColor: Colors.blue, onPressed: () { gun.calismaSuresi.value = const Duration( hours: 7, minutes: 30) .inMinutes .toDouble(); Navigator.pop(context); }, ), ], ), ], ), FikoDialogAyarlari( baslik: "Çalışma Süresi")); }, ), ], ), // trailing: const Icon(Icons.chevron_right_sharp), isThreeLine: true, splashColor: Colors.grey.shade300, onTap: () {}, ), ListTile( dense: true, subtitle: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( mainAxisAlignment: MainAxisAlignment.center, children: [ const Expanded( child: Divider( indent: 20.0, endIndent: 10.0, thickness: 1, ), ), Text( 'Molalar (${gun.molalar.toplamMola.insanize ?? 'Yok'})', style: const 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 { Mola mll = Mola(); FikoYTService.dialogGoster( context, SizedBox( width: 250, // height: 300, child: MolaDialog(mola: mll), ), FikoDialogAyarlari( baslik: "Mola Ekle", baslikSimge: "➕", altButonlar: [ FikoButton1( textColor: Colors.green, textStrokeColor: Colors.transparent, text: "Ekle", onPressed: (() { gun.molalar.add(mll); 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), ), ), ], ), gun.molalar.isEmpty ? 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/cay.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 Mola Kaydı Girilmemiş", style: TextStyle( fontSize: 16, fontWeight: FontWeight.w300, color: Colors.blueAccent .shade400), ), ), ), ], ), ) : SizedBox( height: 55, 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: [ for (final mola in gun.molalar) Padding( padding: const EdgeInsets .symmetric( horizontal: 4, ), child: ChoiceChip( avatar: Image.asset( 'assets/mesaici/ayarlar/cay.png', // width: 300, width: 40, height: 40, fit: BoxFit.contain, ), padding: const EdgeInsets.all( 3), label: Column( children: [ Align( alignment: Alignment .centerLeft, child: Obx( () => Text( mola.ismi.value, style: const TextStyle( fontSize: 12, ), textAlign: TextAlign .start, ), ), ), Row( crossAxisAlignment: CrossAxisAlignment .center, children: [ FikoButton1( text: mola .girisSaati .value .formatla( "HH:mm:ss"), textSize: 10, textColor: Colors .green, textStrokeColor: Colors .transparent), FikoButton1( text: mola .cikisSaati .value .formatla( "HH:mm:ss"), textSize: 10, textColor: Colors.red, textStrokeColor: Colors .transparent, ), ], ), Row( crossAxisAlignment: CrossAxisAlignment .center, mainAxisAlignment: MainAxisAlignment .center, children: [ FikoButton1( text: mola .farkHesapla() .insanize ?? 'Yok', textSize: 14, textColor: Colors .green, textStrokeColor: Colors .transparent, ), ], ), ], ), checkmarkColor: Colors.transparent, backgroundColor: Colors.transparent, showCheckmark: false, selected: false, onSelected: (bool selected) { FikoYTService .dialogGoster( context, SizedBox( width: 250, height: 300, child: MolaDialog( mola: mola, ), ), FikoDialogAyarlari( baslik: "Mola Düzenle", altButonlar: [ FikoButton1( textColor: Colors .red, textStrokeColor: Colors .transparent, text: "Sil", onPressed: () { gun.molalar .remove( mola); Navigator .pop( context, ); }, ), const Spacer(), // FikoButton1( // textColor: // Colors.green, // textStrokeColor: // Colors // .transparent, // text: "Kaydet", // onPressed: (() { // Navigator.pop( // context, // ); // }), // ), FikoButton1( textColor: Colors .green, textStrokeColor: Colors .transparent, text: "Kapat", onPressed: (() { Navigator .pop( context, ); }), ), ]), ); }, ), ).animate(effects: [ FadeEffect(), ScaleEffect() ]), ], ), ), ), // Slider( // value: 9.0, // // label: "", // min: 0, // max: 24, // onChanged: (double value) { // // servisMesaici.aylikCalismaSaati.value = // // value; // // servisMesaici.ayarlariKaydet(); // }, // ), ListTile( dense: true, subtitle: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( 'Mesai Oranı (${gun.mesaiOrani.value}%)', style: const TextStyle( fontWeight: FontWeight.bold, ), ), FikoYaziKutusu( baslik: "Mesai Oranı", simgeSol: const Text( "💸", style: TextStyle(fontSize: 22), ), klavyeTipi: TextInputType.number, formatlayicilar: [ CurrencyInputFormatter( trailingSymbol: "%", ) // MaskedInputFormatter( // '00000-0000-M00-B00-N# ', // allowedCharMatcher: RegExp("^[0-9]*\$"), // ), ], degeri: gun.mesaiOrani.value .toCurrencyString( trailingSymbol: '%'), degisti: (value) { gun.mesaiOrani.value = double.parse( value .replaceAll("%", "") .replaceAll(",", "")); }, // degeri: "0.00₺", ), ], ), // trailing: const Icon(Icons.chevron_right_sharp), isThreeLine: true, splashColor: Colors.grey.shade300, onTap: () {}, ), ], ), // trailing: const Icon(Icons.chevron_right_sharp), isThreeLine: true, splashColor: Colors.grey.shade300, onTap: () {}, ), ], ), ), ], ), contentPadding: EdgeInsets.zero, collapsedIcon: const Icon(Icons.arrow_drop_down), expandedIcon: const Icon(Icons.arrow_drop_up), titleBorderRadius: const BorderRadius.only( topLeft: Radius.circular(5), topRight: Radius.circular(5), ), expandedTitleBackgroundColor: Colors.grey.shade200, contentBorder: Border.all(color: Colors.grey.shade200), contentBorderRadius: const BorderRadius.only( bottomLeft: Radius.circular(5), bottomRight: Radius.circular(5), ), titlePadding: const EdgeInsets.symmetric( horizontal: 10, vertical: 5, ), showAccordion: false, ), ), /** */ ]), ), ], // bottomNavigationBar: // BottomNavigationBar( // items: const [ // BottomNavigationBarItem( // icon: Text( // "📋", // style: TextStyle( // fontSize: 18, // ), // ), // label: 'Ayrıntılı', // backgroundColor: Colors.white, // tooltip: "Ayrıntılı"), // BottomNavigationBarItem( // icon: Text( // "🪄", // style: TextStyle( // fontSize: 18, // ), // ), // label: 'Sihirbaz', // tooltip: 'Sihirbaz', // backgroundColor: Colors.green, // ), // ], // currentIndex: 0, // selectedItemColor: Colors.amber[800], // onTap: (value) {}, // ), // const SizedBox( // height: 36, // child: DefaultTabController( // length: 2, // child: TabBar( // labelStyle: TextStyle(fontSize: 10), // labelPadding: EdgeInsets.zero, // indicatorPadding: EdgeInsets.zero, // padding: EdgeInsets.zero, // tabs: [ // Tab( // icon: Tooltip( // message: "Ayrıntılı Ayarlar", // child: Text( // "📋", // style: TextStyle( // fontSize: 18, // ), // ), // ), // // text: "Ayrıntılı", // ), // Tab( // icon: Tooltip( // message: "Ayar Sihirbazı", // child: Text( // "🪄", // style: TextStyle( // fontSize: 18, // ), // ), // ), // // text: "Sihirbaz", // ), // ], // ), // ), // ), 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(); } }