diff --git a/web/src/app/(auth)/forgot-password/page.tsx b/web/src/app/(auth)/forgot-password/page.tsx
index c604f57..07d2aa2 100644
--- a/web/src/app/(auth)/forgot-password/page.tsx
+++ b/web/src/app/(auth)/forgot-password/page.tsx
@@ -2,7 +2,7 @@
import { useState, type FormEvent } from "react";
import Link from "next/link";
-import { Button, Card } from "@/components/ui/Primitives";
+import { AlertBanner, Button, Card, Input } from "@/components/ui/Primitives";
import { useAuth } from "@/lib/auth";
export default function ForgotPasswordPage() {
@@ -17,48 +17,47 @@ export default function ForgotPasswordPage() {
return (
-
+
+
+ Back to sign in
+
+
+
);
}
diff --git a/web/src/app/(auth)/login/page.tsx b/web/src/app/(auth)/login/page.tsx
index ca17330..e75e691 100644
--- a/web/src/app/(auth)/login/page.tsx
+++ b/web/src/app/(auth)/login/page.tsx
@@ -3,7 +3,7 @@
import { useState, type FormEvent } from "react";
import Link from "next/link";
import { useRouter } from "next/navigation";
-import { Button, Card } from "@/components/ui/Primitives";
+import { AlertBanner, Button, Card, Input } from "@/components/ui/Primitives";
import { useAuth } from "@/lib/auth";
export default function LoginPage() {
@@ -21,52 +21,50 @@ export default function LoginPage() {
return (
-
+
+
+ Forgot password?
+
+
+ Create account
+
+
+
);
}
diff --git a/web/src/app/(auth)/register/page.tsx b/web/src/app/(auth)/register/page.tsx
index fd71b1a..ea6ff60 100644
--- a/web/src/app/(auth)/register/page.tsx
+++ b/web/src/app/(auth)/register/page.tsx
@@ -3,7 +3,7 @@
import { useState, type FormEvent } from "react";
import Link from "next/link";
import { useRouter } from "next/navigation";
-import { Button, Card } from "@/components/ui/Primitives";
+import { AlertBanner, Button, Card, Input } from "@/components/ui/Primitives";
import { useAuth } from "@/lib/auth";
export default function RegisterPage() {
@@ -22,65 +22,59 @@ export default function RegisterPage() {
return (
-
+
+ Already have an account?{" "}
+
+ Sign in
+
+
+
);
}
diff --git a/web/src/components/CreateWorkspaceModal.tsx b/web/src/components/CreateWorkspaceModal.tsx
index 534b6de..ef284c1 100644
--- a/web/src/components/CreateWorkspaceModal.tsx
+++ b/web/src/components/CreateWorkspaceModal.tsx
@@ -1,7 +1,7 @@
"use client";
import { useState, type FormEvent } from "react";
-import { Button, Card } from "@/components/ui/Primitives";
+import { AlertBanner, Button, Card, Input, Textarea } from "@/components/ui/Primitives";
import { createWorkspace } from "@/lib/notes-client";
interface Props {
@@ -38,36 +38,49 @@ export function CreateWorkspaceModal({ onCreated, onClose }: Props) {
return (
{ if (e.target === e.currentTarget) onClose(); }}
+ className="fixed inset-0 z-[1000] flex items-center justify-center bg-[color:var(--nl-overlay-scrim)]"
+ onClick={(e) => {
+ if (e.target === e.currentTarget) onClose();
+ }}
>
-
-
);
diff --git a/web/src/components/ui/Primitives.tsx b/web/src/components/ui/Primitives.tsx
index 8063be5..2b67dc5 100644
--- a/web/src/components/ui/Primitives.tsx
+++ b/web/src/components/ui/Primitives.tsx
@@ -1,4 +1,7 @@
import {
+ AlertBanner as BytelystAlertBanner,
+ FormSection as BytelystFormSection,
+ FieldGrid as BytelystFieldGrid,
AppShell as BytelystAppShell,
AppShellMain as BytelystAppShellMain,
AppShellMobileToggle as BytelystAppShellMobileToggle,
@@ -77,6 +80,9 @@ import {
type DataListItemProps,
type DataListProps,
type DiffCardProps,
+ type AlertBannerProps,
+ type FormSectionProps,
+ type FieldGridProps,
type EmptyStateProps,
type IconButtonProps,
type InputProps,
@@ -360,6 +366,18 @@ export function EmptyState({ className, ...props }: EmptyStateProps) {
return ;
}
+export function AlertBanner({ className, ...props }: AlertBannerProps) {
+ return ;
+}
+
+export function FormSection({ className, ...props }: FormSectionProps) {
+ return ;
+}
+
+export function FieldGrid({ className, ...props }: FieldGridProps) {
+ return ;
+}
+
export function LoadingSpinner({ className, ...props }: LoadingSpinnerProps) {
return ;
}
\ No newline at end of file