Skip to content

Commit e56a557

Browse files
committed
Update Libs and Improve UI
1 parent 37af6ec commit e56a557

15 files changed

+162
-120
lines changed

dev/AlAnvar.csproj

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,19 @@
1818
</PropertyGroup>
1919

2020
<ItemGroup>
21-
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.3.230724000" />
21+
<PackageReference Include="CommunityToolkit.WinUI.Controls.Segmented" Version="8.0.230907" />
22+
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.4.230913002" />
2223
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.756" />
2324
<PackageReference Include="Microsoft.Xaml.Behaviors.WinUI.Managed" Version="2.0.9" />
2425
<PackageReference Include="CommunityToolkit.WinUI.UI" Version="7.1.2" />
2526
<PackageReference Include="CommunityToolkit.WinUI.UI.Controls.Markdown" Version="7.1.2" />
26-
<PackageReference Include="CommunityToolkit.Labs.WinUI.SegmentedControl" Version="0.0.3" />
2727
<PackageReference Include="Downloader" Version="3.0.6" />
28-
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="7.0.5" />
28+
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="7.0.11" />
2929
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.1" />
3030
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
31-
<PackageReference Include="WinUICommunity.Components" Version="5.0.2" />
32-
<PackageReference Include="WinUICommunity.Core" Version="5.0.4" />
33-
<PackageReference Include="WinUICommunity.LandingPages" Version="5.0.4" />
31+
<PackageReference Include="WinUICommunity.Components" Version="5.2.0" />
32+
<PackageReference Include="WinUICommunity.Core" Version="5.2.0" />
33+
<PackageReference Include="WinUICommunity.LandingPages" Version="5.2.0" />
3434
<Manifest Include="$(ApplicationManifest)" />
3535
</ItemGroup>
3636

dev/Assets/Cover/CoverDark.png

2.69 MB
Loading

dev/Assets/Cover/CoverLight.png

3.71 MB
Loading

dev/Assets/GalleryHeaderImage.png

-791 KB
Binary file not shown.

dev/GlobalUsings.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
global using AlAnvar.ViewModels;
77
global using AlAnvar.Views;
88

9-
global using CommunityToolkit.Labs.WinUI;
9+
global using CommunityToolkit.WinUI.Controls;
1010
global using CommunityToolkit.Mvvm.ComponentModel;
1111
global using CommunityToolkit.Mvvm.Input;
1212
global using CommunityToolkit.WinUI.Helpers;

dev/ViewModels/Qari/DownloadQariViewModel.cs

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
using Newtonsoft.Json;
66

77
namespace AlAnvar.ViewModels;
8-
public partial class DownloadQariViewModel : ObservableRecipient
8+
public partial class DownloadQariViewModel : ObservableRecipient, ITitleBarAutoSuggestBoxAware
99
{
1010
private readonly DispatcherQueue dispatcherQueue = DispatcherQueue.GetForCurrentThread();
1111

@@ -62,26 +62,22 @@ await Task.Run(async () =>
6262
IsDownloadActive = true;
6363
}
6464

65-
public void Search(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args)
65+
public void Search(AutoSuggestBox sender)
6666
{
6767
if (QuranAudiosACV != null)
6868
{
69-
AutoSuggestBoxHelper.LoadSuggestions(sender, args, autoSuggestBoxSuggestList);
7069
QuranAudiosACV.Filter = _ => true;
71-
QuranAudiosACV.Filter = AudiosFilter;
72-
}
73-
}
74-
75-
private bool AudiosFilter(object audio)
76-
{
77-
var query = audio as QuranAudio;
70+
QuranAudiosACV.Filter = audio =>
71+
{
72+
var query = audio as QuranAudio;
7873

79-
var name = query.Name ?? "";
80-
var pName = query.PName ?? "";
74+
var name = query.Name ?? "";
75+
var pName = query.PName ?? "";
8176

82-
var txtSearch = MainPage.Instance.GetTxtSearch();
83-
return name.Contains(txtSearch.Text, StringComparison.OrdinalIgnoreCase)
84-
|| pName.Contains(txtSearch.Text, StringComparison.OrdinalIgnoreCase);
77+
return name.Contains(sender.Text, StringComparison.OrdinalIgnoreCase)
78+
|| pName.Contains(sender.Text, StringComparison.OrdinalIgnoreCase);
79+
};
80+
}
8581
}
8682

