ModernProfileView.xaml 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <UserControl xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. x:Class="ControlCatalog.Pages.ModernProfileView">
  4. <ScrollViewer HorizontalScrollBarVisibility="Disabled">
  5. <StackPanel>
  6. <!-- Profile section (white) -->
  7. <Border Background="White" Padding="20,24,20,20">
  8. <StackPanel HorizontalAlignment="Center" Spacing="8">
  9. <!-- Avatar with badge -->
  10. <Grid Width="96" Height="96" HorizontalAlignment="Center">
  11. <!-- Inner clipped image -->
  12. <Border Width="91" Height="91" CornerRadius="999" ClipToBounds="True"
  13. HorizontalAlignment="Center" VerticalAlignment="Center">
  14. <Image Source="avares://ControlCatalog/Assets/ModernApp/avatar.jpg"
  15. Stretch="UniformToFill"/>
  16. </Border>
  17. <!-- Cyan ring overlay -->
  18. <Border Width="96" Height="96" CornerRadius="999"
  19. BorderBrush="#0dccf2" BorderThickness="2.5"
  20. Background="Transparent"/>
  21. <!-- Camera badge -->
  22. <Border Width="28" Height="28" CornerRadius="999"
  23. Background="#0dccf2"
  24. HorizontalAlignment="Right" VerticalAlignment="Bottom">
  25. <PathIcon Width="14" Height="14" Foreground="White"
  26. Data="M12 15.2a3.2 3.2 0 1 0 0-6.4 3.2 3.2 0 0 0 0 6.4zm7-12H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm-7 14a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm5-12.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3z"/>
  27. </Border>
  28. </Grid>
  29. <TextBlock Text="Alex Johnson" FontSize="22" FontWeight="Bold"
  30. Foreground="#0d1f22"
  31. HorizontalAlignment="Center"/>
  32. <TextBlock Text="Traveler &amp; Photographer" FontSize="14"
  33. Foreground="#0dccf2" FontWeight="SemiBold"
  34. HorizontalAlignment="Center"/>
  35. <TextBlock Text="Exploring the world one lens at a time.&#xA;Based in Vancouver, wandering everywhere."
  36. FontSize="12" TextAlignment="Center"
  37. Foreground="#8a9ba3" TextWrapping="Wrap" MaxWidth="280"/>
  38. </StackPanel>
  39. </Border>
  40. <!-- Stats section -->
  41. <Border Background="#f5f8f8" Padding="16,12,16,0">
  42. <StackPanel Spacing="10">
  43. <!-- 2-column stats row -->
  44. <Grid ColumnDefinitions="*, 10, *">
  45. <!-- DESTINATIONS card -->
  46. <Border Grid.Column="0" Background="White" CornerRadius="12" Padding="16,14">
  47. <StackPanel HorizontalAlignment="Center" Spacing="4">
  48. <TextBlock Text="42" FontSize="22" FontWeight="Bold"
  49. Foreground="#0d1f22"
  50. HorizontalAlignment="Center"/>
  51. <StackPanel Orientation="Horizontal" Spacing="4"
  52. HorizontalAlignment="Center">
  53. <PathIcon Width="14" Height="14" Foreground="#0dccf2"
  54. Data="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/>
  55. <TextBlock Text="DESTINATIONS" FontSize="11" FontWeight="SemiBold"
  56. Foreground="#8a9ba3" VerticalAlignment="Center"/>
  57. </StackPanel>
  58. </StackPanel>
  59. </Border>
  60. <!-- PHOTOS card -->
  61. <Border Grid.Column="2" Background="White" CornerRadius="12" Padding="16,14">
  62. <StackPanel HorizontalAlignment="Center" Spacing="4">
  63. <TextBlock Text="1.2k" FontSize="22" FontWeight="Bold"
  64. Foreground="#0d1f22"
  65. HorizontalAlignment="Center"/>
  66. <StackPanel Orientation="Horizontal" Spacing="4"
  67. HorizontalAlignment="Center">
  68. <PathIcon Width="14" Height="14" Foreground="#0dccf2"
  69. Data="M22 16V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM11 12l2.03 2.71L16 11l4 5H8l3-4zM2 6v14a2 2 0 0 0 2 2h14v-2H4V6H2z"/>
  70. <TextBlock Text="PHOTOS" FontSize="11" FontWeight="SemiBold"
  71. Foreground="#8a9ba3" VerticalAlignment="Center"/>
  72. </StackPanel>
  73. </StackPanel>
  74. </Border>
  75. </Grid>
  76. <!-- Full-width REVIEWS card -->
  77. <Border Background="White" CornerRadius="12" Padding="16,14">
  78. <StackPanel HorizontalAlignment="Center" Spacing="4">
  79. <TextBlock Text="85" FontSize="22" FontWeight="Bold"
  80. Foreground="#0d1f22"
  81. HorizontalAlignment="Center"/>
  82. <StackPanel Orientation="Horizontal" Spacing="4"
  83. HorizontalAlignment="Center">
  84. <PathIcon Width="14" Height="14" Foreground="#ffb300"
  85. Data="M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"/>
  86. <TextBlock Text="REVIEWS" FontSize="11" FontWeight="SemiBold"
  87. Foreground="#8a9ba3" VerticalAlignment="Center"/>
  88. </StackPanel>
  89. </StackPanel>
  90. </Border>
  91. </StackPanel>
  92. </Border>
  93. <!-- Gallery section -->
  94. <Border Background="#f5f8f8" Padding="16,16,16,0">
  95. <StackPanel Spacing="10">
  96. <!-- Gallery header -->
  97. <DockPanel>
  98. <TextBlock Text="View All" FontSize="13" Foreground="#0dccf2"
  99. FontWeight="SemiBold" VerticalAlignment="Center"
  100. DockPanel.Dock="Right"/>
  101. <TextBlock Text="Travel Gallery" FontSize="15" FontWeight="Bold"
  102. Foreground="#0d1f22" VerticalAlignment="Center"/>
  103. </DockPanel>
  104. <!-- 2-column 3-row gallery grid -->
  105. <Grid ColumnDefinitions="*, 8, *"
  106. RowDefinitions="120, 8, 120, 8, 120">
  107. <Border Grid.Column="0" Grid.Row="0" CornerRadius="10" ClipToBounds="True" Background="#8a9ba3">
  108. <Image Source="avares://ControlCatalog/Assets/ModernApp/gallery_city.jpg"
  109. Stretch="UniformToFill"/>
  110. </Border>
  111. <Border Grid.Column="2" Grid.Row="0" CornerRadius="10" ClipToBounds="True" Background="#8a9ba3">
  112. <Image Source="avares://ControlCatalog/Assets/ModernApp/gallery_alpine.jpg"
  113. Stretch="UniformToFill"/>
  114. </Border>
  115. <Border Grid.Column="0" Grid.Row="2" CornerRadius="10" ClipToBounds="True" Background="#8a9ba3">
  116. <Image Source="avares://ControlCatalog/Assets/ModernApp/gallery_tropical.jpg"
  117. Stretch="UniformToFill"/>
  118. </Border>
  119. <Border Grid.Column="2" Grid.Row="2" CornerRadius="10" ClipToBounds="True" Background="#8a9ba3">
  120. <Image Source="avares://ControlCatalog/Assets/ModernApp/gallery_bay.jpg"
  121. Stretch="UniformToFill"/>
  122. </Border>
  123. <Border Grid.Column="0" Grid.Row="4" CornerRadius="10" ClipToBounds="True" Background="#8a9ba3">
  124. <Image Source="avares://ControlCatalog/Assets/ModernApp/gallery_paris.jpg"
  125. Stretch="UniformToFill"/>
  126. </Border>
  127. <Border Grid.Column="2" Grid.Row="4" CornerRadius="10" ClipToBounds="True" Background="#8a9ba3">
  128. <Image Source="avares://ControlCatalog/Assets/ModernApp/gallery_venice.jpg"
  129. Stretch="UniformToFill"/>
  130. </Border>
  131. </Grid>
  132. </StackPanel>
  133. </Border>
  134. <!-- Add New Experience button -->
  135. <Border Background="#f5f8f8" Padding="16,12,16,24">
  136. <Button Background="#0dccf2" CornerRadius="10"
  137. HorizontalAlignment="Stretch"
  138. HorizontalContentAlignment="Center"
  139. Padding="0,14">
  140. <StackPanel Orientation="Horizontal" Spacing="8">
  141. <PathIcon Width="18" Height="18" Foreground="White"
  142. Data="M12 2a10 10 0 1 0 0 20A10 10 0 0 0 12 2zm5 11h-4v4h-2v-4H7v-2h4V7h2v4h4v2z"/>
  143. <TextBlock Text="Add New Experience" Foreground="White"
  144. FontSize="15" FontWeight="SemiBold"
  145. VerticalAlignment="Center"/>
  146. </StackPanel>
  147. </Button>
  148. </Border>
  149. </StackPanel>
  150. </ScrollViewer>
  151. </UserControl>