veza/apps/web/dist_verification/assets/chatStore-Dpim9vVR.js
senke 203cb5d5e5 refactor: Phase 8 — Update docs, ESLint, Storybook config for SUMI
- DESIGN_TOKENS.md: Complete rewrite to document --sumi-* token system
- APP_SHELL.md: Update layout shell docs (glass bg, backdrop-blur, z-index)
- DESIGN_DIRECTION.md: Update aesthetic direction to SUMI philosophy
- .storybook/preview.tsx: Remove deleted CSS imports, update bg colors
- eslint.config.js: Update color rule message from Kodo to SUMI tokens
- tailwind.config.ts: Fix comment referencing deleted design-tokens.css

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 02:15:11 +01:00

1 line
1.7 KiB
JavaScript

import{l as d,t as g,H as f}from"./vendor-CAoAb3tF.js";import{r as m}from"./index-jE2AGx2y.js";const h=d()(g(f(o=>({userId:null,username:null,currentConversationId:null,conversations:[],messages:{},typingUsers:{},wsToken:null,wsUrl:null,wsStatus:"disconnected",setUserId:(s,e)=>o(i=>{i.userId=s,i.username=e}),setWsToken:(s,e)=>o(i=>{i.wsToken=s,i.wsUrl=e}),setWsStatus:s=>o(e=>{e.wsStatus=s}),addConversation:s=>o(e=>{e.conversations.some(i=>i.id===s.id)||e.conversations.push(s)}),setCurrentConversation:s=>o(e=>{e.currentConversationId=s}),addMessage:s=>o(e=>{e.messages[s.conversation_id]||(e.messages[s.conversation_id]=[]),e.messages[s.conversation_id].push(s)}),loadMessages:(s,e)=>o(i=>{const r=i.messages[s]||[],c=new Set(e.map(a=>a.id)),n=[...r.filter(a=>!c.has(a.id)),...e];n.sort((a,l)=>new Date(a.created_at).getTime()-new Date(l.created_at).getTime()),i.messages[s]=n}),addReaction:(s,e,i,r)=>o(c=>{const t=c.messages[s];if(t){const n=t.find(a=>a.id===e);n&&(n.reactions||(n.reactions={}),Object.keys(n.reactions).forEach(a=>{n.reactions[a]=n.reactions[a].filter(l=>l!==i),n.reactions[a].length===0&&delete n.reactions[a]}),n.reactions[r]||(n.reactions[r]=[]),n.reactions[r].includes(i)||n.reactions[r].push(i))}}),removeReaction:(s,e,i)=>o(r=>{const c=r.messages[s];if(c){const t=c.find(n=>n.id===e);t&&t.reactions&&Object.keys(t.reactions).forEach(n=>{t.reactions[n]=t.reactions[n].filter(a=>a!==i),t.reactions[n].length===0&&delete t.reactions[n]})}}),setUserTyping:(s,e,i)=>o(r=>{r.typingUsers[s]||(r.typingUsers[s]=[]),i?r.typingUsers[s].includes(e)||r.typingUsers[s].push(e):r.typingUsers[s]=r.typingUsers[s].filter(c=>c!==e)})})),{name:"ChatStore",enabled:m()}));export{h as u};