feat: implement archiving functionality for counters and update related logic
This commit is contained in:
@@ -7,6 +7,7 @@ export interface Counter {
|
||||
image_path: string | null;
|
||||
group_id: number | null;
|
||||
order_index: number;
|
||||
archived_at?: number | null;
|
||||
}
|
||||
|
||||
interface Props {
|
||||
@@ -69,7 +70,7 @@ export default function CounterCard({ counter, onIncrement, onDecrement, onEdit,
|
||||
<div className="flex items-center bg-ctp-surface1 rounded-2xl overflow-hidden">
|
||||
<button
|
||||
onClick={() => onDecrement(counter.id)}
|
||||
disabled={counter.value <= 0}
|
||||
disabled={counter.value <= 0 || !!counter.archived_at}
|
||||
aria-label="Decrement"
|
||||
className="w-11 h-11 flex items-center justify-center text-ctp-red hover:bg-ctp-red/20 active:bg-ctp-red/30 active:scale-95 transition-all disabled:opacity-25 disabled:pointer-events-none"
|
||||
>
|
||||
@@ -83,7 +84,8 @@ export default function CounterCard({ counter, onIncrement, onDecrement, onEdit,
|
||||
<button
|
||||
onClick={() => onIncrement(counter.id)}
|
||||
aria-label="Increment"
|
||||
className="w-11 h-11 flex items-center justify-center text-ctp-green hover:bg-ctp-green/20 active:bg-ctp-green/30 active:scale-95 transition-all"
|
||||
disabled={!!counter.archived_at}
|
||||
className="w-11 h-11 flex items-center justify-center text-ctp-green hover:bg-ctp-green/20 active:bg-ctp-green/30 active:scale-95 transition-all disabled:opacity-25 disabled:pointer-events-none"
|
||||
>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" className="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round">
|
||||
<line x1="12" y1="5" x2="12" y2="19" />
|
||||
|
||||
Reference in New Issue
Block a user