Feature pack: Media, Gamification, Templates, Time Tracking, Kanban, AI Briefing, Webhooks, Icon UI
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>
This commit is contained in:
23
apps/tasks/components/features/CollabBackButton.tsx
Normal file
23
apps/tasks/components/features/CollabBackButton.tsx
Normal file
@@ -0,0 +1,23 @@
|
||||
'use client';
|
||||
import IconButton from './IconButton';
|
||||
|
||||
interface Props {
|
||||
onClick: () => void;
|
||||
label: string;
|
||||
}
|
||||
|
||||
export default function CollabBackButton({ onClick, label }: Props) {
|
||||
return (
|
||||
<IconButton
|
||||
icon={
|
||||
<svg className="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
||||
<path strokeLinecap="round" strokeLinejoin="round" d="M15 19l-7-7 7-7" />
|
||||
</svg>
|
||||
}
|
||||
label={label}
|
||||
onClick={onClick}
|
||||
variant="default"
|
||||
size="md"
|
||||
/>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user