Skip to content

feat(frontend): implement deployment detail actions and shared status components#514

Merged
temma02 merged 1 commit intoStellerCraft:mainfrom
iammrjude:issue-025-implement-deployment-detail-actions-and-shared-s
Apr 29, 2026
Merged

feat(frontend): implement deployment detail actions and shared status components#514
temma02 merged 1 commit intoStellerCraft:mainfrom
iammrjude:issue-025-implement-deployment-detail-actions-and-shared-s

Conversation

@iammrjude
Copy link
Copy Markdown
Contributor

Summary

Implements Issue #25 by adding a full deployment detail UI surface with reusable status treatments, progress indicators, action controls, logs shell, and history placeholders.
This PR also prepares frontend integration points for deployment detail/status/log/update/redeploy APIs and connects list rows to the new detail route.

Closes #25

What was implemented

1) New deployment detail screen

  • Added a new route: apps/frontend/src/app/app/deployments/[id]/page.tsx
  • Includes:
  • Deployment status/progress card
  • Action controls (redeploy, open links, delete)
  • Log viewer shell with refresh/load-more behavior
  • History section placeholder with update-context integration hook
  • Polling for active deployment statuses

2) Shared status + progress components

  • Added shared deployment-detail status mapping utility:
  • apps/frontend/src/components/deployments/deployment-detail-status.ts
  • Added reusable components:
  • apps/frontend/src/components/deployments/DeploymentDetailStatusBadge.tsx
  • apps/frontend/src/components/deployments/DeploymentProgressIndicator.tsx

3) Action controls + destructive confirmation

  • Added:
  • apps/frontend/src/components/deployments/DeploymentDetailActions.tsx
  • Includes explicit destructive confirmation flow (must type deployment name before delete)
  • Includes clear redeploy affordance (Redeploy Now)

4) Logs shell + history placeholder

  • Added:
  • apps/frontend/src/components/deployments/DeploymentLogViewerShell.tsx
  • apps/frontend/src/components/deployments/DeploymentHistorySection.tsx

5) API integration points

  • Added API client layer:
  • apps/frontend/src/services/deployment-detail-api.ts
  • Integration points included:
  • Detail API: /api/deployments/:id
  • Status API: /api/deployments/:id/status
  • Logs API: /api/deployments/:id/logs
  • Redeploy API hook: /api/deployments/:id/redeploy
  • Delete API: DELETE /api/deployments/:id
  • Update-context hook: /api/drafts/deployment/:id
  • Added typed API error handling and query builders

6) Type contracts

  • Extended deployment types in:
  • apps/frontend/src/types/deployment.ts
  • Added typed contracts for detail/status/logs payloads and query params

7) Deployments list integration

  • Updated:
  • apps/frontend/src/components/deployments/DeploymentRow.tsx
  • Adds direct navigation to deployment detail route
  • Updated barrel exports:
  • apps/frontend/src/components/deployments/index.ts

Files changed

New files

  • apps/frontend/src/app/app/deployments/[id]/page.tsx
  • apps/frontend/src/components/deployments/DeploymentDetailActions.tsx
  • apps/frontend/src/components/deployments/DeploymentDetailActions.test.tsx
  • apps/frontend/src/components/deployments/DeploymentDetailStatusBadge.tsx
  • apps/frontend/src/components/deployments/DeploymentDetailStatusBadge.test.tsx
  • apps/frontend/src/components/deployments/DeploymentProgressIndicator.tsx
  • apps/frontend/src/components/deployments/DeploymentProgressIndicator.test.tsx
  • apps/frontend/src/components/deployments/DeploymentLogViewerShell.tsx
  • apps/frontend/src/components/deployments/DeploymentHistorySection.tsx
  • apps/frontend/src/components/deployments/deployment-detail-status.ts
  • apps/frontend/src/services/deployment-detail-api.ts
  • apps/frontend/src/services/deployment-detail-api.test.ts

Modified files

  • apps/frontend/src/components/deployments/DeploymentRow.tsx
  • apps/frontend/src/components/deployments/index.ts
  • apps/frontend/src/types/deployment.ts

Testing performed

Ran targeted frontend tests for new and related components/services:

  • npm run test --workspace @craft/frontend -- src/components/deployments/DeploymentDetailActions.test.tsx src/components/deployments/DeploymentDetailStatusBadge.test.tsx src/components/deployments/DeploymentProgressIndicator.test.tsx src/services/deployment-detail-api.test.ts
  • npm run test --workspace @craft/frontend -- src/components/deployments/DeploymentStatusBadge.test.tsx src/components/deployments/DeploymentList.test.ts

Result: all tests passed.

Acceptance criteria check (Issue #25)

  • Create status badges, progress indicators, action buttons, log viewer shell, and history section placeholders: ✅ Done
  • Add confirmation states for destructive actions and clear redeploy affordances: ✅ Done
  • Prepare integration points for detail, status, logs, and update APIs: ✅ Done
  • Must be secure, tested, and documented where applicable: ✅ Implemented confirmation guard + typed error handling + tests
  • Preserve responsive and accessible behavior: ✅ Components include ARIA labels/roles and responsive layout classes

Edge cases and assumptions

  • Redeploy endpoint may not yet exist in all environments; UI surfaces a clear error if unavailable.
  • History section is scaffolded and wired for integration but depends on future dedicated history/update feed expansion.
  • No visual screenshots attached in this PR body yet (can be added before merge if required).

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Apr 28, 2026

@iammrjude Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@iammrjude
Copy link
Copy Markdown
Contributor Author

@temma02 I am done. Please review

@iammrjude
Copy link
Copy Markdown
Contributor Author

@temma02 Please review and merge

image

@temma02 temma02 merged commit 7a86852 into StellerCraft:main Apr 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Issue 025: Implement deployment detail actions and shared status components

2 participants