105 lines
3.9 KiB
Plaintext
105 lines
3.9 KiB
Plaintext
@page
|
|
@model Media.JoshHeaps.Net.Pages.IndexModel
|
|
@{
|
|
ViewData["Title"] = "Dashboard";
|
|
Layout = "_Layout";
|
|
}
|
|
|
|
@section Styles {
|
|
<link rel="stylesheet" href="~/css/Home/page.css" asp-append-version="true" />
|
|
}
|
|
|
|
<div class="dashboard-container">
|
|
<div class="welcome-section">
|
|
<h1>Welcome back, @Model.Dashboard?.Username!</h1>
|
|
<p>Here's your account overview</p>
|
|
</div>
|
|
|
|
<div class="dashboard-grid">
|
|
<div class="card">
|
|
<h2>Account Information</h2>
|
|
<div class="info-row">
|
|
<span class="info-label">Username:</span>
|
|
<span class="info-value">@Model.Dashboard?.Username</span>
|
|
</div>
|
|
<div class="info-row">
|
|
<span class="info-label">Email:</span>
|
|
<span class="info-value">@Model.Dashboard?.Email</span>
|
|
</div>
|
|
<div class="info-row">
|
|
<span class="info-label">Email Status:</span>
|
|
<span class="info-value">
|
|
@if (Model.Dashboard?.EmailVerified == true)
|
|
{
|
|
<span class="status-badge status-verified">✓ Verified</span>
|
|
}
|
|
else
|
|
{
|
|
<span class="status-badge status-unverified">⚠ Not Verified</span>
|
|
}
|
|
</span>
|
|
</div>
|
|
<div class="info-row">
|
|
<span class="info-label">Member Since:</span>
|
|
<span class="info-value">@Model.Dashboard?.CreatedAt.ToString("MMMM d, yyyy")</span>
|
|
</div>
|
|
@if (Model.Dashboard?.LastLogin != null)
|
|
{
|
|
<div class="info-row">
|
|
<span class="info-label">Last Login:</span>
|
|
<span class="info-value">@Model.Dashboard.LastLogin.Value.ToString("MMMM d, yyyy h:mm tt")</span>
|
|
</div>
|
|
}
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h2>Profile Details</h2>
|
|
@if (!string.IsNullOrEmpty(Model.Dashboard?.Profile?.Bio))
|
|
{
|
|
<div class="info-row">
|
|
<span class="info-label">Bio:</span>
|
|
<span class="info-value">@Model.Dashboard.Profile.Bio</span>
|
|
</div>
|
|
}
|
|
@if (!string.IsNullOrEmpty(Model.Dashboard?.Profile?.Location))
|
|
{
|
|
<div class="info-row">
|
|
<span class="info-label">Location:</span>
|
|
<span class="info-value">@Model.Dashboard.Profile.Location</span>
|
|
</div>
|
|
}
|
|
@if (!string.IsNullOrEmpty(Model.Dashboard?.Profile?.Website))
|
|
{
|
|
<div class="info-row">
|
|
<span class="info-label">Website:</span>
|
|
<span class="info-value">
|
|
<a href="@Model.Dashboard.Profile.Website" target="_blank" style="color: #667eea;">
|
|
@Model.Dashboard.Profile.Website
|
|
</a>
|
|
</span>
|
|
</div>
|
|
}
|
|
@if (string.IsNullOrEmpty(Model.Dashboard?.Profile?.Bio) &&
|
|
string.IsNullOrEmpty(Model.Dashboard?.Profile?.Location) &&
|
|
string.IsNullOrEmpty(Model.Dashboard?.Profile?.Website))
|
|
{
|
|
<div class="empty-state">
|
|
No profile information yet
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h2>Quick Actions</h2>
|
|
<div class="quick-actions">
|
|
@if (Model.Dashboard?.EmailVerified == false)
|
|
{
|
|
<a href="/[email protected](Model.Dashboard.Email)" class="btn btn-primary">
|
|
Verify Email
|
|
</a>
|
|
}
|
|
<a href="/Logout" class="btn btn-danger">Logout</a>
|
|
</div>
|
|
</div>
|
|
</div> |