fix banner view

This commit is contained in:
kwan.nguyen 2025-01-26 18:31:32 +07:00
parent 87ec7eaf58
commit 3c72ef2e5a
2 changed files with 16 additions and 7 deletions

View File

@ -101,7 +101,11 @@
<ColumnDefinition Width="0.2*" /> <ColumnDefinition Width="0.2*" />
<ColumnDefinition Width="0.8*" /> <ColumnDefinition Width="0.8*" />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<WebView x:Name="BannerView" Grid.Row="0" Grid.ColumnSpan="2"/> <WebView x:Name="BannerView" Grid.Row="0" Grid.ColumnSpan="2"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.HorizontalScrollMode="Disabled"
ScrollViewer.IsHorizontalRailEnabled="False"
ScrollViewer.IsHorizontalScrollChainingEnabled="False"/>
<Frame x:Name="ContentFrame" Grid.Row="1" Grid.ColumnSpan="2" Navigated="ContentFrame_Navigated"/> <Frame x:Name="ContentFrame" Grid.Row="1" Grid.ColumnSpan="2" Navigated="ContentFrame_Navigated"/>
<Grid <Grid
Grid.Row="0" Grid.Row="0"

View File

@ -12,6 +12,7 @@ using PCUT.Entities.ApiResponse;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using Windows.Storage; using Windows.Storage;
using System.Linq;
namespace PCUT.ViewModels namespace PCUT.ViewModels
{ {
@ -108,15 +109,19 @@ namespace PCUT.ViewModels
{ {
var apiResponse = await response.DeserializeObjectAsync<PaginationResponse<IEnumerable<Banner>>>(); var apiResponse = await response.DeserializeObjectAsync<PaginationResponse<IEnumerable<Banner>>>();
var banners = apiResponse.Data; var banners = apiResponse.Data;
var bannersCount = banners.Count();
var contentBuilder = new StringBuilder(); var contentBuilder = new StringBuilder();
contentBuilder.Append( contentBuilder.Append(
@"<!DOCTYPE html><html> $@"<!DOCTYPE html><html>
<head><style> <head>
.marquee-container {display: flex;overflow: hidden;white-space: nowrap;animation: marquee 30s linear infinite;} <meta charset=""UTF-8"">
.marquee-text {width: 100%} <style>
@keyframes marquee {0% {transform: translateX(100%);} 100% {transform: translateX(-100%);}} ::-webkit-scrollbar {{background: transparent;}}
.marquee-container {{display: flex;overflow: visible;white-space: nowrap;animation: marquee {bannersCount*20}s linear infinite;}}
.marquee-text {{width: 100%;margin-right: 10%;font-family: Arial, sans-serif;}}
@keyframes marquee {{0% {{transform: translateX(100%);}} 100% {{transform: translateX(-{bannersCount*110}%);}}}}
</style></head> </style></head>
<body><div class=""marquee-container"">"); <body style=""-ms-overflow-style: none;scrollbar-width: none;""><div class=""marquee-container"">");
foreach (var banner in banners) foreach (var banner in banners)
{ {
contentBuilder.Append(@"<div class=""marquee-text"">").Append(banner.Content).Append("</div>"); contentBuilder.Append(@"<div class=""marquee-text"">").Append(banner.Content).Append("</div>");