Files
kandev/apps/web/components/task/task-archived-context.tsx
T
2026-02-16 21:46:25 +00:00

37 lines
1.0 KiB
TypeScript

'use client';
import { createContext, useContext, memo } from 'react';
import { PanelRoot, PanelBody } from './panel-primitives';
type TaskArchivedState = {
isArchived: boolean;
archivedTaskId?: string;
archivedTaskTitle?: string;
archivedTaskRepositoryPath?: string;
archivedTaskUpdatedAt?: string;
};
const TaskArchivedContext = createContext<TaskArchivedState>({ isArchived: false });
export const TaskArchivedProvider = TaskArchivedContext.Provider;
export function useIsTaskArchived() {
return useContext(TaskArchivedContext).isArchived;
}
export function useArchivedTaskState() {
return useContext(TaskArchivedContext);
}
export const ArchivedPanelPlaceholder = memo(function ArchivedPanelPlaceholder({ message = 'Workspace not available — this task is archived' }: { message?: string }) {
return (
<PanelRoot>
<PanelBody>
<div className="flex items-center justify-center h-full text-muted-foreground text-xs">
{message}
</div>
</PanelBody>
</PanelRoot>
);
});