@mytec: iter6 ready for test

This commit is contained in:
2026-01-30 12:44:39 +02:00
parent b18e297eee
commit ed30d886be
10 changed files with 435 additions and 21 deletions

View File

@@ -21,6 +21,7 @@ export default function SiteList({ onEditSite, onAddSite }: SiteListProps) {
const toggleSiteSelection = useSitesStore((s) => s.toggleSiteSelection);
const selectAllSites = useSitesStore((s) => s.selectAllSites);
const clearSelection = useSitesStore((s) => s.clearSelection);
const cloneSiteAsSectors = useSitesStore((s) => s.cloneSiteAsSectors);
const addToast = useToastStore((s) => s.addToast);
// Track recently batch-updated site IDs for flash animation
@@ -145,15 +146,28 @@ export default function SiteList({ onEditSite, onAddSite }: SiteListProps) {
onEditSite(site);
}}
className="px-2 py-1 text-xs text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20 rounded min-w-[44px] min-h-[32px] flex items-center justify-center"
title="Edit site"
>
Edit
</button>
<button
onClick={async (e) => {
e.stopPropagation();
await cloneSiteAsSectors(site.id, 3);
addToast(`Created 3 sectors from "${site.name}"`, 'success');
}}
className="px-2 py-1 text-xs text-purple-600 dark:text-purple-400 hover:bg-purple-50 dark:hover:bg-purple-900/20 rounded min-h-[32px] flex items-center justify-center"
title="Clone as 3-sector site (120° spacing)"
>
3S
</button>
<button
onClick={(e) => {
e.stopPropagation();
handleDelete(site.id, site.name);
}}
className="px-2 py-1 text-xs text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/20 rounded min-w-[32px] min-h-[32px] flex items-center justify-center"
title="Delete site"
>
×
</button>