diff --git a/apps/api/src/db/repo/routes.ts b/apps/api/src/db/repo/routes.ts index 3ac9d59..7fefd74 100644 --- a/apps/api/src/db/repo/routes.ts +++ b/apps/api/src/db/repo/routes.ts @@ -198,12 +198,6 @@ export const listRoutesByDeployment = async (deploymentId: string): Promise => { - const db = await getDb(); - const rows = await db.select().from(routes).where(eq(routes.deploymentId, deploymentId)).execute(); - return rows.map(mapRoute); -}; - export const deleteRoute = async (id: string): Promise => { const db = await getDb(); await db.delete(routes).where(eq(routes.id, id)).execute(); diff --git a/apps/web/src/components/databases/CreateDatabaseDialog.tsx b/apps/web/src/components/databases/CreateDatabaseDialog.tsx index 04a05cf..62cbfbc 100644 --- a/apps/web/src/components/databases/CreateDatabaseDialog.tsx +++ b/apps/web/src/components/databases/CreateDatabaseDialog.tsx @@ -230,14 +230,14 @@ export function CreateDatabaseDialog({

)} -
- diff --git a/apps/web/src/components/databases/DatabaseCard.tsx b/apps/web/src/components/databases/DatabaseCard.tsx index 5888d79..e02e4c4 100644 --- a/apps/web/src/components/databases/DatabaseCard.tsx +++ b/apps/web/src/components/databases/DatabaseCard.tsx @@ -48,8 +48,7 @@ export function DatabaseCard({ database, project, onChanged, onDelete }: Databas onChanged(); } catch (err) { setActionError(err instanceof Error ? err.message : "Action failed"); - } - fontFinally: { + } finally { setIsBusy(false); } }; @@ -62,8 +61,7 @@ export function DatabaseCard({ database, project, onChanged, onDelete }: Databas return ( - - {/* Top Header Row */} +
@@ -79,7 +77,7 @@ export function DatabaseCard({ database, project, onChanged, onDelete }: Databas {database.name} -

+

{project ? `Project: ${project.name}` : "Standalone Database"} · {database.databaseName} @@ -92,13 +90,12 @@ export function DatabaseCard({ database, project, onChanged, onDelete }: Databas disabled={isBusy} aria-label={`Delete ${database.name}`} onClick={() => onDelete(database)} - className="h-8 w-8 text-muted-foreground hover:text-destructive hover:bg-destructive/10 rounded-lg" + className="h-8 w-8 text-muted-foreground hover:text-destructive hover:bg-destructive/10 rounded-lg shrink-0" >

- {/* Endpoints Grid */}
@@ -125,7 +122,6 @@ export function DatabaseCard({ database, project, onChanged, onDelete }: Databas
- {/* Storage Meter */}
Disk Storage Usage @@ -152,7 +148,6 @@ export function DatabaseCard({ database, project, onChanged, onDelete }: Databas
- {/* Connection String Box */}
@@ -170,6 +165,7 @@ export function DatabaseCard({ database, project, onChanged, onDelete }: Databas variant="ghost" size="icon" onClick={reveal} + aria-label={credentials ? "Hide credentials" : "Reveal credentials"} className="h-8 w-8 text-muted-foreground hover:text-foreground rounded-lg" > {credentials ? : } @@ -181,6 +177,7 @@ export function DatabaseCard({ database, project, onChanged, onDelete }: Databas variant="ghost" size="sm" onClick={() => handleCopyConnection(connString)} + aria-label="Copy connection string" className="h-8 text-xs text-emerald-400 hover:bg-emerald-500/10 gap-1 px-2 rounded-lg" > {copiedConnection ? : } @@ -197,9 +194,8 @@ export function DatabaseCard({ database, project, onChanged, onDelete }: Databas )}
- {/* Action Row */} -
-
+
+
{database.status === "stopped" ? ( +
+
+ - - Workspace - - - {currentProject ? ( - <> - - {currentProject.name} - - - - {new URLSearchParams(location.search).get("tab") || "deployments"} - - - ) : ( - Dashboard - )} + + Workspace + + + {currentProject ? ( + <> + + {currentProject.name} + + + + {new URLSearchParams(location.search).get("tab") || "deployments"} + + + ) : ( + Dashboard + )} +
); } diff --git a/apps/web/src/components/project/alerts/AlertsTab.tsx b/apps/web/src/components/project/alerts/AlertsTab.tsx index 8589ef2..2c06095 100644 --- a/apps/web/src/components/project/alerts/AlertsTab.tsx +++ b/apps/web/src/components/project/alerts/AlertsTab.tsx @@ -78,7 +78,7 @@ export function AlertsTab({ projectId }: AlertsTabProps) { return (
{alerts.length === 0 ? ( -
+
@@ -98,7 +98,7 @@ export function AlertsTab({ projectId }: AlertsTabProps) {
) : (
-
+

Alert Rules

@@ -107,7 +107,7 @@ export function AlertsTab({ projectId }: AlertsTabProps) {

@@ -119,15 +119,15 @@ export function AlertsTab({ projectId }: AlertsTabProps) { return (
-
-
+
+
-
+
- + {a.type.replace("_", " ")}
-

- Triggers when {a.type.replace("_", " ")} exceeds{" "} +

+ Triggers when{" "} + {a.type.replace("_", " ")} exceeds{" "} {a.threshold} {getUnit(a.type)} @@ -146,7 +147,7 @@ export function AlertsTab({ projectId }: AlertsTabProps) {

-
+
- {/* Build Strategy Selection Cards (Railpack vs Docker Compose) */}
- {/* Railpack Configuration */} {buildType === "railpack" && (
- {/* Framework Preset Select (with SVG logos) */}
- {/* Project Type Card Selection (Web Service vs Static Site) */}
@@ -177,10 +173,9 @@ export function BuildStrategySection({
- {/* Detailed Build Commands */}
-
-
-