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.",
|
summary: "Secrets for secure environment injection.",
|
||||||
link: "https://secret.bstein.dev",
|
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",
|
name: "Element",
|
||||||
icon: "💬",
|
icon: "💬",
|
||||||
@ -192,6 +128,34 @@ export function fallbackServices() {
|
|||||||
link: "https://mail.bstein.dev",
|
link: "https://mail.bstein.dev",
|
||||||
host: "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",
|
name: "Gitea",
|
||||||
icon: "🍵",
|
icon: "🍵",
|
||||||
@ -237,6 +201,42 @@ export function fallbackServices() {
|
|||||||
host: "oceanus",
|
host: "oceanus",
|
||||||
status: "planned",
|
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>
|
||||||
|
|
||||||
<div v-for="group in section.groups" :key="group.title" class="group">
|
<div v-for="group in section.groups" :key="group.title" class="group">
|
||||||
<div class="group-title">{{ group.title }}</div>
|
|
||||||
<div class="tiles">
|
<div class="tiles">
|
||||||
<a
|
<a
|
||||||
v-for="app in group.apps"
|
v-for="app in group.apps"
|
||||||
@ -234,12 +233,6 @@ const sections = [
|
|||||||
margin-top: 14px;
|
margin-top: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.group-title {
|
|
||||||
font-weight: 700;
|
|
||||||
color: var(--text-strong);
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.muted {
|
.muted {
|
||||||
margin: 6px 0 0;
|
margin: 6px 0 0;
|
||||||
color: var(--text-muted);
|
color: var(--text-muted);
|
||||||
|
|||||||
@ -376,7 +376,9 @@
|
|||||||
<h3>You're ready</h3>
|
<h3>You're ready</h3>
|
||||||
<p class="muted">
|
<p class="muted">
|
||||||
Your Atlas account is provisioned and onboarding is complete. You can log in at
|
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>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</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.",
|
"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" },
|
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",
|
id: "mail_client_setup",
|
||||||
title: "Set up mail on a device",
|
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).",
|
"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" },
|
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) {
|
function statusLabel(value) {
|
||||||
@ -484,8 +498,10 @@ function requiredStepOrder() {
|
|||||||
"element_recovery_key",
|
"element_recovery_key",
|
||||||
"element_recovery_key_stored",
|
"element_recovery_key_stored",
|
||||||
"elementx_setup",
|
"elementx_setup",
|
||||||
"jellyfin_login",
|
|
||||||
"mail_client_setup",
|
"mail_client_setup",
|
||||||
|
"outline_login",
|
||||||
|
"planka_login",
|
||||||
|
"jellyfin_login",
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user