About page also contains site info

This commit is contained in:
2025-11-22 02:18:57 +08:00
parent a16da37221
commit bdc8db3091
6 changed files with 146 additions and 70 deletions

View File

@@ -14,6 +14,11 @@
}
<div class="container mx-auto px-8 pb-8">
<h2 class="text-xl flex gap-2 mb-5 px-3">
<span class="mdi mdi-account-circle"></span>
About me
</h2>
<div class="flex items-center gap-6 mb-8">
@if (!string.IsNullOrEmpty(Model.UserPictureUrl))
{
@@ -33,11 +38,11 @@
</div>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<div class="flex flex-col gap-4">
<div class="flex flex-col md:flex-row gap-6">
<div class="flex flex-col gap-4 flex-1">
<div class="card bg-base-100 border">
<div class="card-body">
<h2 class="card-title"><span class="mdi mdi-home"></span> Info</h2>
<h3 class="card-title"><span class="mdi mdi-home"></span> Info</h3>
<div class="space-y-2">
@if (!string.IsNullOrEmpty(Model.UserAccount.Profile?.TimeZone))
@@ -154,71 +159,73 @@
</div>
</div>
@if (Model.UserAccount.Profile?.Links.Count > 0)
{
<div>
<div class="card bg-base-100 border">
<div class="card-body">
<h2 class="card-title">
<span class="mdi mdi-link-variant"></span> Links
</h2>
<ul class="list pt-2">
@foreach (var link in Model.UserAccount.Profile.Links)
{
<li class="list-row p-0">
<div class="list-col-grow">
<div>@(link.Name)</div>
<div class="text-xs font-semibold opacity-60">@(link.Url)</div>
</div>
<a class="btn btn-square btn-ghost" href="@link.Url" target="_blank">
<span class="mdi mdi-launch"></span>
</a>
</li>
}
</ul>
<div class="flex flex-col gap-4 flex-1">
@if (Model.UserAccount.Profile?.Links.Count > 0)
{
<div>
<div class="card bg-base-100 border">
<div class="card-body">
<h3 class="card-title">
<span class="mdi mdi-link-variant"></span> Links
</h3>
<ul class="list pt-2">
@foreach (var link in Model.UserAccount.Profile.Links)
{
<li class="list-row p-0">
<div class="list-col-grow">
<div>@(link.Name)</div>
<div class="text-xs font-semibold opacity-60">@(link.Url)</div>
</div>
<a class="btn btn-square btn-ghost" href="@link.Url" target="_blank">
<span class="mdi mdi-launch"></span>
</a>
</li>
}
</ul>
</div>
</div>
</div>
</div>
}
@if (Model.UserAccount.Contacts.Count > 0)
{
<div>
<div class="card bg-base-100 border">
<div class="card-body">
<h2 class="card-title">
<span class="mdi mdi-link-variant"></span> Links
</h2>
<ul class="list pt-2">
@foreach (var contact in Model.UserAccount.Contacts)
{
<li class="list-row p-0" x-data="{ content: '@contact.Content' }">
<div class="list-col-grow">
<div>@(contact.Content)</div>
<div class="text-xs font-semibold opacity-60">@(contact.Type.ToString())</div>
</div>
<button class="btn btn-square btn-ghost" x-clipboard="content">
<span class="mdi mdi-content-copy"></span>
</button>
</li>
}
</ul>
}
@if (Model.UserAccount.Contacts.Count > 0)
{
<div>
<div class="card bg-base-100 border">
<div class="card-body">
<h3 class="card-title">
<span class="mdi mdi-contacts"></span> Contacts
</h3>
<ul class="list pt-2">
@foreach (var contact in Model.UserAccount.Contacts)
{
<li class="list-row p-0" x-data="{ content: '@contact.Content' }">
<div class="list-col-grow">
<div>@(contact.Content)</div>
<div
class="text-xs font-semibold opacity-60">@(contact.Type.ToString())</div>
</div>
<button class="btn btn-square btn-ghost" x-clipboard="content">
<span class="mdi mdi-content-copy"></span>
</button>
</li>
}
</ul>
</div>
</div>
</div>
</div>
}
}
<div>
@if (!string.IsNullOrEmpty(Model.HtmlBio))
{
<div class="card bg-base-100 border">
<div class="card-body">
<h2 class="card-title">
<span class="mdi mdi-information"></span> Bio
</h2>
<div class="prose prose-sm max-w-none">
@Html.Raw(Model.HtmlBio)
<div>
<div class="card bg-base-100 border">
<div class="card-body">
<h3 class="card-title">
<span class="mdi mdi-information"></span> Bio
</h3>
<div class="prose prose-sm max-w-none">
@Html.Raw(Model.HtmlBio)
</div>
</div>
</div>
</div>
@@ -227,16 +234,68 @@
</div>
</div>
}
else
@if (Model.Site != null)
{
<div class="hero min-h-[50vh]">
<div class="hero-content text-center">
<div>
<div class="text-6xl mb-4">
<span class="mdi mdi-account"></span>
<div class="container mx-auto px-8 pb-8">
<h2 class="text-xl flex gap-2 mb-5 px-3">
<span class="mdi mdi-sitemap"></span>
About the site
</h2>
<div class="flex flex-col md:flex-row gap-6">
<div class="flex flex-col gap-4 flex-1">
<div class="card bg-base-100 border">
<div class="card-body">
<h3 class="card-title"><span class="mdi mdi-home"></span> Info</h3>
<div class="space-y-2">
<div class="flex justify-between">
<span class="flex gap-2">
<span class="mdi mdi-label"></span>
Name
</span>
<span class="text-right">@Model.Site.Name</span>
</div>
</div>
<div class="space-y-2">
<div class="flex justify-between">
<span class="flex gap-2">
<span class="mdi mdi-tag"></span>
Slug
</span>
<span class="text-right font-mono">@Model.Site.Slug</span>
</div>
</div>
</div>
</div>
</div>
<div class="flex flex-col gap-4 flex-1">
@if (!string.IsNullOrEmpty(Model.Site.Description))
{
<div class="flex-1">
<div class="card bg-base-100 border">
<div class="card-body">
<h3 class="card-title">
<span class="mdi mdi-information"></span> Description
</h3>
<div class="prose prose-sm max-w-none">
@Model.Site.Description
</div>
</div>
</div>
</div>
}
<div class="flex-1">
<div class="flex flex-col p-5 opacity-80 text-sm">
<p>Proudly powered by the Solar Network Pages</p>
<p>Hosted on the Solar Network</p>
<p class="mt-2">Networking with Cloudflare</p>
<p>Therefore, if the site is down, 99% is Cloudflare's fault</p>
</div>
</div>
<h1 class="text-3xl font-bold">User not found</h1>
<p class="py-6">The user profile you're trying to access is not found.</p>
</div>
</div>
</div>

View File

@@ -5,11 +5,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>@ViewData["Title"]</title>
<script type="importmap"></script>
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@@ryangjchandler/alpine-clipboard@2.x.x/dist/alpine-clipboard.js" defer></script>
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@@mdi/font@7.4.47/css/materialdesignicons.min.css" />
<link rel="stylesheet" href="~/css/site.dist.css" asp-append-version="true"/>
<link rel="stylesheet" href="~/DysonNetwork.Zone.styles.css" asp-append-version="true"/>
<link rel="icon" type="image/png" href="~/favicon.png" />
</head>
<body>

View File

@@ -29,6 +29,7 @@
top: 0;
left: 0;
right: 0;
z-index: 1000;
}
.content-main {
height: calc(100vh - 64px);