mirror of
https://github.com/RoyalnetworkTR/simple-launcher.git
synced 2026-09-25 00:59:49 +03:00
Backend (PHP+SQLite): Discord OAuth2 + JWT, coklu hesap (1 Discord = 3-5), tek-kullanimlik join token (/api/join/prepare+verify), custom skin yukleme/sunma, hesap/Discord/HWID ban, admin paneli kartlari; deterministik offline UUID (PHP<->C# paritesi dogrulandi). 25 entegrasyon testi gecti. AthenaCore (Forge 1.12.2): tek client+server mod — join token dogrulama + kick, grace-gate, custom skin uygulama. Sunucu offline-mode kalir (UUID/dunya verisi korunur). Masaustu: WPF -> Avalonia (Windows+Linux), Discord giris/hesap/skin/oyna; WMI/DPAPI yerine cross-platform (machine-id HWID, AES-GCM secret store). Derlenir + calisir. CI: athenacore-mod.yml (JDK8), desktop-release.yml (Win+Linux self-contained). Deploy: deploy.sh (.env uretimi, php-gd, nginx Authorization gecisi) + HANDOFF.md. Android: backend hazir; entegrasyon spec'i ANDROID_INTEGRATION.md.
108 lines
5.0 KiB
XML
108 lines
5.0 KiB
XML
<Application xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
x:Class="OfflineMinecraftLauncher.App"
|
|
RequestedThemeVariant="Dark">
|
|
<Application.Resources>
|
|
<ResourceDictionary>
|
|
<ResourceDictionary.MergedDictionaries>
|
|
<ResourceInclude Source="avares://AthenaStudiosLauncher/Theme/Brand.axaml" />
|
|
</ResourceDictionary.MergedDictionaries>
|
|
</ResourceDictionary>
|
|
</Application.Resources>
|
|
|
|
<Application.Styles>
|
|
<FluentTheme />
|
|
|
|
<!-- Accent (primary) button -->
|
|
<Style Selector="Button.accent">
|
|
<Setter Property="Background" Value="{StaticResource AccentBrush}" />
|
|
<Setter Property="Foreground" Value="White" />
|
|
<Setter Property="CornerRadius" Value="8" />
|
|
<Setter Property="Padding" Value="18,11" />
|
|
<Setter Property="FontWeight" Value="SemiBold" />
|
|
<Setter Property="Cursor" Value="Hand" />
|
|
<Setter Property="HorizontalContentAlignment" Value="Center" />
|
|
</Style>
|
|
<Style Selector="Button.accent:pointerover /template/ ContentPresenter">
|
|
<Setter Property="Background" Value="{StaticResource AccentGlowBrush}" />
|
|
<Setter Property="Foreground" Value="White" />
|
|
</Style>
|
|
<Style Selector="Button.accent:disabled /template/ ContentPresenter">
|
|
<Setter Property="Background" Value="{StaticResource BorderBrush}" />
|
|
</Style>
|
|
|
|
<!-- Ghost (secondary) button -->
|
|
<Style Selector="Button.ghost">
|
|
<Setter Property="Background" Value="Transparent" />
|
|
<Setter Property="Foreground" Value="{StaticResource TextBrush}" />
|
|
<Setter Property="BorderBrush" Value="{StaticResource BorderBrush}" />
|
|
<Setter Property="BorderThickness" Value="1" />
|
|
<Setter Property="CornerRadius" Value="8" />
|
|
<Setter Property="Padding" Value="14,9" />
|
|
<Setter Property="Cursor" Value="Hand" />
|
|
</Style>
|
|
<Style Selector="Button.ghost:pointerover /template/ ContentPresenter">
|
|
<Setter Property="Background" Value="{StaticResource Surface2Brush}" />
|
|
<Setter Property="BorderBrush" Value="{StaticResource AccentBrush}" />
|
|
</Style>
|
|
|
|
<!-- Danger button -->
|
|
<Style Selector="Button.danger">
|
|
<Setter Property="Background" Value="Transparent" />
|
|
<Setter Property="Foreground" Value="{StaticResource DangerBrush}" />
|
|
<Setter Property="BorderBrush" Value="{StaticResource DangerBrush}" />
|
|
<Setter Property="BorderThickness" Value="1" />
|
|
<Setter Property="CornerRadius" Value="8" />
|
|
<Setter Property="Padding" Value="12,8" />
|
|
<Setter Property="Cursor" Value="Hand" />
|
|
</Style>
|
|
|
|
<!-- Card container -->
|
|
<Style Selector="Border.card">
|
|
<Setter Property="Background" Value="{StaticResource SurfaceBrush}" />
|
|
<Setter Property="BorderBrush" Value="{StaticResource BorderBrush}" />
|
|
<Setter Property="BorderThickness" Value="1" />
|
|
<Setter Property="CornerRadius" Value="12" />
|
|
<Setter Property="Padding" Value="18" />
|
|
</Style>
|
|
|
|
<!-- Text helpers -->
|
|
<Style Selector="TextBlock.title">
|
|
<Setter Property="FontSize" Value="20" />
|
|
<Setter Property="FontWeight" Value="Bold" />
|
|
<Setter Property="Foreground" Value="{StaticResource TextBrush}" />
|
|
</Style>
|
|
<Style Selector="TextBlock.muted">
|
|
<Setter Property="Foreground" Value="{StaticResource TextMutedBrush}" />
|
|
<Setter Property="FontSize" Value="13" />
|
|
</Style>
|
|
|
|
<!-- Sidebar nav buttons -->
|
|
<Style Selector="Button.nav">
|
|
<Setter Property="Background" Value="Transparent" />
|
|
<Setter Property="Foreground" Value="{StaticResource TextMutedBrush}" />
|
|
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
|
<Setter Property="HorizontalContentAlignment" Value="Left" />
|
|
<Setter Property="Padding" Value="14,11" />
|
|
<Setter Property="CornerRadius" Value="8" />
|
|
<Setter Property="FontSize" Value="14" />
|
|
<Setter Property="Cursor" Value="Hand" />
|
|
</Style>
|
|
<Style Selector="Button.nav:pointerover /template/ ContentPresenter">
|
|
<Setter Property="Background" Value="{StaticResource Surface2Brush}" />
|
|
<Setter Property="Foreground" Value="{StaticResource TextBrush}" />
|
|
</Style>
|
|
<Style Selector="Button.nav.active">
|
|
<Setter Property="Foreground" Value="White" />
|
|
</Style>
|
|
<Style Selector="Button.nav.active /template/ ContentPresenter">
|
|
<Setter Property="Background" Value="{StaticResource AccentBrush}" />
|
|
</Style>
|
|
|
|
<!-- Inputs -->
|
|
<Style Selector="TextBox">
|
|
<Setter Property="CornerRadius" Value="8" />
|
|
</Style>
|
|
</Application.Styles>
|
|
</Application>
|