bump, add quick links cards

This commit is contained in:
Aidan 2025-07-06 21:35:27 -04:00
parent 93414bd3c9
commit ca41990710
3 changed files with 87 additions and 18 deletions

View file

@ -1,7 +1,7 @@
import Link from "next/link"; import Link from "next/link";
import { Nav } from "../core/nav"; import { Nav } from "../core/nav";
import { services } from "@/config/services"; import { services } from "@/config/services";
import { TbArrowLeft, TbEye, TbShieldLock } from "react-icons/tb"; import { TbArrowLeft, TbEye, TbLink, TbShieldLock } from "react-icons/tb";
function HumanPriceStatus(priceStatus: "open" | "invite-only" | "by-request") { function HumanPriceStatus(priceStatus: "open" | "invite-only" | "by-request") {
switch (priceStatus) { switch (priceStatus) {
@ -111,7 +111,7 @@ export function ServicesShell({ slug }: { slug: string }) {
<p className="text-md text-black"> <p className="text-md text-black">
Privacy is a big concern to us, too. That&apos;s why we: Privacy is a big concern to us, too. That&apos;s why we:
</p> </p>
<ul className="list-disc list-inside text-md text-black"> <ul className="list-disc list-inside text-sm text-black">
<li>Never share your data to third parties.</li> <li>Never share your data to third parties.</li>
<li>Never use your data for advertising.</li> <li>Never use your data for advertising.</li>
<li>Never use your data for any other purpose than to provide you with the service you have requested.</li> <li>Never use your data for any other purpose than to provide you with the service you have requested.</li>
@ -119,6 +119,25 @@ export function ServicesShell({ slug }: { slug: string }) {
<li>Provide additional options to manage your data.</li> <li>Provide additional options to manage your data.</li>
</ul> </ul>
</div> </div>
{service?.quickLinks && (
<div className="flex flex-col gap-4 rounded-2xl px-8 py-4 bg-gray-200">
<div className="flex flex-row items-center gap-2 w-full my-2">
<h2 className="flex flex-row items-center gap-2 text-2xl font-semibold text-black">
<TbLink size={32} />
Quick Links
</h2>
</div>
<ul className="list-disc list-inside text-md text-black">
{service.quickLinks.map((link, index) => (
<Link href={link.url} key={index}>
<button className="flex flex-row items-center gap-2 text-black hover:underline transition-all duration-300 cursor-pointer">
<link.icon size={16} /> {link.name}
</button>
</Link>
))}
</ul>
</div>
)}
</div> </div>
</main> </main>
) )

View file

@ -1,5 +1,21 @@
import { SiForgejo, SiJellyfin, SiOllama } from "react-icons/si" import {
import { TbBrowser, TbBubbleText, TbDeviceTv, TbGitBranch, TbKey, TbLink, TbLock, TbMail, TbServer, TbUser } from "react-icons/tb" SiForgejo,
SiJellyfin,
SiOllama,
} from "react-icons/si"
import {
TbBrowser,
TbBubbleText,
TbDeviceTv,
TbGitBranch,
TbKey,
TbLink,
TbLock,
TbMail,
TbServer,
TbUser,
TbUserPlus,
} from "react-icons/tb"
export interface Service { export interface Service {
name: string; name: string;
@ -35,7 +51,24 @@ export const services = [
icon: TbLock, icon: TbLock,
description: "Your password can be changed by an admin. It is not visible.", description: "Your password can be changed by an admin. It is not visible.",
}, },
} },
quickLinks: [
{
name: "Create an Account",
url: "https://git.p0ntus.com/user/sign_up",
icon: TbUserPlus,
},
{
name: "Login",
url: "https://git.p0ntus.com/user/login",
icon: TbUser,
},
{
name: "Forgot Password",
url: "https://git.p0ntus.com/user/forgot_password",
icon: TbLock,
},
]
}, },
{ {
name: "tv", name: "tv",
@ -77,7 +110,7 @@ export const services = [
}, },
} }
}, },
{ /*{
name: "keybox", name: "keybox",
description: "Need integrity? We do our best to provide you STRONG", description: "Need integrity? We do our best to provide you STRONG",
icon: TbKey, icon: TbKey,
@ -97,7 +130,7 @@ export const services = [
description: "If you authenticate with SSO, your connections are visible to admins.", description: "If you authenticate with SSO, your connections are visible to admins.",
}, },
} }
}, },*/
{ {
name: "mail", name: "mail",
description: "A private mail server with full data control. Powered by Mailu.", description: "A private mail server with full data control. Powered by Mailu.",
@ -117,7 +150,24 @@ export const services = [
icon: TbMail, icon: TbMail,
description: "Your email address is visible to admins.", description: "Your email address is visible to admins.",
}, },
} },
quickLinks: [
{
name: "Create an Account",
url: "https://pontusmail.org/admin/user/signup",
icon: TbUserPlus,
},
{
name: "Login",
url: "https://pontusmail.org/sso/login",
icon: TbUser,
},
{
name: "Server Details",
url: "https://pontusmail.org/admin/client",
icon: TbServer,
},
]
}, },
{ {
name: "hosting", name: "hosting",

View file

@ -11,20 +11,20 @@
"dependencies": { "dependencies": {
"@types/react-world-flags": "^1.6.0", "@types/react-world-flags": "^1.6.0",
"next": "15.3.4", "next": "15.3.4",
"react": "^19.0.0", "react": "^19.1.0",
"react-dom": "^19.0.0", "react-dom": "^19.1.0",
"react-icons": "^5.5.0", "react-icons": "^5.5.0",
"react-world-flags": "^1.6.0" "react-world-flags": "^1.6.0"
}, },
"devDependencies": { "devDependencies": {
"typescript": "^5", "typescript": "^5.8.3",
"@types/node": "^20", "@types/node": "^20.19.4",
"@types/react": "^19", "@types/react": "^19.1.8",
"@types/react-dom": "^19", "@types/react-dom": "^19.1.6",
"@tailwindcss/postcss": "^4", "@tailwindcss/postcss": "^4.1.11",
"tailwindcss": "^4", "tailwindcss": "^4.1.11",
"eslint": "^9", "eslint": "^9.30.1",
"eslint-config-next": "15.3.4", "eslint-config-next": "15.3.4",
"@eslint/eslintrc": "^3" "@eslint/eslintrc": "^3.3.1"
} }
} }