2026-02-16 14:15:19 +02:00
|
|
|
import React from 'react';
|
2026-07-09 13:54:05 +03:00
|
|
|
import { Dialog, DialogContent } from '@/components/ui/dialog';
|
|
|
|
|
import { ScrollableOverlay } from '@/components/ui/ScrollableOverlay';
|
|
|
|
|
import { ProjectSettingsPanel } from '@/components/sections/projects/ProjectSettingsPanel';
|
|
|
|
|
import type { ProjectIdentitySaveData } from '@/components/sections/projects/useProjectIdentityForm';
|
|
|
|
|
import type { ProjectEntry } from '@/lib/api/types';
|
2026-02-16 14:15:19 +02:00
|
|
|
|
|
|
|
|
interface ProjectEditDialogProps {
|
|
|
|
|
open: boolean;
|
|
|
|
|
onOpenChange: (open: boolean) => void;
|
2026-07-09 13:54:05 +03:00
|
|
|
project: ProjectEntry | null;
|
|
|
|
|
onSave: (data: ProjectIdentitySaveData) => void | Promise<void>;
|
2026-02-16 14:15:19 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const ProjectEditDialog: React.FC<ProjectEditDialogProps> = ({
|
|
|
|
|
open,
|
|
|
|
|
onOpenChange,
|
2026-07-09 13:54:05 +03:00
|
|
|
project,
|
2026-02-16 14:15:19 +02:00
|
|
|
onSave,
|
|
|
|
|
}) => {
|
|
|
|
|
return (
|
|
|
|
|
<Dialog open={open} onOpenChange={onOpenChange}>
|
2026-07-09 13:54:05 +03:00
|
|
|
<DialogContent className="w-full max-w-2xl gap-0 overflow-hidden p-0">
|
|
|
|
|
<ScrollableOverlay outerClassName="max-h-[min(90vh,48rem)]" className="w-full bg-background">
|
|
|
|
|
<div className="w-full p-3 sm:p-6 sm:pt-8">
|
|
|
|
|
{open && project ? (
|
|
|
|
|
<ProjectSettingsPanel project={project} onIdentitySave={onSave} />
|
|
|
|
|
) : null}
|
2026-02-16 14:15:19 +02:00
|
|
|
</div>
|
2026-07-09 13:54:05 +03:00
|
|
|
</ScrollableOverlay>
|
2026-02-16 14:15:19 +02:00
|
|
|
</DialogContent>
|
|
|
|
|
</Dialog>
|
|
|
|
|
);
|
|
|
|
|
};
|