@@ -164,7 +164,7 @@ export function FulfillmentRitual({ order, isOpen, onOpenChange, onSuccess }: Fu
164164 />
165165 </ div >
166166
167- < div className = "p-8" >
167+ < div className = "p-4 sm:p- 8" >
168168 < DialogHeader className = "mb-8" >
169169 < DialogTitle className = "text-2xl font-serif italic tracking-luxury uppercase flex items-center gap-3" >
170170 < Package className = "w-5 h-5 text-gold" />
@@ -185,34 +185,36 @@ export function FulfillmentRitual({ order, isOpen, onOpenChange, onSuccess }: Fu
185185 { order . order_items ?. map ( ( item : any ) => {
186186 const remaining = ( item . quantity || 0 ) - ( item . fulfilled_quantity || 0 )
187187 return (
188- < div key = { item . id } className = { `flex items-center gap-4 p-3 rounded-luxury transition-all ${ selectedItems [ item . id ] > 0 ? 'bg-gold/5 border border-gold/20' : 'bg-black/20 border border-transparent opacity-60' } ` } >
189- < div className = "w-12 h-12 bg-black/40 border border-white/10 rounded overflow-hidden relative flex-shrink-0" >
190- < Image
191- src = { item . product_variants ?. products ?. images ?. [ 0 ] || '/placeholder.png' }
192- alt = "Asset"
193- fill
194- className = "object-cover"
195- />
196- </ div >
197- < div className = "flex-grow" >
198- < p className = "text-[10px] font-medium text-white truncate" > { item . product_variants ?. products ?. title } </ p >
199- < p className = "text-[8px] text-white/40 uppercase tracking-widest" > { item . product_variants ?. name } </ p >
200- < div className = "flex items-center gap-2 mt-1" >
201- < span className = "text-[7px] bg-white/10 text-white/60 px-1.5 py-0.5 rounded uppercase tracking-tighter" >
202- Total: { item . quantity }
203- </ span >
204- < span className = "text-[7px] bg-emerald-500/10 text-emerald-400 px-1.5 py-0.5 rounded uppercase tracking-tighter" >
205- Shipped: { item . fulfilled_quantity || 0 }
206- </ span >
188+ < div key = { item . id } className = { `flex flex-col sm:flex-row items-start sm:items-center gap-4 p-3 rounded-luxury transition-all ${ selectedItems [ item . id ] > 0 ? 'bg-gold/5 border border-gold/20' : 'bg-black/20 border border-transparent opacity-60' } ` } >
189+ < div className = "flex items-center gap-4 w-full sm:w-auto flex-grow overflow-hidden" >
190+ < div className = "w-12 h-12 bg-black/40 border border-white/10 rounded overflow-hidden relative flex-shrink-0" >
191+ < Image
192+ src = { item . product_variants ?. products ?. images ?. [ 0 ] || '/placeholder.png' }
193+ alt = "Asset"
194+ fill
195+ className = "object-cover"
196+ />
197+ </ div >
198+ < div className = "flex-grow min-w-0" >
199+ < p className = "text-[10px] font-medium text-white truncate" > { item . product_variants ?. products ?. title } </ p >
200+ < p className = "text-[8px] text-white/40 uppercase tracking-widest truncate" > { item . product_variants ?. name } </ p >
201+ < div className = "flex items-center gap-2 mt-1 flex-wrap" >
202+ < span className = "text-[7px] bg-white/10 text-white/60 px-1.5 py-0.5 rounded uppercase tracking-tighter whitespace-nowrap" >
203+ Total: { item . quantity }
204+ </ span >
205+ < span className = "text-[7px] bg-emerald-500/10 text-emerald-400 px-1.5 py-0.5 rounded uppercase tracking-tighter whitespace-nowrap" >
206+ Shipped: { item . fulfilled_quantity || 0 }
207+ </ span >
208+ </ div >
207209 </ div >
208210 </ div >
209- < div className = "flex items-center gap-3" >
210- < div className = "text-right" >
211- < p className = "text-[8px] text-white/30 uppercase tracking-widest mb-1" > To Ship</ p >
212- < div className = "flex items-center bg-black/40 border border-white/10 rounded-sm overflow-hidden" >
211+ < div className = "flex items-center gap-3 w-full sm:w-auto justify-between sm:justify-end mt-2 sm:mt-0 pt-3 sm:pt-0 border-t border-white/5 sm:border-0 " >
212+ < div className = "text-left sm:text- right w-full flex items-center justify-between sm:block " >
213+ < p className = "text-[8px] text-white/30 uppercase tracking-widest mb-0 sm:mb- 1" > To Ship</ p >
214+ < div className = "flex items-center bg-black/40 border border-white/10 rounded-sm overflow-hidden flex-shrink-0 " >
213215 < button
214216 onClick = { ( ) => handleQuantityChange ( item . id , selectedItems [ item . id ] - 1 , remaining ) }
215- className = "px-2 py-2 min-w-[44px] min-h-[44px] text-white/40 hover:text-white hover:bg-white/5 transition-all flex items-center justify-center"
217+ className = "px-2 py-2 min-w-[40px] sm:min-w-[ 44px] min-h-[40px] sm: min-h-[44px] text-white/40 hover:text-white hover:bg-white/5 transition-all flex items-center justify-center"
216218 > -</ button >
217219 < input
218220 type = "number"
@@ -222,7 +224,7 @@ export function FulfillmentRitual({ order, isOpen, onOpenChange, onSuccess }: Fu
222224 />
223225 < button
224226 onClick = { ( ) => handleQuantityChange ( item . id , selectedItems [ item . id ] + 1 , remaining ) }
225- className = "px-2 py-2 min-w-[44px] min-h-[44px] text-white/40 hover:text-white hover:bg-white/5 transition-all flex items-center justify-center"
227+ className = "px-2 py-2 min-w-[40px] sm:min-w-[ 44px] min-h-[40px] sm: min-h-[44px] text-white/40 hover:text-white hover:bg-white/5 transition-all flex items-center justify-center"
226228 disabled = { selectedItems [ item . id ] >= remaining }
227229 > +</ button >
228230 </ div >
@@ -339,7 +341,7 @@ export function FulfillmentRitual({ order, isOpen, onOpenChange, onSuccess }: Fu
339341 ) }
340342 </ div >
341343
342- < DialogFooter className = "p-8 pt-0 flex sm:justify-between items-center bg-black/20 border-t border-white/5" >
344+ < DialogFooter className = "p-4 sm:p- 8 pt-0 flex flex-col sm:flex-row sm: justify-between items-start sm:items- center gap-4 bg-black/20 border-t border-white/5 sm:bg-transparent sm:border-t-0 mt-4 sm:mt-0 pb-4 sm:pb-8 " >
343345 { step === 'verify' && (
344346 < >
345347 < div className = "text-left" >
0 commit comments