beta badge for desktop app (#14471)

Co-authored-by: Brendan Allan <git@brendonovich.dev>
This commit is contained in:
Adam 2026-04-16 01:03:41 -05:00 committed by GitHub
commit f418fd5632
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 44 additions and 33 deletions

View file

@ -252,41 +252,48 @@ export function Titlebar() {
</div> </div>
</div> </div>
</Show> </Show>
<Show when={hasProjects()}> <div
<div class="flex items-center shrink-0"
class="flex items-center gap-0 transition-transform" classList={{
classList={{ "translate-x-0": !layout.sidebar.opened(),
"translate-x-0": !layout.sidebar.opened(), "-translate-x-[36px]": layout.sidebar.opened(),
"-translate-x-[36px]": layout.sidebar.opened(), "duration-180 ease-out": !layout.sidebar.opened(),
"duration-180 ease-out": !layout.sidebar.opened(), "duration-180 ease-in": layout.sidebar.opened(),
"duration-180 ease-in": layout.sidebar.opened(), }}
}} >
> <Show when={hasProjects()}>
<Tooltip placement="bottom" value={language.t("common.goBack")} openDelay={2000}> <div class="flex items-center gap-0 transition-transform">
<Button <Tooltip placement="bottom" value={language.t("common.goBack")} openDelay={2000}>
variant="ghost" <Button
icon="chevron-left" variant="ghost"
class="titlebar-icon w-6 h-6 p-0 box-border" icon="chevron-left"
disabled={!canBack()} class="titlebar-icon w-6 h-6 p-0 box-border"
onClick={back} disabled={!canBack()}
aria-label={language.t("common.goBack")} onClick={back}
/> aria-label={language.t("common.goBack")}
</Tooltip> />
<Tooltip placement="bottom" value={language.t("common.goForward")} openDelay={2000}> </Tooltip>
<Button <Tooltip placement="bottom" value={language.t("common.goForward")} openDelay={2000}>
variant="ghost" <Button
icon="chevron-right" variant="ghost"
class="titlebar-icon w-6 h-6 p-0 box-border" icon="chevron-right"
disabled={!canForward()} class="titlebar-icon w-6 h-6 p-0 box-border"
onClick={forward} disabled={!canForward()}
aria-label={language.t("common.goForward")} onClick={forward}
/> aria-label={language.t("common.goForward")}
</Tooltip> />
</div> </Tooltip>
</Show> </div>
</Show>
<div id="opencode-titlebar-left" class="flex items-center gap-3 min-w-0 px-2" />
{["beta", "dev"].includes(import.meta.env.VITE_OPENCODE_CHANNEL) && (
<div class="bg-icon-interactive-base text-[#FFF] font-medium px-2 rounded-sm uppercase font-mono">
{import.meta.env.VITE_OPENCODE_CHANNEL.toUpperCase()}
</div>
)}
</div>
</div> </div>
</div> </div>
<div id="opencode-titlebar-left" class="flex items-center gap-3 min-w-0 px-2" />
</div> </div>
<div class="min-w-0 flex items-center justify-center pointer-events-none"> <div class="min-w-0 flex items-center justify-center pointer-events-none">

View file

@ -3,6 +3,7 @@ import "solid-js"
interface ImportMetaEnv { interface ImportMetaEnv {
readonly VITE_OPENCODE_SERVER_HOST: string readonly VITE_OPENCODE_SERVER_HOST: string
readonly VITE_OPENCODE_SERVER_PORT: string readonly VITE_OPENCODE_SERVER_PORT: string
readonly OPENCODE_CHANNEL?: "dev" | "beta" | "prod"
} }
interface ImportMeta { interface ImportMeta {

View file

@ -60,6 +60,9 @@ export default defineConfig({
plugins: [appPlugin], plugins: [appPlugin],
publicDir: "../../../app/public", publicDir: "../../../app/public",
root: "src/renderer", root: "src/renderer",
define: {
"import.meta.env.VITE_OPENCODE_CHANNEL": JSON.stringify(channel),
},
build: { build: {
rollupOptions: { rollupOptions: {
input: { input: {