ModernDiscoverView.xaml 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360
  1. <UserControl xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. x:Class="ControlCatalog.Pages.ModernDiscoverView">
  4. <ScrollViewer HorizontalScrollBarVisibility="Disabled">
  5. <StackPanel Spacing="0" Background="#f5f8f8">
  6. <!-- Search bar -->
  7. <Border Background="White" Padding="16,8,16,14">
  8. <Border Background="#f5f8f8" CornerRadius="12" Padding="12,10">
  9. <StackPanel Orientation="Horizontal" Spacing="10">
  10. <PathIcon Width="16" Height="16" Foreground="#8a9ba3"
  11. Data="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>
  12. <TextBlock Text="Search for destinations"
  13. Foreground="#8a9ba3" FontSize="14"
  14. VerticalAlignment="Center"/>
  15. </StackPanel>
  16. </Border>
  17. </Border>
  18. <!-- Featured Stories header -->
  19. <Border Background="White" Padding="16,0,16,4">
  20. <DockPanel>
  21. <TextBlock Text="View all" FontSize="13" Foreground="#0dccf2"
  22. FontWeight="SemiBold" VerticalAlignment="Center"
  23. DockPanel.Dock="Right"/>
  24. <TextBlock Text="Featured Stories" FontSize="15" FontWeight="Bold"
  25. Foreground="#0d1f22" VerticalAlignment="Center"/>
  26. </DockPanel>
  27. </Border>
  28. <!-- Stories row -->
  29. <Border Background="White" Padding="0,0,0,16">
  30. <ScrollViewer HorizontalScrollBarVisibility="Hidden"
  31. VerticalScrollBarVisibility="Disabled">
  32. <StackPanel Orientation="Horizontal" Spacing="16" Margin="16,0">
  33. <!-- Sarah -->
  34. <StackPanel Spacing="6" HorizontalAlignment="Center">
  35. <Grid Width="62" Height="62">
  36. <Border Width="57" Height="57" CornerRadius="999" ClipToBounds="True"
  37. HorizontalAlignment="Center" VerticalAlignment="Center">
  38. <Image Source="avares://ControlCatalog/Assets/ModernApp/story1.jpg"
  39. Stretch="UniformToFill"/>
  40. </Border>
  41. <Border Width="62" Height="62" CornerRadius="999"
  42. BorderBrush="#0dccf2" BorderThickness="2.5"
  43. Background="Transparent"/>
  44. </Grid>
  45. <TextBlock Text="Sarah" FontSize="11" TextAlignment="Center"
  46. Foreground="#0d1f22" MaxWidth="62"
  47. TextTrimming="CharacterEllipsis"/>
  48. </StackPanel>
  49. <!-- Mike -->
  50. <StackPanel Spacing="6" HorizontalAlignment="Center">
  51. <Grid Width="62" Height="62">
  52. <Border Width="57" Height="57" CornerRadius="999" ClipToBounds="True"
  53. HorizontalAlignment="Center" VerticalAlignment="Center">
  54. <Image Source="avares://ControlCatalog/Assets/ModernApp/story2.jpg"
  55. Stretch="UniformToFill"/>
  56. </Border>
  57. <Border Width="62" Height="62" CornerRadius="999"
  58. BorderBrush="#0dccf2" BorderThickness="2.5"
  59. Background="Transparent"/>
  60. </Grid>
  61. <TextBlock Text="Mike" FontSize="11" TextAlignment="Center"
  62. Foreground="#0d1f22" MaxWidth="62"
  63. TextTrimming="CharacterEllipsis"/>
  64. </StackPanel>
  65. <!-- Elena -->
  66. <StackPanel Spacing="6" HorizontalAlignment="Center">
  67. <Grid Width="62" Height="62">
  68. <Border Width="57" Height="57" CornerRadius="999" ClipToBounds="True"
  69. HorizontalAlignment="Center" VerticalAlignment="Center">
  70. <Image Source="avares://ControlCatalog/Assets/ModernApp/story3.jpg"
  71. Stretch="UniformToFill"/>
  72. </Border>
  73. <Border Width="62" Height="62" CornerRadius="999"
  74. BorderBrush="#0dccf2" BorderThickness="2.5"
  75. Background="Transparent"/>
  76. </Grid>
  77. <TextBlock Text="Elena" FontSize="11" TextAlignment="Center"
  78. Foreground="#0d1f22" MaxWidth="62"
  79. TextTrimming="CharacterEllipsis"/>
  80. </StackPanel>
  81. <!-- You (avatar) -->
  82. <StackPanel Spacing="6" HorizontalAlignment="Center">
  83. <Grid Width="62" Height="62">
  84. <Border Width="57" Height="57" CornerRadius="999" ClipToBounds="True"
  85. HorizontalAlignment="Center" VerticalAlignment="Center">
  86. <Image Source="avares://ControlCatalog/Assets/ModernApp/avatar.jpg"
  87. Stretch="UniformToFill"/>
  88. </Border>
  89. <Border Width="62" Height="62" CornerRadius="999"
  90. BorderBrush="#0dccf2" BorderThickness="2.5"
  91. Background="Transparent"/>
  92. </Grid>
  93. <TextBlock Text="You" FontSize="11" TextAlignment="Center"
  94. Foreground="#0d1f22" MaxWidth="62"
  95. TextTrimming="CharacterEllipsis"/>
  96. </StackPanel>
  97. <!-- + circle -->
  98. <StackPanel Spacing="6" HorizontalAlignment="Center">
  99. <Border Width="62" Height="62" CornerRadius="999"
  100. BorderBrush="#0dccf2" BorderThickness="2.5">
  101. <TextBlock Text="+" FontSize="28" Foreground="#0dccf2"
  102. HorizontalAlignment="Center"
  103. VerticalAlignment="Center"/>
  104. </Border>
  105. <TextBlock Text="You" FontSize="11" TextAlignment="Center"
  106. Foreground="#0d1f22"/>
  107. </StackPanel>
  108. </StackPanel>
  109. </ScrollViewer>
  110. </Border>
  111. <!-- Filter tabs -->
  112. <Border Background="White" Padding="16,0,16,16">
  113. <StackPanel Orientation="Horizontal" Spacing="10">
  114. <!-- Trending - active -->
  115. <Border Background="#0dccf2" CornerRadius="999"
  116. BorderBrush="#0dccf2" BorderThickness="1"
  117. Padding="18,8">
  118. <TextBlock Text="Trending" FontSize="13" FontWeight="SemiBold"
  119. Foreground="White"/>
  120. </Border>
  121. <!-- Popular - inactive -->
  122. <Border Background="Transparent" CornerRadius="999"
  123. BorderBrush="#dde6e9" BorderThickness="1"
  124. Padding="18,8">
  125. <TextBlock Text="Popular" FontSize="13" FontWeight="Normal"
  126. Foreground="#8a9ba3"/>
  127. </Border>
  128. <!-- Near Me - inactive -->
  129. <Border Background="Transparent" CornerRadius="999"
  130. BorderBrush="#dde6e9" BorderThickness="1"
  131. Padding="18,8">
  132. <TextBlock Text="Near Me" FontSize="13" FontWeight="Normal"
  133. Foreground="#8a9ba3"/>
  134. </Border>
  135. </StackPanel>
  136. </Border>
  137. <!-- Featured Destinations header -->
  138. <Border Padding="16,16,16,8">
  139. <TextBlock Text="Featured Destinations" FontSize="16" FontWeight="Bold"
  140. Foreground="#0d1f22"/>
  141. </Border>
  142. <!-- Destination card 1: Mount Peak Adventure / Swiss Alps / favorited -->
  143. <Border Padding="16,0,16,12">
  144. <Border Height="190" CornerRadius="12" ClipToBounds="True" Background="#8a9ba3">
  145. <Grid>
  146. <Image Source="avares://ControlCatalog/Assets/ModernApp/dest_alps.jpg"
  147. Stretch="UniformToFill"/>
  148. <Border>
  149. <Border.Background>
  150. <LinearGradientBrush StartPoint="0%,40%" EndPoint="0%,100%">
  151. <GradientStop Color="#00000000" Offset="0"/>
  152. <GradientStop Color="#C8000000" Offset="1"/>
  153. </LinearGradientBrush>
  154. </Border.Background>
  155. </Border>
  156. <StackPanel VerticalAlignment="Bottom" Margin="14,0,14,14" Spacing="3">
  157. <StackPanel Orientation="Horizontal" Spacing="4">
  158. <PathIcon Width="12" Height="12" Foreground="White"
  159. 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"/>
  160. <TextBlock Text="Swiss Alps" Foreground="White" FontSize="12" Opacity="0.9"/>
  161. </StackPanel>
  162. <TextBlock Text="Mount Peak Adventure" Foreground="White"
  163. FontSize="16" FontWeight="Bold"/>
  164. </StackPanel>
  165. <!-- Favorited (pink) heart -->
  166. <Border Width="32" Height="32" CornerRadius="999"
  167. Background="#80FFFFFF"
  168. HorizontalAlignment="Right" VerticalAlignment="Top"
  169. Margin="0,10,10,0">
  170. <PathIcon Width="16" Height="16" Foreground="#ff5c8a"
  171. Data="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/>
  172. </Border>
  173. </Grid>
  174. </Border>
  175. </Border>
  176. <!-- Destination card 2: The Whispering Woods / Pacific Northwest -->
  177. <Border Padding="16,0,16,12">
  178. <Border Height="190" CornerRadius="12" ClipToBounds="True" Background="#8a9ba3">
  179. <Grid>
  180. <Image Source="avares://ControlCatalog/Assets/ModernApp/dest_forest.jpg"
  181. Stretch="UniformToFill"/>
  182. <Border>
  183. <Border.Background>
  184. <LinearGradientBrush StartPoint="0%,40%" EndPoint="0%,100%">
  185. <GradientStop Color="#00000000" Offset="0"/>
  186. <GradientStop Color="#C8000000" Offset="1"/>
  187. </LinearGradientBrush>
  188. </Border.Background>
  189. </Border>
  190. <StackPanel VerticalAlignment="Bottom" Margin="14,0,14,14" Spacing="3">
  191. <StackPanel Orientation="Horizontal" Spacing="4">
  192. <PathIcon Width="12" Height="12" Foreground="White"
  193. 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"/>
  194. <TextBlock Text="Pacific Northwest" Foreground="White" FontSize="12" Opacity="0.9"/>
  195. </StackPanel>
  196. <TextBlock Text="The Whispering Woods" Foreground="White"
  197. FontSize="16" FontWeight="Bold"/>
  198. </StackPanel>
  199. <!-- White heart -->
  200. <Border Width="32" Height="32" CornerRadius="999"
  201. Background="#80FFFFFF"
  202. HorizontalAlignment="Right" VerticalAlignment="Top"
  203. Margin="0,10,10,0">
  204. <PathIcon Width="16" Height="16" Foreground="White"
  205. Data="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/>
  206. </Border>
  207. </Grid>
  208. </Border>
  209. </Border>
  210. <!-- Destination card 3: Nordic Cabin Escape / Norway Highlands -->
  211. <Border Padding="16,0,16,12">
  212. <Border Height="190" CornerRadius="12" ClipToBounds="True" Background="#8a9ba3">
  213. <Grid>
  214. <Image Source="avares://ControlCatalog/Assets/ModernApp/dest_norway.jpg"
  215. Stretch="UniformToFill"/>
  216. <Border>
  217. <Border.Background>
  218. <LinearGradientBrush StartPoint="0%,40%" EndPoint="0%,100%">
  219. <GradientStop Color="#00000000" Offset="0"/>
  220. <GradientStop Color="#C8000000" Offset="1"/>
  221. </LinearGradientBrush>
  222. </Border.Background>
  223. </Border>
  224. <StackPanel VerticalAlignment="Bottom" Margin="14,0,14,14" Spacing="3">
  225. <StackPanel Orientation="Horizontal" Spacing="4">
  226. <PathIcon Width="12" Height="12" Foreground="White"
  227. 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"/>
  228. <TextBlock Text="Norway Highlands" Foreground="White" FontSize="12" Opacity="0.9"/>
  229. </StackPanel>
  230. <TextBlock Text="Nordic Cabin Escape" Foreground="White"
  231. FontSize="16" FontWeight="Bold"/>
  232. </StackPanel>
  233. <!-- White heart -->
  234. <Border Width="32" Height="32" CornerRadius="999"
  235. Background="#80FFFFFF"
  236. HorizontalAlignment="Right" VerticalAlignment="Top"
  237. Margin="0,10,10,0">
  238. <PathIcon Width="16" Height="16" Foreground="White"
  239. Data="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/>
  240. </Border>
  241. </Grid>
  242. </Border>
  243. </Border>
  244. <!-- Popular Experiences header -->
  245. <Border Padding="16,8,16,8">
  246. <DockPanel>
  247. <TextBlock Text="View all" FontSize="13" Foreground="#0dccf2"
  248. FontWeight="SemiBold" VerticalAlignment="Center"
  249. DockPanel.Dock="Right"/>
  250. <TextBlock Text="Popular Experiences" FontSize="15" FontWeight="Bold"
  251. Foreground="#0d1f22" VerticalAlignment="Center"/>
  252. </DockPanel>
  253. </Border>
  254. <!-- Experience card 1: Tokyo Night Life / $120 / 4.9 / 1.2k -->
  255. <Border Padding="16,0,16,12">
  256. <Border Background="White" CornerRadius="12" ClipToBounds="True">
  257. <DockPanel>
  258. <Border Width="105" Height="110" Background="#8a9ba3" ClipToBounds="True"
  259. DockPanel.Dock="Left">
  260. <Image Source="avares://ControlCatalog/Assets/ModernApp/exp_tokyo.jpg"
  261. Stretch="UniformToFill"/>
  262. </Border>
  263. <StackPanel Margin="12,10,12,10" Spacing="4">
  264. <DockPanel>
  265. <TextBlock Text="$120" FontSize="16" FontWeight="Bold"
  266. Foreground="#0dccf2"
  267. DockPanel.Dock="Right"
  268. VerticalAlignment="Top"/>
  269. <TextBlock Text="Tokyo Night Life" FontSize="14" FontWeight="SemiBold"
  270. Foreground="#0d1f22" TextWrapping="Wrap"/>
  271. </DockPanel>
  272. <TextBlock Text="Experience the neon lights and hidden bars of Shinjuku with a local guide."
  273. FontSize="12" Foreground="#8a9ba3"
  274. TextWrapping="Wrap" MaxLines="2"/>
  275. <StackPanel Orientation="Horizontal" Spacing="6">
  276. <StackPanel Orientation="Horizontal" Spacing="2">
  277. <PathIcon Width="13" Height="13" Foreground="#ffb300"
  278. 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"/>
  279. <PathIcon Width="13" Height="13" Foreground="#ffb300"
  280. 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"/>
  281. <PathIcon Width="13" Height="13" Foreground="#ffb300"
  282. 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"/>
  283. <PathIcon Width="13" Height="13" Foreground="#ffb300"
  284. 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"/>
  285. <PathIcon Width="13" Height="13" Foreground="#ffb300"
  286. 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"/>
  287. </StackPanel>
  288. <TextBlock Text="4.9 (1.2k)" FontSize="12" Foreground="#8a9ba3"
  289. VerticalAlignment="Center"/>
  290. </StackPanel>
  291. </StackPanel>
  292. </DockPanel>
  293. </Border>
  294. </Border>
  295. <!-- Experience card 2: Angkor Wat Sunrise / $85 / 4.8 / 850 -->
  296. <Border Padding="16,0,16,12">
  297. <Border Background="White" CornerRadius="12" ClipToBounds="True">
  298. <DockPanel>
  299. <Border Width="105" Height="110" Background="#8a9ba3" ClipToBounds="True"
  300. DockPanel.Dock="Left">
  301. <Image Source="avares://ControlCatalog/Assets/ModernApp/exp_angkor.jpg"
  302. Stretch="UniformToFill"/>
  303. </Border>
  304. <StackPanel Margin="12,10,12,10" Spacing="4">
  305. <DockPanel>
  306. <TextBlock Text="$85" FontSize="16" FontWeight="Bold"
  307. Foreground="#0dccf2"
  308. DockPanel.Dock="Right"
  309. VerticalAlignment="Top"/>
  310. <TextBlock Text="Angkor Wat Sunrise" FontSize="14" FontWeight="SemiBold"
  311. Foreground="#0d1f22" TextWrapping="Wrap"/>
  312. </DockPanel>
  313. <TextBlock Text="Witness the breathtaking sunrise over the world's largest religious monument."
  314. FontSize="12" Foreground="#8a9ba3"
  315. TextWrapping="Wrap" MaxLines="2"/>
  316. <StackPanel Orientation="Horizontal" Spacing="6">
  317. <StackPanel Orientation="Horizontal" Spacing="2">
  318. <PathIcon Width="13" Height="13" Foreground="#ffb300"
  319. 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"/>
  320. <PathIcon Width="13" Height="13" Foreground="#ffb300"
  321. 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"/>
  322. <PathIcon Width="13" Height="13" Foreground="#ffb300"
  323. 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"/>
  324. <PathIcon Width="13" Height="13" Foreground="#ffb300"
  325. 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"/>
  326. <PathIcon Width="13" Height="13" Foreground="#ffb300"
  327. 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"/>
  328. </StackPanel>
  329. <TextBlock Text="4.8 (850)" FontSize="12" Foreground="#8a9ba3"
  330. VerticalAlignment="Center"/>
  331. </StackPanel>
  332. </StackPanel>
  333. </DockPanel>
  334. </Border>
  335. </Border>
  336. <Border Height="24"/>
  337. </StackPanel>
  338. </ScrollViewer>
  339. </UserControl>