seqmachines commited on
Commit
89abfec
·
verified ·
1 Parent(s): 310c194

Deploy Seqcolyte Studio

Browse files
studio/src/app/diagnostics/page.tsx CHANGED
@@ -11,13 +11,13 @@ export default async function DiagnosticsPage() {
11
  return (
12
  <main className="flex min-h-0 flex-1 flex-col overflow-hidden">
13
  <header className="border-border/60 shrink-0 border-b">
14
- <div className="mx-auto flex w-full max-w-6xl items-center gap-3 px-6 py-4">
15
- <Link href="/" className="text-muted-foreground hover:text-foreground" aria-label="Home">
16
  <ArrowLeft className="size-5" />
17
  </Link>
18
- <div>
19
- <h1 className="text-lg font-semibold tracking-tight">Diagnostic wiki</h1>
20
- <p className="text-muted-foreground text-sm">
21
  How to read this: a <strong className="text-foreground font-medium">metric</strong> feeds a{" "}
22
  <strong className="text-foreground font-medium">signal</strong>, signals point to an{" "}
23
  <strong className="text-foreground font-medium">issue</strong>, each issue has candidate{" "}
@@ -30,7 +30,7 @@ export default async function DiagnosticsPage() {
30
  </header>
31
 
32
  <div className="min-h-0 flex-1 overflow-y-auto">
33
- <div className="mx-auto w-full max-w-6xl px-6 py-8">
34
  {!catalog || catalog.issues.length === 0 ? (
35
  <Card className="border-dashed">
36
  <CardHeader className="items-center py-14 text-center">
 
11
  return (
12
  <main className="flex min-h-0 flex-1 flex-col overflow-hidden">
13
  <header className="border-border/60 shrink-0 border-b">
14
+ <div className="mx-auto flex w-full max-w-6xl items-center gap-3 px-4 py-3 sm:px-6 sm:py-4">
15
+ <Link href="/" className="text-muted-foreground hover:text-foreground shrink-0" aria-label="Home">
16
  <ArrowLeft className="size-5" />
17
  </Link>
18
+ <div className="min-w-0">
19
+ <h1 className="text-base font-semibold tracking-tight sm:text-lg">Diagnostic wiki</h1>
20
+ <p className="text-muted-foreground hidden text-sm sm:block">
21
  How to read this: a <strong className="text-foreground font-medium">metric</strong> feeds a{" "}
22
  <strong className="text-foreground font-medium">signal</strong>, signals point to an{" "}
23
  <strong className="text-foreground font-medium">issue</strong>, each issue has candidate{" "}
 
30
  </header>
31
 
32
  <div className="min-h-0 flex-1 overflow-y-auto">
33
+ <div className="mx-auto w-full max-w-6xl px-4 py-6 sm:px-6 sm:py-8">
34
  {!catalog || catalog.issues.length === 0 ? (
35
  <Card className="border-dashed">
36
  <CardHeader className="items-center py-14 text-center">
studio/src/app/page.tsx CHANGED
@@ -5,6 +5,7 @@ import { listProjects } from "@/lib/store";
5
  import { PreflightPanel } from "@/components/preflight-panel";
6
  import { NewProjectButton } from "@/components/new-project-button";
7
  import { ModeToggle } from "@/components/mode-toggle";
 
8
  import {
9
  Card,
10
  CardDescription,
@@ -87,8 +88,8 @@ export default async function Home() {
87
  return (
88
  <main className="flex min-h-0 flex-1 flex-col overflow-hidden">
89
  <header className="border-border/60 shrink-0 border-b">
90
- <div className="mx-auto flex w-full max-w-6xl items-center justify-between gap-4 px-6 py-4">
91
- <div className="flex items-center gap-3">
92
  <div className="ring-border/60 relative size-9 shrink-0 overflow-hidden rounded-lg ring-1">
93
  <Image
94
  src="/seqcolyte-logo.png"
@@ -99,25 +100,31 @@ export default async function Home() {
99
  priority
100
  />
101
  </div>
102
- <div>
103
- <h1 className="text-lg font-semibold tracking-tight">Seqcolyte Studio</h1>
104
- <p className="text-muted-foreground text-sm">
 
 
105
  Root cause analysis for genomic sequencing runs.
106
  </p>
107
  </div>
108
  </div>
109
- <div className="flex items-center gap-2">
110
  <Link
111
  href="/diagnostics"
112
- className="border-border/70 bg-secondary/60 text-foreground hover:bg-secondary hover:border-border rounded-md border px-3 py-1.5 text-sm font-medium transition-colors"
 
113
  >
114
- Diagnostics
 
115
  </Link>
116
  <Link
117
  href="/technologies"
118
- className="border-border/70 bg-secondary/60 text-foreground hover:bg-secondary hover:border-border rounded-md border px-3 py-1.5 text-sm font-medium transition-colors"
 
119
  >
120
- Technologies
 
121
  </Link>
122
  <ModeToggle />
123
  <NewProjectButton />
@@ -126,7 +133,7 @@ export default async function Home() {
126
  </header>
127
 
128
  <div className="min-h-0 flex-1 overflow-y-auto">
129
- <div className="mx-auto grid w-full max-w-6xl gap-6 px-6 py-8 lg:grid-cols-[1fr_20rem]">
130
  <div className="space-y-8">
131
  <section>
132
  <h2 className="text-foreground mb-3 text-sm font-semibold tracking-wide uppercase">
 
5
  import { PreflightPanel } from "@/components/preflight-panel";
6
  import { NewProjectButton } from "@/components/new-project-button";
7
  import { ModeToggle } from "@/components/mode-toggle";
8
+ import { Stethoscope, Layers } from "lucide-react";
9
  import {
10
  Card,
11
  CardDescription,
 
88
  return (
89
  <main className="flex min-h-0 flex-1 flex-col overflow-hidden">
90
  <header className="border-border/60 shrink-0 border-b">
91
+ <div className="mx-auto flex w-full max-w-6xl items-center justify-between gap-3 px-4 py-3 sm:gap-4 sm:px-6 sm:py-4">
92
+ <div className="flex min-w-0 items-center gap-3">
93
  <div className="ring-border/60 relative size-9 shrink-0 overflow-hidden rounded-lg ring-1">
94
  <Image
95
  src="/seqcolyte-logo.png"
 
100
  priority
101
  />
102
  </div>
103
+ <div className="min-w-0">
104
+ <h1 className="truncate text-base font-semibold tracking-tight sm:text-lg">
105
+ Seqcolyte Studio
106
+ </h1>
107
+ <p className="text-muted-foreground hidden truncate text-sm sm:block">
108
  Root cause analysis for genomic sequencing runs.
109
  </p>
110
  </div>
111
  </div>
112
+ <div className="flex shrink-0 items-center gap-1.5 sm:gap-2">
113
  <Link
114
  href="/diagnostics"
115
+ aria-label="Diagnostics"
116
+ className="border-border/70 bg-secondary/60 text-foreground hover:bg-secondary hover:border-border inline-flex items-center justify-center rounded-md border px-2.5 py-1.5 text-sm font-medium transition-colors"
117
  >
118
+ <Stethoscope className="size-4 sm:hidden" />
119
+ <span className="hidden sm:inline">Diagnostics</span>
120
  </Link>
121
  <Link
122
  href="/technologies"
123
+ aria-label="Technologies"
124
+ className="border-border/70 bg-secondary/60 text-foreground hover:bg-secondary hover:border-border inline-flex items-center justify-center rounded-md border px-2.5 py-1.5 text-sm font-medium transition-colors"
125
  >
126
+ <Layers className="size-4 sm:hidden" />
127
+ <span className="hidden sm:inline">Technologies</span>
128
  </Link>
129
  <ModeToggle />
130
  <NewProjectButton />
 
133
  </header>
134
 
135
  <div className="min-h-0 flex-1 overflow-y-auto">
136
+ <div className="mx-auto grid w-full max-w-6xl gap-6 px-4 py-6 sm:px-6 sm:py-8 lg:grid-cols-[1fr_20rem]">
137
  <div className="space-y-8">
138
  <section>
139
  <h2 className="text-foreground mb-3 text-sm font-semibold tracking-wide uppercase">
studio/src/app/technologies/page.tsx CHANGED
@@ -11,13 +11,13 @@ export default async function TechnologiesPage() {
11
  return (
12
  <main className="flex min-h-0 flex-1 flex-col overflow-hidden">
13
  <header className="border-border/60 shrink-0 border-b">
14
- <div className="mx-auto flex w-full max-w-6xl items-center gap-3 px-6 py-4">
15
- <Link href="/" className="text-muted-foreground hover:text-foreground" aria-label="Home">
16
  <ArrowLeft className="size-5" />
17
  </Link>
18
- <div>
19
- <h1 className="text-lg font-semibold tracking-tight">Technologies</h1>
20
- <p className="text-muted-foreground text-sm">
21
  A collection of single-cell sequencing library structures.
22
  </p>
23
  </div>
@@ -25,7 +25,7 @@ export default async function TechnologiesPage() {
25
  </header>
26
 
27
  <div className="min-h-0 flex-1 overflow-y-auto">
28
- <div className="mx-auto w-full max-w-6xl px-6 py-8">
29
  {techs.length === 0 ? (
30
  <Card className="border-dashed">
31
  <CardHeader className="items-center py-14 text-center">
 
11
  return (
12
  <main className="flex min-h-0 flex-1 flex-col overflow-hidden">
13
  <header className="border-border/60 shrink-0 border-b">
14
+ <div className="mx-auto flex w-full max-w-6xl items-center gap-3 px-4 py-3 sm:px-6 sm:py-4">
15
+ <Link href="/" className="text-muted-foreground hover:text-foreground shrink-0" aria-label="Home">
16
  <ArrowLeft className="size-5" />
17
  </Link>
18
+ <div className="min-w-0">
19
+ <h1 className="text-base font-semibold tracking-tight sm:text-lg">Technologies</h1>
20
+ <p className="text-muted-foreground hidden text-sm sm:block">
21
  A collection of single-cell sequencing library structures.
22
  </p>
23
  </div>
 
25
  </header>
26
 
27
  <div className="min-h-0 flex-1 overflow-y-auto">
28
+ <div className="mx-auto w-full max-w-6xl px-4 py-6 sm:px-6 sm:py-8">
29
  {techs.length === 0 ? (
30
  <Card className="border-dashed">
31
  <CardHeader className="items-center py-14 text-center">
studio/src/components/new-project-button.tsx CHANGED
@@ -32,9 +32,9 @@ export function NewProjectButton() {
32
  }
33
 
34
  return (
35
- <Button size="sm" onClick={create} disabled={busy}>
36
  {busy ? <Loader2 className="size-4 animate-spin" /> : <Plus className="size-4" />}
37
- New project
38
  </Button>
39
  );
40
  }
 
32
  }
33
 
34
  return (
35
+ <Button size="sm" onClick={create} disabled={busy} aria-label="New project">
36
  {busy ? <Loader2 className="size-4 animate-spin" /> : <Plus className="size-4" />}
37
+ <span className="hidden sm:inline">New project</span>
38
  </Button>
39
  );
40
  }