API features (separate files in /api/src/features/): - media-input: upload text/audio/photo/video, transcription - gamification: points, streaks, badges, leaderboard - templates: predefined task sets (sprint, study, moving) - time-tracking: start/stop timer, task/user reports - kanban: board view, drag-and-drop move - ai-briefing: daily AI summary with tasks/goals/reviews - webhooks-outgoing: notify external systems on events UI components (separate files in /components/features/): - IconButton: icon-only buttons with tooltip - CompactHeader, PageActionBar, InlineEditField - TaskDetailActions, GoalActionButtons, CollabActionButtons - DeleteIconButton, CollabBackButton All features modular — registry.js enables/disables each one. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
25 lines
766 B
TypeScript
25 lines
766 B
TypeScript
'use client';
|
|
import IconButton from './IconButton';
|
|
|
|
interface Props {
|
|
onClick: () => void;
|
|
label: string;
|
|
size?: 'sm' | 'md' | 'lg';
|
|
}
|
|
|
|
export default function DeleteIconButton({ onClick, label, size = 'sm' }: Props) {
|
|
return (
|
|
<IconButton
|
|
icon={
|
|
<svg className="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
<path strokeLinecap="round" strokeLinejoin="round" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" />
|
|
</svg>
|
|
}
|
|
label={label}
|
|
onClick={onClick}
|
|
variant="danger"
|
|
size={size}
|
|
/>
|
|
);
|
|
}
|