- {jobs.length > 0 && (
-
-
- Queue
- {jobs.some((job) => job.status !== "running") && (
-
- )}
-
-
-
- )}
-
- {(gallery.length > 0 || jobs.length > 0) && (
-
- {selectMode ? (
- <>
-
-
-
-
-
- {selected.size} selected — click items to toggle
-
- >
- ) : (
- <>
-
- {pinnedCount > 0 && pinnedCount < gallery.length && (
-
- )}
- >
- )}
-
- )}
-
- {gallery.length === 0 ? (
- jobs.length === 0 && (
-
- No variants yet — set a count and hit Generate. Click a card to load it into the
- active code layer, or +⧉ to stack it as a new layer.
-
- )
- ) : (
-
- {[...gallery]
- .sort((a, b) => (b.pinned ? 1 : 0) - (a.pinned ? 1 : 0))
- .map((item) => (
- -
- {
- if (selectMode) toggleSelected(item.id);
- else applyCodeToActive(item.code);
- }}
- onAddAsLayer={() => addCodeLayerFromCode(item.code, item.name)}
- />
-
- ))}
-
- )}
-