import {get} from "./api.js";
const grid = document.getElementById("personalityGrid");
const iconPaths = {
spark: '',
quill: '',
code: '',
flask: '',
"book-open": '',
logic: ''
};
const result = await get("/personalities");
if (result.error) {
grid.textContent = result.error;
} else {
for (const item of result.personalities || []) {
const card = document.createElement("article");
card.className = "personality-card";
card.style.setProperty("--personality-accent", item.accentColor);
const icon = document.createElement("span");
icon.className = "personality-icon";
const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
svg.setAttribute("viewBox", "0 0 24 24");
svg.setAttribute("fill", "none");
svg.setAttribute("stroke", "currentColor");
svg.setAttribute("stroke-width", "1.65");
svg.setAttribute("stroke-linecap", "round");
svg.setAttribute("stroke-linejoin", "round");
svg.setAttribute("aria-hidden", "true");
svg.innerHTML = iconPaths[item.icon] || iconPaths.spark;
icon.append(svg);
icon.title = item.name;
icon.setAttribute("aria-hidden", "true");
const specialization = document.createElement("p");
specialization.className = "personality-specialization";
specialization.textContent = `${item.specialization}${item.isDefault ? " · Default" : ""}`;
const name = document.createElement("h2");
name.textContent = item.name;
const description = document.createElement("p");
description.className = "personality-description";
description.textContent = item.description;
const details = document.createElement("details");
details.className = "personality-details";
const summary = document.createElement("summary");
summary.textContent = "Learn more";
const longDescription = document.createElement("p");
longDescription.textContent = item.longDescription;
const inspiration = document.createElement("p");
inspiration.className = "personality-inspiration";
inspiration.textContent = `Thematic inspiration: ${item.historicalInspiration}`;
details.append(summary, longDescription, inspiration);
const action = document.createElement("a");
action.className = "primary-action";
action.innerHTML = 'Start a chat→';
action.setAttribute("aria-label", `Start a chat with ${item.name}, ${item.specialization}`);
action.href = `/app/chats/new?personality=${encodeURIComponent(item.id)}`;
const identity = document.createElement("div");
identity.className = "personality-identity";
identity.append(specialization, name);
card.append(icon, identity, description, details, action);
grid.append(card);
}
}