8783
[RelayCommand]
@@ -209,6 +205,7 @@ private List<string> GetAudioIds(string fileName)
209205
}
210206
return quranAudioIds;
211207
}
208+
212209
private async Task<string> GetAudioPageSourceAsync(string qariUrl, string dirName)
213210
{
214211
using HttpClient client = new HttpClient();
@@ -235,4 +232,14 @@ private async Task<string> GetAudioPageSourceAsync(string qariUrl, string dirNam
235232

236233
return filePath;
237234
}
235+
236+
public void OnAutoSuggestBoxTextChanged(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args)
237+
{
238+
Search(sender);
239+
}
240+
241+
public void OnAutoSuggestBoxQuerySubmitted(AutoSuggestBox sender, AutoSuggestBoxQuerySubmittedEventArgs args)
242+
{
243+
Search(sender);
244+
}
238245
}

dev/ViewModels/QuranViewModel/QuranViewModel.cs

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace AlAnvar.ViewModels;
44

5-
public partial class QuranViewModel : ObservableRecipient
5+
public partial class QuranViewModel : ObservableRecipient, ITitleBarAutoSuggestBoxAware
66
{
77
public QuranViewModel()
88
{
@@ -124,32 +124,28 @@ await Task.Run(async () =>
124124
IsActive = false;
125125
}
126126

127-
public void Search(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args)
127+
public void Search(AutoSuggestBox sender)
128128
{
129129
if (ChaptersACV != null)
130130
{
131-
AutoSuggestBoxHelper.LoadSuggestions(sender, args, suggestListForSurahSearch, "نتیجه ای یافت نشد");
132131
ChaptersACV.Filter = _ => true;
133-
ChaptersACV.Filter = ChapterFilter;
132+
ChaptersACV.Filter = chapter =>
133+
{
134+
var query = chapter as ChapterProperty;
135+
136+
var name = query.Name ?? "";
137+
var tName = query.TName ?? "";
138+
var type = query.Type ?? "";
139+
var aya = query.Ayas.ToString() ?? "";
140+
141+
return name.Contains(sender.Text, StringComparison.OrdinalIgnoreCase)
142+
|| tName.Contains(sender.Text, StringComparison.OrdinalIgnoreCase)
143+
|| aya.Contains(sender.Text, StringComparison.OrdinalIgnoreCase)
144+
|| type.Contains(sender.Text, StringComparison.OrdinalIgnoreCase);
145+
};
134146
}
135147
}
136148

137-
private bool ChapterFilter(object chapter)
138-
{
139-
var query = chapter as ChapterProperty;
140-
141-
var name = query.Name ?? "";
142-
var tName = query.TName ?? "";
143-
var type = query.Type ?? "";
144-
var aya = query.Ayas.ToString() ?? "";
145-
var txtSearch = QuranPage.Instance.GetTxtSearch();
146-
147-
return name.Contains(txtSearch.Text, StringComparison.OrdinalIgnoreCase)
148-
|| tName.Contains(txtSearch.Text, StringComparison.OrdinalIgnoreCase)
149-
|| aya.Contains(txtSearch.Text, StringComparison.OrdinalIgnoreCase)
150-
|| type.Contains(txtSearch.Text, StringComparison.OrdinalIgnoreCase);
151-
}
152-
153149
private void AddNewSurahTab(TabView tabView, ChapterProperty chapterProperty)
154150
{
155151
this.tabview = tabView;
@@ -173,4 +169,14 @@ private void TabViewItem_CloseRequested(TabViewItem sender, TabViewTabCloseReque
173169
tabview.TabItems.Remove(sender);
174170
ListViewSelectedIndex = -1;
175171
}
172+
173+
public void OnAutoSuggestBoxTextChanged(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args)
174+
{
175+
Search(sender);
176+
}
177+
178+
public void OnAutoSuggestBoxQuerySubmitted(AutoSuggestBox sender, AutoSuggestBoxQuerySubmittedEventArgs args)
179+
{
180+
Search(sender);
181+
}
176182
}

dev/ViewModels/Translation/DownloadTranslationViewModel.cs

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
using Downloader;
77

88
namespace AlAnvar.ViewModels;
9-
public partial class DownloadTranslationViewModel : ObservableRecipient
9+
public partial class DownloadTranslationViewModel : ObservableRecipient, ITitleBarAutoSuggestBoxAware
1010
{
1111
private readonly DispatcherQueue dispatcherQueue = DispatcherQueue.GetForCurrentThread();
1212

@@ -49,27 +49,24 @@ await Task.Run(async () =>
4949
IsDownloadActive = true;
5050
}
5151

52-
public void Search(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args)
52+
public void Search(AutoSuggestBox sender)
5353
{
5454
if (QuranTranslationsACV != null)
5555
{
5656
QuranTranslationsACV.Filter = _ => true;
57-
QuranTranslationsACV.Filter = TranslationFilter;
58-
}
59-
}
60-
61-
private bool TranslationFilter(object translation)
62-
{
63-
var query = translation as QuranTranslation;
57+
QuranTranslationsACV.Filter = translation =>
58+
{
59+
var query = translation as QuranTranslation;
6460

65-
var name = query.Name ?? "";
66-
var language = query.Language ?? "";
67-
var translator = query.Translator ?? "";
61+
var name = query.Name ?? "";
62+
var language = query.Language ?? "";
63+
var translator = query.Translator ?? "";
6864

69-
var txtSearch = MainPage.Instance.GetTxtSearch();
70-
return name.Contains(txtSearch.Text, StringComparison.OrdinalIgnoreCase)
71-
|| language.Contains(txtSearch.Text, StringComparison.OrdinalIgnoreCase)
72-
|| translator.Contains(txtSearch.Text, StringComparison.OrdinalIgnoreCase);
65+
return name.Contains(sender.Text, StringComparison.OrdinalIgnoreCase)
66+
|| language.Contains(sender.Text, StringComparison.OrdinalIgnoreCase)
67+
|| translator.Contains(sender.Text, StringComparison.OrdinalIgnoreCase);
68+
};
69+
}
7370
}
7471

7572
[RelayCommand]
@@ -217,4 +214,14 @@ private void Downloader_DownloadProgressChanged(object sender, DownloadProgressC
217214
ProgressValue = e.ProgressPercentage;
218215
});
219216
}
217+
218+
public void OnAutoSuggestBoxTextChanged(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args)
219+
{
220+
Search(sender);
221+
}
222+
223+
public void OnAutoSuggestBoxQuerySubmitted(AutoSuggestBox sender, AutoSuggestBoxQuerySubmittedEventArgs args)
224+
{
225+
Search(sender);
226+
}
220227
}

