feat: branding

This commit is contained in:
Gab 2026-03-27 16:57:05 +11:00
parent fdc30ae262
commit 95340af79a
32 changed files with 31 additions and 38 deletions

BIN
packages/app/favicon.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>OpenCode</title>
<title>TF Code</title>
<link rel="icon" type="image/png" href="/favicon-96x96-v3.png" sizes="96x96" />
<link rel="icon" type="image/svg+xml" href="/favicon-v3.svg" />
<link rel="shortcut icon" href="/favicon-v3.ico" />

View File

@ -39,7 +39,7 @@ const getBase = (): Configuration => ({
sign: true,
},
protocols: {
name: "OpenCode",
name: "TF Code",
schemes: ["opencode"],
},
win: {
@ -67,7 +67,7 @@ function getConfig() {
return {
...base,
appId: "ai.opencode.desktop.dev",
productName: "OpenCode Dev",
productName: "TF Code Dev",
rpm: { packageName: "opencode-dev" },
}
}
@ -75,8 +75,8 @@ function getConfig() {
return {
...base,
appId: "ai.opencode.desktop.beta",
productName: "OpenCode Beta",
protocols: { name: "OpenCode Beta", schemes: ["opencode"] },
productName: "TF Code Beta",
protocols: { name: "TF Code Beta", schemes: ["opencode"] },
publish: { provider: "github", owner: "anomalyco", repo: "opencode-beta", channel: "latest" },
rpm: { packageName: "opencode-beta" },
}
@ -85,8 +85,8 @@ function getConfig() {
return {
...base,
appId: "ai.opencode.desktop",
productName: "OpenCode",
protocols: { name: "OpenCode", schemes: ["opencode"] },
productName: "TF Code",
protocols: { name: "TF Code", schemes: ["opencode"] },
publish: { provider: "github", owner: "anomalyco", repo: "opencode", channel: "latest" },
rpm: { packageName: "opencode" },
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -6,7 +6,7 @@
"license": "MIT",
"homepage": "https://opencode.ai",
"author": {
"name": "OpenCode",
"name": "TF Code",
"email": "hello@opencode.ai"
},
"scripts": {

View File

@ -66,7 +66,7 @@ export function createMainWindow(globals: Globals) {
width: state.width,
height: state.height,
show: true,
title: "OpenCode",
title: "TF Code",
icon: iconPath(),
backgroundColor,
...(process.platform === "darwin"

View File

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>OpenCode</title>
<title>TF Code</title>
<link rel="icon" type="image/png" href="./favicon-96x96-v3.png" sizes="96x96" />
<link rel="icon" type="image/svg+xml" href="./favicon-v3.svg" />
<link rel="shortcut icon" href="./favicon-v3.ico" />

View File

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>OpenCode</title>
<title>TF Code</title>
<link rel="icon" type="image/png" href="./favicon-96x96-v3.png" sizes="96x96" />
<link rel="icon" type="image/svg+xml" href="./favicon-v3.svg" />
<link rel="shortcut icon" href="./favicon-v3.ico" />

View File

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>OpenCode</title>
<title>TF Code</title>
<link rel="icon" type="image/png" href="/favicon-96x96-v3.png" sizes="96x96" />
<link rel="icon" type="image/svg+xml" href="/favicon-v3.svg" />
<link rel="shortcut icon" href="/favicon-v3.ico" />

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -53,7 +53,7 @@ impl MainWindow {
app,
decorations,
)
.title("OpenCode")
.title("TF Code")
.disable_drag_drop_handler()
.zoom_hotkeys_enabled(false)
.visible(true)

View File

@ -1,7 +1,7 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "OpenCode Beta",
"identifier": "ai.opencode.desktop.beta",
"productName": "TF Code Beta",
"identifier": "ai.tfcode.desktop.beta",
"bundle": {
"createUpdaterArtifacts": true,
"icon": [

View File

@ -1,7 +1,7 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "OpenCode Dev",
"identifier": "ai.opencode.desktop.dev",
"productName": "TF Code Dev",
"identifier": "ai.tfcode.desktop.dev",
"mainBinaryName": "OpenCode",
"version": "../package.json",
"build": {

View File

@ -1,7 +1,7 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "OpenCode",
"identifier": "ai.opencode.desktop",
"productName": "TF Code",
"identifier": "ai.tfcode.desktop",
"bundle": {
"createUpdaterArtifacts": true,
"icon": [

View File

@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/package.json",
"version": "1.0.14",
"version": "1.0.16",
"name": "tfcode",
"type": "module",
"license": "MIT",

View File

@ -103,6 +103,7 @@ export namespace ModelsDev {
supportsVision: boolean
toolCalling: boolean
maxTokens: number
maxContextLength?: number
deprecated: boolean
deploymentType?: string
pricing?: {
@ -191,7 +192,7 @@ export namespace ModelsDev {
output: model.pricing?.outputPer1mTokens || 0,
},
limit: {
context: model.maxTokens ? model.maxTokens * 4 : 128000,
context: model.maxContextLength || model.maxTokens || 128000,
output: model.maxTokens || 16000,
},
modalities: {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 536 B

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 536 B

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -1,7 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="512"><svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="512" height="512" fill="#131010"></rect>
<path d="M320 224V352H192V224H320Z" fill="#5A5858"></path>
<path fill-rule="evenodd" clip-rule="evenodd" d="M384 416H128V96H384V416ZM320 160H192V352H320V160Z" fill="white"></path>
</svg><style>@media (prefers-color-scheme: light) { :root { filter: none; } }
@media (prefers-color-scheme: dark) { :root { filter: none; } }
</style></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512">
<image href="data:image/png;base64,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" width="512" height="512"/>
</svg>

Before

Width:  |  Height:  |  Size: 612 B

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -1,7 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="512"><svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="512" height="512" fill="#131010"></rect>
<path d="M320 224V352H192V224H320Z" fill="#5A5858"></path>
<path fill-rule="evenodd" clip-rule="evenodd" d="M384 416H128V96H384V416ZM320 160H192V352H320V160Z" fill="white"></path>
</svg><style>@media (prefers-color-scheme: light) { :root { filter: none; } }
@media (prefers-color-scheme: dark) { :root { filter: none; } }
</style></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512">
<image href="data:image/png;base64,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" width="512" height="512"/>
</svg>

Before

Width:  |  Height:  |  Size: 612 B

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -1,6 +1,6 @@
{
"name": "OpenCode",
"short_name": "OpenCode",
"name": "TF Code",
"short_name": "TF Code",
"icons": [
{
"src": "/web-app-manifest-192x192.png",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -7,7 +7,7 @@ export const Favicon = () => {
<Link rel="shortcut icon" href="/favicon-v3.ico" />
<Link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon-v3.png" />
<Link rel="manifest" href="/site.webmanifest" />
<Meta name="apple-mobile-web-app-title" content="OpenCode" />
<Meta name="apple-mobile-web-app-title" content="TF Code" />
</>
)
}