ui: tune app layout and onboarding
This commit is contained in:
parent
0c6aa432c3
commit
c4949caebb
@ -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",
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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",
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user