Some checks failed
build-packages / resolve bundled mosh-client (push) Has been cancelled
build-packages / resolve bundled et-client (push) Has been cancelled
build-packages / build-macos (push) Has been cancelled
build-packages / build-windows (push) Has been cancelled
build-packages / build-linux-x64 (push) Has been cancelled
build-packages / build-linux-arm64 (push) Has been cancelled
build-packages / release (push) Has been cancelled
build-packages / update Nix release metadata (push) Has been cancelled
build-packages / bump homebrew tap (push) Has been cancelled
test / lint-and-test (push) Has been cancelled
AI automation / Route event (push) Has been cancelled
AI automation / Hand reopened issue to maintainers (push) Has been cancelled
AI automation / Clean source issue state (push) Has been cancelled
AI automation / Reconcile handoffs (push) Has been cancelled
AI automation / Classify issue (push) Has been cancelled
AI automation / Claude Code smoke (push) Has been cancelled
AI automation / Review issue follow-up (push) Has been cancelled
AI automation / Publish issue follow-up (push) Has been cancelled
AI automation / Implement with Claude Code (push) Has been cancelled
AI automation / Publish implement PR (push) Has been cancelled
AI automation / Continue queued issue comments (push) Has been cancelled
AI automation / Codex review loop (push) Has been cancelled
AI automation / Publish Codex fix (push) Has been cancelled
AI automation / Clear Codex dispatch marker (push) Has been cancelled
AI automation / Own PR re-request Codex (push) Has been cancelled
AI automation / External PR re-request Codex (push) Has been cancelled
AI automation / Poll Codex reaction / retry (push) Has been cancelled
build-et-binaries / build-linux-x64 (push) Has been cancelled
build-et-binaries / build-linux-arm64 (push) Has been cancelled
build-et-binaries / build-macos-universal (push) Has been cancelled
build-et-binaries / build-windows-x64 (push) Has been cancelled
build-et-binaries / release (push) Has been cancelled
87 lines
3.7 KiB
TypeScript
87 lines
3.7 KiB
TypeScript
import {
|
|
APP_ICON_VARIANTS,
|
|
DEFAULT_APP_ICON_VARIANT,
|
|
type AppIconVariant,
|
|
} from '../../domain/appIconVariant';
|
|
|
|
export { APP_ICON_VARIANTS, DEFAULT_APP_ICON_VARIANT, type AppIconVariant };
|
|
|
|
// Elf SVG icon source — shared across all variants.
|
|
export const APP_ICON_ELF_SVG = '/senmesh-elf-logo.svg';
|
|
|
|
// Background colors for the icon preview tiles in Settings.
|
|
// Each variant is: background (can be a linear-gradient or solid color), optional border.
|
|
export const APP_ICON_VARIANT_TILE: Record<
|
|
AppIconVariant,
|
|
{ background: string; border?: string }
|
|
> = {
|
|
original: { background: 'linear-gradient(135deg, #5BAF7E 0%, #3D8B5E 100%)' },
|
|
bright: { background: 'linear-gradient(135deg, #A8E0B0 0%, #7BC48A 100%)' },
|
|
dark: { background: 'linear-gradient(135deg, #2E7D4F 0%, #1B5E3A 100%)' },
|
|
colorful: { background: 'linear-gradient(135deg, #5BAF7E 0%, #7BC4A5 50%, #A8D8B9 100%)' },
|
|
'high-contrast': { background: '#0F2418', border: '1px solid #5BAF7E' },
|
|
'white-navy': { background: 'linear-gradient(135deg, #1E3A5F 0%, #0F2440 100%)' },
|
|
'white-sky': { background: 'linear-gradient(135deg, #7EC8E3 0%, #4A9BC0 100%)' },
|
|
'white-rose': { background: 'linear-gradient(135deg, #F8BBD0 0%, #E8A0B8 100%)' },
|
|
'white-emerald': { background: 'linear-gradient(135deg, #5BAF7E 0%, #3D8B5E 100%)' },
|
|
'white-amber': { background: 'linear-gradient(135deg, #F5CBA7 0%, #E0A86A 100%)' },
|
|
'white-violet': { background: 'linear-gradient(135deg, #9B7FC4 0%, #6D4F99 100%)' },
|
|
rainbow: {
|
|
background: 'linear-gradient(135deg, #E74C3C 0%, #F39C12 20%, #F1C40F 40%, #27AE60 60%, #3498DB 80%, #9B59B6 100%)',
|
|
},
|
|
};
|
|
|
|
// Legacy PNG paths — kept for Electron main-process window icon usage
|
|
// (real PNG files are still needed for taskbar/dock icons).
|
|
export const APP_ICON_VARIANT_ASSET_PATH: Record<AppIconVariant, string> = {
|
|
original: '/icons/variants/original.png',
|
|
bright: '/icons/variants/bright.png',
|
|
dark: '/icons/variants/dark.png',
|
|
colorful: '/icons/variants/colorful.png',
|
|
'high-contrast': '/icons/variants/high-contrast.png',
|
|
'white-navy': '/icons/variants/white-navy.png',
|
|
'white-sky': '/icons/variants/white-sky.png',
|
|
'white-rose': '/icons/variants/white-rose.png',
|
|
'white-emerald': '/icons/variants/white-emerald.png',
|
|
'white-amber': '/icons/variants/white-amber.png',
|
|
'white-violet': '/icons/variants/white-violet.png',
|
|
rainbow: '/icons/variants/rainbow.png',
|
|
};
|
|
|
|
export const APP_ICON_VARIANT_I18N_KEY: Record<AppIconVariant, string> = {
|
|
original: 'settings.appearance.appIcon.original',
|
|
bright: 'settings.appearance.appIcon.bright',
|
|
dark: 'settings.appearance.appIcon.dark',
|
|
colorful: 'settings.appearance.appIcon.colorful',
|
|
'high-contrast': 'settings.appearance.appIcon.highContrast',
|
|
'white-navy': 'settings.appearance.appIcon.whiteNavy',
|
|
'white-sky': 'settings.appearance.appIcon.whiteSky',
|
|
'white-rose': 'settings.appearance.appIcon.whiteRose',
|
|
'white-emerald': 'settings.appearance.appIcon.whiteEmerald',
|
|
'white-amber': 'settings.appearance.appIcon.whiteAmber',
|
|
'white-violet': 'settings.appearance.appIcon.whiteViolet',
|
|
rainbow: 'settings.appearance.appIcon.rainbow',
|
|
};
|
|
|
|
export const APP_ICON_VARIANT_GROUPS: Array<{
|
|
id: 'classic' | 'white' | 'special';
|
|
labelKey: string;
|
|
variants: AppIconVariant[];
|
|
}> = [
|
|
{
|
|
id: 'classic',
|
|
labelKey: 'settings.appearance.appIcon.group.classic',
|
|
variants: ['original', 'bright', 'dark', 'colorful', 'high-contrast'],
|
|
},
|
|
{
|
|
id: 'white',
|
|
labelKey: 'settings.appearance.appIcon.group.white',
|
|
variants: ['white-navy', 'white-sky', 'white-rose', 'white-emerald', 'white-amber', 'white-violet'],
|
|
},
|
|
{
|
|
id: 'special',
|
|
labelKey: 'settings.appearance.appIcon.group.special',
|
|
variants: ['rainbow'],
|
|
},
|
|
];
|