fix(manager): real logo PNG + Mac fallback is now a .dmg
- assets/logo.tsx: drop the hand-drawn "H" path SVG and render /logo.png (already swapped to the new gradient icon when we refreshed branding). One source asset across desktop + favicon + Manager web. - desktop_download.go: Mac fallback URL points at HeiCode_0.1.9_ aarch64.dmg now (drag-to-Applications installer), not the .app.tar.gz updater payload that confuses end users. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -132,9 +132,12 @@ func filenameFromURL(rawURL string) string {
|
||||
// stranded.
|
||||
//
|
||||
// Update these constants whenever a NEW Mac binary is uploaded to blob.
|
||||
// Mac downloads on the /desktop-client page point at the .dmg installer
|
||||
// (drag-to-Applications UX), NOT the .app.tar.gz which is the Tauri
|
||||
// auto-updater payload. Bump these when a new Mac DMG ships to blob.
|
||||
const (
|
||||
fallbackMacArmVersion = "0.1.5"
|
||||
fallbackMacArmURL = "https://heicodeblob.blob.core.windows.net/msi/desktop/0.1.5/HeiCode.app.tar.gz"
|
||||
fallbackMacArmVersion = "0.1.9"
|
||||
fallbackMacArmURL = "https://heicodeblob.blob.core.windows.net/msi/desktop/0.1.9/HeiCode_0.1.9_aarch64.dmg"
|
||||
)
|
||||
|
||||
// GetDesktopDownloads returns the latest released desktop client metadata
|
||||
|
||||
+18
-26
@@ -1,33 +1,25 @@
|
||||
import { type SVGProps } from 'react'
|
||||
import { cn } from '@/lib/utils'
|
||||
|
||||
export function Logo({ className, ...props }: SVGProps<SVGSVGElement>) {
|
||||
// Heicode Manager brand mark.
|
||||
//
|
||||
// Renders the canonical app icon from `public/logo.png` instead of an
|
||||
// inline SVG. Easier to keep in sync with the desktop client + favicon
|
||||
// (one source asset, swapped via `tauri icon` / Pillow when branding
|
||||
// updates). All existing callers continue to use `<Logo className="..." />`.
|
||||
|
||||
type LogoProps = React.ImgHTMLAttributes<HTMLImageElement>
|
||||
|
||||
export function Logo({ className, alt, ...props }: LogoProps) {
|
||||
return (
|
||||
<svg
|
||||
<img
|
||||
id='heicode-manager-logo'
|
||||
viewBox='0 0 256 256'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
height='24'
|
||||
width='24'
|
||||
fill='none'
|
||||
className={cn('size-6', className)}
|
||||
src='/logo.png'
|
||||
alt={alt ?? 'Heicode Manager'}
|
||||
width={24}
|
||||
height={24}
|
||||
className={cn('size-6 select-none', className)}
|
||||
draggable={false}
|
||||
{...props}
|
||||
>
|
||||
<title>Heicode Manager</title>
|
||||
<defs>
|
||||
<linearGradient id='heicode-logo-bg' x1='0' y1='0' x2='256' y2='256' gradientUnits='userSpaceOnUse'>
|
||||
<stop offset='0' stopColor='#B888E5' />
|
||||
<stop offset='0.55' stopColor='#7B6BE3' />
|
||||
<stop offset='1' stopColor='#6B7CE0' />
|
||||
</linearGradient>
|
||||
<linearGradient id='heicode-logo-glass' x1='0' y1='0' x2='0' y2='256' gradientUnits='userSpaceOnUse'>
|
||||
<stop offset='0' stopColor='#FFFFFF' stopOpacity='0.32' />
|
||||
<stop offset='0.6' stopColor='#FFFFFF' stopOpacity='0' />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect x='8' y='8' width='240' height='240' rx='56' fill='url(#heicode-logo-bg)' />
|
||||
<rect x='8' y='8' width='240' height='240' rx='56' fill='url(#heicode-logo-glass)' />
|
||||
<path d='M74 64h28v54h52V64h28v128h-28v-54h-52v54H74z' fill='#FFFFFF' />
|
||||
</svg>
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user