chore: add activity_count

This commit is contained in:
ValdiANS
2026-01-09 15:28:29 +07:00
parent 76c68d0d79
commit 6dc93b1065
@@ -47,6 +47,7 @@ import { httpClientFetcher, SWRHttpKey } from '@/services/http/client';
import { isResponseError, isResponseSuccess } from '@/lib/api-helper'; import { isResponseError, isResponseSuccess } from '@/lib/api-helper';
import { PhaseActivityApi } from '@/services/api/daily-checklist/phase-activity'; import { PhaseActivityApi } from '@/services/api/daily-checklist/phase-activity';
import { PhaseActivity } from '@/types/api/daily-checklist/phase-activity'; import { PhaseActivity } from '@/types/api/daily-checklist/phase-activity';
import { Phase } from '@/types/api/daily-checklist/phase';
// Static categories - tidak bisa CRUD // Static categories - tidak bisa CRUD
const CATEGORIES = [ const CATEGORIES = [
@@ -64,13 +65,6 @@ const TIME_TYPES = [
{ value: 'Malam', label: 'Malam' }, { value: 'Malam', label: 'Malam' },
]; ];
interface Phase {
id: string;
name: string;
category: string;
activityCount?: number;
}
export function MasterAktivitasContent() { export function MasterAktivitasContent() {
const [selectedCategory, setSelectedCategory] = useState<string>(''); const [selectedCategory, setSelectedCategory] = useState<string>('');
const [selectedPhase, setSelectedPhase] = useState<Phase | null>(null); const [selectedPhase, setSelectedPhase] = useState<Phase | null>(null);
@@ -103,7 +97,7 @@ export function MasterAktivitasContent() {
SWRHttpKey SWRHttpKey
>( >(
selectedPhase?.id selectedPhase?.id
? `${PhaseActivityApi.basePath}?page=1&limit=100&phase_id=${selectedPhase.id}` ? `${PhaseActivityApi.basePath}?page=1&limit=100&phase_ids=${selectedPhase.id}`
: '', : '',
httpClientFetcher, httpClientFetcher,
{ {
@@ -171,7 +165,7 @@ export function MasterAktivitasContent() {
const handleEditPhase = (phase: Phase) => { const handleEditPhase = (phase: Phase) => {
setPhaseModalMode('edit'); setPhaseModalMode('edit');
setPhaseForm({ setPhaseForm({
id: phase.id, id: String(phase.id),
name: phase.name, name: phase.name,
}); });
setShowPhaseModal(true); setShowPhaseModal(true);
@@ -265,7 +259,7 @@ export function MasterAktivitasContent() {
setPhaseToDelete(null); setPhaseToDelete(null);
// Clear selection if deleted phase was selected // Clear selection if deleted phase was selected
if (selectedPhase?.id === phaseToDelete) { if (selectedPhase?.id === Number(phaseToDelete)) {
setSelectedPhase(null); setSelectedPhase(null);
} }
} catch (error) { } catch (error) {
@@ -543,7 +537,7 @@ export function MasterAktivitasContent() {
{phase.name} {phase.name}
</p> </p>
<p className='text-xs text-gray-500 mt-1'> <p className='text-xs text-gray-500 mt-1'>
{phase.activityCount || 0} aktivitas {phase.activity_count || 0} aktivitas
</p> </p>
</div> </div>
<DropdownMenu> <DropdownMenu>
@@ -567,7 +561,9 @@ export function MasterAktivitasContent() {
Edit Edit
</DropdownMenuItem> </DropdownMenuItem>
<DropdownMenuItem <DropdownMenuItem
onClick={() => handleDeletePhaseClick(phase.id)} onClick={() =>
handleDeletePhaseClick(String(phase.id))
}
className='text-red-600' className='text-red-600'
> >
<Trash2 className='mr-2 h-4 w-4' /> <Trash2 className='mr-2 h-4 w-4' />