summaryrefslogtreecommitdiffhomepage
path: root/packages/console
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-11-25 10:45:13 -0600
committerAdam <[email protected]>2025-11-25 10:45:18 -0600
commitb4e6f128d7104c74de4f57fd1ebe6051e65b52f3 (patch)
treebce9e3e5ef6e535e6cf48cf99cfadd1a5f52564e /packages/console
parent7d5e6718dc3f83974ffbf0d4f2d8f8dc85d5b484 (diff)
downloadopencode-b4e6f128d7104c74de4f57fd1ebe6051e65b52f3.tar.gz
opencode-b4e6f128d7104c74de4f57fd1ebe6051e65b52f3.zip
fix: favicons across all web properties
Diffstat (limited to 'packages/console')
-rw-r--r--packages/console/app/package.json1
l---------packages/console/app/public/apple-touch-icon.png1
l---------packages/console/app/public/favicon-96x96.png1
-rw-r--r--packages/console/app/public/favicon-zen.svg23
l---------packages/console/app/public/favicon.ico1
-rw-r--r--packages/console/app/public/robots.txt3
l---------packages/console/app/public/site.webmanifest1
l---------packages/console/app/public/web-app-manifest-192x192.png1
l---------packages/console/app/public/web-app-manifest-512x512.png1
-rw-r--r--packages/console/app/src/app.tsx4
-rw-r--r--packages/console/app/src/entry-server.tsx1
-rw-r--r--packages/console/app/src/routes/workspace.tsx2
-rw-r--r--packages/console/app/src/routes/zen/index.tsx1
13 files changed, 12 insertions, 29 deletions
diff --git a/packages/console/app/package.json b/packages/console/app/package.json
index 740bdd743..3a20b4752 100644
--- a/packages/console/app/package.json
+++ b/packages/console/app/package.json
@@ -18,6 +18,7 @@
"@opencode-ai/console-core": "workspace:*",
"@opencode-ai/console-mail": "workspace:*",
"@opencode-ai/console-resource": "workspace:*",
+ "@opencode-ai/ui": "workspace:*",
"@solidjs/meta": "catalog:",
"@solidjs/router": "catalog:",
"@solidjs/start": "catalog:",
diff --git a/packages/console/app/public/apple-touch-icon.png b/packages/console/app/public/apple-touch-icon.png
new file mode 120000
index 000000000..52ebd1c30
--- /dev/null
+++ b/packages/console/app/public/apple-touch-icon.png
@@ -0,0 +1 @@
+../../../ui/src/assets/favicon/apple-touch-icon.png \ No newline at end of file
diff --git a/packages/console/app/public/favicon-96x96.png b/packages/console/app/public/favicon-96x96.png
new file mode 120000
index 000000000..0a40e5619
--- /dev/null
+++ b/packages/console/app/public/favicon-96x96.png
@@ -0,0 +1 @@
+../../../ui/src/assets/favicon/favicon-96x96.png \ No newline at end of file
diff --git a/packages/console/app/public/favicon-zen.svg b/packages/console/app/public/favicon-zen.svg
deleted file mode 100644
index 84aeff32f..000000000
--- a/packages/console/app/public/favicon-zen.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-<svg width="400" height="400" viewBox="0 0 400 400" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect width="400" height="400" fill="#FDFCFC"/>
-<path d="M96 122.001V70.001H148V122.001H96Z" fill="#17181C"/>
-<path d="M148.004 122.001V70.001H200.004V122.001H148.004Z" fill="#17181C"/>
-<path d="M200.008 122.001V70.001H252.008V122.001H200.008Z" fill="#17181C"/>
-<path d="M251.996 122.001V70.001H303.996V122.001H251.996Z" fill="#17181C"/>
-<path d="M251.996 173.988V121.988H303.996V173.988H251.996Z" fill="#17181C"/>
-<path d="M96 225.998V173.998H148V225.998H96Z" fill="#CFCECD"/>
-<rect width="52" height="52" transform="translate(148.004 173.998)" fill="#17181C"/>
-<path d="M148.004 225.998V173.998H200.004V225.998H148.004Z" fill="#17181C" fill-opacity="0.1"/>
-<path d="M200.008 225.998V173.998H252.008V225.998H200.008Z" fill="#17181C"/>
-<path d="M252.016 225.998V173.998H304.016V225.998H252.016Z" fill="#CFCECD"/>
-<rect width="52" height="52" transform="translate(96 226.002)" fill="#17181C"/>
-<path d="M96 278.002V226.002H148V278.002H96Z" fill="#17181C" fill-opacity="0.1"/>
-<rect width="52" height="52" transform="translate(148.004 226.002)" fill="white"/>
-<path d="M148.004 278.002V226.002H200.004V278.002H148.004Z" fill="#CFCECD"/>
-<path d="M200.008 278.002V226.002H252.008V278.002H200.008Z" fill="#CFCECD"/>
-<path d="M252.016 278.002V226.002H304.016V278.002H252.016Z" fill="#CFCECD"/>
-<path d="M96 330.012V278.012H148V330.012H96Z" fill="#17181C"/>
-<path d="M148.004 330.012V278.012H200.004V330.012H148.004Z" fill="#17181C"/>
-<path d="M200.008 329.99V277.99H252.008V329.99H200.008Z" fill="#17181C"/>
-<path d="M251.996 330.012V278.012H303.996V330.012H251.996Z" fill="#17181C"/>
-</svg>
diff --git a/packages/console/app/public/favicon.ico b/packages/console/app/public/favicon.ico
new file mode 120000
index 000000000..d861e771f
--- /dev/null
+++ b/packages/console/app/public/favicon.ico
@@ -0,0 +1 @@
+../../../ui/src/assets/favicon/favicon.ico \ No newline at end of file
diff --git a/packages/console/app/public/robots.txt b/packages/console/app/public/robots.txt
index f88eb1790..bddac69de 100644
--- a/packages/console/app/public/robots.txt
+++ b/packages/console/app/public/robots.txt
@@ -2,4 +2,5 @@ User-agent: *
Allow: /
# Disallow shared content pages
-Disallow: /s/ \ No newline at end of file
+Disallow: /s/
+Disallow: /share/ \ No newline at end of file
diff --git a/packages/console/app/public/site.webmanifest b/packages/console/app/public/site.webmanifest
new file mode 120000
index 000000000..ce3161b45
--- /dev/null
+++ b/packages/console/app/public/site.webmanifest
@@ -0,0 +1 @@
+../../../ui/src/assets/favicon/site.webmanifest \ No newline at end of file
diff --git a/packages/console/app/public/web-app-manifest-192x192.png b/packages/console/app/public/web-app-manifest-192x192.png
new file mode 120000
index 000000000..9d3590fc2
--- /dev/null
+++ b/packages/console/app/public/web-app-manifest-192x192.png
@@ -0,0 +1 @@
+../../../ui/src/assets/favicon/web-app-manifest-192x192.png \ No newline at end of file
diff --git a/packages/console/app/public/web-app-manifest-512x512.png b/packages/console/app/public/web-app-manifest-512x512.png
new file mode 120000
index 000000000..0ca44b889
--- /dev/null
+++ b/packages/console/app/public/web-app-manifest-512x512.png
@@ -0,0 +1 @@
+../../../ui/src/assets/favicon/web-app-manifest-512x512.png \ No newline at end of file
diff --git a/packages/console/app/src/app.tsx b/packages/console/app/src/app.tsx
index 1cf963642..bc94b443e 100644
--- a/packages/console/app/src/app.tsx
+++ b/packages/console/app/src/app.tsx
@@ -1,7 +1,8 @@
import { MetaProvider, Title, Meta } from "@solidjs/meta"
import { Router } from "@solidjs/router"
import { FileRoutes } from "@solidjs/start/router"
-import { ErrorBoundary, Suspense } from "solid-js"
+import { Suspense } from "solid-js"
+import { Favicon } from "@opencode-ai/ui/favicon"
import "@ibm/plex/css/ibm-plex.css"
import "./app.css"
@@ -13,6 +14,7 @@ export default function App() {
<MetaProvider>
<Title>opencode</Title>
<Meta name="description" content="OpenCode - The AI coding agent built for the terminal." />
+ <Favicon />
<Suspense>{props.children}</Suspense>
</MetaProvider>
)}
diff --git a/packages/console/app/src/entry-server.tsx b/packages/console/app/src/entry-server.tsx
index 7d86e4b2b..913c8ca06 100644
--- a/packages/console/app/src/entry-server.tsx
+++ b/packages/console/app/src/entry-server.tsx
@@ -9,7 +9,6 @@ export default createHandler(
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
- <link rel="shortcut icon" type="image/svg+xml" href="/favicon.svg" />
<meta property="og:image" content="/social-share.png" />
<meta property="twitter:image" content="/social-share.png" />
{assets}
diff --git a/packages/console/app/src/routes/workspace.tsx b/packages/console/app/src/routes/workspace.tsx
index f7aff5b48..d7117a7d2 100644
--- a/packages/console/app/src/routes/workspace.tsx
+++ b/packages/console/app/src/routes/workspace.tsx
@@ -6,7 +6,6 @@ import { UserMenu } from "./user-menu"
import { withActor } from "~/context/auth.withActor"
import { User } from "@opencode-ai/console-core/user.js"
import { Actor } from "@opencode-ai/console-core/actor.js"
-import { Link } from "@solidjs/meta"
const getUserEmail = query(async (workspaceID: string) => {
"use server"
@@ -22,7 +21,6 @@ export default function WorkspaceLayout(props: RouteSectionProps) {
const userEmail = createAsync(() => getUserEmail(params.id!))
return (
<main data-page="workspace">
- <Link rel="shortcut icon" type="image/svg+xml" href="/favicon-zen.svg" />
<header data-component="workspace-header">
<div data-slot="header-brand">
<A href="/" data-component="site-title">
diff --git a/packages/console/app/src/routes/zen/index.tsx b/packages/console/app/src/routes/zen/index.tsx
index 871cbf684..7fd393962 100644
--- a/packages/console/app/src/routes/zen/index.tsx
+++ b/packages/console/app/src/routes/zen/index.tsx
@@ -33,7 +33,6 @@ export default function Home() {
{/*<HttpHeader name="Cache-Control" value="public, max-age=1, s-maxage=3600, stale-while-revalidate=86400" />*/}
<Title>OpenCode Zen | A curated set of reliable optimized models for coding agents</Title>
<Link rel="canonical" href={`${config.baseUrl}/zen`} />
- <Link rel="shortcut icon" type="image/svg+xml" href="/favicon-zen.svg" />
<Meta property="og:image" content="/social-share-zen.png" />
<Meta name="twitter:image" content="/social-share-zen.png" />
<Meta name="opencode:auth" content={loggedin() ? "true" : "false"} />