feat: EC2 UI polished + storage persisting

This commit is contained in:
Zakaria
2026-09-25 18:18:33 -04:00
parent 1b129e9dcf
commit 093afb9b2b
40 changed files with 2586 additions and 102 deletions
@@ -48,9 +48,11 @@ import { ApiGatewayRoutePanel } from "@/components/ApiGatewayRoutePanel";
import { S3LambdaTriggerPanel } from "@/components/S3LambdaTriggerPanel";
import { ScheduledLambdaTriggerPanel } from "@/components/ScheduledLambdaTriggerPanel";
import { SqsLambdaTriggerPanel } from "@/components/SqsLambdaTriggerPanel";
import { EventBridgeRulePanel } from "@/components/EventBridgeRulePanel";
import { LambdaInvocationHistoryPanel } from "@/components/LambdaInvocationHistoryPanel";
import { LambdaCreatePanel } from "@/components/LambdaCreatePanel";
import { bucketDeleteWarning } from "@/lib/bucketDeletion";
import { SnsTopicPanel } from "@/components/SnsTopicPanel";
interface DynamicResourceViewProps {
cloud: CloudProvider;
@@ -87,6 +89,12 @@ export function DynamicResourceView({
const [bulkDeleteError, setBulkDeleteError] = useState<string | null>(null);
const [deleteWarning, setDeleteWarning] = useState<string | null>(null);
useEffect(() => {
if (cloud === "aws" && service === "compute") {
setCreateOpen(true);
}
}, [cloud, service]);
const handleDatabaseTabChange = (tab: "instances" | "snapshots") => {
setDatabaseTab(tab);
@@ -766,7 +774,7 @@ export function DynamicResourceView({
)}
</div>
)}
{renderResourceSurface({
{!(cloud === "aws" && service === "compute" && createOpen) && renderResourceSurface({
schema,
resources,
selectedId: activeSelected?.id,
@@ -872,6 +880,13 @@ export function DynamicResourceView({
runtimeReachable={canUseRuntime}
/>
)}
{service === "events" && (
<EventBridgeRulePanel
cloud={cloud}
resource={activeSelected}
runtimeReachable={canUseRuntime}
/>
)}
{service === "configuration" && cloud === "aws" && (
<AppConfigPanel
cloud={cloud}
@@ -886,6 +901,13 @@ export function DynamicResourceView({
runtimeReachable={canUseRuntime}
/>
)}
{service === "notifications" && (
<SnsTopicPanel
cloud={cloud}
resource={activeSelected}
runtimeReachable={canUseRuntime}
/>
)}
{editingResource && schema.updateFields && (
<div
className="modal-overlay"