fix: reduce memory usage

This commit is contained in:
estrogen elf
2025-06-18 02:12:49 -05:00
parent e193eb990a
commit 116c798db3
2 changed files with 16 additions and 20 deletions

View File

@@ -29,13 +29,18 @@ public partial class HomeViewModel : PageBase, IEnableLogger
.Select(time => Unit.Default) .Select(time => Unit.Default)
.Subscribe(_ => .Subscribe(_ =>
{ {
if (SelectedHextechDocsPostsIndex == HextechDocsPosts.Count - 1) if (SelectedHextechDocsPost is HextechDocsPostViewModel vm)
{ {
SelectedHextechDocsPostsIndex = 0; var index = HextechDocsPosts.IndexOf(vm);
if (index == HextechDocsPosts.Count - 1)
{
index = 0;
} }
else else
{ {
SelectedHextechDocsPostsIndex += 1; index += 1;
}
SelectedHextechDocsPost = HextechDocsPosts.ElementAt(index);
} }
}); });
} }
@@ -52,7 +57,7 @@ public partial class HomeViewModel : PageBase, IEnableLogger
private List<HextechDocsPostViewModel> _hextechDocsPosts = []; private List<HextechDocsPostViewModel> _hextechDocsPosts = [];
[ObservableProperty] [ObservableProperty]
private int _selectedHextechDocsPostsIndex; private HextechDocsPostViewModel? _selectedHextechDocsPost;
public override async Task InitializeAsync() public override async Task InitializeAsync()
{ {
@@ -63,6 +68,7 @@ public partial class HomeViewModel : PageBase, IEnableLogger
Dispatcher.UIThread.Invoke(() => Dispatcher.UIThread.Invoke(() =>
{ {
HextechDocsPosts = hextechDocsPosts; HextechDocsPosts = hextechDocsPosts;
SelectedHextechDocsPost = HextechDocsPosts.First();
}); });
} }
catch (Exception ex) catch (Exception ex)

View File

@@ -41,19 +41,9 @@
</StackPanel> </StackPanel>
</Border> </Border>
<!-- HEXTECHDOCS POSTS --> <!-- HEXTECHDOCS POSTS -->
<Carousel ItemsSource="{Binding HextechDocsPosts}" <ContentControl Margin="12"
SelectedIndex="{Binding SelectedHextechDocsPostsIndex}" Content="{Binding SelectedHextechDocsPost}"
Margin="12" IsVisible="{Binding HextechDocsPosts, Converter={StaticResource EnumerableToVisibilityConverter}}"/>
IsVisible="{Binding HextechDocsPosts, Converter={StaticResource EnumerableToVisibilityConverter}}">
<Carousel.PageTransition>
<PageSlide Orientation="Horizontal" Duration="0.25"/>
</Carousel.PageTransition>
<Carousel.ItemTemplate>
<DataTemplate>
<ContentControl Content="{Binding}"/>
</DataTemplate>
</Carousel.ItemTemplate>
</Carousel>
<controls:Card Margin="12"> <controls:Card Margin="12">
<TextBlock TextWrapping="Wrap">THE PROGRAM IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGMENT, OR OF FITNESS FOR A PARTICULAR PURPOSE. LICENSOR DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE PROGRAM WILL MEET YOUR REQUIREMENTS OR THAT OPERATION WILL BE UNINTERRUPTED OR ERROR FREE. LICENSOR MAKES NO WARRANTIES RESPECTING ANY HARM THAT MAY BE CAUSED BY MALICIOUS USE OF THIS SOFTWARE. LICENSOR FURTHER EXPRESSLY DISCLAIMS ANY WARRANTY OR REPRESENTATION TO AUTHORIZED USERS OR TO ANY THIRD PARTY.</TextBlock> <TextBlock TextWrapping="Wrap">THE PROGRAM IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGMENT, OR OF FITNESS FOR A PARTICULAR PURPOSE. LICENSOR DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE PROGRAM WILL MEET YOUR REQUIREMENTS OR THAT OPERATION WILL BE UNINTERRUPTED OR ERROR FREE. LICENSOR MAKES NO WARRANTIES RESPECTING ANY HARM THAT MAY BE CAUSED BY MALICIOUS USE OF THIS SOFTWARE. LICENSOR FURTHER EXPRESSLY DISCLAIMS ANY WARRANTY OR REPRESENTATION TO AUTHORIZED USERS OR TO ANY THIRD PARTY.</TextBlock>
</controls:Card> </controls:Card>