diff --git a/Media.JoshHeaps.Net/Pages/Index.cshtml b/Media.JoshHeaps.Net/Pages/Index.cshtml
index 4dc9557..158c33e 100644
--- a/Media.JoshHeaps.Net/Pages/Index.cshtml
+++ b/Media.JoshHeaps.Net/Pages/Index.cshtml
@@ -6,146 +6,7 @@
}
@section Styles {
-
+
}
diff --git a/Media.JoshHeaps.Net/Pages/Index.cshtml.cs b/Media.JoshHeaps.Net/Pages/Index.cshtml.cs
index fe22c30..8b978d2 100644
--- a/Media.JoshHeaps.Net/Pages/Index.cshtml.cs
+++ b/Media.JoshHeaps.Net/Pages/Index.cshtml.cs
@@ -10,10 +10,7 @@ namespace Media.JoshHeaps.Net.Pages
public async Task OnGetAsync()
{
- if (!IsAuthenticated())
- {
- return Redirect("/Login");
- }
+ RequireAuthentication();
LoadUserSession();
@@ -22,5 +19,14 @@ namespace Media.JoshHeaps.Net.Pages
return Page();
}
+
+ public async Task OnPostAsync()
+ {
+ RequireAuthentication();
+
+ LoadUserSession();
+
+ return Page();
+ }
}
}
diff --git a/Media.JoshHeaps.Net/wwwroot/css/Home/page.css b/Media.JoshHeaps.Net/wwwroot/css/Home/page.css
new file mode 100644
index 0000000..04e4ca5
--- /dev/null
+++ b/Media.JoshHeaps.Net/wwwroot/css/Home/page.css
@@ -0,0 +1,138 @@
+.dashboard-container {
+ max-width: 1200px;
+ margin: 0 auto;
+ padding: 40px 20px;
+}
+
+.welcome-section {
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+ color: white;
+ padding: 40px;
+ border-radius: 12px;
+ margin-bottom: 30px;
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
+}
+
+.welcome-section h1 {
+ margin: 0 0 10px 0;
+ font-size: 32px;
+ font-weight: 600;
+}
+
+.welcome-section p {
+ margin: 0;
+ opacity: 0.9;
+ font-size: 16px;
+}
+
+.dashboard-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
+ gap: 20px;
+ margin-bottom: 30px;
+}
+
+.card {
+ background: white;
+ border-radius: 12px;
+ padding: 30px;
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
+}
+
+.card h2 {
+ margin: 0 0 20px 0;
+ font-size: 20px;
+ font-weight: 600;
+ color: #333;
+ border-bottom: 2px solid #667eea;
+ padding-bottom: 10px;
+}
+
+.info-row {
+ display: flex;
+ justify-content: space-between;
+ padding: 12px 0;
+ border-bottom: 1px solid #f0f0f0;
+}
+
+.info-row:last-child {
+ border-bottom: none;
+}
+
+.info-label {
+ font-weight: 500;
+ color: #666;
+}
+
+.info-value {
+ color: #333;
+ font-weight: 500;
+}
+
+.status-badge {
+ display: inline-block;
+ padding: 4px 12px;
+ border-radius: 12px;
+ font-size: 12px;
+ font-weight: 600;
+}
+
+.status-verified {
+ background: #d4edda;
+ color: #155724;
+}
+
+.status-unverified {
+ background: #fff3cd;
+ color: #856404;
+}
+
+.quick-actions {
+ display: flex;
+ gap: 10px;
+ flex-wrap: wrap;
+ margin-top: 20px;
+}
+
+.btn {
+ padding: 10px 20px;
+ border-radius: 6px;
+ text-decoration: none;
+ font-weight: 500;
+ display: inline-block;
+ transition: all 0.2s;
+}
+
+.btn-primary {
+ background: #667eea;
+ color: white;
+}
+
+.btn-primary:hover {
+ background: #5568d3;
+}
+
+.btn-secondary {
+ background: #6c757d;
+ color: white;
+}
+
+.btn-secondary:hover {
+ background: #5a6268;
+}
+
+.btn-danger {
+ background: #dc3545;
+ color: white;
+}
+
+.btn-danger:hover {
+ background: #c82333;
+}
+
+.empty-state {
+ text-align: center;
+ color: #999;
+ padding: 20px;
+ font-style: italic;
+}