PulseWorkoutsView.xaml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. <UserControl xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. x:Class="ControlCatalog.Pages.PulseWorkoutsView">
  4. <ScrollViewer VerticalScrollBarVisibility="Auto">
  5. <StackPanel Spacing="0">
  6. <!-- Title -->
  7. <TextBlock Text="My Workouts" FontSize="24" FontWeight="Bold" Foreground="White"
  8. Margin="16,20,16,4"/>
  9. <TextBlock Text="Stay consistent, stay strong" FontSize="13" Foreground="#94a3b8"
  10. Margin="16,0,16,20"/>
  11. <!-- This Week card -->
  12. <Border CornerRadius="16" Padding="20" Margin="16,0,16,20">
  13. <Border.Background>
  14. <LinearGradientBrush StartPoint="0%,0%" EndPoint="100%,100%">
  15. <GradientStop Color="#256af4" Offset="0"/>
  16. <GradientStop Color="#1d3fd4" Offset="1"/>
  17. </LinearGradientBrush>
  18. </Border.Background>
  19. <StackPanel Spacing="16">
  20. <!-- Week header -->
  21. <Grid ColumnDefinitions="*,Auto">
  22. <TextBlock Text="This Week" FontSize="16" FontWeight="Bold" Foreground="White"/>
  23. <StackPanel Grid.Column="1" Orientation="Horizontal" Spacing="4"
  24. VerticalAlignment="Center">
  25. <PathIcon Data="M13.5.67s.74 2.65.74 4.8c0 2.06-1.35 3.73-3.41 3.73-2.07 0-3.63-1.67-3.63-3.73l.03-.36C5.21 7.51 4 10.62 4 14c0 4.42 3.58 8 8 8s8-3.58 8-8C20 8.61 17.41 3.8 13.5.67z"
  26. Width="14" Height="14" Foreground="#f97316"/>
  27. <TextBlock Text="5 Day Streak" FontSize="12" FontWeight="SemiBold"
  28. Foreground="White" Opacity="0.85"/>
  29. </StackPanel>
  30. </Grid>
  31. <!-- Days row -->
  32. <UniformGrid Columns="7">
  33. <!-- Monday: completed -->
  34. <StackPanel HorizontalAlignment="Center" Spacing="6">
  35. <Border Width="32" Height="32" CornerRadius="16" Background="White"
  36. HorizontalAlignment="Center">
  37. <PathIcon Data="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"
  38. Width="14" Height="14" Foreground="#256af4"/>
  39. </Border>
  40. <TextBlock Text="M" FontSize="10" FontWeight="SemiBold" Foreground="White"
  41. HorizontalAlignment="Center"/>
  42. </StackPanel>
  43. <!-- Tuesday: completed -->
  44. <StackPanel HorizontalAlignment="Center" Spacing="6">
  45. <Border Width="32" Height="32" CornerRadius="16" Background="White"
  46. HorizontalAlignment="Center">
  47. <PathIcon Data="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"
  48. Width="14" Height="14" Foreground="#256af4"/>
  49. </Border>
  50. <TextBlock Text="T" FontSize="10" FontWeight="SemiBold" Foreground="White"
  51. HorizontalAlignment="Center"/>
  52. </StackPanel>
  53. <!-- Wednesday: completed -->
  54. <StackPanel HorizontalAlignment="Center" Spacing="6">
  55. <Border Width="32" Height="32" CornerRadius="16" Background="White"
  56. HorizontalAlignment="Center">
  57. <PathIcon Data="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"
  58. Width="14" Height="14" Foreground="#256af4"/>
  59. </Border>
  60. <TextBlock Text="W" FontSize="10" FontWeight="SemiBold" Foreground="White"
  61. HorizontalAlignment="Center"/>
  62. </StackPanel>
  63. <!-- Thursday: completed -->
  64. <StackPanel HorizontalAlignment="Center" Spacing="6">
  65. <Border Width="32" Height="32" CornerRadius="16" Background="White"
  66. HorizontalAlignment="Center">
  67. <PathIcon Data="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"
  68. Width="14" Height="14" Foreground="#256af4"/>
  69. </Border>
  70. <TextBlock Text="T" FontSize="10" FontWeight="SemiBold" Foreground="White"
  71. HorizontalAlignment="Center"/>
  72. </StackPanel>
  73. <!-- Friday: completed -->
  74. <StackPanel HorizontalAlignment="Center" Spacing="6">
  75. <Border Width="32" Height="32" CornerRadius="16" Background="White"
  76. HorizontalAlignment="Center">
  77. <PathIcon Data="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"
  78. Width="14" Height="14" Foreground="#256af4"/>
  79. </Border>
  80. <TextBlock Text="F" FontSize="10" FontWeight="SemiBold" Foreground="White"
  81. HorizontalAlignment="Center"/>
  82. </StackPanel>
  83. <!-- Saturday: not completed -->
  84. <StackPanel HorizontalAlignment="Center" Spacing="6">
  85. <Border Width="32" Height="32" CornerRadius="16" Background="#33FFFFFF"
  86. HorizontalAlignment="Center"/>
  87. <TextBlock Text="S" FontSize="10" FontWeight="SemiBold" Foreground="#99FFFFFF"
  88. HorizontalAlignment="Center"/>
  89. </StackPanel>
  90. <!-- Sunday: not completed -->
  91. <StackPanel HorizontalAlignment="Center" Spacing="6">
  92. <Border Width="32" Height="32" CornerRadius="16" Background="#33FFFFFF"
  93. HorizontalAlignment="Center"/>
  94. <TextBlock Text="S" FontSize="10" FontWeight="SemiBold" Foreground="#99FFFFFF"
  95. HorizontalAlignment="Center"/>
  96. </StackPanel>
  97. </UniformGrid>
  98. <!-- Week stats -->
  99. <Grid ColumnDefinitions="*,*,*" Margin="0,4,0,0">
  100. <StackPanel HorizontalAlignment="Center" Spacing="2">
  101. <TextBlock Text="5" FontSize="18" FontWeight="Bold" Foreground="White"
  102. HorizontalAlignment="Center"/>
  103. <TextBlock Text="Workouts" FontSize="10" Foreground="#B2FFFFFF"
  104. HorizontalAlignment="Center"/>
  105. </StackPanel>
  106. <StackPanel Grid.Column="1" HorizontalAlignment="Center" Spacing="2">
  107. <TextBlock Text="3.5h" FontSize="18" FontWeight="Bold" Foreground="White"
  108. HorizontalAlignment="Center"/>
  109. <TextBlock Text="Duration" FontSize="10" Foreground="#B2FFFFFF"
  110. HorizontalAlignment="Center"/>
  111. </StackPanel>
  112. <StackPanel Grid.Column="2" HorizontalAlignment="Center" Spacing="2">
  113. <TextBlock Text="2,150" FontSize="18" FontWeight="Bold" Foreground="White"
  114. HorizontalAlignment="Center"/>
  115. <TextBlock Text="Calories" FontSize="10" Foreground="#B2FFFFFF"
  116. HorizontalAlignment="Center"/>
  117. </StackPanel>
  118. </Grid>
  119. </StackPanel>
  120. </Border>
  121. <!-- Today's Plan header -->
  122. <Grid ColumnDefinitions="*,Auto" Margin="16,0,16,12">
  123. <TextBlock Text="Today's Plan" FontSize="18" FontWeight="Bold" Foreground="White"/>
  124. <TextBlock Grid.Column="1" Text="Edit" FontSize="12" FontWeight="SemiBold"
  125. Foreground="#256af4" VerticalAlignment="Center"/>
  126. </Grid>
  127. <!-- Upper Body Strength (active) -->
  128. <Border CornerRadius="16" Background="#1a1a1a" Padding="14" Margin="16,0,16,10"
  129. BorderBrush="#33256af4" BorderThickness="1">
  130. <Grid ColumnDefinitions="Auto,*,Auto">
  131. <Border Width="44" Height="44" CornerRadius="12"
  132. Background="#1A256af4" VerticalAlignment="Center" Margin="0,0,12,0">
  133. <PathIcon Data="M20.57 14.86L22 13.43 20.57 12 17 15.57 8.43 7 12 3.43 10.57 2 9.14 3.43 7.71 2 5.57 4.14 4.14 2.71 2.71 4.14l1.43 1.43L2 7.71l1.43 1.43L2 10.57 3.43 12 7 8.43 15.57 17 12 20.57 13.43 22l1.43-1.43L16.29 22l2.14-2.14 1.43 1.43 1.43-1.43-1.43-1.43L22 16.29z"
  134. Width="20" Height="20" Foreground="#256af4"/>
  135. </Border>
  136. <StackPanel Grid.Column="1" VerticalAlignment="Center" Spacing="2">
  137. <TextBlock Text="Upper Body Strength" FontSize="14" FontWeight="Bold" Foreground="White"/>
  138. <TextBlock Text="Chest, Shoulders, Triceps" FontSize="11" Foreground="#94a3b8"/>
  139. <StackPanel Orientation="Horizontal" Spacing="12" Margin="0,4,0,0">
  140. <StackPanel Orientation="Horizontal" Spacing="4">
  141. <Path Data="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm.5-13H11v6l5.2 3.2.8-1.3-4.5-2.7V7z"
  142. Fill="#64748b" Stretch="Uniform" Width="12" Height="12" VerticalAlignment="Center"/>
  143. <TextBlock Text="45 min" FontSize="11" Foreground="#94a3b8"/>
  144. </StackPanel>
  145. <StackPanel Orientation="Horizontal" Spacing="4">
  146. <Path Data="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67V7z"
  147. Fill="#64748b" Stretch="Uniform" Width="12" Height="12" VerticalAlignment="Center"/>
  148. <TextBlock Text="9:00 AM" FontSize="11" Foreground="#94a3b8"/>
  149. </StackPanel>
  150. </StackPanel>
  151. </StackPanel>
  152. <Border Grid.Column="2" CornerRadius="8" Background="#256af4"
  153. Padding="12,8" VerticalAlignment="Center">
  154. <TextBlock Text="Start" FontSize="11" FontWeight="Bold" Foreground="White"/>
  155. </Border>
  156. </Grid>
  157. </Border>
  158. <!-- HIIT Cardio -->
  159. <Border CornerRadius="16" Background="#1a1a1a" Padding="14" Margin="16,0,16,10">
  160. <Grid ColumnDefinitions="Auto,*,Auto">
  161. <Border Width="44" Height="44" CornerRadius="12"
  162. Background="#1Af97316" VerticalAlignment="Center" Margin="0,0,12,0">
  163. <PathIcon Data="M13.5.67s.74 2.65.74 4.8c0 2.06-1.35 3.73-3.41 3.73-2.07 0-3.63-1.67-3.63-3.73l.03-.36C5.21 7.51 4 10.62 4 14c0 4.42 3.58 8 8 8s8-3.58 8-8C20 8.61 17.41 3.8 13.5.67z"
  164. Width="20" Height="20" Foreground="#f97316"/>
  165. </Border>
  166. <StackPanel Grid.Column="1" VerticalAlignment="Center" Spacing="2">
  167. <TextBlock Text="HIIT Cardio" FontSize="14" FontWeight="Bold" Foreground="White"/>
  168. <TextBlock Text="Full Body Burn" FontSize="11" Foreground="#94a3b8"/>
  169. <StackPanel Orientation="Horizontal" Spacing="12" Margin="0,4,0,0">
  170. <StackPanel Orientation="Horizontal" Spacing="4">
  171. <Path Data="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm.5-13H11v6l5.2 3.2.8-1.3-4.5-2.7V7z"
  172. Fill="#64748b" Stretch="Uniform" Width="12" Height="12" VerticalAlignment="Center"/>
  173. <TextBlock Text="25 min" FontSize="11" Foreground="#94a3b8"/>
  174. </StackPanel>
  175. <StackPanel Orientation="Horizontal" Spacing="4">
  176. <Path Data="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67V7z"
  177. Fill="#64748b" Stretch="Uniform" Width="12" Height="12" VerticalAlignment="Center"/>
  178. <TextBlock Text="5:30 PM" FontSize="11" Foreground="#94a3b8"/>
  179. </StackPanel>
  180. </StackPanel>
  181. </StackPanel>
  182. <PathIcon Grid.Column="2" Data="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"
  183. Width="16" Height="16" Foreground="#64748b" VerticalAlignment="Center"/>
  184. </Grid>
  185. </Border>
  186. <!-- Upcoming header -->
  187. <TextBlock Text="Upcoming" FontSize="18" FontWeight="Bold" Foreground="White"
  188. Margin="16,20,16,12"/>
  189. <!-- Yoga & Recovery -->
  190. <Border CornerRadius="16" Background="#1a1a1a" Padding="14" Margin="16,0,16,10">
  191. <Grid ColumnDefinitions="Auto,*,Auto">
  192. <Border Width="44" Height="44" CornerRadius="12"
  193. Background="#1A10b981" VerticalAlignment="Center" Margin="0,0,12,0">
  194. <PathIcon Data="M12 2c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zm9 7h-6v13h-2v-6h-2v6H9V9H3V7h18v2z"
  195. Width="20" Height="20" Foreground="#10b981"/>
  196. </Border>
  197. <StackPanel Grid.Column="1" VerticalAlignment="Center" Spacing="2">
  198. <TextBlock Text="Yoga &amp; Recovery" FontSize="14" FontWeight="Bold" Foreground="White"/>
  199. <TextBlock Text="Flexibility, Core" FontSize="11" Foreground="#94a3b8"/>
  200. <StackPanel Orientation="Horizontal" Spacing="12" Margin="0,4,0,0">
  201. <StackPanel Orientation="Horizontal" Spacing="4">
  202. <Path Data="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm.5-13H11v6l5.2 3.2.8-1.3-4.5-2.7V7z"
  203. Fill="#64748b" Stretch="Uniform" Width="12" Height="12" VerticalAlignment="Center"/>
  204. <TextBlock Text="30 min" FontSize="11" Foreground="#94a3b8"/>
  205. </StackPanel>
  206. <StackPanel Orientation="Horizontal" Spacing="4">
  207. <Path Data="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67V7z"
  208. Fill="#64748b" Stretch="Uniform" Width="12" Height="12" VerticalAlignment="Center"/>
  209. <TextBlock Text="Tomorrow" FontSize="11" Foreground="#94a3b8"/>
  210. </StackPanel>
  211. </StackPanel>
  212. </StackPanel>
  213. <PathIcon Grid.Column="2" Data="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"
  214. Width="16" Height="16" Foreground="#64748b" VerticalAlignment="Center"/>
  215. </Grid>
  216. </Border>
  217. <!-- Leg Day -->
  218. <Border CornerRadius="16" Background="#1a1a1a" Padding="14" Margin="16,0,16,10">
  219. <Grid ColumnDefinitions="Auto,*,Auto">
  220. <Border Width="44" Height="44" CornerRadius="12"
  221. Background="#1Aa855f7" VerticalAlignment="Center" Margin="0,0,12,0">
  222. <PathIcon Data="M13.49 5.48c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm-3.6 13.9l1-4.4 2.1 2v6h2v-7.5l-2.1-2 .6-3c1.3 1.5 3.3 2.5 5.5 2.5v-2c-1.9 0-3.5-1-4.3-2.4l-1-1.6c-.4-.6-1-1-1.7-1-.3 0-.5.1-.8.1l-5.2 2.2v4.7h2v-3.4l1.8-.7-1.6 8.1-4.9-1-.4 2 7 1.4z"
  223. Width="20" Height="20" Foreground="#a855f7"/>
  224. </Border>
  225. <StackPanel Grid.Column="1" VerticalAlignment="Center" Spacing="2">
  226. <TextBlock Text="Leg Day" FontSize="14" FontWeight="Bold" Foreground="White"/>
  227. <TextBlock Text="Quads, Glutes, Hamstrings" FontSize="11" Foreground="#94a3b8"/>
  228. <StackPanel Orientation="Horizontal" Spacing="12" Margin="0,4,0,0">
  229. <StackPanel Orientation="Horizontal" Spacing="4">
  230. <Path Data="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm.5-13H11v6l5.2 3.2.8-1.3-4.5-2.7V7z"
  231. Fill="#64748b" Stretch="Uniform" Width="12" Height="12" VerticalAlignment="Center"/>
  232. <TextBlock Text="50 min" FontSize="11" Foreground="#94a3b8"/>
  233. </StackPanel>
  234. <StackPanel Orientation="Horizontal" Spacing="4">
  235. <Path Data="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67V7z"
  236. Fill="#64748b" Stretch="Uniform" Width="12" Height="12" VerticalAlignment="Center"/>
  237. <TextBlock Text="Wednesday" FontSize="11" Foreground="#94a3b8"/>
  238. </StackPanel>
  239. </StackPanel>
  240. </StackPanel>
  241. <PathIcon Grid.Column="2" Data="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"
  242. Width="16" Height="16" Foreground="#64748b" VerticalAlignment="Center"/>
  243. </Grid>
  244. </Border>
  245. <!-- Core Destroyer -->
  246. <Border CornerRadius="16" Background="#1a1a1a" Padding="14" Margin="16,0,16,10">
  247. <Grid ColumnDefinitions="Auto,*,Auto">
  248. <Border Width="44" Height="44" CornerRadius="12"
  249. Background="#1Aef4444" VerticalAlignment="Center" Margin="0,0,12,0">
  250. <PathIcon Data="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
  251. Width="20" Height="20" Foreground="#ef4444"/>
  252. </Border>
  253. <StackPanel Grid.Column="1" VerticalAlignment="Center" Spacing="2">
  254. <TextBlock Text="Core Destroyer" FontSize="14" FontWeight="Bold" Foreground="White"/>
  255. <TextBlock Text="Abs, Obliques, Lower Back" FontSize="11" Foreground="#94a3b8"/>
  256. <StackPanel Orientation="Horizontal" Spacing="12" Margin="0,4,0,0">
  257. <StackPanel Orientation="Horizontal" Spacing="4">
  258. <Path Data="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm.5-13H11v6l5.2 3.2.8-1.3-4.5-2.7V7z"
  259. Fill="#64748b" Stretch="Uniform" Width="12" Height="12" VerticalAlignment="Center"/>
  260. <TextBlock Text="20 min" FontSize="11" Foreground="#94a3b8"/>
  261. </StackPanel>
  262. <StackPanel Orientation="Horizontal" Spacing="4">
  263. <Path Data="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67V7z"
  264. Fill="#64748b" Stretch="Uniform" Width="12" Height="12" VerticalAlignment="Center"/>
  265. <TextBlock Text="Thursday" FontSize="11" Foreground="#94a3b8"/>
  266. </StackPanel>
  267. </StackPanel>
  268. </StackPanel>
  269. <PathIcon Grid.Column="2" Data="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"
  270. Width="16" Height="16" Foreground="#64748b" VerticalAlignment="Center"/>
  271. </Grid>
  272. </Border>
  273. <Border Height="16"/>
  274. </StackPanel>
  275. </ScrollViewer>
  276. </UserControl>