RetroGamingAppPage.xaml 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <UserControl xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. x:Class="ControlCatalog.Pages.RetroGamingAppPage">
  4. <UserControl.Resources>
  5. <SolidColorBrush x:Key="RetroBg" Color="#120a1f"/>
  6. <SolidColorBrush x:Key="RetroSurface" Color="#2d1b4e"/>
  7. <SolidColorBrush x:Key="RetroPrimary" Color="#ad2bee"/>
  8. <SolidColorBrush x:Key="RetroCyan" Color="#00ffff"/>
  9. <SolidColorBrush x:Key="RetroYellow" Color="#ffff00"/>
  10. <SolidColorBrush x:Key="RetroText" Color="#e0d0ff"/>
  11. <SolidColorBrush x:Key="RetroMuted" Color="#7856a8"/>
  12. </UserControl.Resources>
  13. <DockPanel>
  14. <ScrollViewer x:Name="InfoPanel" DockPanel.Dock="Right" Width="300">
  15. <StackPanel Margin="16" Spacing="16">
  16. <TextBlock Text="Retro Gaming" FontSize="16" FontWeight="SemiBold"
  17. Foreground="{DynamicResource SystemControlHighlightAccentBrush}" />
  18. <TextBlock TextWrapping="Wrap" FontSize="12" Opacity="0.7"
  19. Text="Retro arcade-style game browser. NavigationPage shows the app header and coin counter. TabbedPage provides the bottom tab bar with 5 sections. Tapping a game card pushes a full detail screen." />
  20. <Separator />
  21. <TextBlock Text="Navigation Flow" FontSize="13" FontWeight="SemiBold" />
  22. <StackPanel Spacing="4">
  23. <TextBlock FontSize="12" TextWrapping="Wrap" Text="1. Home: TabbedPage root in NavigationPage" />
  24. <TextBlock FontSize="12" TextWrapping="Wrap" Text="2. Browse tabs: Home, Games, Search, Favorites, Profile" />
  25. <TextBlock FontSize="12" TextWrapping="Wrap" Text="3. Tap any game card → detail page pushed" />
  26. <TextBlock FontSize="12" TextWrapping="Wrap" Text="4. ← Back returns to TabbedPage" />
  27. </StackPanel>
  28. </StackPanel>
  29. </ScrollViewer>
  30. <Border BorderBrush="{DynamicResource SystemControlForegroundBaseMediumLowBrush}"
  31. BorderThickness="1" CornerRadius="8" ClipToBounds="True">
  32. <Panel>
  33. <NavigationPage x:Name="RetroNav"
  34. Background="{StaticResource RetroBg}"
  35. BarHeight="64">
  36. <NavigationPage.Resources>
  37. <SolidColorBrush x:Key="NavigationBarBackground" Color="#2d1b4e" />
  38. <SolidColorBrush x:Key="NavigationBarForeground" Color="#00ffff" />
  39. </NavigationPage.Resources>
  40. </NavigationPage>
  41. </Panel>
  42. </Border>
  43. </DockPanel>
  44. <UserControl.Styles>
  45. <!-- Nav back button: square bordered box -->
  46. <Style Selector="NavigationPage /template/ Button#PART_BackButton">
  47. <Setter Property="Margin" Value="4,0,0,0"/>
  48. <Setter Property="Width" Value="32"/>
  49. <Setter Property="Height" Value="32"/>
  50. <Setter Property="Padding" Value="0"/>
  51. <Setter Property="BorderThickness" Value="1"/>
  52. <Setter Property="BorderBrush" Value="{StaticResource RetroCyan}"/>
  53. <Setter Property="CornerRadius" Value="0"/>
  54. <Setter Property="Background" Value="{StaticResource RetroSurface}"/>
  55. <Setter Property="Foreground" Value="{StaticResource RetroCyan}"/>
  56. </Style>
  57. <Style Selector="NavigationPage /template/ Button#PART_BackButton:pointerover">
  58. <Setter Property="Background" Value="#3d2b6e"/>
  59. <Setter Property="BorderBrush" Value="{StaticResource RetroCyan}"/>
  60. <Setter Property="Foreground" Value="{StaticResource RetroCyan}"/>
  61. </Style>
  62. <Style Selector="NavigationPage /template/ Button#PART_BackButton:pressed">
  63. <Setter Property="Background" Value="#1e1035"/>
  64. <Setter Property="BorderBrush" Value="{StaticResource RetroCyan}"/>
  65. <Setter Property="Foreground" Value="{StaticResource RetroCyan}"/>
  66. </Style>
  67. <Style Selector="NavigationPage /template/ Path#PART_BackButtonDefaultIcon">
  68. <Setter Property="Fill" Value="{StaticResource RetroCyan}"/>
  69. <Setter Property="Width" Value="16"/>
  70. <Setter Property="Height" Value="16"/>
  71. </Style>
  72. <Style Selector="NavigationPage /template/ Button#PART_BackButton:pointerover Path#PART_BackButtonDefaultIcon">
  73. <Setter Property="Fill" Value="{StaticResource RetroCyan}"/>
  74. </Style>
  75. <Style Selector="NavigationPage /template/ Button#PART_BackButton:pressed Path#PART_BackButtonDefaultIcon">
  76. <Setter Property="Fill" Value="{StaticResource RetroCyan}"/>
  77. </Style>
  78. <Style Selector="NavigationPage /template/ Button#PART_BackButton /template/ ContentPresenter#PART_ContentPresenter">
  79. <Setter Property="Background" Value="Transparent"/>
  80. <Setter Property="BorderBrush" Value="{StaticResource RetroCyan}"/>
  81. <Setter Property="BorderThickness" Value="1"/>
  82. <Setter Property="CornerRadius" Value="0"/>
  83. <Setter Property="Padding" Value="0"/>
  84. </Style>
  85. <Style Selector="NavigationPage /template/ Button#PART_BackButton:pointerover /template/ ContentPresenter#PART_ContentPresenter">
  86. <Setter Property="Background" Value="Transparent"/>
  87. <Setter Property="BorderBrush" Value="{StaticResource RetroCyan}"/>
  88. </Style>
  89. <Style Selector="NavigationPage /template/ Button#PART_BackButton:pressed /template/ ContentPresenter#PART_ContentPresenter">
  90. <Setter Property="Background" Value="Transparent"/>
  91. <Setter Property="BorderBrush" Value="{StaticResource RetroCyan}"/>
  92. </Style>
  93. <!-- Primary purple button (INSERT COIN TO PLAY) -->
  94. <Style Selector="Button.retro-primary-btn /template/ ContentPresenter#PART_ContentPresenter">
  95. <Setter Property="Background" Value="#ad2bee"/>
  96. </Style>
  97. <Style Selector="Button.retro-primary-btn:pointerover /template/ ContentPresenter#PART_ContentPresenter">
  98. <Setter Property="Background" Value="#c040ff"/>
  99. </Style>
  100. <Style Selector="Button.retro-primary-btn:pressed /template/ ContentPresenter#PART_ContentPresenter">
  101. <Setter Property="Background" Value="#8b22c0"/>
  102. </Style>
  103. <!-- Square bordered icon button (heart, share in detail nav bar) -->
  104. <Style Selector="Button.retro-icon-btn">
  105. <Setter Property="Width" Value="32"/>
  106. <Setter Property="Height" Value="32"/>
  107. <Setter Property="Padding" Value="0"/>
  108. <Setter Property="BorderThickness" Value="1"/>
  109. <Setter Property="BorderBrush" Value="{StaticResource RetroCyan}"/>
  110. <Setter Property="CornerRadius" Value="0"/>
  111. <Setter Property="Background" Value="{StaticResource RetroSurface}"/>
  112. </Style>
  113. <Style Selector="Button.retro-icon-btn /template/ ContentPresenter#PART_ContentPresenter">
  114. <Setter Property="Background" Value="#cc2d1b4e"/>
  115. <Setter Property="CornerRadius" Value="0"/>
  116. <Setter Property="Padding" Value="0"/>
  117. </Style>
  118. <Style Selector="Button.retro-icon-btn:pointerover /template/ ContentPresenter#PART_ContentPresenter">
  119. <Setter Property="Background" Value="#cc3d2b6e"/>
  120. </Style>
  121. <Style Selector="Button.retro-icon-btn:pressed /template/ ContentPresenter#PART_ContentPresenter">
  122. <Setter Property="Background" Value="#cc1e1035"/>
  123. </Style>
  124. <!-- Transparent list/card button -->
  125. <Style Selector="Button.retro-list-btn /template/ ContentPresenter#PART_ContentPresenter">
  126. <Setter Property="Background" Value="Transparent"/>
  127. </Style>
  128. <Style Selector="Button.retro-list-btn:pointerover /template/ ContentPresenter#PART_ContentPresenter">
  129. <Setter Property="Background" Value="#1Aad2bee"/>
  130. </Style>
  131. <Style Selector="Button.retro-list-btn:pressed /template/ ContentPresenter#PART_ContentPresenter">
  132. <Setter Property="Background" Value="#33ad2bee"/>
  133. </Style>
  134. <!-- Category filter: unselected -->
  135. <Style Selector="Button.retro-cat-btn /template/ ContentPresenter#PART_ContentPresenter">
  136. <Setter Property="Background" Value="#2d1b4e"/>
  137. </Style>
  138. <Style Selector="Button.retro-cat-btn:pointerover /template/ ContentPresenter#PART_ContentPresenter">
  139. <Setter Property="Background" Value="#3d2b6e"/>
  140. </Style>
  141. <Style Selector="Button.retro-cat-btn:pressed /template/ ContentPresenter#PART_ContentPresenter">
  142. <Setter Property="Background" Value="#1e1035"/>
  143. </Style>
  144. <!-- Category filter: selected -->
  145. <Style Selector="Button.retro-cat-selected /template/ ContentPresenter#PART_ContentPresenter">
  146. <Setter Property="Background" Value="#ad2bee"/>
  147. </Style>
  148. <Style Selector="Button.retro-cat-selected:pointerover /template/ ContentPresenter#PART_ContentPresenter">
  149. <Setter Property="Background" Value="#c040ff"/>
  150. </Style>
  151. <Style Selector="Button.retro-cat-selected:pressed /template/ ContentPresenter#PART_ContentPresenter">
  152. <Setter Property="Background" Value="#8b22c0"/>
  153. </Style>
  154. <!-- Search FAB: yellow square, correct hover/press colors -->
  155. <Style Selector="Button.retro-fab">
  156. <Setter Property="Background" Value="#ffff00"/>
  157. </Style>
  158. <Style Selector="Button.retro-fab /template/ ContentPresenter#PART_ContentPresenter">
  159. <Setter Property="Background" Value="#ffff00"/>
  160. <Setter Property="CornerRadius" Value="0"/>
  161. </Style>
  162. <Style Selector="Button.retro-fab:pointerover /template/ ContentPresenter#PART_ContentPresenter">
  163. <Setter Property="Background" Value="#e6e600"/>
  164. </Style>
  165. <Style Selector="Button.retro-fab:pressed /template/ ContentPresenter#PART_ContentPresenter">
  166. <Setter Property="Background" Value="#cccc00"/>
  167. </Style>
  168. </UserControl.Styles>
  169. </UserControl>