diff --git a/WatchIt.Website/WatchIt.Website/Components/ListPage/ListComponent.razor b/WatchIt.Website/WatchIt.Website/Components/ListPage/ListComponent.razor
new file mode 100644
index 0000000..e69de29
diff --git a/WatchIt.Website/WatchIt.Website/Components/ListPage/ListComponent.razor.cs b/WatchIt.Website/WatchIt.Website/Components/ListPage/ListComponent.razor.cs
new file mode 100644
index 0000000..7233ffe
--- /dev/null
+++ b/WatchIt.Website/WatchIt.Website/Components/ListPage/ListComponent.razor.cs
@@ -0,0 +1,7 @@
+using Microsoft.AspNetCore.Components;
+
+namespace WatchIt.Website.Components.ListPage;
+
+public partial class ListComponent : ComponentBase
+{
+}
\ No newline at end of file
diff --git a/WatchIt.Website/WatchIt.Website/Components/ListPage/ListComponent.razor.css b/WatchIt.Website/WatchIt.Website/Components/ListPage/ListComponent.razor.css
new file mode 100644
index 0000000..e69de29
diff --git a/WatchIt.Website/WatchIt.Website/Components/SearchPage/SearchResultComponent.razor b/WatchIt.Website/WatchIt.Website/Components/SearchPage/SearchResultComponent.razor
index 929a974..a448ee8 100644
--- a/WatchIt.Website/WatchIt.Website/Components/SearchPage/SearchResultComponent.razor
+++ b/WatchIt.Website/WatchIt.Website/Components/SearchPage/SearchResultComponent.razor
@@ -51,7 +51,7 @@
else
{
- Saving...
+ Loading...
}
diff --git a/WatchIt.Website/WatchIt.Website/Layout/MainLayout.razor b/WatchIt.Website/WatchIt.Website/Layout/MainLayout.razor
index ca49395..d1c94b7 100644
--- a/WatchIt.Website/WatchIt.Website/Layout/MainLayout.razor
+++ b/WatchIt.Website/WatchIt.Website/Layout/MainLayout.razor
@@ -32,7 +32,13 @@
}
else
{
- Rankings
+
+ Lists
+
+ Movies
+ TV Series
+
+
_searchbarVisible = true)">⌕
}
diff --git a/WatchIt.Website/WatchIt.Website/Pages/ListPage.razor b/WatchIt.Website/WatchIt.Website/Pages/ListPage.razor
new file mode 100644
index 0000000..9a185eb
--- /dev/null
+++ b/WatchIt.Website/WatchIt.Website/Pages/ListPage.razor
@@ -0,0 +1,88 @@
+@layout MainLayout
+
+@page "/lists/movies"
+@using WatchIt.Common.Model.Movies
+
+
+ @if (_loaded)
+ {
+ if (string.IsNullOrWhiteSpace(_error))
+ {
+
+
+
+
+
+
+
Movies database
+
+
+
+
+
+
+
+
+
+
+
+
+ foreach (MovieResponse item in _items)
+ {
+
+ }
+ if (!_allItemsLoaded)
+ {
+
+
+
+
+ @if (!_itemsLoading)
+ {
+ Load more
+ }
+ else
+ {
+
+ Load more
+ }
+
+
+
+
+ }
+ }
+ else
+ {
+
+ }
+ }
+ else
+ {
+
+ }
+
+
+
\ No newline at end of file
diff --git a/WatchIt.Website/WatchIt.Website/Pages/ListPage.razor.cs b/WatchIt.Website/WatchIt.Website/Pages/ListPage.razor.cs
new file mode 100644
index 0000000..e97ea7a
--- /dev/null
+++ b/WatchIt.Website/WatchIt.Website/Pages/ListPage.razor.cs
@@ -0,0 +1,96 @@
+using Microsoft.AspNetCore.Components;
+using WatchIt.Common.Model.Movies;
+using WatchIt.Website.Services.WebAPI.Media;
+using WatchIt.Website.Services.WebAPI.Movies;
+
+namespace WatchIt.Website.Pages;
+
+public partial class ListPage : ComponentBase
+{
+ #region SERVICES
+
+ [Inject] private IMoviesWebAPIService MoviesWebAPIService { get; set; } = default!;
+ [Inject] private IMediaWebAPIService MediaWebAPIService { get; set; } = default!;
+
+ #endregion
+
+
+
+ #region PARAMETERS
+
+
+
+ #endregion
+
+
+
+ #region FIELDS
+
+ private bool _loaded;
+ private string? _error;
+
+ private MovieQueryParameters _query = new MovieQueryParameters { OrderBy = "rating.average" };
+ private List _items = new List();
+ private bool _allItemsLoaded;
+ private bool _itemsLoading;
+
+ #endregion
+
+
+
+ #region PUBLIC METHODS
+
+ protected override async Task OnAfterRenderAsync(bool firstRender)
+ {
+ if (firstRender)
+ {
+ // INIT
+ _query.First = 5;
+
+ List endTasks = new List();
+
+ // STEP 0
+ endTasks.AddRange(
+ [
+ MoviesWebAPIService.GetAllMovies(_query, data =>
+ {
+ _items.AddRange(data);
+ if (data.Count() < 5)
+ {
+ _allItemsLoaded = true;
+ }
+ else
+ {
+ _query.After = 5;
+ }
+ })
+ ]);
+
+ // END
+ await Task.WhenAll(endTasks);
+
+ _loaded = true;
+ StateHasChanged();
+ }
+ }
+
+ private async Task DownloadItems()
+ {
+ _itemsLoading = true;
+ await MoviesWebAPIService.GetAllMovies(_query, data =>
+ {
+ _items.AddRange(data);
+ if (data.Count() < 5)
+ {
+ _allItemsLoaded = true;
+ }
+ else
+ {
+ _query.After += 5;
+ }
+ _itemsLoading = false;
+ });
+ }
+
+ #endregion
+}
\ No newline at end of file
diff --git a/WatchIt.Website/WatchIt.Website/Pages/ListPage.razor.css b/WatchIt.Website/WatchIt.Website/Pages/ListPage.razor.css
new file mode 100644
index 0000000..e69de29
diff --git a/WatchIt.Website/WatchIt.Website/Pages/MediaEditPage.razor b/WatchIt.Website/WatchIt.Website/Pages/MediaEditPage.razor
index 386c33f..68b0d51 100644
--- a/WatchIt.Website/WatchIt.Website/Pages/MediaEditPage.razor
+++ b/WatchIt.Website/WatchIt.Website/Pages/MediaEditPage.razor
@@ -50,7 +50,7 @@
-
@(_media is not null ? "Edit" : "Create new") @(_movieRequest is not null ? "movie" : "series")@(_media is not null ? $" \"{_media.Title}\"" : string.Empty)
+ @(_media is not null ? "Edit" : "Create new") @(_movieRequest is not null ? "movie" : "series")@(_media is not null ? $" \"{_media.Title}\"" : string.Empty)