diff --git a/assets/branding/dls_logo.png b/assets/branding/dls_logo.png new file mode 100644 index 0000000..d1da102 Binary files /dev/null and b/assets/branding/dls_logo.png differ diff --git a/assets/branding/kovak_logo.png b/assets/branding/kovak_logo.png new file mode 100644 index 0000000..3030645 Binary files /dev/null and b/assets/branding/kovak_logo.png differ diff --git a/installer/LICENSE_TR.txt b/installer/LICENSE_TR.txt new file mode 100644 index 0000000..9d5a5d2 --- /dev/null +++ b/installer/LICENSE_TR.txt @@ -0,0 +1,43 @@ +DLS - DENTAL LAB SYSTEM +SON KULLANICI LİSANS SÖZLEŞMESİ + +DLS - Dental Lab System bir Kovak Yazılım ürünüdür. +Copyright (C) 2026 Kovak Yazılım (kovakyazilim.com). Tüm hakları saklıdır. + +Lütfen yazılımı kurmadan önce bu sözleşmeyi dikkatlice okuyunuz. Yazılımı kurarak, kopyalayarak veya kullanarak bu sözleşmenin tüm hükümlerini kabul etmiş sayılırsınız. Kabul etmiyorsanız kurulumu iptal ediniz. + +1. TARAFLAR +Bu sözleşme, yazılımın hak sahibi Kovak Yazılım ("Lisans Veren") ile yazılımı kuran ve kullanan gerçek veya tüzel kişi ("Kullanıcı") arasında akdedilmiştir. + +2. LİSANSIN KAPSAMI +2.1. Lisans Veren, Kullanıcı'ya DLS - Dental Lab System yazılımını ("Yazılım") geçerli bir abonelik veya lisans süresince, münhasır olmayan, devredilemez ve alt lisans verilemez şekilde kullanma hakkı tanır. +2.2. Yazılımın mülkiyeti ve tüm fikri ve sınai mülkiyet hakları Kovak Yazılım'a aittir. Bu sözleşme Kullanıcı'ya yalnızca kullanım hakkı verir; herhangi bir mülkiyet hakkı devretmez. +2.3. Yazılımın bazı özellikleri internet bağlantısı ve geçerli bir kullanıcı hesabı gerektirir. + +3. KISITLAMALAR +Kullanıcı, Lisans Veren'in yazılı izni olmaksızın: +a) Yazılımı kopyalayamaz, çoğaltamaz, kiralayamaz, satamaz veya üçüncü kişilere devredemez; +b) Yazılımı tersine mühendislik, kaynak koda dönüştürme (decompile) veya demonte etme işlemlerine tabi tutamaz; +c) Yazılım üzerinde değişiklik yapamaz, türev çalışma oluşturamaz; +d) Yazılımdaki lisans, telif hakkı ve marka bildirimlerini kaldıramaz veya değiştiremez; +e) Lisans veya abonelik kontrollerini atlatmaya yönelik herhangi bir işlem yapamaz. + +4. VERİLER VE GİZLİLİK +4.1. Kullanıcı, Yazılım aracılığıyla işlediği hasta, klinik ve iş verilerinin 6698 sayılı Kişisel Verilerin Korunması Kanunu'na (KVKK) uygun şekilde işlenmesinden sorumludur. +4.2. Lisans Veren, hizmetin sunulması için gerekli verileri yalnızca bu amaçla ve gizlilik politikası çerçevesinde işler. + +5. GÜNCELLEMELER VE DESTEK +Lisans Veren, Yazılım için güncelleme, düzeltme ve yeni sürümler yayınlayabilir. Destek hizmetlerinin kapsamı Kullanıcı'nın abonelik planına göre belirlenir. + +6. SORUMLULUĞUN SINIRLANDIRILMASI +Yazılım "olduğu gibi" sunulmaktadır. Lisans Veren, yürürlükteki mevzuatın izin verdiği azami ölçüde, Yazılım'ın kullanımından veya kullanılamamasından doğabilecek dolaylı zararlardan, veri veya kâr kaybından sorumlu tutulamaz. Kullanıcı, verilerini düzenli olarak yedeklemekle yükümlüdür. + +7. SÖZLEŞMENİN SONA ERMESİ +Kullanıcı'nın bu sözleşme hükümlerine aykırı davranması veya abonelik süresinin sona ermesi halinde kullanım hakkı kendiliğinden sona erer. Bu durumda Kullanıcı Yazılım'ı kullanmayı bırakmalı ve tüm kopyalarını silmelidir. + +8. UYGULANACAK HUKUK +Bu sözleşme Türkiye Cumhuriyeti kanunlarına tabidir. Sözleşmeden doğacak uyuşmazlıklarda Türkiye Cumhuriyeti mahkemeleri ve icra daireleri yetkilidir. + +9. İLETİŞİM +Kovak Yazılım +Web: https://kovakyazilim.com diff --git a/installer/assets/wizard_100.bmp b/installer/assets/wizard_100.bmp new file mode 100644 index 0000000..ab0b36e Binary files /dev/null and b/installer/assets/wizard_100.bmp differ diff --git a/installer/assets/wizard_125.bmp b/installer/assets/wizard_125.bmp new file mode 100644 index 0000000..741e2fa Binary files /dev/null and b/installer/assets/wizard_125.bmp differ diff --git a/installer/assets/wizard_150.bmp b/installer/assets/wizard_150.bmp new file mode 100644 index 0000000..54cbc98 Binary files /dev/null and b/installer/assets/wizard_150.bmp differ diff --git a/installer/assets/wizard_175.bmp b/installer/assets/wizard_175.bmp new file mode 100644 index 0000000..d9e297b Binary files /dev/null and b/installer/assets/wizard_175.bmp differ diff --git a/installer/assets/wizard_200.bmp b/installer/assets/wizard_200.bmp new file mode 100644 index 0000000..6614311 Binary files /dev/null and b/installer/assets/wizard_200.bmp differ diff --git a/installer/assets/wizard_225.bmp b/installer/assets/wizard_225.bmp new file mode 100644 index 0000000..4fccfda Binary files /dev/null and b/installer/assets/wizard_225.bmp differ diff --git a/installer/assets/wizard_250.bmp b/installer/assets/wizard_250.bmp new file mode 100644 index 0000000..679b337 Binary files /dev/null and b/installer/assets/wizard_250.bmp differ diff --git a/installer/assets/wizard_small_100.bmp b/installer/assets/wizard_small_100.bmp new file mode 100644 index 0000000..b9c810f Binary files /dev/null and b/installer/assets/wizard_small_100.bmp differ diff --git a/installer/assets/wizard_small_125.bmp b/installer/assets/wizard_small_125.bmp new file mode 100644 index 0000000..e52ae9a Binary files /dev/null and b/installer/assets/wizard_small_125.bmp differ diff --git a/installer/assets/wizard_small_150.bmp b/installer/assets/wizard_small_150.bmp new file mode 100644 index 0000000..781aa4a Binary files /dev/null and b/installer/assets/wizard_small_150.bmp differ diff --git a/installer/assets/wizard_small_175.bmp b/installer/assets/wizard_small_175.bmp new file mode 100644 index 0000000..0b1c168 Binary files /dev/null and b/installer/assets/wizard_small_175.bmp differ diff --git a/installer/assets/wizard_small_200.bmp b/installer/assets/wizard_small_200.bmp new file mode 100644 index 0000000..2b852ad Binary files /dev/null and b/installer/assets/wizard_small_200.bmp differ diff --git a/installer/assets/wizard_small_225.bmp b/installer/assets/wizard_small_225.bmp new file mode 100644 index 0000000..0f903f2 Binary files /dev/null and b/installer/assets/wizard_small_225.bmp differ diff --git a/installer/assets/wizard_small_250.bmp b/installer/assets/wizard_small_250.bmp new file mode 100644 index 0000000..bf9dff2 Binary files /dev/null and b/installer/assets/wizard_small_250.bmp differ diff --git a/installer/build_installer.ps1 b/installer/build_installer.ps1 new file mode 100644 index 0000000..8a5e217 --- /dev/null +++ b/installer/build_installer.ps1 @@ -0,0 +1,28 @@ +# DLS Windows kurulum dosyasını üretir: flutter build -> VC++ runtime kopyala -> Inno Setup +# Kullanım: powershell -ExecutionPolicy Bypass -File installer\build_installer.ps1 [-SkipBuild] +param([switch]$SkipBuild) +$ErrorActionPreference = 'Stop' + +$root = Split-Path -Parent $PSScriptRoot +$release = Join-Path $root 'build\windows\x64\runner\Release' +$iscc = 'C:\Program Files (x86)\Inno Setup 6\ISCC.exe' + +Push-Location $root +try { + if (-not $SkipBuild) { + flutter build windows --release + if ($LASTEXITCODE -ne 0) { throw 'flutter build windows başarısız' } + } + + # Temiz makinelerde "VCRUNTIME140.dll bulunamadı" hatasını önlemek için + # Visual C++ runtime DLL'lerini uygulama klasörüne koy (app-local deployment). + foreach ($dll in 'msvcp140.dll', 'vcruntime140.dll', 'vcruntime140_1.dll') { + Copy-Item (Join-Path $env:WINDIR "System32\$dll") $release -Force + } + + & $iscc (Join-Path $PSScriptRoot 'setup.iss') + if ($LASTEXITCODE -ne 0) { throw 'ISCC başarısız' } +} +finally { + Pop-Location +} diff --git a/installer/setup.iss b/installer/setup.iss index 75c1cb4..7f2469c 100644 --- a/installer/setup.iss +++ b/installer/setup.iss @@ -1,49 +1,74 @@ -; DLS - Dental Lab System Installer -; Developed by kovakyazilim.com -; Inno Setup Script +; DLS - Dental Lab System Installer +; Bir Kovak Yazılım ürünüdür - kovakyazilim.com +; Inno Setup Script (UTF-8 BOM ile kaydedilmelidir) +; Derleme: installer\build_installer.ps1 #define MyAppName "DLS - Dental Lab System" +#define MyAppShortName "DLS" #define MyAppVersion "1.0.0" -#define MyAppPublisher "kovakyazilim.com" +#define MyAppPublisher "Kovak Yazılım" #define MyAppURL "https://kovakyazilim.com" -#define MyAppExeName "lab_app.exe" +#define MyAppExeName "DLS.exe" +#define ReleaseDir "..\build\windows\x64\runner\Release" [Setup] AppId={{A1B2C3D4-E5F6-7890-ABCD-EF1234567890} AppName={#MyAppName} AppVersion={#MyAppVersion} +AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} -DefaultDirName={autopf}\DLS -DefaultGroupName=DLS +AppCopyright=Copyright (C) 2026 Kovak Yazılım. Tüm hakları saklıdır. +DefaultDirName={autopf}\Kovak Yazılım\DLS +DefaultGroupName=Kovak Yazılım\DLS DisableProgramGroupPage=yes +LicenseFile=LICENSE_TR.txt OutputDir=..\build\installer OutputBaseFilename=DLS_Setup_v{#MyAppVersion} SetupIconFile=..\windows\runner\resources\app_icon.ico -Compression=lzma +UninstallDisplayIcon={app}\{#MyAppExeName} +UninstallDisplayName={#MyAppName} +WizardImageFile=assets\wizard_100.bmp,assets\wizard_125.bmp,assets\wizard_150.bmp,assets\wizard_175.bmp,assets\wizard_200.bmp,assets\wizard_225.bmp,assets\wizard_250.bmp +WizardSmallImageFile=assets\wizard_small_100.bmp,assets\wizard_small_125.bmp,assets\wizard_small_150.bmp,assets\wizard_small_175.bmp,assets\wizard_small_200.bmp,assets\wizard_small_225.bmp,assets\wizard_small_250.bmp +WizardImageStretch=no +VersionInfoVersion={#MyAppVersion} +VersionInfoCompany={#MyAppPublisher} +VersionInfoCopyright=Copyright (C) 2026 Kovak Yazılım +VersionInfoDescription={#MyAppName} Kurulumu +VersionInfoProductName={#MyAppName} +VersionInfoProductVersion={#MyAppVersion} +Compression=lzma2/max SolidCompression=yes WizardStyle=modern +ArchitecturesAllowed=x64 +ArchitecturesInstallIn64BitMode=x64 PrivilegesRequired=admin +CloseApplications=yes [Languages] Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl" Name: "english"; MessagesFile: "compiler:Default.isl" +[Messages] +turkish.BeveledLabel=DLS bir Kovak Yazılım ürünüdür • kovakyazilim.com +english.BeveledLabel=DLS is a Kovak Yazılım product • kovakyazilim.com +turkish.WelcomeLabel1=[name] Kurulumuna Hoş Geldiniz +turkish.WelcomeLabel2=Bu sihirbaz bilgisayarınıza [name/ver] uygulamasını kuracak.%n%nDLS - Dental Lab System bir Kovak Yazılım ürünüdür.%n%nDevam etmeden önce açık olan diğer uygulamaları kapatmanız önerilir. +english.WelcomeLabel2=This will install [name/ver] on your computer.%n%nDLS - Dental Lab System is a Kovak Yazılım product.%n%nIt is recommended that you close all other applications before continuing. +turkish.FinishedHeadingLabel=[name] kurulumu tamamlandı +turkish.FinishedLabel=[name] bilgisayarınıza kuruldu.%n%nKovak Yazılım'ı tercih ettiğiniz için teşekkür ederiz. + [Tasks] Name: "desktopicon"; Description: "Masa&üstü kısayolu oluştur"; GroupDescription: "Kısayollar:" [Files] -Source: "..\build\windows\x64\runner\Release\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion -Source: "..\build\windows\x64\runner\Release\flutter_windows.dll"; DestDir: "{app}"; Flags: ignoreversion -Source: "..\build\windows\x64\runner\Release\share_plus_plugin.dll"; DestDir: "{app}"; Flags: ignoreversion -Source: "..\build\windows\x64\runner\Release\url_launcher_windows_plugin.dll"; DestDir: "{app}"; Flags: ignoreversion -Source: "..\build\windows\x64\runner\Release\data\*"; DestDir: "{app}\data"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: "{#ReleaseDir}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs [Icons] -Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" -Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon +Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Comment: "Bir Kovak Yazılım ürünü" +Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon; Comment: "Bir Kovak Yazılım ürünü" [Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent diff --git a/lib/core/widgets/tooth_logo.dart b/lib/core/widgets/tooth_logo.dart index c53ff3a..1964fda 100644 --- a/lib/core/widgets/tooth_logo.dart +++ b/lib/core/widgets/tooth_logo.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; -/// Renders the DLS brand logo — navy tooth + cyan chevrons. +/// Renders the DLS brand logo (assets/branding/dls_logo.png). /// -/// [color] null → brand colors (#00397C tooth + #57B8CE chevrons). +/// [color] null → original brand colors. /// Pass a color (e.g. Colors.white) for monochrome override on dark backgrounds. class ToothLogo extends StatelessWidget { const ToothLogo({ @@ -11,94 +11,22 @@ class ToothLogo extends StatelessWidget { this.color, }); + static const asset = 'assets/branding/dls_logo.png'; + final double size; final Color? color; @override Widget build(BuildContext context) { - return SizedBox( - width: size * 1.9, - height: size, - child: CustomPaint( - painter: _DlsLogoPainter(color: color), - ), + final box = size * 1.3; + return Image.asset( + asset, + width: box, + height: box, + fit: BoxFit.contain, + filterQuality: FilterQuality.high, + color: color, + colorBlendMode: color == null ? null : BlendMode.srcIn, ); } } - -class _DlsLogoPainter extends CustomPainter { - const _DlsLogoPainter({this.color}); - final Color? color; - - static const _navy = Color(0xFF00397C); - static const _cyan = Color(0xFF57B8CE); - - @override - void paint(Canvas canvas, Size size) { - final toothColor = color ?? _navy; - final chevronColor = color ?? _cyan; - - // Content bounding box in SVG 200×200 space: x=[42.5..157.5], y=[72..133] - // Width=115, Height=61 → aspect ~1.885 ≈ widget aspect 1.9 - const svgLeft = 42.5, svgTop = 72.0, svgWidth = 115.0, svgHeight = 61.0; - final s = size.height / svgHeight; - final dx = (size.width - svgWidth * s) / 2.0 - svgLeft * s; - final dy = (size.height - svgHeight * s) / 2.0 - svgTop * s; - - canvas.translate(dx, dy); - canvas.scale(s); - - _drawTooth(canvas, toothColor); - _drawChevrons(canvas, chevronColor); - } - - static void _drawTooth(Canvas canvas, Color color) { - // SVG path with scale(0.58) + translate(100,100) applied inline. - const cx = 100.0, cy = 100.0, sc = 0.58; - double px(double v) => cx + v * sc; - double py(double v) => cy + v * sc; - - final path = Path() - ..moveTo(px(0), py(-46)) - ..cubicTo(px(-22), py(-50), px(-44), py(-38), px(-44), py(-12)) - ..cubicTo(px(-44), py(8), px(-34), py(32), px(-26), py(46)) - ..cubicTo(px(-20), py(57), px(-11), py(53), px(-8), py(33)) - ..cubicTo(px(-6), py(19), px(-2), py(17), px(0), py(17)) - ..cubicTo(px(2), py(17), px(6), py(19), px(8), py(33)) - ..cubicTo(px(11), py(53), px(20), py(57), px(26), py(46)) - ..cubicTo(px(34), py(32), px(44), py(8), px(44), py(-12)) - ..cubicTo(px(44), py(-38), px(22), py(-50), px(0), py(-46)) - ..close(); - - canvas.drawPath(path, Paint()..color = color..style = PaintingStyle.fill); - } - - static void _drawChevrons(Canvas canvas, Color color) { - final paint = Paint() - ..color = color - ..style = PaintingStyle.stroke - ..strokeWidth = 11.0 - ..strokeCap = StrokeCap.round - ..strokeJoin = StrokeJoin.round; - - // Polyline points + translate(100,100). Left: (-52,-22)→(-34,0)→(-52,22) - canvas.drawPath( - Path() - ..moveTo(48, 78) - ..lineTo(66, 100) - ..lineTo(48, 122), - paint, - ); - // Right: (52,-22)→(34,0)→(52,22) - canvas.drawPath( - Path() - ..moveTo(152, 78) - ..lineTo(134, 100) - ..lineTo(152, 122), - paint, - ); - } - - @override - bool shouldRepaint(_DlsLogoPainter old) => old.color != color; -} diff --git a/lib/main.dart b/lib/main.dart index 0922b72..070bfbe 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -83,14 +83,6 @@ const _dlsLight = ColorScheme( chart3: Color(0xFFF59E0B), chart4: Color(0xFF0369A1), chart5: Color(0xFFDC2626), - sidebar: Color(0xFFFFFFFF), - sidebarForeground: Color(0xFF0F172A), - sidebarPrimary: Color(0xFF1E3A5F), - sidebarPrimaryForeground: Color(0xFFFFFFFF), - sidebarAccent: Color(0xFFF1F5F9), - sidebarAccentForeground: Color(0xFF0F172A), - sidebarBorder: Color(0xFFE2E8F0), - sidebarRing: Color(0xFF0369A1), ); // ── DLS Dark color scheme ───────────────────────────────────────────────────── @@ -120,12 +112,4 @@ const _dlsDark = ColorScheme( chart3: Color(0xFFFCD34D), chart4: Color(0xFF7DD3FC), chart5: Color(0xFFFCA5A5), - sidebar: Color(0xFF1E293B), - sidebarForeground: Color(0xFFF1F5F9), - sidebarPrimary: Color(0xFF93C5FD), - sidebarPrimaryForeground: Color(0xFF1E3A5F), - sidebarAccent: Color(0xFF273344), - sidebarAccentForeground: Color(0xFFF1F5F9), - sidebarBorder: Color(0xFF334155), - sidebarRing: Color(0xFF7DD3FC), ); diff --git a/pubspec.lock b/pubspec.lock index 63d4daf..0a6cf6e 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -25,6 +25,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.13.4" + animation_kit: + dependency: transitive + description: + name: animation_kit + sha256: d9b0944b3ee02fae3fedbc6cb04d9a9ea26ad1d29f3261e0b55443b1e0bfba63 + url: "https://pub.dev" + source: hosted + version: "0.0.2" archive: dependency: transitive description: @@ -149,10 +157,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" charcode: dependency: transitive description: @@ -209,14 +217,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.1.2" - country_flags: - dependency: transitive - description: - name: country_flags - sha256: f022d18337f3861f1f4e319b936cb53920de9259f38cb09e169eace9942e2b79 - url: "https://pub.dev" - source: hosted - version: "4.1.2" cross_file: dependency: transitive description: @@ -281,14 +281,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.28.0" - email_validator: - dependency: transitive - description: - name: email_validator - sha256: b19aa5d92fdd76fbc65112060c94d45ba855105a28bb6e462de7ff03b12fa1fb - url: "https://pub.dev" - source: hosted - version: "3.0.0" equatable: dependency: "direct main" description: @@ -297,14 +289,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.8" - expressions: - dependency: transitive - description: - name: expressions - sha256: f3b0e99563a9a1bde1138e728eb722f292cc7d2aec55d28136c49b1a370306c5 - url: "https://pub.dev" - source: hosted - version: "0.2.5+3" fake_async: dependency: transitive description: @@ -601,10 +585,10 @@ packages: dependency: "direct main" description: name: intl - sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" + sha256: "1ca20c894b1717686a2319b8548763d812bc0aabdac580420a44c5178c57a867" url: "https://pub.dev" source: hosted - version: "0.20.2" + version: "0.20.3" io: dependency: transitive description: @@ -613,22 +597,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.5" - jovial_misc: - dependency: transitive - description: - name: jovial_misc - sha256: "065b5240badae6b13472efdea28fffe8baf914a7831361469a95c6456d9b8dc8" - url: "https://pub.dev" - source: hosted - version: "0.10.0" - jovial_svg: - dependency: transitive - description: - name: jovial_svg - sha256: "99e9c3afcf7371ae38083ad52de23677d6d751f46150c3c6ae842e009e84d9f0" - url: "https://pub.dev" - source: hosted - version: "1.1.29" js: dependency: transitive description: @@ -729,26 +697,26 @@ packages: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: "31bd099b47c10cd1aeb55146a2d46ce0277630ecef3f7dae54ad7873f36696cd" url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.20" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" meta: dependency: transitive description: name: meta - sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" + sha256: "307249ce4ff29d58a18e97f6345f539382eb9c9c29ecda628900f31de0443dd9" url: "https://pub.dev" source: hosted - version: "1.17.0" + version: "1.19.0" mime: dependency: transitive description: @@ -853,14 +821,6 @@ packages: url: "https://pub.dev" source: hosted version: "7.0.2" - phonecodes: - dependency: transitive - description: - name: phonecodes - sha256: d963c19d35914cd83620e64125689a0c09047e25046639f2a124142ccf5868bb - url: "https://pub.dev" - source: hosted - version: "0.0.4" platform: dependency: transitive description: @@ -917,14 +877,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.5.0" - quiver: - dependency: transitive - description: - name: quiver - sha256: ea0b925899e64ecdfbf9c7becb60d5b50e706ade44a85b2363be2a22d88117d2 - url: "https://pub.dev" - source: hosted - version: "3.2.2" recase: dependency: transitive description: @@ -977,10 +929,10 @@ packages: dependency: "direct main" description: name: shadcn_flutter - sha256: "1fd4f798c39d6308dc8f7e94d9e870b5db39fbf417ea95c423c7555ce8227a1c" + sha256: da1cb2f93176f62f1e869e38f2ff944d1af0a24ddf7fc8f02f7ef3066f397886 url: "https://pub.dev" source: hosted - version: "0.0.47" + version: "0.0.55" share_plus: dependency: "direct main" description: @@ -1077,14 +1029,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.0" - skeletonizer: - dependency: transitive - description: - name: skeletonizer - sha256: "9f38f9b47ec3cf2235a6a4f154a88a95432bc55ba98b3e2eb6ced5c1974bc122" - url: "https://pub.dev" - source: hosted - version: "2.1.3" sky_engine: dependency: transitive description: flutter @@ -1230,10 +1174,10 @@ packages: dependency: transitive description: name: test_api - sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55 + sha256: "2a122cbe059f8b610d3a5415f42e255b6c17b1f21eee1d960f31080237fb4f11" url: "https://pub.dev" source: hosted - version: "0.7.7" + version: "0.7.12" timing: dependency: transitive description: @@ -1318,10 +1262,10 @@ packages: dependency: transitive description: name: vector_math - sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b + sha256: "92b9910f66ed1057fd4da7b040ae7c74cafacf885bdc81be496928d5049b032d" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.4.3" vm_service: dependency: transitive description: @@ -1395,5 +1339,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.9.0 <4.0.0" - flutter: ">=3.35.0" + dart: ">=3.13.0 <4.0.0" + flutter: ">=3.47.0" diff --git a/pubspec.yaml b/pubspec.yaml index c335b4c..7dbbf37 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -48,7 +48,7 @@ dependencies: json_annotation: ^4.9.0 equatable: ^2.0.5 uuid: ^4.4.0 - shadcn_flutter: ^0.0.47 + shadcn_flutter: ^0.0.55 dev_dependencies: flutter_test: @@ -62,3 +62,5 @@ dev_dependencies: flutter: uses-material-design: true + assets: + - assets/branding/ diff --git a/windows/CMakeLists.txt b/windows/CMakeLists.txt index a8996aa..b4477c0 100644 --- a/windows/CMakeLists.txt +++ b/windows/CMakeLists.txt @@ -4,7 +4,7 @@ project(lab_app LANGUAGES CXX) # The name of the executable created for the application. Change this to change # the on-disk name of your application. -set(BINARY_NAME "lab_app") +set(BINARY_NAME "DLS") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. @@ -41,6 +41,7 @@ function(APPLY_STANDARD_SETTINGS TARGET) target_compile_features(${TARGET} PUBLIC cxx_std_17) target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") target_compile_options(${TARGET} PRIVATE /EHsc) + target_compile_options(${TARGET} PRIVATE /utf-8) target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") endfunction() diff --git a/windows/runner/Runner.rc b/windows/runner/Runner.rc index 0b50444..d88e222 100644 --- a/windows/runner/Runner.rc +++ b/windows/runner/Runner.rc @@ -89,11 +89,11 @@ BEGIN BEGIN BLOCK "040904e4" BEGIN - VALUE "CompanyName", "kovakyazilim.com" "\0" - VALUE "FileDescription", "DLS - Dental Lab System" "\0" + VALUE "CompanyName", "Kovak Yazılım" "\0" + VALUE "FileDescription", "DLS - Dental Lab System | Bir Kovak Yazılım ürünü" "\0" VALUE "FileVersion", VERSION_AS_STRING "\0" VALUE "InternalName", "DLS" "\0" - VALUE "LegalCopyright", "Copyright (C) 2026 kovakyazilim.com. All rights reserved." "\0" + VALUE "LegalCopyright", "Copyright (C) 2026 Kovak Yazılım (kovakyazilim.com). Tüm hakları saklıdır." "\0" VALUE "OriginalFilename", "DLS.exe" "\0" VALUE "ProductName", "DLS - Dental Lab System" "\0" VALUE "ProductVersion", VERSION_AS_STRING "\0" diff --git a/windows/runner/main.cpp b/windows/runner/main.cpp index 9a995fa..ca9045d 100644 --- a/windows/runner/main.cpp +++ b/windows/runner/main.cpp @@ -27,7 +27,7 @@ int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, FlutterWindow window(project); Win32Window::Point origin(10, 10); Win32Window::Size size(1280, 720); - if (!window.Create(L"DLS - Dental Lab System | kovakyazilim.com", origin, size)) { + if (!window.Create(L"DLS - Dental Lab System | Kovak Yazılım", origin, size)) { return EXIT_FAILURE; } window.SetQuitOnClose(true); diff --git a/windows/runner/resources/app_icon.ico b/windows/runner/resources/app_icon.ico index c04e20c..aa717ac 100644 Binary files a/windows/runner/resources/app_icon.ico and b/windows/runner/resources/app_icon.ico differ