diff --git a/Moonlight/Shared/Components/Navigations/AdminStoreNavigation.razor b/Moonlight/Shared/Components/Navigations/AdminStoreNavigation.razor
index 1e8f863..0adb6ee 100644
--- a/Moonlight/Shared/Components/Navigations/AdminStoreNavigation.razor
+++ b/Moonlight/Shared/Components/Navigations/AdminStoreNavigation.razor
@@ -16,6 +16,11 @@
Gifts
+
+
+ Expired services
+
+
diff --git a/Moonlight/Shared/Views/Admin/Store/Expired.razor b/Moonlight/Shared/Views/Admin/Store/Expired.razor
new file mode 100644
index 0000000..282b4a5
--- /dev/null
+++ b/Moonlight/Shared/Views/Admin/Store/Expired.razor
@@ -0,0 +1,74 @@
+@page "/admin/store/expired"
+
+@using Moonlight.App.Extensions.Attributes
+@using Moonlight.App.Models.Enums
+@using Moonlight.App.Database.Entities.Store
+@using BlazorTable
+@using Microsoft.EntityFrameworkCore
+@using Moonlight.App.Repositories
+
+@attribute [RequirePermission(Permission.AdminStore)]
+
+@inject Repository ServiceRepository
+
+
+
+
+
+
+
+
+
+
+
+ @(context.Nickname ?? $"Service {context.Id}")
+
+
+
+
+ @(context.Owner.Username)
+
+
+
+
+ @(context.Product.Type)
+
+
+
+
+ @(context.Product.Name)
+
+
+
+
+
+ Expired since @(Formatter.FormatAgoFromDateTime(context.RenewAt))
+
+
+
+
+
+
+
+@code
+{
+ private Service[] Services;
+
+ private Task Load(LazyLoader lazyLoader)
+ {
+ Services = ServiceRepository
+ .Get()
+ .Include(x => x.Owner)
+ .Include(x => x.Product)
+ .Where(x => x.RenewAt < DateTime.UtcNow)
+ .ToArray();
+
+ return Task.CompletedTask;
+ }
+}
\ No newline at end of file