diff --git a/public/appicons/io.pilot.mysql.svg b/public/appicons/io.pilot.mysql.svg new file mode 100644 index 0000000..195caad --- /dev/null +++ b/public/appicons/io.pilot.mysql.svg @@ -0,0 +1 @@ +MySQL \ No newline at end of file diff --git a/scripts/gen-apps.mjs b/scripts/gen-apps.mjs index 552f7ac..f3aa47c 100644 --- a/scripts/gen-apps.mjs +++ b/scripts/gen-apps.mjs @@ -32,7 +32,7 @@ const CATEGORIES = [ const CAT_HUE = Object.fromEntries(CATEGORIES.map((c) => [c.id, c.hue])); const CATMAP = { - 'io.pilot.postgres': 'data', 'io.pilot.duckdb': 'data', 'io.pilot.sqlite': 'data', 'io.pilot.redis': 'data', 'io.pilot.sixtyfour': 'data', 'io.pilot.orthogonal': 'data', + 'io.pilot.postgres': 'data', 'io.pilot.duckdb': 'data', 'io.pilot.sqlite': 'data', 'io.pilot.mysql': 'data', 'io.pilot.redis': 'data', 'io.pilot.sixtyfour': 'data', 'io.pilot.orthogonal': 'data', 'io.pilot.cosift': 'ai', 'io.telepat.ideon-free': 'ai', 'io.pilot.plainweb': 'web', 'io.pilot.otto': 'web', 'io.pilot.bowmark': 'web', 'io.pilot.smol': 'infra', 'io.pilot.miren': 'infra', 'io.pilot.docker': 'infra', @@ -46,6 +46,7 @@ const ICON_MAP = { 'io.pilot.postgres': { brand: 'postgresql', hex: '#4169E1' }, 'io.pilot.duckdb': { brand: 'duckdb', hex: '#FFF000' }, 'io.pilot.sqlite': { brand: 'sqlite', hex: '#003B57' }, + 'io.pilot.mysql': { brand: 'mysql', hex: '#4479A1' }, 'io.pilot.redis': { brand: 'redis', hex: '#FF4438' }, 'io.pilot.docker': { brand: 'docker', hex: '#2496ED' }, 'io.pilot.cosift': { image: 'png', fit: 'contain', bg: '#ffffff' }, @@ -87,7 +88,7 @@ function iconFor(id, hue) { // ---------- presentation config ---------- const APP_IDS = [ 'io.pilot.agentphone', - 'io.pilot.postgres', 'io.pilot.duckdb', 'io.pilot.sqlite', 'io.pilot.redis', 'io.pilot.sixtyfour', + 'io.pilot.postgres', 'io.pilot.duckdb', 'io.pilot.sqlite', 'io.pilot.mysql', 'io.pilot.redis', 'io.pilot.sixtyfour', 'io.pilot.cosift', 'io.telepat.ideon-free', 'io.pilot.plainweb', 'io.pilot.otto', 'io.pilot.smol', 'io.pilot.miren', 'io.pilot.docker', 'io.pilot.aegis', 'io.pilot.slipstream', 'io.pilot.wallet', 'io.pilot.bowmark', 'io.pilot.orthogonal', @@ -95,7 +96,7 @@ const APP_IDS = [ const FEATURED = ['io.pilot.postgres', 'io.pilot.duckdb', 'io.pilot.docker']; const LINUX_ONLY = new Set(['io.pilot.docker']); const PROTECTION_FALLBACK = { - 'io.pilot.postgres': 'guarded', 'io.pilot.duckdb': 'guarded', 'io.pilot.sqlite': 'guarded', 'io.pilot.redis': 'guarded', + 'io.pilot.postgres': 'guarded', 'io.pilot.duckdb': 'guarded', 'io.pilot.sqlite': 'guarded', 'io.pilot.mysql': 'guarded', 'io.pilot.redis': 'guarded', 'io.pilot.docker': 'guarded', 'io.pilot.miren': 'shareable', 'io.pilot.otto': 'guarded', 'io.pilot.wallet': 'guarded', 'io.pilot.slipstream': 'shareable', 'io.telepat.ideon-free': 'guarded', 'io.pilot.aegis': 'guarded', diff --git a/src/components/AppIcon.astro b/src/components/AppIcon.astro index fb7809b..1b0a66d 100644 --- a/src/components/AppIcon.astro +++ b/src/components/AppIcon.astro @@ -6,7 +6,7 @@ const isImg = app.icon.mode === 'image'; const pad = isImg && app.icon.fit === 'contain'; const mask = app.icon.file ? `-webkit-mask-image:url(${app.icon.file});mask-image:url(${app.icon.file})` : ''; --- -