PulseWorkoutDetailView.xaml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. <UserControl xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. x:Class="ControlCatalog.Pages.PulseWorkoutDetailView">
  4. <UserControl.Styles>
  5. <Style Selector="Button.back-btn">
  6. <Setter Property="Width" Value="40"/>
  7. <Setter Property="Height" Value="40"/>
  8. <Setter Property="CornerRadius" Value="8"/>
  9. <Setter Property="Background" Value="#99101622"/>
  10. <Setter Property="Foreground" Value="White"/>
  11. <Setter Property="BorderThickness" Value="1"/>
  12. <Setter Property="BorderBrush" Value="#33FFFFFF"/>
  13. <Setter Property="Padding" Value="0"/>
  14. <Setter Property="HorizontalContentAlignment" Value="Center"/>
  15. <Setter Property="VerticalContentAlignment" Value="Center"/>
  16. <Setter Property="VerticalAlignment" Value="Top"/>
  17. <Setter Property="HorizontalAlignment" Value="Left"/>
  18. <Setter Property="Margin" Value="16,16,0,0"/>
  19. </Style>
  20. <Style Selector="Button.back-btn:pointerover /template/ ContentPresenter">
  21. <Setter Property="Background" Value="#CC101622"/>
  22. <Setter Property="TextElement.Foreground" Value="White"/>
  23. </Style>
  24. <Style Selector="Button.back-btn:pressed /template/ ContentPresenter">
  25. <Setter Property="Background" Value="#99101622"/>
  26. <Setter Property="TextElement.Foreground" Value="White"/>
  27. </Style>
  28. <Style Selector="Button.start-btn">
  29. <Setter Property="HorizontalAlignment" Value="Stretch"/>
  30. <Setter Property="HorizontalContentAlignment" Value="Center"/>
  31. <Setter Property="VerticalContentAlignment" Value="Center"/>
  32. <Setter Property="Height" Value="52"/>
  33. <Setter Property="CornerRadius" Value="12"/>
  34. <Setter Property="Background" Value="#256af4"/>
  35. <Setter Property="Foreground" Value="White"/>
  36. <Setter Property="FontWeight" Value="Bold"/>
  37. <Setter Property="FontSize" Value="15"/>
  38. <Setter Property="Margin" Value="16,0,16,16"/>
  39. <Setter Property="VerticalAlignment" Value="Bottom"/>
  40. </Style>
  41. <Style Selector="Button.start-btn:pointerover /template/ ContentPresenter">
  42. <Setter Property="Background" Value="#1d5ad4"/>
  43. <Setter Property="TextElement.Foreground" Value="White"/>
  44. </Style>
  45. <Style Selector="Button.start-btn:pressed /template/ ContentPresenter">
  46. <Setter Property="Background" Value="#1a4fbf"/>
  47. <Setter Property="TextElement.Foreground" Value="White"/>
  48. </Style>
  49. </UserControl.Styles>
  50. <Panel>
  51. <ScrollViewer VerticalScrollBarVisibility="Auto">
  52. <StackPanel Spacing="0">
  53. <!-- Hero -->
  54. <Panel Height="280">
  55. <Border x:Name="HeroBg" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
  56. ClipToBounds="True">
  57. <Border.Background>
  58. <ImageBrush Source="avares://ControlCatalog/Assets/Pulse/workout_hero.jpg"
  59. Stretch="UniformToFill"/>
  60. </Border.Background>
  61. </Border>
  62. <Border>
  63. <Border.Background>
  64. <LinearGradientBrush StartPoint="0%,0%" EndPoint="0%,100%">
  65. <GradientStop Color="#66101622" Offset="0"/>
  66. <GradientStop Color="#E6101622" Offset="1"/>
  67. </LinearGradientBrush>
  68. </Border.Background>
  69. </Border>
  70. <StackPanel VerticalAlignment="Bottom" Margin="16,0,16,16">
  71. <TextBlock x:Name="WorkoutTitle" Text="Full Body Strength"
  72. FontSize="26" FontWeight="Bold" Foreground="White"/>
  73. <Border Height="8"/>
  74. <StackPanel Orientation="Horizontal" Spacing="8">
  75. <Border CornerRadius="8" Background="#33256af4"
  76. BorderBrush="#4D256af4" BorderThickness="1" Padding="10,4">
  77. <TextBlock Text="45 min" FontSize="12" FontWeight="Medium"
  78. Foreground="#e2e8f0"/>
  79. </Border>
  80. <Border CornerRadius="8" Background="#33256af4"
  81. BorderBrush="#4D256af4" BorderThickness="1" Padding="10,4">
  82. <TextBlock Text="Intermediate" FontSize="12" FontWeight="Medium"
  83. Foreground="#e2e8f0"/>
  84. </Border>
  85. </StackPanel>
  86. </StackPanel>
  87. </Panel>
  88. <!-- Exercises header -->
  89. <Grid ColumnDefinitions="*,Auto" Margin="16,20,16,12">
  90. <TextBlock Text="Exercises" FontSize="18" FontWeight="Bold" Foreground="White"/>
  91. <TextBlock Grid.Column="1" Text="5 Movements" FontSize="12" FontWeight="Medium"
  92. Foreground="#256af4" VerticalAlignment="Center"/>
  93. </Grid>
  94. <!-- Exercise: Bench Press -->
  95. <Border CornerRadius="12" BorderBrush="#1e293b" BorderThickness="1"
  96. Background="#0f172a" Padding="10" Margin="16,0,16,10">
  97. <Grid ColumnDefinitions="Auto,*,Auto">
  98. <Border Width="56" Height="56" CornerRadius="8" ClipToBounds="True"
  99. VerticalAlignment="Center">
  100. <Border.Background>
  101. <ImageBrush Source="avares://ControlCatalog/Assets/Pulse/ex_bench.jpg"
  102. Stretch="UniformToFill"/>
  103. </Border.Background>
  104. </Border>
  105. <StackPanel Grid.Column="1" VerticalAlignment="Center" Margin="12,0,0,0">
  106. <TextBlock Text="Bench Press" FontSize="14" FontWeight="Bold" Foreground="White"/>
  107. <TextBlock Text="Chest, Triceps" FontSize="11" Foreground="#94a3b8"/>
  108. </StackPanel>
  109. <StackPanel Grid.Column="2" VerticalAlignment="Center"
  110. HorizontalAlignment="Right" Spacing="4">
  111. <Border CornerRadius="999" Background="#1A256af4"
  112. Padding="8,2" HorizontalAlignment="Right">
  113. <TextBlock Text="4 SETS" FontSize="9" FontWeight="Bold" Foreground="#256af4"/>
  114. </Border>
  115. <TextBlock Text="10 Reps" FontSize="12" FontWeight="SemiBold"
  116. Foreground="#94a3b8" HorizontalAlignment="Right"/>
  117. </StackPanel>
  118. </Grid>
  119. </Border>
  120. <!-- Exercise: Barbell Squats -->
  121. <Border CornerRadius="12" BorderBrush="#1e293b" BorderThickness="1"
  122. Background="#0f172a" Padding="10" Margin="16,0,16,10">
  123. <Grid ColumnDefinitions="Auto,*,Auto">
  124. <Border Width="56" Height="56" CornerRadius="8" ClipToBounds="True"
  125. VerticalAlignment="Center">
  126. <Border.Background>
  127. <ImageBrush Source="avares://ControlCatalog/Assets/Pulse/ex_squats.jpg"
  128. Stretch="UniformToFill"/>
  129. </Border.Background>
  130. </Border>
  131. <StackPanel Grid.Column="1" VerticalAlignment="Center" Margin="12,0,0,0">
  132. <TextBlock Text="Barbell Squats" FontSize="14" FontWeight="Bold" Foreground="White"/>
  133. <TextBlock Text="Quads, Glutes" FontSize="11" Foreground="#94a3b8"/>
  134. </StackPanel>
  135. <StackPanel Grid.Column="2" VerticalAlignment="Center"
  136. HorizontalAlignment="Right" Spacing="4">
  137. <Border CornerRadius="999" Background="#1A256af4"
  138. Padding="8,2" HorizontalAlignment="Right">
  139. <TextBlock Text="3 SETS" FontSize="9" FontWeight="Bold" Foreground="#256af4"/>
  140. </Border>
  141. <TextBlock Text="12 Reps" FontSize="12" FontWeight="SemiBold"
  142. Foreground="#94a3b8" HorizontalAlignment="Right"/>
  143. </StackPanel>
  144. </Grid>
  145. </Border>
  146. <!-- Exercise: Deadlifts -->
  147. <Border CornerRadius="12" BorderBrush="#1e293b" BorderThickness="1"
  148. Background="#0f172a" Padding="10" Margin="16,0,16,10">
  149. <Grid ColumnDefinitions="Auto,*,Auto">
  150. <Border Width="56" Height="56" CornerRadius="8" ClipToBounds="True"
  151. VerticalAlignment="Center">
  152. <Border.Background>
  153. <ImageBrush Source="avares://ControlCatalog/Assets/Pulse/ex_deadlifts.jpg"
  154. Stretch="UniformToFill"/>
  155. </Border.Background>
  156. </Border>
  157. <StackPanel Grid.Column="1" VerticalAlignment="Center" Margin="12,0,0,0">
  158. <TextBlock Text="Deadlifts" FontSize="14" FontWeight="Bold" Foreground="White"/>
  159. <TextBlock Text="Back, Hamstrings" FontSize="11" Foreground="#94a3b8"/>
  160. </StackPanel>
  161. <StackPanel Grid.Column="2" VerticalAlignment="Center"
  162. HorizontalAlignment="Right" Spacing="4">
  163. <Border CornerRadius="999" Background="#1A256af4"
  164. Padding="8,2" HorizontalAlignment="Right">
  165. <TextBlock Text="3 SETS" FontSize="9" FontWeight="Bold" Foreground="#256af4"/>
  166. </Border>
  167. <TextBlock Text="8 Reps" FontSize="12" FontWeight="SemiBold"
  168. Foreground="#94a3b8" HorizontalAlignment="Right"/>
  169. </StackPanel>
  170. </Grid>
  171. </Border>
  172. <!-- Exercise: Overhead Press -->
  173. <Border CornerRadius="12" BorderBrush="#1e293b" BorderThickness="1"
  174. Background="#0f172a" Padding="10" Margin="16,0,16,10">
  175. <Grid ColumnDefinitions="Auto,*,Auto">
  176. <Border Width="56" Height="56" CornerRadius="8" ClipToBounds="True"
  177. VerticalAlignment="Center">
  178. <Border.Background>
  179. <ImageBrush Source="avares://ControlCatalog/Assets/Pulse/ex_overhead.jpg"
  180. Stretch="UniformToFill"/>
  181. </Border.Background>
  182. </Border>
  183. <StackPanel Grid.Column="1" VerticalAlignment="Center" Margin="12,0,0,0">
  184. <TextBlock Text="Overhead Press" FontSize="14" FontWeight="Bold" Foreground="White"/>
  185. <TextBlock Text="Shoulders, Triceps" FontSize="11" Foreground="#94a3b8"/>
  186. </StackPanel>
  187. <StackPanel Grid.Column="2" VerticalAlignment="Center"
  188. HorizontalAlignment="Right" Spacing="4">
  189. <Border CornerRadius="999" Background="#1A256af4"
  190. Padding="8,2" HorizontalAlignment="Right">
  191. <TextBlock Text="3 SETS" FontSize="9" FontWeight="Bold" Foreground="#256af4"/>
  192. </Border>
  193. <TextBlock Text="10 Reps" FontSize="12" FontWeight="SemiBold"
  194. Foreground="#94a3b8" HorizontalAlignment="Right"/>
  195. </StackPanel>
  196. </Grid>
  197. </Border>
  198. <!-- Exercise: Pull Ups -->
  199. <Border CornerRadius="12" BorderBrush="#1e293b" BorderThickness="1"
  200. Background="#0f172a" Padding="10" Margin="16,0,16,10">
  201. <Grid ColumnDefinitions="Auto,*,Auto">
  202. <Border Width="56" Height="56" CornerRadius="8" ClipToBounds="True"
  203. VerticalAlignment="Center">
  204. <Border.Background>
  205. <ImageBrush Source="avares://ControlCatalog/Assets/Pulse/ex_pullups.jpg"
  206. Stretch="UniformToFill"/>
  207. </Border.Background>
  208. </Border>
  209. <StackPanel Grid.Column="1" VerticalAlignment="Center" Margin="12,0,0,0">
  210. <TextBlock Text="Pull Ups" FontSize="14" FontWeight="Bold" Foreground="White"/>
  211. <TextBlock Text="Back, Biceps" FontSize="11" Foreground="#94a3b8"/>
  212. </StackPanel>
  213. <StackPanel Grid.Column="2" VerticalAlignment="Center"
  214. HorizontalAlignment="Right" Spacing="4">
  215. <Border CornerRadius="999" Background="#1A256af4"
  216. Padding="8,2" HorizontalAlignment="Right">
  217. <TextBlock Text="3 SETS" FontSize="9" FontWeight="Bold" Foreground="#256af4"/>
  218. </Border>
  219. <TextBlock Text="Failure" FontSize="12" FontWeight="SemiBold"
  220. Foreground="#94a3b8" HorizontalAlignment="Right"/>
  221. </StackPanel>
  222. </Grid>
  223. </Border>
  224. <!-- Bottom padding for floating button -->
  225. <Border Height="80"/>
  226. </StackPanel>
  227. </ScrollViewer>
  228. <!-- Floating Start Workout button -->
  229. <Button Classes="start-btn" Content="Start Workout"/>
  230. <!-- Back button pinned at top-left, above scroll content -->
  231. <Button x:Name="BackButton" Classes="back-btn" Click="OnBackClicked" ZIndex="1">
  232. <PathIcon Data="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"
  233. Width="18" Height="18" Foreground="White"/>
  234. </Button>
  235. </Panel>
  236. </UserControl>