This commit is contained in:
+1
-35
@@ -13,10 +13,6 @@ const mediaTypeToggles = Array.from(document.querySelectorAll("[data-media-type-
|
||||
const platformToggles = Array.from(document.querySelectorAll("[data-platform-toggle]"));
|
||||
const imageSearchSandbox = document.getElementById("imageSearchSandbox");
|
||||
const imagePromptChips = Array.from(document.querySelectorAll("[data-image-prompt]"));
|
||||
const giphyMetaPanel = document.getElementById("giphyMetaPanel");
|
||||
const giphyOriginalQuery = document.getElementById("giphyOriginalQuery");
|
||||
const giphyResultCount = document.getElementById("giphyResultCount");
|
||||
const giphyExpandedQueries = document.getElementById("giphyExpandedQueries");
|
||||
const dropzone = document.getElementById("dropzone");
|
||||
const fileInput = document.getElementById("fileInput");
|
||||
const uploadResult = document.getElementById("uploadResult");
|
||||
@@ -103,7 +99,6 @@ const resultPreviewInflight = new Map();
|
||||
let cardSummaryObserver = null;
|
||||
let activeMediaType = "video";
|
||||
const PREVIEW_PLACEHOLDER = "https://placehold.co/1280x720/0a0a0a/ffffff?text=Preview";
|
||||
let activeImageSearchResponse = null;
|
||||
|
||||
function proxiedPreviewURL(src) {
|
||||
if (!src) {
|
||||
@@ -310,31 +305,6 @@ function renderImageEmptyState(message) {
|
||||
searchResults.innerHTML = `<div class="rounded-3xl border border-white/10 bg-black/30 p-5 text-sm text-zinc-400">${message}</div>`;
|
||||
}
|
||||
|
||||
function renderExpandedQueries(queries = []) {
|
||||
giphyExpandedQueries.innerHTML = "";
|
||||
for (const item of queries) {
|
||||
const chip = document.createElement("span");
|
||||
chip.className = "rounded-full border border-white/10 bg-white/[0.04] px-3 py-1 text-[11px] uppercase tracking-[0.18em] text-zinc-300";
|
||||
chip.textContent = item;
|
||||
giphyExpandedQueries.appendChild(chip);
|
||||
}
|
||||
}
|
||||
|
||||
function updateImageSearchMeta(data = null) {
|
||||
activeImageSearchResponse = data;
|
||||
const visible = Boolean(data);
|
||||
setHidden(giphyMetaPanel, !visible, "block");
|
||||
if (!visible) {
|
||||
giphyOriginalQuery.textContent = "Original query: -";
|
||||
giphyResultCount.textContent = "0 results";
|
||||
giphyExpandedQueries.innerHTML = "";
|
||||
return;
|
||||
}
|
||||
giphyOriginalQuery.textContent = `Original query: ${data.originalQuery || "-"}`;
|
||||
giphyResultCount.textContent = `${Number(data.total || 0)} results`;
|
||||
renderExpandedQueries(data.expandedQueries || []);
|
||||
}
|
||||
|
||||
function renderImageResults(items = []) {
|
||||
searchResults.innerHTML = "";
|
||||
searchResults.classList.remove("xl:grid-cols-3");
|
||||
@@ -362,7 +332,6 @@ function applyMediaTypeUI() {
|
||||
const isImageMode = activeMediaType === "image";
|
||||
syncMediaTypeButtons();
|
||||
setHidden(imageSearchSandbox, !isImageMode, "block");
|
||||
setHidden(giphyMetaPanel, true, "block");
|
||||
setHidden(queryVariants, true, "");
|
||||
showWarning("");
|
||||
searchResultsViewport.classList.toggle("image-results-scroll", isImageMode);
|
||||
@@ -376,7 +345,6 @@ function applyMediaTypeUI() {
|
||||
button.classList.toggle("hidden", isImageMode);
|
||||
}
|
||||
if (isImageMode) {
|
||||
updateImageSearchMeta(null);
|
||||
setStatus("giphy image mode", 0);
|
||||
renderImageEmptyState("GIPHY 검색어를 입력하면 여기에 최대 100개의 이미지/GIF 결과가 표시됩니다.");
|
||||
} else {
|
||||
@@ -930,13 +898,11 @@ searchForm.addEventListener("submit", async (event) => {
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({ query: searchQuery.value, maxResults: 100 }),
|
||||
});
|
||||
updateImageSearchMeta(data);
|
||||
renderImageResults(data.items || []);
|
||||
showWarning(data.warning || "");
|
||||
showWarning("");
|
||||
logEvent("image-search:completed", { query: data.originalQuery || searchQuery.value, total: data.total || 0, expandedQueries: data.expandedQueries || [] });
|
||||
setStatus("giphy search complete", 100);
|
||||
} catch (error) {
|
||||
updateImageSearchMeta(null);
|
||||
renderImageEmptyState("GIPHY 검색 결과를 불러오지 못했습니다.");
|
||||
showWarning(error.message);
|
||||
setStatus("giphy search failed", 100);
|
||||
|
||||
@@ -69,19 +69,6 @@
|
||||
<button type="button" class="image-prompt-chip rounded-full border border-white/10 px-3 py-2 text-xs uppercase tracking-[0.2em] text-zinc-200" data-image-prompt="minimal product mockup">Product Mockup</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="giphyMetaPanel" class="mt-4 hidden rounded-2xl border border-white/10 bg-black/30 p-4">
|
||||
<div class="grid gap-3 lg:grid-cols-[1.4fr_1fr]">
|
||||
<div class="space-y-2">
|
||||
<p class="text-xs uppercase tracking-[0.22em] text-zinc-500">Search Meta</p>
|
||||
<p id="giphyOriginalQuery" class="text-sm text-zinc-200">Original query: -</p>
|
||||
<p id="giphyResultCount" class="text-sm text-zinc-400">0 results</p>
|
||||
</div>
|
||||
<div class="space-y-2">
|
||||
<p class="text-xs uppercase tracking-[0.22em] text-zinc-500">Expanded Queries</p>
|
||||
<div id="giphyExpandedQueries" class="flex flex-wrap gap-2"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="searchWarning" class="mt-3 hidden rounded-2xl border border-amber-500/30 bg-amber-500/10 px-4 py-3 text-sm text-amber-200"></div>
|
||||
<div id="queryVariants" class="hidden"></div>
|
||||
|
||||
Reference in New Issue
Block a user