Skip to content

Commit b58af57

Browse files
update deprecation banner: info style, scrollable on chat, shown in settings content area
- Change alert from warning (yellow) to info (blue) styling - Move banner inside chat scroll container so it scrolls away - Render banner in settings page content area (not above sidebar) - Make banner dismissable on all pages - Update text to "v2.0.0", buttons side-by-side with primary export button - Add "Learn more" secondary button Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 0dbc79a commit b58af57

4 files changed

Lines changed: 27 additions & 19 deletions

File tree

gui/src/components/DeprecationBanner.tsx

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { XMarkIcon } from "@heroicons/react/24/outline";
22
import { useContext, useState } from "react";
3+
import { vscButtonBackground, vscButtonForeground } from ".";
34
import { IdeMessengerContext } from "../context/IdeMessenger";
45
import { varWithFallback } from "../styles/theme";
56
import { getLocalStorage, setLocalStorage } from "../util/localStorage";
@@ -34,11 +35,11 @@ export function DeprecationBanner({
3435
};
3536

3637
return (
37-
<div className="px-4 pt-4">
38+
<div className="px-4 py-4">
3839
<div
39-
className="border-warning relative rounded-md border-[0.5px] border-solid px-3 py-2.5 shadow-sm"
40+
className="border-info relative rounded-md border-[0.5px] border-solid px-3 py-2.5 shadow-sm"
4041
style={{
41-
backgroundColor: `color-mix(in srgb, ${varWithFallback("warning")} 20%, transparent)`,
42+
backgroundColor: `color-mix(in srgb, ${varWithFallback("info")} 20%, transparent)`,
4243
}}
4344
>
4445
{dismissable && (
@@ -49,22 +50,28 @@ export function DeprecationBanner({
4950
<XMarkIcon className="h-3.5 w-3.5" />
5051
</button>
5152
)}
52-
<div className="flex flex-col gap-2.5 text-xs">
53+
<div className="flex flex-col gap-1.5 text-xs">
5354
<p className={dismissable ? "pr-5" : ""}>
54-
Configuration management in Continue is moving local.{" "}
55-
<span
55+
Extension configuration is local only as of v2.0.0
56+
</p>
57+
<div className="flex gap-2">
58+
<button
5659
onClick={() => ideMessenger.post("openUrl", REPO_URL)}
57-
className="cursor-pointer underline hover:brightness-125"
60+
className="border-description text-foreground flex-1 cursor-pointer rounded border-[0.5px] border-solid bg-transparent px-2 py-1 text-[11px] font-medium hover:brightness-125"
5861
>
59-
Learn more here
60-
</span>
61-
</p>
62-
<button
63-
onClick={() => ideMessenger.post("openUrl", EXPORT_URL)}
64-
className="border-description text-foreground w-full rounded border-[0.5px] border-solid bg-transparent px-3 py-1.5 text-xs font-medium hover:brightness-125"
65-
>
66-
Download your Hub configurations
67-
</button>
62+
Learn more
63+
</button>
64+
<button
65+
onClick={() => ideMessenger.post("openUrl", EXPORT_URL)}
66+
className="flex-1 cursor-pointer rounded border-none px-2 py-1 text-[11px] font-medium hover:brightness-125"
67+
style={{
68+
backgroundColor: vscButtonBackground,
69+
color: vscButtonForeground,
70+
}}
71+
>
72+
Export cloud configs
73+
</button>
74+
</div>
6875
</div>
6976
</div>
7077
</div>

gui/src/components/Layout.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import { saveCurrentSession } from "../redux/thunks/session";
1515
import { fontSize, isMetaEquivalentKeyPressed } from "../util";
1616
import { ROUTES } from "../util/navigation";
1717
import { FatalErrorIndicator } from "./config/FatalErrorNotice";
18-
import { DeprecationBanner } from "./DeprecationBanner";
1918
import TextDialog from "./dialogs";
2019
import { GenerateRuleDialog } from "./GenerateRuleDialog";
2120
import { useMainEditor } from "./mainInput/TipTapEditor";
@@ -229,8 +228,6 @@ const Layout = () => {
229228
message={dialogMessage}
230229
/>
231230

232-
<DeprecationBanner dismissable={isHome} />
233-
234231
<GridDiv>
235232
<Outlet />
236233
{/* The fatal error for chat is shown below input */}

gui/src/pages/config/index.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { TabGroup } from "../../components/ui/TabGroup";
66
import { useNavigationListener } from "../../hooks/useNavigationListener";
77
import { bottomTabSections, getAllTabs, topTabSections } from "./configTabs";
88
import { CliInstallBanner } from "../../components/CliInstallBanner";
9+
import { DeprecationBanner } from "../../components/DeprecationBanner";
910
import { AccountDropdown } from "./features/account/AccountDropdown";
1011

1112
function ConfigPage() {
@@ -79,6 +80,7 @@ function ConfigPage() {
7980

8081
{/* Tab Content for larger screens (md and above) */}
8182
<div className="thin-scrollbar relative hidden flex-1 overflow-y-auto sm:block">
83+
<DeprecationBanner dismissable={true} />
8284
<div className="space-y-6 px-4 py-4">
8385
{allTabs.find((tab) => tab.id === activeTab)?.component}
8486
</div>

gui/src/pages/gui/Chat.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ import { useStore } from "react-redux";
4747
import { CliInstallBanner } from "../../components/CliInstallBanner";
4848
import FeedbackDialog from "../../components/dialogs/FeedbackDialog";
4949

50+
import { DeprecationBanner } from "../../components/DeprecationBanner";
5051
import { FatalErrorIndicator } from "../../components/config/FatalErrorNotice";
5152
import InlineErrorMessage from "../../components/mainInput/InlineErrorMessage";
5253
import { resolveEditorContent } from "../../components/mainInput/TipTapEditor/utils/resolveEditorContent";
@@ -391,6 +392,7 @@ export function Chat() {
391392
ref={stepsDivRef}
392393
className={`overflow-y-scroll pt-[8px] ${showScrollbar ? "thin-scrollbar" : "no-scrollbar"} ${history.length > 0 ? "flex-1" : ""}`}
393394
>
395+
<DeprecationBanner dismissable={true} />
394396
{highlights}
395397
{history
396398
.filter((item) => item.message.role !== "system")

0 commit comments

Comments
 (0)