From ff57d52dded0c9c826b4cee23a68189bb06808d0 Mon Sep 17 00:00:00 2001
From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com>
Date: Thu, 3 Sep 2026 14:54:33 +0700
Subject: [PATCH] feat: implement public order details page with submission
view, order actions, and sidebar branding updates
---
src/app/(app)/my-orders/[id]/page.tsx | 29 +-
src/app/(app)/my-orders/page.tsx | 11 +-
.../(app)/order/[id]/PublicOrderActions.tsx | 35 +++
src/app/(app)/order/[id]/page.tsx | 151 ++++++++++
src/app/(auth)/login/page.tsx | 18 +-
src/app/(auth)/register/page.tsx | 18 +-
src/app/not-found.tsx | 51 ++++
src/components/OrderCard.tsx | 279 +-----------------
src/components/OrderFormModal.tsx | 278 +++++++++++++++++
src/components/ShareButton.tsx | 53 ++++
src/components/Sidebar.tsx | 8 +-
11 files changed, 643 insertions(+), 288 deletions(-)
create mode 100644 src/app/(app)/order/[id]/PublicOrderActions.tsx
create mode 100644 src/app/(app)/order/[id]/page.tsx
create mode 100644 src/app/not-found.tsx
create mode 100644 src/components/OrderFormModal.tsx
create mode 100644 src/components/ShareButton.tsx
diff --git a/src/app/(app)/my-orders/[id]/page.tsx b/src/app/(app)/my-orders/[id]/page.tsx
index 2b8b538..b83c661 100644
--- a/src/app/(app)/my-orders/[id]/page.tsx
+++ b/src/app/(app)/my-orders/[id]/page.tsx
@@ -1,7 +1,7 @@
'use client'
import { useEffect, useState } from 'react'
-import { useParams, useRouter } from 'next/navigation'
+import { useParams, useRouter, notFound } from 'next/navigation'
import { getOrderDetail, updateSubmissionPayment, updateOrderStatus, updateOrder, deleteOrder, getSessionUser, getBalancesAsCreator } from '@/app/actions'
import { Card, CardContent } from '@/components/ui/card'
import { Button, buttonVariants } from '@/components/ui/button'
@@ -23,12 +23,14 @@ import {
ToggleLeft,
AlertCircle,
Pencil,
+ Sparkles,
ShoppingBag,
PlusCircle,
MinusCircle,
Trash2,
AlertTriangle
} from 'lucide-react'
+import { ShareButton } from '@/components/ShareButton'
import Link from 'next/link'
export default function OrderDetailPage() {
@@ -104,17 +106,7 @@ export default function OrderDetailPage() {
}
if (!order) {
- return (
-
-
Order tidak ditemukan.
-
- Kembali ke Jasa Order
-
-
- )
+ notFound()
}
const isCreator = userId === order.creator_id
@@ -254,6 +246,11 @@ export default function OrderDetailPage() {
{format(new Date(order.date), 'dd MMM yyyy')}
+ {order.allow_custom && (
+
+ Custom Item Aktif
+
+ )}
{order.title}
@@ -306,6 +303,14 @@ export default function OrderDetailPage() {
)}
+ {order.status === 'OPEN' && (
+
+ )}
+
{/* Status Change Buttons */}
{order.status === 'DRAFT' && isToday(new Date(order.date)) && (