296 lines
19 KiB
XML
296 lines
19 KiB
XML
<Window x:Class="ClaudeCheckerWindows.PopupWindow"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:ctrl="clr-namespace:ClaudeCheckerWindows.Controls"
|
|
Title="ClaudeChecker"
|
|
Width="480" Height="660"
|
|
WindowStartupLocation="CenterScreen"
|
|
Background="{DynamicResource BackgroundBrush}"
|
|
FontFamily="Segoe UI"
|
|
ShowInTaskbar="True"
|
|
ResizeMode="NoResize">
|
|
|
|
<Grid>
|
|
<!-- Main panel -->
|
|
<DockPanel x:Name="MainPanel">
|
|
|
|
<!-- Update banner -->
|
|
<Border x:Name="UpdateBanner" DockPanel.Dock="Top" Visibility="Collapsed"
|
|
Background="{DynamicResource BannerBgBrush}"
|
|
BorderBrush="{DynamicResource BannerBorderBrush}" BorderThickness="0,0,0,1"
|
|
Cursor="Hand" MouseLeftButtonUp="UpdateBanner_Click">
|
|
<Grid Margin="16,10">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<TextBlock Grid.Column="0" Text="⬇" FontSize="14"
|
|
Foreground="{DynamicResource BlueBrush}" VerticalAlignment="Center"/>
|
|
<StackPanel Grid.Column="1" Margin="10,0">
|
|
<TextBlock x:Name="UpdateBannerTitle" FontSize="12" FontWeight="SemiBold"
|
|
Foreground="{DynamicResource TextBrush}"/>
|
|
<TextBlock Text="Click to view release notes and install."
|
|
FontSize="11" Foreground="{DynamicResource SecondaryBrush}"/>
|
|
</StackPanel>
|
|
<Button Grid.Column="2" Content="Update" Style="{StaticResource SmallButton}"
|
|
Foreground="{DynamicResource BlueBrush}" Click="UpdateBanner_Click"/>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<!-- Footer -->
|
|
<Border DockPanel.Dock="Bottom" BorderBrush="{DynamicResource BorderBrush}"
|
|
BorderThickness="0,1,0,0" Background="{DynamicResource SurfaceBrush}">
|
|
<Grid Margin="12,8">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="8"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="8"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<StackPanel Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center">
|
|
<ProgressBar x:Name="LoadingBar" IsIndeterminate="True"
|
|
Width="12" Height="12" Visibility="Collapsed"
|
|
Style="{x:Null}" Margin="0,0,6,0"/>
|
|
<TextBlock x:Name="LastUpdatedText" FontSize="11"
|
|
Foreground="{DynamicResource SecondaryBrush}" VerticalAlignment="Center"/>
|
|
</StackPanel>
|
|
<Button Grid.Column="1" Content="↻ Refresh"
|
|
Style="{StaticResource SmallButton}" Click="Refresh_Click"/>
|
|
<Button Grid.Column="3" x:Name="SettingsButton" Content="⚙ Settings"
|
|
Style="{StaticResource SmallButton}" Click="Settings_Click"/>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<!-- Cards scroll area -->
|
|
<ScrollViewer VerticalScrollBarVisibility="Auto">
|
|
<StackPanel x:Name="CardsPanel" Margin="0,4,0,4"/>
|
|
</ScrollViewer>
|
|
</DockPanel>
|
|
|
|
<!-- Settings panel -->
|
|
<Border x:Name="SettingsPanel" Visibility="Collapsed"
|
|
Background="{DynamicResource BackgroundBrush}">
|
|
<DockPanel>
|
|
<Border DockPanel.Dock="Top" BorderBrush="{DynamicResource BorderBrush}"
|
|
BorderThickness="0,0,0,1" Background="{DynamicResource SurfaceBrush}" Padding="12,10">
|
|
<Grid>
|
|
<Button Content="← Back" HorizontalAlignment="Left"
|
|
Style="{StaticResource SmallButton}" BorderThickness="0"
|
|
Foreground="{DynamicResource BlueBrush}" Background="Transparent"
|
|
Click="BackFromSettings_Click"/>
|
|
<TextBlock Text="Settings" FontSize="14" FontWeight="SemiBold"
|
|
Foreground="{DynamicResource TextBrush}"
|
|
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<ScrollViewer VerticalScrollBarVisibility="Auto">
|
|
<StackPanel Margin="20,16,20,20">
|
|
|
|
<TextBlock Text="AUTHENTICATION" Style="{StaticResource HeaderText}" Margin="0,0,0,8"/>
|
|
<Border Background="{DynamicResource CardBrush}" CornerRadius="6"
|
|
BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1"
|
|
Padding="14,12" Margin="0,0,0,16">
|
|
<StackPanel>
|
|
<StackPanel x:Name="AuthPanel" Margin="0,0,0,10"/>
|
|
<TextBlock Text="Your session is stored locally and persists across restarts."
|
|
FontSize="11" Foreground="{DynamicResource SecondaryBrush}"
|
|
TextWrapping="Wrap" Margin="0,0,0,10"/>
|
|
<StackPanel Orientation="Horizontal">
|
|
<Button x:Name="SignInButton" Content="Sign In"
|
|
Style="{StaticResource SmallButton}"
|
|
Click="SignIn_Click" Margin="0,0,8,0"/>
|
|
<Button x:Name="SignOutButton" Content="Sign Out"
|
|
Style="{StaticResource SmallButton}"
|
|
Click="SignOut_Click" Foreground="#C42B1C"
|
|
Visibility="Collapsed"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
<TextBlock Text="UPDATE CHANNEL" Style="{StaticResource HeaderText}" Margin="0,0,0,8"/>
|
|
<Border Background="{DynamicResource CardBrush}" CornerRadius="6"
|
|
BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1"
|
|
Padding="14,12" Margin="0,0,0,16">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<StackPanel>
|
|
<TextBlock Text="Beta updates" FontSize="12" FontWeight="SemiBold"
|
|
Foreground="{DynamicResource TextBrush}"/>
|
|
<TextBlock Text="Receive early access builds — may be less stable"
|
|
FontSize="11" Foreground="{DynamicResource SecondaryBrush}"/>
|
|
</StackPanel>
|
|
<CheckBox Grid.Column="1" x:Name="BetaToggle" VerticalAlignment="Center"
|
|
Checked="BetaToggle_Changed" Unchecked="BetaToggle_Changed"/>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<TextBlock Text="AUTO-REFRESH" Style="{StaticResource HeaderText}" Margin="0,0,0,8"/>
|
|
<Border Background="{DynamicResource CardBrush}" CornerRadius="6"
|
|
BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1"
|
|
Padding="14,12" Margin="0,0,0,16">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<TextBlock Text="Refresh interval" FontSize="12" FontWeight="SemiBold"
|
|
Foreground="{DynamicResource TextBrush}" VerticalAlignment="Center"/>
|
|
<ComboBox Grid.Column="1" x:Name="RefreshPicker" Width="100"
|
|
SelectionChanged="RefreshPicker_Changed"/>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<TextBlock Text="ABOUT" Style="{StaticResource HeaderText}" Margin="0,0,0,8"/>
|
|
<Border Background="{DynamicResource CardBrush}" CornerRadius="6"
|
|
BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1"
|
|
Padding="14,12" Margin="0,0,0,16">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Image Width="36" Height="36" Source="Assets/icon.png"
|
|
RenderOptions.BitmapScalingMode="HighQuality" Margin="0,0,12,0"/>
|
|
<StackPanel Grid.Column="1" VerticalAlignment="Center">
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock Text="ClaudeChecker" FontSize="12" FontWeight="SemiBold"
|
|
Foreground="{DynamicResource TextBrush}"/>
|
|
<Border Background="{DynamicResource BadgeBrush}" CornerRadius="3"
|
|
Margin="6,0,0,0" Padding="5,1">
|
|
<TextBlock x:Name="VersionLabel" FontSize="11"
|
|
Foreground="{DynamicResource SecondaryBrush}"
|
|
FontFamily="Consolas"/>
|
|
</Border>
|
|
</StackPanel>
|
|
<TextBlock Text="Built by superdooper86 & claude"
|
|
FontSize="11" Foreground="{DynamicResource SecondaryBrush}"/>
|
|
</StackPanel>
|
|
<StackPanel Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Right">
|
|
<Button x:Name="CheckUpdateButton"
|
|
Style="{StaticResource SmallButton}"
|
|
Click="CheckUpdate_Click"/>
|
|
<TextBlock x:Name="UpdateAvailableText" FontSize="10"
|
|
Foreground="{DynamicResource BlueBrush}"
|
|
HorizontalAlignment="Center"
|
|
Visibility="Collapsed" Margin="0,4,0,0"/>
|
|
</StackPanel>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<TextBlock Text="DIAGNOSTICS" Style="{StaticResource HeaderText}" Margin="0,0,0,8"/>
|
|
<Border Background="{DynamicResource CardBrush}" CornerRadius="6"
|
|
BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1"
|
|
Padding="14,12">
|
|
<StackPanel>
|
|
<TextBlock Text="View app state, last request details, and stored cookies."
|
|
FontSize="11" Foreground="{DynamicResource SecondaryBrush}"
|
|
TextWrapping="Wrap" Margin="0,0,0,10"/>
|
|
<Button Content="Open diagnostics" Style="{StaticResource SmallButton}"
|
|
HorizontalAlignment="Left" Click="Diagnostics_Click"/>
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
</StackPanel>
|
|
</ScrollViewer>
|
|
</DockPanel>
|
|
</Border>
|
|
|
|
<!-- Update panel -->
|
|
<Border x:Name="UpdatePanel" Visibility="Collapsed"
|
|
Background="{DynamicResource BackgroundBrush}">
|
|
<DockPanel>
|
|
<Border DockPanel.Dock="Top" BorderBrush="{DynamicResource BorderBrush}"
|
|
BorderThickness="0,0,0,1" Background="{DynamicResource SurfaceBrush}" Padding="12,10">
|
|
<Grid>
|
|
<Button Content="← Back" HorizontalAlignment="Left"
|
|
Style="{StaticResource SmallButton}" BorderThickness="0"
|
|
Foreground="{DynamicResource BlueBrush}" Background="Transparent"
|
|
Click="CloseUpdate_Click"/>
|
|
<TextBlock Text="Update Available" FontSize="14" FontWeight="SemiBold"
|
|
Foreground="{DynamicResource TextBrush}"
|
|
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
|
<Button x:Name="NotNowButton" Content="Not Now" HorizontalAlignment="Right"
|
|
Style="{StaticResource SmallButton}" Click="CloseUpdate_Click"/>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<StackPanel Margin="20,16">
|
|
<Border Background="{DynamicResource CardBrush}" CornerRadius="6"
|
|
BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1"
|
|
Padding="14,12" Margin="0,0,0,12">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Image Width="44" Height="44" Source="Assets/icon.png"
|
|
RenderOptions.BitmapScalingMode="HighQuality" Margin="0,0,14,0"/>
|
|
<StackPanel Grid.Column="1" VerticalAlignment="Center">
|
|
<StackPanel Orientation="Horizontal" Margin="0,0,0,4">
|
|
<TextBlock x:Name="CurrentVerLabel" FontSize="12" FontFamily="Consolas"
|
|
Foreground="{DynamicResource SecondaryBrush}" VerticalAlignment="Center"/>
|
|
<TextBlock Text=" → " FontSize="11" Foreground="{DynamicResource SecondaryBrush}"
|
|
VerticalAlignment="Center"/>
|
|
<TextBlock x:Name="NewVerLabel" FontSize="13" FontWeight="SemiBold"
|
|
FontFamily="Consolas" Foreground="{DynamicResource BlueBrush}"
|
|
VerticalAlignment="Center"/>
|
|
</StackPanel>
|
|
<TextBlock x:Name="ReleaseNotesText" FontSize="11" TextWrapping="Wrap"
|
|
Foreground="{DynamicResource SecondaryBrush}" MaxHeight="160"/>
|
|
</StackPanel>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<TextBlock x:Name="UpdateStatusText" Foreground="{DynamicResource SecondaryBrush}"
|
|
FontSize="11" TextWrapping="Wrap" TextAlignment="Center"
|
|
Visibility="Collapsed" Margin="0,0,0,8"/>
|
|
<ProgressBar x:Name="UpdateProgress" Visibility="Collapsed"
|
|
Height="4" Margin="0,0,0,12" Foreground="{DynamicResource BlueBrush}"/>
|
|
<TextBlock Text="ClaudeChecker will download, replace itself, and relaunch automatically."
|
|
FontSize="11" Foreground="{DynamicResource SecondaryBrush}"
|
|
TextWrapping="Wrap" TextAlignment="Center" Margin="0,0,0,12"/>
|
|
<Button x:Name="InstallButton" Content="⬇ Download & Install"
|
|
Style="{StaticResource PrimaryButton}" HorizontalAlignment="Stretch"
|
|
Click="Install_Click"/>
|
|
</StackPanel>
|
|
</DockPanel>
|
|
</Border>
|
|
|
|
<!-- Diagnostics panel -->
|
|
<Border x:Name="DiagnosticsPanel" Visibility="Collapsed"
|
|
Background="{DynamicResource BackgroundBrush}">
|
|
<DockPanel>
|
|
<Border DockPanel.Dock="Top" BorderBrush="{DynamicResource BorderBrush}"
|
|
BorderThickness="0,0,0,1" Background="{DynamicResource SurfaceBrush}" Padding="12,10">
|
|
<Grid>
|
|
<Button Content="← Back" HorizontalAlignment="Left"
|
|
Style="{StaticResource SmallButton}" BorderThickness="0"
|
|
Foreground="{DynamicResource BlueBrush}" Background="Transparent"
|
|
Click="BackFromDiag_Click"/>
|
|
<TextBlock Text="Diagnostics" FontSize="14" FontWeight="SemiBold"
|
|
Foreground="{DynamicResource TextBrush}"
|
|
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
|
<Button x:Name="CopyDiagButton" Content="Copy All" HorizontalAlignment="Right"
|
|
Style="{StaticResource SmallButton}" Click="CopyDiag_Click"/>
|
|
</Grid>
|
|
</Border>
|
|
<TextBlock DockPanel.Dock="Top" Text="Email and org IDs are redacted when copied."
|
|
FontSize="10" Foreground="{DynamicResource SecondaryBrush}"
|
|
Margin="14,6,14,6"/>
|
|
<ScrollViewer VerticalScrollBarVisibility="Auto">
|
|
<StackPanel x:Name="DiagContentPanel" Margin="16,4,16,16"/>
|
|
</ScrollViewer>
|
|
</DockPanel>
|
|
</Border>
|
|
|
|
</Grid>
|
|
</Window>
|