chore(ui): rebrand user-facing "Lighthouse" copy to "Lighthouse AI"

This commit is contained in:
alejandrobailo
2026-06-26 11:09:48 +02:00
parent 4818788a5a
commit 11b1646217
10 changed files with 24 additions and 20 deletions
@@ -416,7 +416,7 @@ function toErrorResult<TData>(
document: JsonApiDocument<TData>,
): Extract<LighthouseV2ActionResult<never>, { error: string }> {
return {
error: document.error ?? "Unexpected Lighthouse response.",
error: document.error ?? "Unexpected Lighthouse AI response.",
errors: document.errors,
status: document.status,
};
@@ -76,7 +76,7 @@ export function ChatEmptyState({
</div>
<div className="flex max-w-4xl flex-wrap items-center justify-center gap-2">
<span className="text-text-neutral-secondary basis-full text-center text-sm font-medium">
Try Lighthouse for...
Try Lighthouse AI for...
</span>
{LIGHTHOUSE_V2_SUGGESTIONS.map((suggestion) => {
const Icon = suggestion.icon;
@@ -94,7 +94,10 @@ export function ChatEmptyState({
);
})}
<Button type="button" variant="outline" size="icon-sm" asChild>
<Link href="/lighthouse/settings" aria-label="Lighthouse settings">
<Link
href="/lighthouse/settings"
aria-label="Lighthouse AI settings"
>
<Settings className="size-4" />
</Link>
</Button>
@@ -162,7 +162,7 @@ describe("LighthouseV2ChatPage", () => {
// Then
expect(screen.queryByRole("combobox")).not.toBeInTheDocument();
expect(
screen.getByRole("link", { name: "Lighthouse settings" }),
screen.getByRole("link", { name: "Lighthouse AI settings" }),
).toHaveAttribute("href", "/lighthouse/settings");
});
@@ -199,7 +199,7 @@ export function LighthouseV2ConfigurationForm({
<p className="text-text-neutral-secondary mt-1 max-w-2xl text-sm">
{configuration
? "Stored provider configuration. Rotate credentials only when needed."
: "Create provider configuration before Lighthouse can use this model family."}
: "Create provider configuration before Lighthouse AI can use this model family."}
</p>
</div>
</div>
@@ -275,7 +275,7 @@ export function LighthouseV2ConfigurationForm({
<ConfigurationSection
icon={<Bot className="size-4" />}
title="Business context"
description="Short operational context Lighthouse should consider while answering."
description="Short operational context Lighthouse AI should consider while answering."
>
<Field>
<div className="flex items-center justify-between gap-3">
@@ -335,8 +335,8 @@ export function LighthouseV2ConfigurationForm({
<Modal
open={deleteOpen}
onOpenChange={setDeleteOpen}
title="Delete Lighthouse configuration?"
description={`This removes ${provider.name} from Lighthouse. Existing chat history stays available, but this provider cannot be used until configured again.`}
title="Delete Lighthouse AI configuration?"
description={`This removes ${provider.name} from Lighthouse AI. Existing chat history stays available, but this provider cannot be used until configured again.`}
size="md"
>
<div className="flex justify-end gap-2">
@@ -12,10 +12,10 @@ export function LighthouseV2EmptyState({ error }: { error?: string }) {
</div>
<div>
<h2 className="text-text-neutral-primary text-xl font-semibold">
No Lighthouse providers available
No Lighthouse AI providers available
</h2>
<p className="text-text-neutral-secondary mt-2 text-sm">
Cloud did not return supported providers for Lighthouse
Cloud did not return supported providers for Lighthouse AI
configuration.
</p>
</div>
@@ -113,7 +113,7 @@ describe("LighthouseV2ConfigPage", () => {
const openAIProvider = screen.getByRole("button", { name: "OpenAI" });
const settingsCard = screen.getByRole("region", {
name: "Lighthouse settings",
name: "Lighthouse AI settings",
});
const settingsSeparator = container.querySelector(
'[data-slot="settings-separator"]',
@@ -75,7 +75,8 @@ export function LighthouseV2ConfigPage({
setSelectedProvider(configuration.providerType);
setFeedback({
title: "Configuration saved.",
description: "Lighthouse can use this provider after it tests cleanly.",
description:
"Lighthouse AI can use this provider after it tests cleanly.",
variant: FEEDBACK_VARIANT.SUCCESS,
});
};
@@ -88,7 +89,7 @@ export function LighthouseV2ConfigPage({
configuration.connected
? {
title: "Connection successful.",
description: "Lighthouse can send messages with this provider.",
description: "Lighthouse AI can send messages with this provider.",
variant: FEEDBACK_VARIANT.SUCCESS,
}
: {
@@ -106,7 +107,7 @@ export function LighthouseV2ConfigPage({
);
setFeedback({
title: "Configuration removed.",
description: "This provider is no longer available for Lighthouse.",
description: "This provider is no longer available for Lighthouse AI.",
variant: FEEDBACK_VARIANT.INFO,
});
};
@@ -120,7 +121,7 @@ export function LighthouseV2ConfigPage({
variant="base"
padding="none"
role="region"
aria-label="Lighthouse settings"
aria-label="Lighthouse AI settings"
className="min-h-[calc(100dvh-6.5rem)] w-full gap-0 overflow-hidden"
>
{feedback && (
@@ -62,7 +62,7 @@ export function LighthouseV2SessionHistory({
>
<div className="flex items-center gap-2">
<SearchInput
aria-label="Search Lighthouse sessions"
aria-label="Search Lighthouse AI sessions"
value={search}
placeholder="Chat history"
size={compact ? "sm" : "default"}
@@ -120,8 +120,8 @@ export const LighthouseBannerClient = ({
isConfigured: boolean;
}) => {
const message = isConfigured
? "Use Lighthouse to review your findings and gain insights"
: "Enable Lighthouse to secure your cloud with AI insights";
? "Use Lighthouse AI to review your findings and gain insights"
: "Enable Lighthouse AI to secure your cloud with AI insights";
const href = isConfigured ? "/lighthouse" : "/lighthouse/settings";
return <AnimatedGradientCard message={message} href={href} />;
@@ -88,13 +88,13 @@ export const LighthouseSettings = () => {
} else {
toast({
title: "Success",
description: "Lighthouse settings saved successfully",
description: "Lighthouse AI settings saved successfully",
});
}
} catch (error) {
toast({
title: "Error",
description: "Failed to save Lighthouse settings: " + String(error),
description: "Failed to save Lighthouse AI settings: " + String(error),
variant: "destructive",
});
} finally {