Преглед на файлове

beta badge for desktop app (#14471)

Co-authored-by: Brendan Allan <[email protected]>
Adam преди 1 ден
родител
ревизия
f418fd5632
променени са 3 файла, в които са добавени 44 реда и са изтрити 33 реда
  1. 40 33
      packages/app/src/components/titlebar.tsx
  2. 1 0
      packages/app/src/env.d.ts
  3. 3 0
      packages/desktop-electron/electron.vite.config.ts

+ 40 - 33
packages/app/src/components/titlebar.tsx

@@ -252,41 +252,48 @@ export function Titlebar() {
                 </div>
               </div>
             </Show>
-            <Show when={hasProjects()}>
-              <div
-                class="flex items-center gap-0 transition-transform"
-                classList={{
-                  "translate-x-0": !layout.sidebar.opened(),
-                  "-translate-x-[36px]": layout.sidebar.opened(),
-                  "duration-180 ease-out": !layout.sidebar.opened(),
-                  "duration-180 ease-in": layout.sidebar.opened(),
-                }}
-              >
-                <Tooltip placement="bottom" value={language.t("common.goBack")} openDelay={2000}>
-                  <Button
-                    variant="ghost"
-                    icon="chevron-left"
-                    class="titlebar-icon w-6 h-6 p-0 box-border"
-                    disabled={!canBack()}
-                    onClick={back}
-                    aria-label={language.t("common.goBack")}
-                  />
-                </Tooltip>
-                <Tooltip placement="bottom" value={language.t("common.goForward")} openDelay={2000}>
-                  <Button
-                    variant="ghost"
-                    icon="chevron-right"
-                    class="titlebar-icon w-6 h-6 p-0 box-border"
-                    disabled={!canForward()}
-                    onClick={forward}
-                    aria-label={language.t("common.goForward")}
-                  />
-                </Tooltip>
-              </div>
-            </Show>
+            <div
+              class="flex items-center shrink-0"
+              classList={{
+                "translate-x-0": !layout.sidebar.opened(),
+                "-translate-x-[36px]": layout.sidebar.opened(),
+                "duration-180 ease-out": !layout.sidebar.opened(),
+                "duration-180 ease-in": layout.sidebar.opened(),
+              }}
+            >
+              <Show when={hasProjects()}>
+                <div class="flex items-center gap-0 transition-transform">
+                  <Tooltip placement="bottom" value={language.t("common.goBack")} openDelay={2000}>
+                    <Button
+                      variant="ghost"
+                      icon="chevron-left"
+                      class="titlebar-icon w-6 h-6 p-0 box-border"
+                      disabled={!canBack()}
+                      onClick={back}
+                      aria-label={language.t("common.goBack")}
+                    />
+                  </Tooltip>
+                  <Tooltip placement="bottom" value={language.t("common.goForward")} openDelay={2000}>
+                    <Button
+                      variant="ghost"
+                      icon="chevron-right"
+                      class="titlebar-icon w-6 h-6 p-0 box-border"
+                      disabled={!canForward()}
+                      onClick={forward}
+                      aria-label={language.t("common.goForward")}
+                    />
+                  </Tooltip>
+                </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 id="opencode-titlebar-left" class="flex items-center gap-3 min-w-0 px-2" />
       </div>
 
       <div class="min-w-0 flex items-center justify-center pointer-events-none">

+ 1 - 0
packages/app/src/env.d.ts

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

+ 3 - 0
packages/desktop-electron/electron.vite.config.ts

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