import{r as e}from"./rolldown-runtime-hePW80VL.js";import{di as t}from"./lucide-icons-6JcOMNkr.js";import{n}from"./useEncryptedSettings-Xhb6VgJS.js";import{t as r}from"./useCurrentUser-CgUH2vq7.js";var i=e(t(),1);function a(){let{user:e}=r(),{settings:t,updateSettings:a,isLoading:o,isError:s,error:c,hasNip44Support:l}=n(),u=(0,i.useMemo)(()=>t?.contentFilters||[],[t]),d={mutateAsync:async t=>{if(!e)throw Error(`User not logged in`);let n=u,r={...t,id:crypto.randomUUID(),createdAt:Date.now(),updatedAt:Date.now()},i=[...n,r];return await a.mutateAsync({contentFilters:i}),r},isPending:a.isPending},f={mutateAsync:async t=>{if(!e)throw Error(`User not logged in`);let n=u.map(e=>e.id===t.id?{...t,updatedAt:Date.now()}:e);return await a.mutateAsync({contentFilters:n}),t},isPending:a.isPending},p={mutateAsync:async t=>{if(!e)throw Error(`User not logged in`);let n=u.filter(e=>e.id!==t);await a.mutateAsync({contentFilters:n})},isPending:a.isPending},m={mutateAsync:async t=>{if(!e)throw Error(`User not logged in`);let n=u.map(e=>e.id===t?{...e,enabled:!e.enabled,updatedAt:Date.now()}:e);await a.mutateAsync({contentFilters:n})},isPending:a.isPending},h=e=>{let t=u.filter(e=>e.enabled);return t.length!==0&&t.some(t=>t.rules.every(t=>g(e,t)))},g=(e,t)=>{let{type:n,field:r,operator:i,value:a,caseSensitive:o=!1}=t,s=(e,t)=>{let n=o?e:e.toLowerCase(),r=o?t:t.toLowerCase();switch(i){case`equals`:return n===r;case`not-equals`:return n!==r;case`contains`:return n.includes(r);case`not-contains`:return!n.includes(r);case`regex`:try{return new RegExp(r,o?``:`i`).test(n)}catch{return!1}default:return!1}};switch(n){case`kind`:return s(String(e.kind),a);case`content-regex`:return s(e.content||``,a);case`tag`:{if(!r)return!1;let t=e.tags.find(e=>e[0]===r)?.[1];return t?s(t,a):!1}case`author-metadata`:return!1;default:return!1}};return{filters:u,isLoading:o,isError:s,error:c,addFilter:d,updateFilter:f,deleteFilter:p,toggleFilter:m,shouldFilterEvent:h,hasNip44Support:l}}export{a as t};