Newer
Older
navi-1 / webclient / src / stores / chat / drafts.js
@Eugene Sukhodolskiy Eugene Sukhodolskiy 1 day ago 448 bytes webclient: split the chat store into area modules
/** Per-session input drafts kept in localStorage. */

export function createDraftActions(state) {
  const { currentId } = state

  function saveDraft(text) {
    if (!currentId.value) return
    if (text) localStorage.setItem(`draft:${currentId.value}`, text)
    else localStorage.removeItem(`draft:${currentId.value}`)
  }

  function loadDraft(id) {
    return localStorage.getItem(`draft:${id}`) ?? ''
  }

  return { saveDraft, loadDraft }
}