diff --git a/apps/web/package.json b/apps/web/package.json index 8c9dc0ff8d..1d900480d1 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -34,7 +34,8 @@ "buffer": "^6.0.3", "isomorphic-git": "catalog:", "react": "^19.2.0", - "react-dom": "^19.2.0" + "react-dom": "^19.2.0", + "react-joyride": "^2.9.3" }, "devDependencies": { "@happy-dom/global-registrator": "^20.11.2", diff --git a/apps/web/src/app.css b/apps/web/src/app.css index ff26cf6935..d74a520f2b 100644 --- a/apps/web/src/app.css +++ b/apps/web/src/app.css @@ -2243,6 +2243,16 @@ select:disabled, animation: onboarding-phase-in var(--duration-large, 300ms) var(--ease-out, ease) both; } +/* The wait phases drop the usual title/subtitle/form stack for the shared + centered loader — a form-column question reads oddly for a step with + nothing to ask. */ +.onboarding-phase--loading { + display: flex; + min-height: 20rem; + align-items: center; + justify-content: center; +} + @keyframes onboarding-phase-in { from { opacity: 0; diff --git a/apps/web/src/chat/composer.tsx b/apps/web/src/chat/composer.tsx index 0628f3a34a..b71eb1dd5b 100644 --- a/apps/web/src/chat/composer.tsx +++ b/apps/web/src/chat/composer.tsx @@ -737,7 +737,7 @@ export const Composer = forwardRef< } return ( -
+
{mention !== null && (
{mentionOptions.length === 0 ? ( diff --git a/apps/web/src/chat/loading-state.tsx b/apps/web/src/chat/loading-state.tsx index 4210edbcf8..80dd6c63d4 100644 --- a/apps/web/src/chat/loading-state.tsx +++ b/apps/web/src/chat/loading-state.tsx @@ -9,6 +9,7 @@ // all, which is what keeps a fast round-trip from flashing chrome the // reader has no time to read. +import { CorbitsMark } from "@corbits/react-ui"; import { useEffect, useState } from "react"; import { CHAT_STRINGS } from "./strings"; @@ -82,6 +83,7 @@ export function WorkbenchLoadingState({ return (
+