RetroGamingDetailView.xaml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. <UserControl xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. x:Class="ControlCatalog.Pages.RetroGamingDetailView">
  4. <ScrollViewer VerticalScrollBarVisibility="Auto">
  5. <StackPanel Spacing="0">
  6. <!-- Hero image area (240px) -->
  7. <Border x:Name="DetailHeroBorder" Height="240" ClipToBounds="True">
  8. <Panel>
  9. <!-- Background image (set from code-behind) -->
  10. <Border x:Name="DetailHeroImageBorder" HorizontalAlignment="Stretch"
  11. VerticalAlignment="Stretch"/>
  12. <!-- Pixel decorations -->
  13. <Canvas Width="220" Height="150" HorizontalAlignment="Right">
  14. <Border Canvas.Left="20" Canvas.Top="20" Width="8" Height="8" Background="#00ffff"/>
  15. <Border Canvas.Left="30" Canvas.Top="12" Width="8" Height="8" Background="#00ffff"/>
  16. <Border Canvas.Left="30" Canvas.Top="20" Width="8" Height="8" Background="#00ffff"/>
  17. <Border Canvas.Left="40" Canvas.Top="20" Width="8" Height="8" Background="#00ffff"/>
  18. <Border Canvas.Left="30" Canvas.Top="28" Width="8" Height="8" Background="#00ffff"/>
  19. <Border Canvas.Left="80" Canvas.Top="35" Width="12" Height="12" Background="#ad2bee"/>
  20. <Border Canvas.Left="92" Canvas.Top="22" Width="12" Height="12" Background="#ad2bee"/>
  21. <Border Canvas.Left="104" Canvas.Top="35" Width="12" Height="12" Background="#ad2bee"/>
  22. <Border Canvas.Left="92" Canvas.Top="47" Width="12" Height="12" Background="#ad2bee"/>
  23. <Border Canvas.Left="150" Canvas.Top="18" Width="10" Height="10" Background="#ffff00"/>
  24. <Border Canvas.Left="150" Canvas.Top="42" Width="10" Height="10" Background="#ffff00"/>
  25. <Border Canvas.Left="165" Canvas.Top="30" Width="8" Height="8" Background="#ff4466"/>
  26. <Border Canvas.Left="190" Canvas.Top="15" Width="6" Height="6" Background="#00ffff"/>
  27. <Border Canvas.Left="200" Canvas.Top="25" Width="4" Height="4" Background="#ad2bee"/>
  28. <Border Canvas.Left="180" Canvas.Top="60" Width="8" Height="8" Background="#ffff00"/>
  29. </Canvas>
  30. <!-- Gradient overlay -->
  31. <Border>
  32. <Border.Background>
  33. <LinearGradientBrush StartPoint="0%,40%" EndPoint="0%,100%">
  34. <GradientStop Color="#00000000" Offset="0"/>
  35. <GradientStop Color="#C8120a1f" Offset="1"/>
  36. </LinearGradientBrush>
  37. </Border.Background>
  38. </Border>
  39. <!-- Title at bottom -->
  40. <TextBlock x:Name="DetailTitleText"
  41. Text="GAME TITLE"
  42. FontFamily="Courier New, monospace" FontSize="20" FontWeight="Bold"
  43. Foreground="#00ffff"
  44. VerticalAlignment="Bottom" Margin="16,0,16,12"/>
  45. </Panel>
  46. </Border>
  47. <!-- Meta badges row -->
  48. <StackPanel Orientation="Horizontal" Spacing="8" Margin="16,12,16,0">
  49. <Border Background="#3300ffff" BorderBrush="#00ffff" BorderThickness="1" Padding="8,3">
  50. <TextBlock Text="⭐ 4.5 / 5" FontFamily="Courier New, monospace"
  51. FontSize="9" FontWeight="Bold" Foreground="#00ffff"/>
  52. </Border>
  53. <Border Background="#337856a8" BorderBrush="#7856a8" BorderThickness="1" Padding="8,3">
  54. <TextBlock Text="YEAR 1992" FontFamily="Courier New, monospace"
  55. FontSize="9" FontWeight="Bold" Foreground="#7856a8"/>
  56. </Border>
  57. <Border Background="#33ad2bee" BorderBrush="#ad2bee" BorderThickness="1" Padding="8,3">
  58. <TextBlock Text="ACTION" FontFamily="Courier New, monospace"
  59. FontSize="9" FontWeight="Bold" Foreground="#ad2bee"/>
  60. </Border>
  61. </StackPanel>
  62. <!-- Info row: pixel avatar + mission briefing -->
  63. <Grid ColumnDefinitions="80,*" Margin="16,14,16,0">
  64. <!-- Pixel avatar -->
  65. <Border Width="72" Height="80"
  66. BorderBrush="#ad2bee" BorderThickness="2"
  67. Background="#2d1b4e">
  68. <Grid RowDefinitions="22,26,18,*">
  69. <Border Grid.Row="0" Width="22" Height="20" Background="#00ffff"
  70. HorizontalAlignment="Center" VerticalAlignment="Center"/>
  71. <Border Grid.Row="1" Width="30" Height="24" Background="#ad2bee"
  72. HorizontalAlignment="Center" VerticalAlignment="Center"/>
  73. <StackPanel Grid.Row="2" Orientation="Horizontal" Spacing="4"
  74. HorizontalAlignment="Center" VerticalAlignment="Center">
  75. <Border Width="11" Height="14" Background="#7856a8"/>
  76. <Border Width="11" Height="14" Background="#7856a8"/>
  77. </StackPanel>
  78. </Grid>
  79. </Border>
  80. <!-- Description -->
  81. <StackPanel Grid.Column="1" Spacing="6" Margin="12,0,0,0">
  82. <TextBlock Text="MISSION BRIEFING"
  83. FontFamily="Courier New, monospace" FontSize="9" FontWeight="Bold"
  84. Foreground="#ffff00"/>
  85. <TextBlock Text="A legendary ninja warrior awakens in a&#10;cyberpunk city 100 years in the future.&#10;Defeat the Neon Corporation to restore&#10;honor to the ancient clan."
  86. FontFamily="Courier New, monospace" FontSize="9" LineHeight="16"
  87. Foreground="#e0d0ff" TextWrapping="Wrap"/>
  88. </StackPanel>
  89. </Grid>
  90. <!-- INSERT COIN button -->
  91. <Button HorizontalAlignment="Stretch"
  92. HorizontalContentAlignment="Center"
  93. Margin="16,16,16,0" Padding="0,14" CornerRadius="0"
  94. Classes="retro-primary-btn">
  95. <StackPanel Orientation="Horizontal" Spacing="8" HorizontalAlignment="Center">
  96. <PathIcon Width="14" Height="14" Foreground="White"
  97. Data="M7.97,16L5,19C4.67,19.3 4.23,19.5 3.75,19.5A1.75,1.75 0 0,1 2,17.75V17.5L3,10.12C3.21,7.81 5.14,6 7.5,6H16.5C18.86,6 20.79,7.81 21,10.12L22,17.5V17.75A1.75,1.75 0 0,1 20.25,19.5C19.77,19.5 19.33,19.3 19,19L16.03,16H7.97M7,9V11H5V13H7V15H9V13H11V11H9V9H7M14.5,12A1.5,1.5 0 0,0 13,13.5A1.5,1.5 0 0,0 14.5,15A1.5,1.5 0 0,0 16,13.5A1.5,1.5 0 0,0 14.5,12M17.5,9A1.5,1.5 0 0,0 16,10.5A1.5,1.5 0 0,0 17.5,12A1.5,1.5 0 0,0 19,10.5A1.5,1.5 0 0,0 17.5,9Z"/>
  98. <TextBlock Text="INSERT COIN"
  99. FontFamily="Courier New, monospace" FontSize="11" FontWeight="Bold"
  100. Foreground="White"/>
  101. </StackPanel>
  102. </Button>
  103. <!-- Community Score -->
  104. <TextBlock Text="COMMUNITY SCORE"
  105. FontFamily="Courier New, monospace" FontSize="9" FontWeight="Bold"
  106. Foreground="#ffff00" Margin="16,20,16,8"/>
  107. <StackPanel Spacing="5" Margin="16,0,16,0">
  108. <!-- 5 star: 60% -->
  109. <Grid ColumnDefinitions="32,*,32">
  110. <TextBlock Text="5 ★" FontFamily="Courier New, monospace" FontSize="8"
  111. Foreground="#7856a8" VerticalAlignment="Center"/>
  112. <Grid Grid.Column="1" ColumnDefinitions="60*,40*">
  113. <Border Height="6" Background="#ad2bee"/>
  114. <Border Grid.Column="1" Height="6" Background="#502d1b4e"/>
  115. </Grid>
  116. <TextBlock Grid.Column="2" Text="60%"
  117. FontFamily="Courier New, monospace" FontSize="8"
  118. Foreground="#7856a8" VerticalAlignment="Center"
  119. HorizontalAlignment="Right"/>
  120. </Grid>
  121. <!-- 4 star: 25% -->
  122. <Grid ColumnDefinitions="32,*,32">
  123. <TextBlock Text="4 ★" FontFamily="Courier New, monospace" FontSize="8"
  124. Foreground="#7856a8" VerticalAlignment="Center"/>
  125. <Grid Grid.Column="1" ColumnDefinitions="25*,75*">
  126. <Border Height="6" Background="#ad2bee"/>
  127. <Border Grid.Column="1" Height="6" Background="#502d1b4e"/>
  128. </Grid>
  129. <TextBlock Grid.Column="2" Text="25%"
  130. FontFamily="Courier New, monospace" FontSize="8"
  131. Foreground="#7856a8" VerticalAlignment="Center"
  132. HorizontalAlignment="Right"/>
  133. </Grid>
  134. <!-- 3 star: 10% -->
  135. <Grid ColumnDefinitions="32,*,32">
  136. <TextBlock Text="3 ★" FontFamily="Courier New, monospace" FontSize="8"
  137. Foreground="#7856a8" VerticalAlignment="Center"/>
  138. <Grid Grid.Column="1" ColumnDefinitions="10*,90*">
  139. <Border Height="6" Background="#ad2bee"/>
  140. <Border Grid.Column="1" Height="6" Background="#502d1b4e"/>
  141. </Grid>
  142. <TextBlock Grid.Column="2" Text="10%"
  143. FontFamily="Courier New, monospace" FontSize="8"
  144. Foreground="#7856a8" VerticalAlignment="Center"
  145. HorizontalAlignment="Right"/>
  146. </Grid>
  147. <!-- 2 star: 3% -->
  148. <Grid ColumnDefinitions="32,*,32">
  149. <TextBlock Text="2 ★" FontFamily="Courier New, monospace" FontSize="8"
  150. Foreground="#7856a8" VerticalAlignment="Center"/>
  151. <Grid Grid.Column="1" ColumnDefinitions="3*,97*">
  152. <Border Height="6" Background="#ad2bee"/>
  153. <Border Grid.Column="1" Height="6" Background="#502d1b4e"/>
  154. </Grid>
  155. <TextBlock Grid.Column="2" Text="3%"
  156. FontFamily="Courier New, monospace" FontSize="8"
  157. Foreground="#7856a8" VerticalAlignment="Center"
  158. HorizontalAlignment="Right"/>
  159. </Grid>
  160. <!-- 1 star: 2% -->
  161. <Grid ColumnDefinitions="32,*,32">
  162. <TextBlock Text="1 ★" FontFamily="Courier New, monospace" FontSize="8"
  163. Foreground="#7856a8" VerticalAlignment="Center"/>
  164. <Grid Grid.Column="1" ColumnDefinitions="2*,98*">
  165. <Border Height="6" Background="#ad2bee"/>
  166. <Border Grid.Column="1" Height="6" Background="#502d1b4e"/>
  167. </Grid>
  168. <TextBlock Grid.Column="2" Text="2%"
  169. FontFamily="Courier New, monospace" FontSize="8"
  170. Foreground="#7856a8" VerticalAlignment="Center"
  171. HorizontalAlignment="Right"/>
  172. </Grid>
  173. </StackPanel>
  174. <!-- Metadata footer -->
  175. <Grid ColumnDefinitions="*,*" RowDefinitions="Auto,Auto"
  176. Margin="16,16,16,24">
  177. <Border Grid.Row="0" Grid.Column="0" Background="#2d1b4e"
  178. BorderBrush="#ad2bee" BorderThickness="1"
  179. Padding="10,8" Margin="0,0,4,0">
  180. <StackPanel Spacing="2">
  181. <TextBlock Text="DEVELOPER" FontFamily="Courier New, monospace"
  182. FontSize="7" Foreground="#7856a8"/>
  183. <TextBlock Text="PixelForge" FontFamily="Courier New, monospace"
  184. FontSize="9" FontWeight="Bold" Foreground="#e0d0ff"/>
  185. </StackPanel>
  186. </Border>
  187. <Border Grid.Row="0" Grid.Column="1" Background="#2d1b4e"
  188. BorderBrush="#ad2bee" BorderThickness="1"
  189. Padding="10,8" Margin="4,0,0,0">
  190. <StackPanel Spacing="2">
  191. <TextBlock Text="PUBLISHER" FontFamily="Courier New, monospace"
  192. FontSize="7" Foreground="#7856a8"/>
  193. <TextBlock Text="RetroSoft" FontFamily="Courier New, monospace"
  194. FontSize="9" FontWeight="Bold" Foreground="#e0d0ff"/>
  195. </StackPanel>
  196. </Border>
  197. <Border Grid.Row="1" Grid.Column="0" Background="#2d1b4e"
  198. BorderBrush="#ad2bee" BorderThickness="1"
  199. Padding="10,8" Margin="0,4,4,0">
  200. <StackPanel Spacing="2">
  201. <TextBlock Text="SIZE" FontFamily="Courier New, monospace"
  202. FontSize="7" Foreground="#7856a8"/>
  203. <TextBlock Text="12 MB" FontFamily="Courier New, monospace"
  204. FontSize="9" FontWeight="Bold" Foreground="#e0d0ff"/>
  205. </StackPanel>
  206. </Border>
  207. <Border Grid.Row="1" Grid.Column="1" Background="#2d1b4e"
  208. BorderBrush="#ad2bee" BorderThickness="1"
  209. Padding="10,8" Margin="4,4,0,0">
  210. <StackPanel Spacing="2">
  211. <TextBlock Text="PLAYERS" FontFamily="Courier New, monospace"
  212. FontSize="7" Foreground="#7856a8"/>
  213. <TextBlock Text="1-2 CO-OP" FontFamily="Courier New, monospace"
  214. FontSize="9" FontWeight="Bold" Foreground="#e0d0ff"/>
  215. </StackPanel>
  216. </Border>
  217. </Grid>
  218. </StackPanel>
  219. </ScrollViewer>
  220. </UserControl>