import 'dart:math'; import 'package:fikoyt_sistem/apps/core/liquid_blob.dart'; import 'package:fikoyt_ui/fikoyt_ui.dart'; import 'package:fikoyt_ui/ui/windows_baslik_cubugu/windows_uygulama_baslik.dart'; import 'package:flutter/material.dart'; class BaseWindow extends StatelessWidget { BaseWindow({super.key, this.solMenuUst, this.solMenu, this.solMenuAlt}); Widget? solMenuUst; Widget? solMenu; Widget? solMenuAlt; @override Widget build(BuildContext context) { return Scaffold( appBar: PreferredSize( preferredSize: Size.fromHeight(32), child: WindowsUygulamaBaslik(baslik: "🔎 FikoYT Sistem"), ), backgroundColor: Color.fromARGB(200, 230, 230, 230), body: Row( crossAxisAlignment: CrossAxisAlignment.start, // Yukarı yaslama mainAxisAlignment: MainAxisAlignment.start, children: [ // Sol: sabit genişlikte logo // Column( // children: [ Container( width: 250, alignment: Alignment.topCenter, color: Colors.transparent, // İsteğe bağlı: sol arka plan padding: const EdgeInsets.only(top: 0), // Yukarı boşluk (isteğe bağlı) child: Column( children: [ // Sol Ust Sabit solMenuUst ?? SizedBox.shrink(), Divider(), // Sol Menu Scroll Bölümü Expanded( // child: // ShaderMask( // shaderCallback: (bounds) => LinearGradient( // begin: Alignment.topCenter, // end: Alignment.bottomCenter, // colors: [ // Colors.transparent, // Üst kısmı gizle // Colors.black, // Alt kısmı göster // Colors.black, // Orta tamamen görünür // Colors.transparent, // Alt kısmı gizle // ], // stops: [0.0, 0.05, 0.95, 1.0], // ).createShader(bounds), // blendMode: BlendMode.dstIn, // sadece fade efekti uygular child: SingleChildScrollView( physics: BouncingScrollPhysics(), child: Container(width: double.infinity, child: solMenu ?? SizedBox.shrink()), ), // ), ), Divider(), // Sol Alt Sabit solMenuAlt ?? SizedBox.shrink(), ], ), ), // ], // ), // Sağ: kalan tüm alan, komple boyalı Expanded( child: Container( alignment: Alignment.topLeft, // Yukarı sola hizalama color: Colors.white70, // Sağ tarafın arka planı // padding: const EdgeInsets.all(0), child: Center( child: LiquidBlob( size: 200, baseColor: Colors.green, secondaryColor: Colors.green, duration: const Duration(seconds: 5), waveStrength: 10, interactionStrength: 5, ), ), ), ), ], ), ); } }