ui: tune app layout and onboarding

This commit is contained in:
Brad Stein 2026-01-12 23:29:32 -03:00
parent 0c6aa432c3
commit c4949caebb
3 changed files with 88 additions and 79 deletions

View File

@ -84,70 +84,6 @@ export function fallbackServices() {
summary: "Secrets for secure environment injection.",
link: "https://secret.bstein.dev",
},
{
name: "AI Chat",
icon: "🤖",
category: "ai",
summary: "Customized LLM for the titan home lab.",
link: "/ai/chat",
host: "chat.ai.bstein.dev",
status: "live",
},
{
name: "AI Vision",
icon: "👁️",
category: "ai",
summary: "Visualization tool - Planned",
link: "/ai/roadmap",
host: "vision.ai.bstein.dev",
status: "planned",
},
{
name: "AI Speech",
icon: "🎙️",
category: "ai",
summary: "Live Translation - Planned",
link: "/ai/roadmap",
host: "talk.ai.bstein.dev",
status: "planned",
},
{
name: "AI Translation",
icon: "🌐",
category: "ai",
summary: "Inline translation (roadmap) for comms.",
link: "/ai/roadmap",
host: "translate.ai.bstein.dev",
status: "planned",
},
{
name: "Jellyfin",
icon: "🎬",
category: "streaming",
summary: "Family movies streaming server with GPU acceleration.",
link: "https://stream.bstein.dev",
},
{
name: "Pegasus",
icon: "📤",
category: "streaming",
summary: "Upload pipeline feeding the Jellyfin library.",
link: "https://pegasus.bstein.dev",
},
{
name: "Grafana",
icon: "📈",
category: "observability",
summary: "Atlas metrics and dashboards for the lab.",
link: "https://metrics.bstein.dev",
},
{
name: "OpenSearch",
icon: "🔎",
category: "observability",
summary: "Centralized Atlas services logs. Powered by Fluent Bit.",
link: "https://logs.bstein.dev",
},
{
name: "Element",
icon: "💬",
@ -192,6 +128,34 @@ export function fallbackServices() {
link: "https://mail.bstein.dev",
host: "mail.bstein.dev",
},
{
name: "Jellyfin",
icon: "🎬",
category: "streaming",
summary: "Family movies streaming server with GPU acceleration.",
link: "https://stream.bstein.dev",
},
{
name: "Pegasus",
icon: "📤",
category: "streaming",
summary: "Upload pipeline feeding the Jellyfin library.",
link: "https://pegasus.bstein.dev",
},
{
name: "Grafana",
icon: "📈",
category: "observability",
summary: "Atlas metrics and dashboards for the lab.",
link: "https://metrics.bstein.dev",
},
{
name: "OpenSearch",
icon: "🔎",
category: "observability",
summary: "Centralized Atlas services logs. Powered by Fluent Bit.",
link: "https://logs.bstein.dev",
},
{
name: "Gitea",
icon: "🍵",
@ -237,6 +201,42 @@ export function fallbackServices() {
host: "oceanus",
status: "planned",
},
{
name: "AI Chat",
icon: "🤖",
category: "ai",
summary: "Customized LLM for the titan home lab.",
link: "/ai/chat",
host: "chat.ai.bstein.dev",
status: "live",
},
{
name: "AI Vision",
icon: "👁️",
category: "ai",
summary: "Visualization tool - Planned",
link: "/ai/roadmap",
host: "vision.ai.bstein.dev",
status: "planned",
},
{
name: "AI Speech",
icon: "🎙️",
category: "ai",
summary: "Live Translation - Planned",
link: "/ai/roadmap",
host: "talk.ai.bstein.dev",
status: "planned",
},
{
name: "AI Translation",
icon: "🌐",
category: "ai",
summary: "Inline translation (roadmap) for comms.",
link: "/ai/roadmap",
host: "translate.ai.bstein.dev",
status: "planned",
},
],
};
}

View File

@ -20,7 +20,6 @@
</div>
<div v-for="group in section.groups" :key="group.title" class="group">
<div class="group-title">{{ group.title }}</div>
<div class="tiles">
<a
v-for="app in group.apps"
@ -234,12 +233,6 @@ const sections = [
margin-top: 14px;
}
.group-title {
font-weight: 700;
color: var(--text-strong);
margin-bottom: 10px;
}
.muted {
margin: 6px 0 0;
color: var(--text-muted);

View File

@ -376,7 +376,9 @@
<h3>You're ready</h3>
<p class="muted">
Your Atlas account is provisioned and onboarding is complete. You can log in at
<a href="https://cloud.bstein.dev" target="_blank" rel="noreferrer">cloud.bstein.dev</a>.
<a href="https://cloud.bstein.dev" target="_blank" rel="noreferrer">cloud.bstein.dev</a>,
<a href="https://notes.bstein.dev" target="_blank" rel="noreferrer">notes.bstein.dev</a>, and
<a href="https://tasks.bstein.dev" target="_blank" rel="noreferrer">tasks.bstein.dev</a>.
</p>
</div>
</div>
@ -429,12 +431,6 @@ const extraSteps = [
"Install Element X on mobile and sign in with your Atlas username/password. Use Element Web → Settings → Sessions to connect your phone via QR.",
primaryLink: { href: "https://live.bstein.dev", text: "Element" },
},
{
id: "jellyfin_login",
title: "Sign in to Jellyfin",
description: "Sign in with your Atlas username/password (LDAP-backed).",
primaryLink: { href: "https://stream.bstein.dev", text: "Jellyfin" },
},
{
id: "mail_client_setup",
title: "Set up mail on a device",
@ -442,6 +438,24 @@ const extraSteps = [
"Use the IMAP/SMTP details on your Account page to add mail to your phone or desktop client (FairEmail on Android, Apple Mail on iOS, Thunderbird on desktop).",
primaryLink: { href: "/account", text: "Account" },
},
{
id: "outline_login",
title: "Open Outline and create your first doc",
description: "Create a space for your docs and invite collaborators when you're ready.",
primaryLink: { href: "https://notes.bstein.dev", text: "Outline" },
},
{
id: "planka_login",
title: "Open Planka and create a board",
description: "Spin up a project board and invite teammates to collaborate.",
primaryLink: { href: "https://tasks.bstein.dev", text: "Planka" },
},
{
id: "jellyfin_login",
title: "Sign in to Jellyfin",
description: "Sign in with your Atlas username/password (LDAP-backed).",
primaryLink: { href: "https://stream.bstein.dev", text: "Jellyfin" },
},
];
function statusLabel(value) {
@ -484,8 +498,10 @@ function requiredStepOrder() {
"element_recovery_key",
"element_recovery_key_stored",
"elementx_setup",
"jellyfin_login",
"mail_client_setup",
"outline_login",
"planka_login",
"jellyfin_login",
];
}