2026-08-09 11:35:42 -07:00
|
|
|
import Modal from "../ui/Modal";
|
|
|
|
|
import Button from "../ui/Button";
|
2026-03-06 08:14:44 -08:00
|
|
|
|
|
|
|
|
interface Props {
|
|
|
|
|
projectName: string;
|
|
|
|
|
onConfirm: () => void;
|
|
|
|
|
onCancel: () => void;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default function ConfirmRemoveModal({ projectName, onConfirm, onCancel }: Props) {
|
|
|
|
|
return (
|
2026-08-09 11:35:42 -07:00
|
|
|
<Modal
|
|
|
|
|
title="Remove Project"
|
|
|
|
|
onClose={onCancel}
|
|
|
|
|
widthClassName="w-[26rem]"
|
|
|
|
|
footer={
|
|
|
|
|
<>
|
|
|
|
|
<Button size="md" variant="ghost" onClick={onCancel}>
|
2026-03-06 08:14:44 -08:00
|
|
|
Cancel
|
2026-08-09 11:35:42 -07:00
|
|
|
</Button>
|
|
|
|
|
<Button
|
|
|
|
|
size="md"
|
2026-03-06 08:14:44 -08:00
|
|
|
onClick={onConfirm}
|
2026-08-09 11:35:42 -07:00
|
|
|
className="bg-[var(--error-emphasis)] text-white border border-transparent hover:opacity-90"
|
2026-03-06 08:14:44 -08:00
|
|
|
>
|
|
|
|
|
Remove
|
2026-08-09 11:35:42 -07:00
|
|
|
</Button>
|
|
|
|
|
</>
|
|
|
|
|
}
|
|
|
|
|
>
|
2026-08-23 08:35:10 -07:00
|
|
|
{/*
|
|
|
|
|
Everything remove_project() destroys, named. It removes the container,
|
|
|
|
|
*both* named volumes (triple-c-home-{id} and triple-c-claude-config-{id}),
|
|
|
|
|
the triple-c-snapshot-{id} image and the project's keychain secrets — so
|
|
|
|
|
an accurate warning has to reach past "the config volume". The last
|
|
|
|
|
sentence is the reassuring half and matters just as much: project folders
|
|
|
|
|
are bind mounts from the host and nothing here touches them.
|
|
|
|
|
*/}
|
2026-08-09 11:35:42 -07:00
|
|
|
<p className="text-[13px] text-[var(--text-secondary)]">
|
|
|
|
|
Are you sure you want to remove{" "}
|
2026-08-23 08:35:10 -07:00
|
|
|
<strong className="text-[var(--text-primary)]">{projectName}</strong>? This deletes
|
|
|
|
|
its container, both of its volumes and its saved container image — so the home
|
|
|
|
|
directory, the Claude login and config, installed skills, session transcripts,
|
|
|
|
|
scheduled tasks and any stored credentials all go with it.
|
|
|
|
|
</p>
|
|
|
|
|
<p className="mt-2 text-[13px] text-[var(--text-secondary)]">
|
|
|
|
|
Your project folders on this machine are mounted in, not copied, and are left
|
|
|
|
|
untouched.
|
2026-08-09 11:35:42 -07:00
|
|
|
</p>
|
|
|
|
|
</Modal>
|
2026-03-06 08:14:44 -08:00
|
|
|
);
|
|
|
|
|
}
|