diff --git a/dist/assets/index-CxwCxVpi.js b/dist/assets/index-Ds0PJuZV.js similarity index 98% rename from dist/assets/index-CxwCxVpi.js rename to dist/assets/index-Ds0PJuZV.js index e6eaec4..c67b0cc 100644 --- a/dist/assets/index-CxwCxVpi.js +++ b/dist/assets/index-Ds0PJuZV.js @@ -267,6 +267,7 @@ var el = window.el = Object.fromEntries([ "suneList", "newSuneBtn", "userMenuBtn", + "userMenuAvatar", "userMenu", "accountSettingsOption", "sunesImportOption", @@ -1095,6 +1096,17 @@ var renderSidebar = window.renderSidebar = () => { el.suneList.innerHTML = list.map(suneRow).join(""); icons(); }; +var renderUserUI = window.renderUserUI = () => { + if (!el.userMenuAvatar) return; + const a = USER.avatar; + if (a) { + el.userMenuAvatar.className = "h-6 w-6 rounded-full overflow-hidden shrink-0"; + el.userMenuAvatar.innerHTML = ``; + } else { + el.userMenuAvatar.className = "h-6 w-6 rounded-full bg-gray-900 text-white flex items-center justify-center shrink-0 text-xs"; + el.userMenuAvatar.textContent = "👤"; + } +}; var getSuneLabel = (m) => { return `${m && m.sune_name || SUNE.name} · ${getModelShort(m && m.model)}`; }; @@ -1930,6 +1942,7 @@ async function init() { await renderThreads(); await Promise.allSettled(STICKY_SUNES.map((s) => SUNE.fetchDotSune(s))); renderSidebar(); + renderUserUI(); await reflectActiveSune(); clearChat(); icons(); @@ -2130,6 +2143,18 @@ $(el.cancelAccountSettings).on("click", closeAccountSettings); $(el.accountSettingsModal).on("click", (e) => { if (e.target === el.accountSettingsModal || e.target.classList.contains("bg-black/30")) closeAccountSettings(); }); +$(el.setUserAvatarBtn).on("click", () => el.userAvatarInput.click()); +$(el.userAvatarInput).on("change", async () => { + const f = el.userAvatarInput.files?.[0]; + if (!f) return; + try { + const v = await imgToWebp(f); + USER.avatar = v; + el.userAvatarPreview.src = v; + el.userAvatarPreview.classList.remove("bg-gray-200"); + renderUserUI(); + } catch {} +}); $(el.accountSettingsForm).on("submit", (e) => { e.preventDefault(); USER.provider = el.set_provider.value || "openrouter"; @@ -2143,6 +2168,7 @@ $(el.accountSettingsForm).on("submit", (e) => { USER.titleModel = String(el.set_title_model.value || "").trim(); USER.githubToken = String(el.set_gh_token.value || "").trim(); USER.name = String(el.set_user_name.value || "").trim(); + renderUserUI(); closeAccountSettings(); }); $(el.accountPanelAPI).on("click", (e) => { @@ -2200,6 +2226,7 @@ el.importAccountSettingsInput.onchange = async (e) => { const v = d[p] ?? d[k]; if (typeof v === "string") USER[p] = v; }); + renderUserUI(); openAccountSettings(); alert("Imported."); } catch { @@ -2372,6 +2399,7 @@ Object.assign(window, { renderSuneHTML, reflectActiveSune, suneRow, + renderUserUI, enhanceCodeBlocks, getSuneLabel, _createMessageRow, diff --git a/dist/index.html b/dist/index.html index 51d8dcb..ff22e41 100644 --- a/dist/index.html +++ b/dist/index.html @@ -13,7 +13,7 @@ - + @@ -47,8 +47,8 @@
Click name to equip
- - + +