PulseProfileView.xaml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. <UserControl xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. x:Class="ControlCatalog.Pages.PulseProfileView">
  4. <ScrollViewer VerticalScrollBarVisibility="Auto">
  5. <StackPanel Spacing="0">
  6. <!-- Profile Header -->
  7. <StackPanel HorizontalAlignment="Center" Spacing="8" Margin="16,28,16,24">
  8. <Border Width="80" Height="80" CornerRadius="40" ClipToBounds="True"
  9. BorderBrush="#256af4" BorderThickness="3"
  10. HorizontalAlignment="Center">
  11. <Border.Background>
  12. <ImageBrush Source="avares://ControlCatalog/Assets/Pulse/profile_avatar.jpg"
  13. Stretch="UniformToFill"/>
  14. </Border.Background>
  15. </Border>
  16. <TextBlock Text="Alex Johnson" FontSize="20" FontWeight="Bold" Foreground="White"
  17. HorizontalAlignment="Center"/>
  18. <TextBlock Text="Member since Jan 2023" FontSize="12" Foreground="#94a3b8"
  19. HorizontalAlignment="Center"/>
  20. </StackPanel>
  21. <!-- Stats Grid -->
  22. <UniformGrid Columns="3" Margin="16,0,16,24">
  23. <Border CornerRadius="12" Background="#1a1a1a" Padding="12,16" Margin="4">
  24. <StackPanel HorizontalAlignment="Center" Spacing="4">
  25. <TextBlock Text="148" FontSize="22" FontWeight="Bold" Foreground="#256af4"
  26. HorizontalAlignment="Center"/>
  27. <TextBlock Text="Workouts" FontSize="11" Foreground="#94a3b8"
  28. HorizontalAlignment="Center"/>
  29. </StackPanel>
  30. </Border>
  31. <Border CornerRadius="12" Background="#1a1a1a" Padding="12,16" Margin="4">
  32. <StackPanel HorizontalAlignment="Center" Spacing="4">
  33. <TextBlock Text="62h" FontSize="22" FontWeight="Bold" Foreground="#10b981"
  34. HorizontalAlignment="Center"/>
  35. <TextBlock Text="Total Time" FontSize="11" Foreground="#94a3b8"
  36. HorizontalAlignment="Center"/>
  37. </StackPanel>
  38. </Border>
  39. <Border CornerRadius="12" Background="#1a1a1a" Padding="12,16" Margin="4">
  40. <StackPanel HorizontalAlignment="Center" Spacing="4">
  41. <TextBlock Text="45.2K" FontSize="22" FontWeight="Bold" Foreground="#f97316"
  42. HorizontalAlignment="Center"/>
  43. <TextBlock Text="Calories" FontSize="11" Foreground="#94a3b8"
  44. HorizontalAlignment="Center"/>
  45. </StackPanel>
  46. </Border>
  47. </UniformGrid>
  48. <!-- Achievements -->
  49. <TextBlock Text="Achievements" FontSize="18" FontWeight="Bold" Foreground="White"
  50. Margin="16,0,16,12"/>
  51. <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled"
  52. Margin="0,0,0,24">
  53. <StackPanel Orientation="Horizontal" Spacing="12" Margin="16,0">
  54. <!-- Early Bird -->
  55. <Border Width="120" CornerRadius="16" Background="#1a1a1a" Padding="12,16">
  56. <StackPanel HorizontalAlignment="Center" Spacing="8">
  57. <Border Width="44" Height="44" CornerRadius="22"
  58. Background="#1Af59e0b" HorizontalAlignment="Center">
  59. <PathIcon Data="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 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.25 3.15.75-1.23-4.5-2.67V7z"
  60. Width="20" Height="20" Foreground="#f59e0b"/>
  61. </Border>
  62. <TextBlock Text="Early Bird" FontSize="12" FontWeight="Bold" Foreground="White"
  63. HorizontalAlignment="Center" TextAlignment="Center"/>
  64. <TextBlock Text="30 morning&#xA;workouts" FontSize="10" Foreground="#94a3b8"
  65. HorizontalAlignment="Center" TextAlignment="Center"/>
  66. </StackPanel>
  67. </Border>
  68. <!-- Iron Will -->
  69. <Border Width="120" CornerRadius="16" Background="#1a1a1a" Padding="12,16">
  70. <StackPanel HorizontalAlignment="Center" Spacing="8">
  71. <Border Width="44" Height="44" CornerRadius="22"
  72. Background="#1A256af4" HorizontalAlignment="Center">
  73. <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"
  74. Width="20" Height="20" Foreground="#256af4"/>
  75. </Border>
  76. <TextBlock Text="Iron Will" FontSize="12" FontWeight="Bold" Foreground="White"
  77. HorizontalAlignment="Center" TextAlignment="Center"/>
  78. <TextBlock Text="100 workout&#xA;milestone" FontSize="10" Foreground="#94a3b8"
  79. HorizontalAlignment="Center" TextAlignment="Center"/>
  80. </StackPanel>
  81. </Border>
  82. <!-- Consistent -->
  83. <Border Width="120" CornerRadius="16" Background="#1a1a1a" Padding="12,16">
  84. <StackPanel HorizontalAlignment="Center" Spacing="8">
  85. <Border Width="44" Height="44" CornerRadius="22"
  86. Background="#1Aef4444" HorizontalAlignment="Center">
  87. <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"
  88. Width="20" Height="20" Foreground="#ef4444"/>
  89. </Border>
  90. <TextBlock Text="Consistent" FontSize="12" FontWeight="Bold" Foreground="White"
  91. HorizontalAlignment="Center" TextAlignment="Center"/>
  92. <TextBlock Text="30-day&#xA;streak" FontSize="10" Foreground="#94a3b8"
  93. HorizontalAlignment="Center" TextAlignment="Center"/>
  94. </StackPanel>
  95. </Border>
  96. <!-- Marathon (locked) -->
  97. <Border Width="120" CornerRadius="16" Background="#1a1a1a" Padding="12,16"
  98. Opacity="0.5">
  99. <StackPanel HorizontalAlignment="Center" Spacing="8">
  100. <Border Width="44" Height="44" CornerRadius="22"
  101. Background="#1Aa855f7" HorizontalAlignment="Center">
  102. <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"
  103. Width="20" Height="20" Foreground="#a855f7"/>
  104. </Border>
  105. <TextBlock Text="Marathon" FontSize="12" FontWeight="Bold" Foreground="White"
  106. HorizontalAlignment="Center" TextAlignment="Center"/>
  107. <TextBlock Text="10 hours in&#xA;a week" FontSize="10" Foreground="#94a3b8"
  108. HorizontalAlignment="Center" TextAlignment="Center"/>
  109. </StackPanel>
  110. </Border>
  111. </StackPanel>
  112. </ScrollViewer>
  113. <!-- Settings -->
  114. <TextBlock Text="Settings" FontSize="18" FontWeight="Bold" Foreground="White"
  115. Margin="16,0,16,12"/>
  116. <!-- Personal Info -->
  117. <Border CornerRadius="12" Background="#1a1a1a" Padding="14,12" Margin="16,0,16,8">
  118. <Grid ColumnDefinitions="Auto,*,Auto">
  119. <Border Width="36" Height="36" CornerRadius="10"
  120. Background="#1A256af4" VerticalAlignment="Center">
  121. <PathIcon Data="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"
  122. Width="16" Height="16" Foreground="#256af4"/>
  123. </Border>
  124. <TextBlock Grid.Column="1" Text="Personal Info" FontSize="14" FontWeight="Medium"
  125. Foreground="White" VerticalAlignment="Center" Margin="12,0,0,0"/>
  126. <PathIcon Grid.Column="2" Data="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"
  127. Width="14" Height="14" Foreground="#64748b" VerticalAlignment="Center"/>
  128. </Grid>
  129. </Border>
  130. <!-- Workout Preferences -->
  131. <Border CornerRadius="12" Background="#1a1a1a" Padding="14,12" Margin="16,0,16,8">
  132. <Grid ColumnDefinitions="Auto,*,Auto">
  133. <Border Width="36" Height="36" CornerRadius="10"
  134. Background="#1A256af4" VerticalAlignment="Center">
  135. <PathIcon Data="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.07.62-.07.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"
  136. Width="16" Height="16" Foreground="#256af4"/>
  137. </Border>
  138. <TextBlock Grid.Column="1" Text="Workout Preferences" FontSize="14" FontWeight="Medium"
  139. Foreground="White" VerticalAlignment="Center" Margin="12,0,0,0"/>
  140. <PathIcon Grid.Column="2" Data="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"
  141. Width="14" Height="14" Foreground="#64748b" VerticalAlignment="Center"/>
  142. </Grid>
  143. </Border>
  144. <!-- Notifications -->
  145. <Border CornerRadius="12" Background="#1a1a1a" Padding="14,12" Margin="16,0,16,8">
  146. <Grid ColumnDefinitions="Auto,*,Auto">
  147. <Border Width="36" Height="36" CornerRadius="10"
  148. Background="#1A256af4" VerticalAlignment="Center">
  149. <PathIcon Data="M12 22c1.1 0 2-.9 2-2h-4c0 1.1.89 2 2 2zm6-6v-5c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2z"
  150. Width="16" Height="16" Foreground="#256af4"/>
  151. </Border>
  152. <TextBlock Grid.Column="1" Text="Notifications" FontSize="14" FontWeight="Medium"
  153. Foreground="White" VerticalAlignment="Center" Margin="12,0,0,0"/>
  154. <PathIcon Grid.Column="2" Data="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"
  155. Width="14" Height="14" Foreground="#64748b" VerticalAlignment="Center"/>
  156. </Grid>
  157. </Border>
  158. <!-- Connected Apps -->
  159. <Border CornerRadius="12" Background="#1a1a1a" Padding="14,12" Margin="16,0,16,8">
  160. <Grid ColumnDefinitions="Auto,*,Auto">
  161. <Border Width="36" Height="36" CornerRadius="10"
  162. Background="#1A256af4" VerticalAlignment="Center">
  163. <PathIcon Data="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"
  164. Width="16" Height="16" Foreground="#256af4"/>
  165. </Border>
  166. <TextBlock Grid.Column="1" Text="Connected Apps" FontSize="14" FontWeight="Medium"
  167. Foreground="White" VerticalAlignment="Center" Margin="12,0,0,0"/>
  168. <PathIcon Grid.Column="2" Data="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"
  169. Width="14" Height="14" Foreground="#64748b" VerticalAlignment="Center"/>
  170. </Grid>
  171. </Border>
  172. <!-- Help & Support -->
  173. <Border CornerRadius="12" Background="#1a1a1a" Padding="14,12" Margin="16,0,16,8">
  174. <Grid ColumnDefinitions="Auto,*,Auto">
  175. <Border Width="36" Height="36" CornerRadius="10"
  176. Background="#1A256af4" VerticalAlignment="Center">
  177. <PathIcon Data="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z"
  178. Width="16" Height="16" Foreground="#256af4"/>
  179. </Border>
  180. <TextBlock Grid.Column="1" Text="Help &amp; Support" FontSize="14" FontWeight="Medium"
  181. Foreground="White" VerticalAlignment="Center" Margin="12,0,0,0"/>
  182. <PathIcon Grid.Column="2" Data="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"
  183. Width="14" Height="14" Foreground="#64748b" VerticalAlignment="Center"/>
  184. </Grid>
  185. </Border>
  186. <Border Height="16"/>
  187. </StackPanel>
  188. </ScrollViewer>
  189. </UserControl>