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; +}