dev/Views/HomeLandingPage.xaml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,21 @@
88
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
99
xmlns:wuc="using:WinUICommunity"
1010
mc:Ignorable="d">
11+
<Page.Resources>
12+
<ResourceDictionary>
13+
<ResourceDictionary.ThemeDictionaries>
14+
<ResourceDictionary x:Key="Light">
15+
<x:String x:Key="HeaderCover">/Assets/Cover/CoverLight.png</x:String>
16+
</ResourceDictionary>
17+
<ResourceDictionary x:Key="Dark">
18+
<x:String x:Key="HeaderCover">/Assets/Cover/CoverDark.png</x:String>
19+
</ResourceDictionary>
20+
</ResourceDictionary.ThemeDictionaries>
21+
</ResourceDictionary>
22+
</Page.Resources>
1123
<wuc:AllLandingPage x:Name="allLandingPage"
12-
HeaderImage="ms-appx:///Assets/GalleryHeaderImage.png"
13-
HeaderOverlayImage="ms-appx:///Assets/GalleryHeaderImage.png"
24+
HeaderImage="{ThemeResource HeaderCover}"
25+
HeaderOverlayImage="{ThemeResource HeaderCover}"
1426
HeaderText="الانوار">
1527
<i:Interaction.Behaviors>
1628
<ic:EventTriggerBehavior EventName="OnItemClick">

dev/Views/MainPage.xaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@
2727
FlowDirection="RightToLeft"
2828
PlaceholderText="جستجو"
2929
QueryIcon="Find"
30-
TextChanged="TxtSearch_TextChanged" />
30+
QuerySubmitted="AutoSuggestBox_QuerySubmitted"
31+
TextChanged="AutoSuggestBox_TextChanged" />
3132
</wuc:TitleBar.Content>
3233
<wuc:TitleBar.Footer>
3334
<Button x:Name="ThemeButton"

0 commit comments

Comments
 (0)