Skip to content

Commit bd7a376

Browse files
committed
wording updates on initial screens for v0.13
1 parent 833909c commit bd7a376

6 files changed

Lines changed: 42 additions & 28 deletions

File tree

frontend/app/app.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ body {
3535

3636
a.plain-link {
3737
color: var(--secondary-text-color);
38+
39+
&:hover {
40+
text-decoration: underline;
41+
}
3842
}
3943

4044
*::-webkit-scrollbar {

frontend/app/element/toggle.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,18 @@
22
// SPDX-License-Identifier: Apache-2.0
33

44
import { useRef } from "react";
5+
import { cn } from "@/util/util";
56
import "./toggle.scss";
67

78
interface ToggleProps {
89
checked: boolean;
910
onChange: (value: boolean) => void;
1011
label?: string;
1112
id?: string;
13+
className?: string;
1214
}
1315

14-
const Toggle = ({ checked, onChange, label, id }: ToggleProps) => {
16+
const Toggle = ({ checked, onChange, label, id, className }: ToggleProps) => {
1517
const inputRef = useRef<HTMLInputElement>(null);
1618

1719
const handleChange = (e: any) => {
@@ -29,7 +31,7 @@ const Toggle = ({ checked, onChange, label, id }: ToggleProps) => {
2931
const inputId = id || `toggle-${Math.random().toString(36).substr(2, 9)}`;
3032

3133
return (
32-
<div className="check-toggle-wrapper">
34+
<div className={cn("check-toggle-wrapper", className)}>
3335
<label htmlFor={inputId} className="checkbox-toggle">
3436
<input id={inputId} type="checkbox" checked={checked} onChange={handleChange} ref={inputRef} />
3537
<span className="slider" />
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
// Copyright 2025, Command Line Inc.
22
// SPDX-License-Identifier: Apache-2.0
33

4-
export const CurrentOnboardingVersion = "v0.12.5";
4+
export const CurrentOnboardingVersion = "v0.13.0";

frontend/app/onboarding/onboarding-upgrade-minor.tsx

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -119,30 +119,36 @@ const UpgradeOnboardingMinor = () => {
119119
if (pageName === "welcome") {
120120
pageComp = (
121121
<div className="flex flex-col h-full">
122-
<header className="flex flex-col gap-2 border-b-0 p-0 mt-1 mb-6 w-full unselectable flex-shrink-0">
122+
<header className="flex flex-col gap-2 border-b-0 p-0 mt-1 mb-4 w-full unselectable flex-shrink-0">
123123
<div className="flex justify-center">
124124
<Logo />
125125
</div>
126-
<div className="text-center text-[25px] font-normal text-foreground">Welcome to Wave v0.12!</div>
126+
<div className="text-center text-[25px] font-normal text-foreground">Welcome to Wave v0.13!</div>
127127
</header>
128128
<OverlayScrollbarsComponent
129129
className="flex-1 overflow-y-auto min-h-0"
130130
options={{ scrollbars: { autoHide: "never" } }}
131131
>
132132
<div className="flex flex-col items-center gap-3 w-full mb-2 unselectable">
133-
<div className="flex flex-col items-center gap-4 max-w-md text-center">
133+
<div className="flex flex-col items-center gap-4 text-center">
134134
<div className="flex h-[52px] px-3 items-center rounded-lg bg-hover text-accent text-[24px]">
135135
<i className="fa fa-sparkles" />
136136
<span className="font-bold ml-2 font-mono">Wave AI</span>
137137
</div>
138-
<div className="text-secondary leading-relaxed max-w-[420px]">
138+
<div className="text-secondary leading-relaxed max-w-[600px]">
139139
<p className="mb-4">
140-
Wave AI is your new terminal assistant with full context. It can read your terminal
141-
output, analyze widgets, access files, and help you solve problems&nbsp;faster.
140+
Wave AI is your terminal assistant with full context. It can read your terminal
141+
output, analyze widgets, read and write files, and help you solve
142+
problems&nbsp;faster.
142143
</p>
143-
<p className="p-3 border border-border rounded-md bg-hover/30">
144-
Wave AI is in active beta with included AI credits while we refine the experience.
145-
We're actively improving it and would love your feedback in{" "}
144+
<p className="mb-4">
145+
<span className="font-semibold text-foreground">New in v0.13:</span> Wave AI now
146+
supports local models and bring-your-own-key! Use Ollama, LM Studio, vLLM,
147+
OpenRouter, or any OpenAI-compatible provider.
148+
</p>
149+
<p className="py-3 px-2 border border-border rounded-md bg-hover/30">
150+
Wave AI is in beta with included AI credits while we refine the experience. We're
151+
actively improving it and would love your feedback in{" "}
146152
<a target="_blank" href="https://discord.gg/XfvZ334gwU" className="hover:underline">
147153
Discord
148154
</a>
@@ -151,9 +157,9 @@ const UpgradeOnboardingMinor = () => {
151157
</div>
152158
</div>
153159

154-
<div className="w-full max-w-md border-t border-border my-2"></div>
160+
<div className="w-full max-w-[550px] border-t border-border my-2"></div>
155161

156-
<div className="flex flex-col items-center gap-3 text-center max-w-[440px]">
162+
<div className="flex flex-col items-center gap-3 text-center max-w-[550px]">
157163
<div className="text-foreground text-base">Thanks for being an early Wave adopter! ⭐</div>
158164
<div className="text-secondary text-sm">
159165
A GitHub star shows your support for Wave (and open-source) and helps us reach more
@@ -186,7 +192,7 @@ const UpgradeOnboardingMinor = () => {
186192
}
187193

188194
const paddingClass = isCompact ? "!py-3 !px-[30px]" : "!p-[30px]";
189-
const widthClass = pageName === "features" ? "w-[800px]" : "w-[560px]";
195+
const widthClass = pageName === "features" ? "w-[800px]" : "w-[600px]";
190196

191197
return (
192198
<FlexiModal className={`${widthClass} rounded-[10px] ${paddingClass} relative overflow-hidden`} ref={modalRef}>
@@ -198,4 +204,4 @@ const UpgradeOnboardingMinor = () => {
198204

199205
UpgradeOnboardingMinor.displayName = "UpgradeOnboardingMinor";
200206

201-
export { UpgradeOnboardingMinor };
207+
export { UpgradeOnboardingMinor };

frontend/app/onboarding/onboarding-upgrade.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ const UpgradeOnboardingModal = () => {
3030
return null;
3131
}
3232

33-
if (semver.gte(lastVersion, "v0.12.0")) {
33+
if (semver.gte(lastVersion, "v0.13.0")) {
3434
return <UpgradeOnboardingPatch />;
3535
}
3636

37-
return <UpgradeOnboardingMinor />;
37+
return <UpgradeOnboardingMinor />;
3838
};
3939

4040
UpgradeOnboardingModal.displayName = "UpgradeOnboardingModal";

frontend/app/onboarding/onboarding.tsx

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
import Logo from "@/app/asset/logo.svg";
55
import { Button } from "@/app/element/button";
6-
import { Toggle } from "@/app/element/toggle";
76
import { FlexiModal } from "@/app/modals/modal";
87
import { disableGlobalKeybindings, enableGlobalKeybindings, globalRefocus } from "@/app/store/keymodel";
98
import { WorkspaceLayoutModel } from "@/app/workspace/workspace-layout-model";
@@ -53,7 +52,7 @@ const InitPage = ({ isCompact }: { isCompact: boolean }) => {
5352
);
5453
};
5554

56-
const label = telemetryEnabled ? "Telemetry Enabled" : "Telemetry Disabled";
55+
const label = telemetryEnabled ? "Enabled" : "Disabled";
5756

5857
return (
5958
<div className="flex flex-col h-full">
@@ -118,13 +117,9 @@ const InitPage = ({ isCompact }: { isCompact: boolean }) => {
118117
<i className="text-[32px] text-white/50 fa-solid fa-chart-line"></i>
119118
</div>
120119
<div className="flex flex-col items-start gap-1 flex-1">
121-
<div className="text-foreground text-base leading-[18px]">Telemetry</div>
122120
<div className="text-secondary leading-5">
123-
We collect minimal anonymous{" "}
124-
<a target="_blank" href="https://docs.waveterm.dev/telemetry" rel={"noopener"}>
125-
telemetry data
126-
</a>{" "}
127-
to help us understand how people are using Wave (
121+
Anonymous usage data helps us improve features you use.
122+
<br />
128123
<a
129124
className="plain-link"
130125
target="_blank"
@@ -133,9 +128,16 @@ const InitPage = ({ isCompact }: { isCompact: boolean }) => {
133128
>
134129
Privacy Policy
135130
</a>
136-
).
137131
</div>
138-
<Toggle checked={telemetryEnabled} onChange={setTelemetry} label={label} />
132+
<label className="flex items-center gap-2 cursor-pointer text-secondary">
133+
<input
134+
type="checkbox"
135+
checked={telemetryEnabled}
136+
onChange={(e) => setTelemetry(e.target.checked)}
137+
className="cursor-pointer accent-gray-500"
138+
/>
139+
<span>{label}</span>
140+
</label>
139141
</div>
140142
</div>
141143
</div>

0 commit comments

Comments
 (0)