Remove unused persona marketplace and discover page files.
This commit is contained in:
+51
-20
@@ -121,6 +121,8 @@ let chatLoadingDepth = 0;
|
||||
let chatActivityDepth = 0;
|
||||
|
||||
let availableModelsById = new Map();
|
||||
const personalitySelect = document.getElementById("personalitySelect");
|
||||
let personalities = [];
|
||||
|
||||
const {setMessageContent, scrollMessagesToBottom, updateJumpToLatest, addMessage, renderMessages} = createMessageRenderer({
|
||||
getChatById: (...args) => getChatById(...args),
|
||||
@@ -136,9 +138,7 @@ const {setMessageContent, scrollMessagesToBottom, updateJumpToLatest, addMessage
|
||||
renderDrawerSummary: (...args) => renderDrawerSummary(...args),
|
||||
updateChatActionState: (...args) => updateChatActionState(...args),
|
||||
updateComposerPlaceholder: (...args) => updateComposerPlaceholder(...args),
|
||||
createNewChat: (...args) => createNewChat(...args),
|
||||
openRoleplayStarter: (...args) => openRoleplayStarter(...args),
|
||||
openPersonaForm: (...args) => openPersonaForm(...args)
|
||||
createNewChat: (...args) => createNewChat(...args)
|
||||
});
|
||||
|
||||
const {
|
||||
@@ -146,11 +146,8 @@ const {
|
||||
setRoleplayStarterNotice,
|
||||
renderRoleplayStarterStep,
|
||||
maybeShowPersonaNudge,
|
||||
openPersonaForm,
|
||||
closePersonaForm,
|
||||
openRoleplayStarter,
|
||||
closeRoleplayStarter,
|
||||
loadPersonas,
|
||||
clearChatUserPersona,
|
||||
renderPersonaSection,
|
||||
savePersona,
|
||||
@@ -192,7 +189,8 @@ const {
|
||||
updateJumpToLatest: (...args) => updateJumpToLatest(...args),
|
||||
updateSendState: (...args) => updateSendState(...args),
|
||||
loadSummary: (...args) => loadSummary(...args),
|
||||
updateHistoryControls: () => updateHistoryControls()
|
||||
updateHistoryControls: () => updateHistoryControls(),
|
||||
getPersonalityId: () => personalitySelect?.value || "general-assistant"
|
||||
});
|
||||
|
||||
const {updateSendState, resizeComposerInput, setLoadingState, stopGeneration, sendMessage} = createComposerController({
|
||||
@@ -220,7 +218,7 @@ const {updateSendState, resizeComposerInput, setLoadingState, stopGeneration, se
|
||||
});
|
||||
|
||||
const {exportCurrentChat, backupWorkspace, importWorkspaceFromFile} = createWorkspaceTransfer({
|
||||
conversation, getChatById, setNotice, promptPopup, confirmPopup, setChatLoading, loadPersonas, loadChatSessions
|
||||
conversation, getChatById, setNotice, promptPopup, confirmPopup, setChatLoading, loadChatSessions
|
||||
});
|
||||
const {editChatMessage, deleteChatMessage, retryLatestAssistantMessage, switchResponseVersion, switchRetryVariant, branchFromMessage} = createMessageActions({
|
||||
conversation, setNotice, promptPopup, confirmPopup, setActiveChat, openCreatedChat, setLoadingState, loadSummary, renderMessages, addMessage, setMessageContent, webSearchToggle, reasoningToggle, modelSelect, messagesDiv, msgInput
|
||||
@@ -334,7 +332,7 @@ function renderOnboardingStep() {
|
||||
if (onboardingStep === 1) {
|
||||
onboardingTitle.textContent = "Where shall we start?";
|
||||
onboardingSubtitle.textContent = "Ask a question, explore an idea, or step into a story.";
|
||||
[["ask", "Ask questions"], ["brainstorm", "Brainstorm ideas"], ["roleplay", "Roleplay with a character"]].forEach(([key, label]) => {
|
||||
[["ask", "Ask questions"], ["brainstorm", "Explore ideas"], ["write", "Write something"], ["learn", "Learn a topic"]].forEach(([key, label]) => {
|
||||
const button = document.createElement("button");
|
||||
button.type = "button";
|
||||
button.className = `secondary-action${onboardingIntent === key ? " active" : ""}`;
|
||||
@@ -356,15 +354,6 @@ function renderOnboardingStep() {
|
||||
button.className = "secondary-action";
|
||||
button.textContent = template;
|
||||
button.addEventListener("click", async () => {
|
||||
if (onboardingIntent === "roleplay") {
|
||||
closeOnboarding();
|
||||
if (conversation.assistantPersonas.length) {
|
||||
openRoleplayStarter();
|
||||
} else {
|
||||
openPersonaForm(null, "assistant");
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (!conversation.activeChatId) await createNewChat();
|
||||
msgInput.value = template;
|
||||
msgInput.dispatchEvent(new Event("input"));
|
||||
@@ -447,12 +436,54 @@ function updateWorkspaceCopy() {
|
||||
if (activeChatTitle) {
|
||||
activeChatTitle.textContent = activeChat ? activeChat.title : "New chat";
|
||||
}
|
||||
if (personalitySelect) {
|
||||
personalitySelect.value = activeChat?.personality_id || personalitySelect.value || "general-assistant";
|
||||
syncPersonalityIdentity();
|
||||
}
|
||||
|
||||
renderDrawerSummary();
|
||||
renderPersonaSection();
|
||||
updateComposerPlaceholder();
|
||||
}
|
||||
|
||||
function syncPersonalityIdentity() {
|
||||
const personality = personalities.find(item => item.id === personalitySelect?.value);
|
||||
if (personality && personalitySelect) personalitySelect.style.setProperty("--personality-accent", personality.accentColor);
|
||||
}
|
||||
|
||||
async function loadPersonalities() {
|
||||
const response = await get("/personalities");
|
||||
if (response.error) return setNotice(response.error, "error");
|
||||
personalities = response.personalities || [];
|
||||
if (!personalitySelect) return;
|
||||
personalitySelect.replaceChildren(...personalities.map(item => {
|
||||
const option = document.createElement("option");
|
||||
option.value = item.id;
|
||||
option.textContent = `${item.name} · ${item.specialization}${item.isDefault ? " · Default" : ""}`;
|
||||
option.title = `${item.description} Inspired by ${item.historicalInspiration}.`;
|
||||
return option;
|
||||
}));
|
||||
const requested = new URLSearchParams(location.search).get("personality");
|
||||
personalitySelect.value = getChatById(conversation.activeChatId)?.personality_id ||
|
||||
(personalities.some(item => item.id === requested) ? requested : response.defaultPersonalityId) || "general-assistant";
|
||||
syncPersonalityIdentity();
|
||||
}
|
||||
|
||||
personalitySelect?.addEventListener("change", async () => {
|
||||
const chatId = conversation.activeChatId;
|
||||
const selected = personalitySelect.value;
|
||||
syncPersonalityIdentity();
|
||||
if (!chatId) return;
|
||||
const response = await put(`/chats/${chatId}/personality`, {personalityId: selected});
|
||||
if (response.error || !response.chat) {
|
||||
updateWorkspaceCopy();
|
||||
return setNotice(response.error || "Unable to change personality.", "error");
|
||||
}
|
||||
Object.assign(getChatById(chatId) || {}, response.chat);
|
||||
updateWorkspaceCopy();
|
||||
setNotice(`Personality changed to ${response.personality.name}.`, "success");
|
||||
});
|
||||
|
||||
function renderDrawerSummary() {
|
||||
const chat = getChatById(conversation.activeChatId);
|
||||
if (!chatCharacterPill || !chatUserPersonaPill) return;
|
||||
@@ -888,7 +919,7 @@ async function checkSession() {
|
||||
attachmentComposer.restoreDraft(null);
|
||||
resizeComposerInput();
|
||||
}
|
||||
await Promise.all([displayModels(), loadSummary(), loadChatSessions(), loadPersonas()]);
|
||||
await Promise.all([displayModels(), loadSummary(), loadChatSessions(), loadPersonalities()]);
|
||||
// Starters are offered on workspace home.
|
||||
const starter = new URLSearchParams(location.search).get("prompt");
|
||||
if (starter && !msgInput.value) { msgInput.value = starter; msgInput.dispatchEvent(new Event("input")); }
|
||||
@@ -985,7 +1016,7 @@ if (headerModelButton) headerModelButton.addEventListener("click", (event) => {
|
||||
openModelSettings();
|
||||
});
|
||||
saveGenerationSettingsBtn.addEventListener("click", () => { void saveGenerationSettings(); });
|
||||
roleplayNewPersonaBtn.addEventListener("click", () => { closeRoleplayStarter(); openPersonaForm(null, "assistant"); });
|
||||
roleplayNewPersonaBtn.addEventListener("click", closeRoleplayStarter);
|
||||
clearUserPersonaBtn.addEventListener("click", () => {
|
||||
closeChatDrawer();
|
||||
void clearChatUserPersona();
|
||||
|
||||
Reference in New Issue
Block a user