feat: PlanetScale managed-MySQL preset with setup guide and host detection (Task 3)

This commit is contained in:
2026-09-09 18:05:13 +08:00
parent 28ce32ce91
commit 45e3327db4
10 changed files with 67 additions and 17 deletions
+4 -2
View File
@@ -1,4 +1,4 @@
import { siPostgresql, siMysql, siMariadb, siSqlite, siRedis, siSupabase, siNeon } from "simple-icons";
import { siPostgresql, siMysql, siMariadb, siSqlite, siRedis, siSupabase, siNeon, siPlanetscale } from "simple-icons";
import type { DbType } from "./types";
// Brand colors from simple-icons
@@ -64,16 +64,18 @@ export const DB_ICONS: Record<DbType, string> = {
// ── Managed-PostgreSQL provider icons (Supabase, NeonDB) ──────────
// These are NOT DbType values; connections persist as db_type="postgresql".
type ProviderIconId = "supabase" | "neon";
type ProviderIconId = "supabase" | "neon" | "planetscale";
const PROVIDER_ICON_DATA: Record<ProviderIconId, { hex: string; path: string }> = {
supabase: { hex: `#${siSupabase.hex}`, path: siSupabase.path },
neon: { hex: `#${siNeon.hex}`, path: siNeon.path },
planetscale: { hex: `#${siPlanetscale.hex}`, path: siPlanetscale.path },
};
export const PROVIDER_LABELS: Record<ProviderIconId, string> = {
supabase: "Supabase",
neon: "NeonDB",
planetscale: "PlanetScale",
};
interface ProviderIconProps {