Detail: Hide 'Update Status' card when shipment is archived #33

Closed
opened 2026-06-27 15:41:15 +02:00 by bullitt · 1 comment
Owner

Problem

The "Update Status" card is shown for all non-delivered shipments (!isDelivered). However, it also appears for archived shipments. Shipment #4 (archived + stalled + in_transit) shows an "Update Status" card, letting users change the state of an archived shipment. This is confusing — archived implies the shipment is no longer being actively managed.

Implementation

File: frontend/src/pages/ShipmentDetail.tsx — around line 615.

Change the condition from:

{!isDelivered && (
  <Card> {/* Update Status */}

To:

{!isDelivered && !shipment.archived && (
  <Card> {/* Update Status */}

Note: shipment.archived is stored as 0 or 1 (SQLite integer), so the check should be:

{!isDelivered && shipment.archived !== 1 && (

Acceptance criteria

  • "Update Status" card is hidden when shipment.archived === 1
  • "Update Status" card still appears for active non-delivered non-archived shipments
  • Delivered shipments (already hidden) are unaffected

Brand identity alignment

Archived shipments are historical records, not active operational work. Hiding Update Status reinforces clear state ownership and prevents archived records from looking actionable.

Brand-compliant implementation notes

  • If archived state is shown, use a neutral Archived badge or metadata row rather than a primary action area.
  • Keep destructive/restorative actions visually distinct from routine status updates.
  • Do not imply Trackbox controls carrier status for inactive shipments.

Additional acceptance criteria

  • Archived shipments read as historical/audit records.
  • Active status-changing controls are only shown for actively managed shipments.
  • The detail page still provides source/timeline visibility for archived shipments.

Migrated from GitHub issue #12: https://github.com/bullitt186/trackbox/issues/12
Original author: @bullitt186
Original created: 2026-06-27T13:23:46Z
Original labels: ux

## Problem The "Update Status" card is shown for all non-delivered shipments (`!isDelivered`). However, it also appears for archived shipments. Shipment #4 (archived + stalled + in_transit) shows an "Update Status" card, letting users change the state of an archived shipment. This is confusing — archived implies the shipment is no longer being actively managed. ## Implementation File: `frontend/src/pages/ShipmentDetail.tsx` — around line 615. Change the condition from: ```tsx {!isDelivered && ( <Card> {/* Update Status */} ``` To: ```tsx {!isDelivered && !shipment.archived && ( <Card> {/* Update Status */} ``` Note: `shipment.archived` is stored as `0` or `1` (SQLite integer), so the check should be: ```tsx {!isDelivered && shipment.archived !== 1 && ( ``` ## Acceptance criteria - "Update Status" card is hidden when `shipment.archived === 1` - "Update Status" card still appears for active non-delivered non-archived shipments - Delivered shipments (already hidden) are unaffected ## Brand identity alignment Archived shipments are historical records, not active operational work. Hiding `Update Status` reinforces clear state ownership and prevents archived records from looking actionable. ## Brand-compliant implementation notes - If archived state is shown, use a neutral `Archived` badge or metadata row rather than a primary action area. - Keep destructive/restorative actions visually distinct from routine status updates. - Do not imply Trackbox controls carrier status for inactive shipments. ## Additional acceptance criteria - Archived shipments read as historical/audit records. - Active status-changing controls are only shown for actively managed shipments. - The detail page still provides source/timeline visibility for archived shipments. --- Migrated from GitHub issue #12: https://github.com/bullitt186/trackbox/issues/12 Original author: @bullitt186 Original created: 2026-06-27T13:23:46Z Original labels: ux
Author
Owner

Implemented in commit bd6b0e7. The condition for the Update Status card was changed from {!isDelivered && ( to {!isDelivered && shipment.archived !== 1 && (. Archived shipments now present as historical read-only records — timeline, source data, and events remain visible, but the status update form is hidden since archived shipments are outside active management.

Implemented in commit bd6b0e7. The condition for the Update Status card was changed from `{!isDelivered && (` to `{!isDelivered && shipment.archived !== 1 && (`. Archived shipments now present as historical read-only records — timeline, source data, and events remain visible, but the status update form is hidden since archived shipments are outside active management.
Sign in to join this conversation.
No labels
arch
harness
security
ux
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
bullitt/trackbox#33
No description provided.