added a nice text that shows if a service is public or private and if you can get access on request

This commit is contained in:
dvorakmortonxd 2026-05-19 10:53:29 +02:00
commit 8018b3fa73
2 changed files with 16 additions and 2 deletions

View file

@ -2,7 +2,7 @@
import React, { useEffect, useState, ReactNode } from 'react'; import React, { useEffect, useState, ReactNode } from 'react';
export default function ServiceButton({ url, checkUrl, className, icon, name, desc }: { url: string, checkUrl?: string, className: string, icon: ReactNode, name: string, desc: string }) { export default function ServiceButton({ url, checkUrl, className, icon, name, desc, access }: { url: string, checkUrl?: string, className: string, icon: ReactNode, name: string, desc: string, access?: 'public' | 'private' | 'on_request' }) {
const [status, setStatus] = useState<'pending' | 'up' | 'down'>('pending'); const [status, setStatus] = useState<'pending' | 'up' | 'down'>('pending');
useEffect(() => { useEffect(() => {
@ -34,7 +34,12 @@ export default function ServiceButton({ url, checkUrl, className, icon, name, de
}} title={status === 'up' ? 'Active' : status === 'down' ? 'Dead' : 'Checking...'} /> }} title={status === 'up' ? 'Active' : status === 'down' ? 'Dead' : 'Checking...'} />
<span className="service-icon">{icon}</span> <span className="service-icon">{icon}</span>
<span className="service-text"> <span className="service-text">
<span className="service-name">{name}</span> <span className="service-name">
{name}
{access === 'public' && <span style={{ color: '#4ade80', fontSize: '0.7em', marginLeft: '6px' }}>(public)</span>}
{access === 'private' && <span style={{ color: '#ef4444', fontSize: '0.7em', marginLeft: '6px' }}>(private)</span>}
{access === 'on_request' && <span style={{ color: '#f97316', fontSize: '0.7em', marginLeft: '6px' }}>(on request)</span>}
</span>
<span className="service-desc">{desc}</span> <span className="service-desc">{desc}</span>
</span> </span>
</a> </a>

View file

@ -354,6 +354,7 @@ export default function Home() {
icon="🖥️" icon="🖥️"
name="Proxmox" name="Proxmox"
desc="Server Management" desc="Server Management"
access="private"
/> />
<ServiceButton <ServiceButton
url="https://ai.dvorakmortonxd.dev/" url="https://ai.dvorakmortonxd.dev/"
@ -361,6 +362,7 @@ export default function Home() {
icon="🦾" icon="🦾"
name="Ollama" name="Ollama"
desc="Local AI Server" desc="Local AI Server"
access="on_request"
/> />
<ServiceButton <ServiceButton
url="https://jelly.dvorakmortonxd.dev/" url="https://jelly.dvorakmortonxd.dev/"
@ -368,6 +370,7 @@ export default function Home() {
icon="🎬" icon="🎬"
name="Jellyfin" name="Jellyfin"
desc="Local Media Server" desc="Local Media Server"
access="on_request"
/> />
<ServiceButton <ServiceButton
url="https://fake-pterodactyl.dvorakmortonxd.dev/" url="https://fake-pterodactyl.dvorakmortonxd.dev/"
@ -375,6 +378,7 @@ export default function Home() {
icon="📦" icon="📦"
name="MCSManager" name="MCSManager"
desc="Game Server Panel" desc="Game Server Panel"
access="on_request"
/> />
<ServiceButton <ServiceButton
url="https://navidrome.dvorakmortonxd.dev/" url="https://navidrome.dvorakmortonxd.dev/"
@ -382,6 +386,7 @@ export default function Home() {
icon="🎸" icon="🎸"
name="Navidrome" name="Navidrome"
desc="Music Streaming" desc="Music Streaming"
access="private"
/> />
<ServiceButton <ServiceButton
url="https://mailcow.dvorakmortonxd.dev/" url="https://mailcow.dvorakmortonxd.dev/"
@ -389,6 +394,7 @@ export default function Home() {
icon="💌" icon="💌"
name="Mailcow" name="Mailcow"
desc="Email Server" desc="Email Server"
access="private"
/> />
<ServiceButton <ServiceButton
url="https://search.dvorakmortonxd.dev/" url="https://search.dvorakmortonxd.dev/"
@ -396,6 +402,7 @@ export default function Home() {
icon="🔦" icon="🔦"
name="SearxNG" name="SearxNG"
desc="Private Search" desc="Private Search"
access="private"
/> />
<ServiceButton <ServiceButton
url="https://convert.dvorakmortonxd.dev/" url="https://convert.dvorakmortonxd.dev/"
@ -403,6 +410,7 @@ export default function Home() {
icon="📽️" icon="📽️"
name="ConvertX" name="ConvertX"
desc="File Converter" desc="File Converter"
access="on_request"
/> />
<ServiceButton <ServiceButton
url="https://git.dvorakmortonxd.dev" url="https://git.dvorakmortonxd.dev"
@ -410,6 +418,7 @@ export default function Home() {
icon="🐙" icon="🐙"
name="GitDXD" name="GitDXD"
desc="Best Git Hosting OAT" desc="Best Git Hosting OAT"
access="public"
/> />
</div> </div>
</div> </div>