PageSourceSearch

https://aktywa.netlify.app/assets/Watchlist-CkI2ZgCp.js

js aktywa.netlify.app collected 2026-10-03 10:26:25 UTC 19,236 bytes, 6 lines download raw bytes

1import{e as ie,r as x,j as e,c as A,b as le,d as ce,L as I,i as oe}from"./index-CaWDYMXN.js";import{B as $}from"./button-CS4yFmc0.js";import{C as E,a as V}from"./card-BCAOyHS8.js";import{I as J}from"./input-CbnpnsRS.js";import{L as B}from"./label-Bc61ztvR.js";import{B as Y}from"./badge-FHoltFhj.js";import{T as de,a as ue,b as H,c as M,d as me,e as S}from"./table-Dq1UP2aN.js";import{D as q,a as ee,b as se,c as te,d as ae,e as ne}from"./dialog-BIlJzGGL.js";import{u as xe,a as pe,b as he,c as je,d as ge,e as fe,f as ye,g as be,h as ve}from"./useWatchlist-BUX93-AC.js";import{u as we,a as Ne,g as ke,b as ze}from"./useTickerSearch-LurpKgfy.js";import{u as Se}from"./useBrokerAccounts-B2pobk7B.js";import{a as Ce,d as _e}from"./watchlistAlerts-CA_15MZ1.js";import{S as K,a as Q,b as G,c as Z,d as P}from"./select-DFyrlrL3.js";import{B as X}from"./bell-Hf1zem5X.js";import{C as De}from"./circle-alert-CqPJGEcU.js";import{E as Ae}from"./eye-ulx97q7V.js";import{F as Te}from"./folder-open-Bt8ii9N-.js";import{T as re}from"./trash-2-D3lZI9BU.js";import{C as Le}from"./chevron-up-5P5uyQFQ.js";import{C as Pe}from"./chevron-down-WDQNsyI6.js";import{R as $e}from"./rotate-ccw-IPfhfqUm.js";import{P as Fe}from"./plus-4Ld_htO8.js";import{L as Ue}from"./loader-circle-zaoxP4mL.js";import{S as Me}from"./search-FSqWEJnq.js";import{f as Be}from"./format-LZ8T6OKr.js";import{p as Re,e as We}from"./pl-CjiHYXE9.js";import"./index-AYbuW7hu.js";import"./useQuery-B5oAOMdn.js";import"./useMutation-P0ptm2N2.js";import"./yahoo-DfEq4YZI.js";import"./asyncPool-jEnLF6C_.js";import"./finnhub-qzoUinI5.js";import"./index-syrsIAle.js";import"./index-Py-sD2PV.js";import"./check-DyfCj8G6.js";/**
2 * @license lucide-react v0.462.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const Oe=ie("ChevronsUpDown",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);
6function Ie({watchlistEntry:l,quote:r}){const[i,h]=x.useState(!1),[a,f]=x.useState("absolute"),[o,p]=x.useState("above"),[d,g]=x.useState("up"),[m,v]=x.useState(""),u=xe(),w=(r==null?void 0:r.currency)??l.currency??"USD",k=r==null?void 0:r.price,C=a!=="absolute",c=a==="absolute"?w:"%",z=a==="absolute"?k!=null?`Aktualnie: ${k.toLocaleString("pl-PL")} ${w}`:"Aktualna cena chwilowo niedostępna":a==="percent_from_creation"?k!=null?`Anchor zostanie ustawiony na obecną cenę (${k.toLocaleString("pl-PL")} ${w}). Alert zadziała gdy cena ${d==="up"?"wzrośnie":"spadnie"} od TERAZ o co najmniej tyle procent.`:"Anchor ustawimy na cenę zapisaną w momencie założenia alertu.":`Mierzona jest dzienna zmiana procentowa (ta sama którą widzisz w kolumnie 'Dziś %'). Alert zadziała gdy ruch dzienny ${d==="up"?"wzrośnie":"spadnie"} o co najmniej tyle procent.`;function n(){f("absolute"),p("above"),g("up"),v("")}function s(){const t=m.replace(",",".").replace(/^-/,""),y=parseFloat(t);if(!Number.isFinite(y)||y<=0){window.alert("Podaj dodatnią liczbę");return}const j=C?d==="up"?"above":"below":o,N=C&&d==="down"?-y:y,_=a==="percent_from_creation"?k??null:null,b=a==="percent_from_creation"?w:null;u.mutate({watchlist_id:l.id,direction:j,trigger_type:a,trigger_value:N,baseline_price:_,baseline_currency:b},{onSuccess:()=>{n(),h(!1)}})}return e.jsxs(q,{open:i,onOpenChange:t=>{h(t),t||n()},children:[e.jsx(ee,{asChild:!0,children:e.jsx($,{variant:"ghost",size:"icon",className:"text-on-surface-variant hover:text-on-surface",title:"Dodaj alert",children:e.jsx(X,{className:"h-4 w-4"})})}),e.jsxs(se,{children:[e.jsx(te,{children:e.jsxs(ae,{children:["Alert dla ",l.ticker]})}),e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-sm text-on-surface-variant",children:"Powiadom mnie gdy spełniony zostanie warunek. Dziś alerty pojawiają się jako powiadomienie w aplikacji — kanał email dorzucimy później."}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(B,{children:"Typ progu"}),e.jsxs(K,{value:a,onValueChange:t=>f(t),children:[e.jsx(Q,{children:e.jsx(G,{})}),e.jsxs(Z,{children:[e.jsx(P,{value:"absolute",children:'Cena bezwzględna (np. „spadnie do 150")'}),e.jsx(P,{value:"percent_from_creation",children:"% zmiany od momentu założenia alertu"}),e.jsx(P,{value:"percent_today",children:"% dziennej zmiany"})]})]})]}),e.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-2 items-end",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(B,{children:C?"Ruch":"Kierunek"}),C?e.jsxs(K,{value:d,onValueChange:t=>g(t),children:[e.jsx(Q,{className:"w-40",children:e.jsx(G,{})}),e.jsxs(Z,{children:[e.jsx(P,{value:"up",children:"Wzrośnie o"}),e.jsx(P,{value:"down",children:"Spadnie o"})]})]}):e.jsxs(K,{value:o,onValueChange:t=>p(t),children:[e.jsx(Q,{className:"w-32",children:e.jsx(G,{})}),e.jsxs(Z,{children:[e.jsx(P,{value:"above",children:"Powyżej"}),e.jsx(P,{value:"below",children:"Poniżej"})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(B,{children:["Wartość (",c,")"]}),e.jsx(J,{type:"text",inputMode:"decimal",placeholder:a==="absolute"?"150":"3",value:m,onChange:t=>v(t.target.value)})]})]}),e.jsxs("p",{className:A("text-xs leading-snug flex items-start gap-1.5","text-on-surface-variant"),children:[e.jsx(De,{className:"h-3.5 w-3.5 shrink-0 mt-0.5"}),e.jsx("span",{children:z})]})]}),e.jsx(ne,{children:e.jsx($,{onClick:s,disabled:u.isPending,children:u.isPending?"Zapisuję…":"Dodaj alert"})})]})]})}function Ee(l){var i;return l&&((i=l.split("::")[0])==null?void 0:i.trim())||null}function _s(){const{lang:l}=le(),r=Se(),{data:i=[],isLoading:h}=pe(),{data:a=[]}=he(),f=x.useMemo(()=>i.map(n=>n.ticker),[i]),{data:o}=we(f),{data:p={}}=je(f),d=ge(),{fmt:g,convert:m}=ce(),v=l==="pl"?Re:We,[u,w]=x.useState({key:"added",dir:"desc"}),k=x.useMemo(()=>{const n=new Map;for(const s of a){const t=n.get(s.watchlist_id)??[];t.push(s),n.set(s.watchlist_id,t)}return n},[a]),C=x.useMemo(()=>i.map(n=>{const s=o[n.ticker],t=(s==null?void 0:s.price)??null,y=(s==null?void 0:s.currency)??n.currency??"USD",j=t!=null?m(t,y):null,N=(s==null?void 0:s.changePercent)??null,_=k.get(n.id)??[],b=_.find(L=>
6L.trigger_type==="percent_from_creation"&&L.baseline_price!=null),T=n.added_price??(b==null?void 0:b.baseline_price)??null,F=n.added_currency??(b==null?void 0:b.baseline_currency)??y,D=T!=null?m(T,F):null,R=D!=null&&D>0&&j!=null?(j-D)/D*100:null,W=D!=null&&j!=null?j-D:null;return{w:n,q:s,priceNative:t,priceCurrency:y,priceDisplayNum:j,pct:N,rowAlerts:_,activeAlerts:_.filter(L=>L.triggered_at===null),sincePct:R,sinceAmt:W,sectorLabel:Ee(n.sector),spark:p[n.ticker]??null,addedTime:new Date(n.added_at).getTime()}}),[i,o,k,m,p]),c=x.useMemo(()=>{const n=u.dir==="asc"?1:-1,s=t=>{switch(u.key){case"ticker":return t.w.ticker;case"price":return t.priceDisplayNum;case"today":return t.pct;case"since":return t.sincePct;case"added":return t.addedTime}};return[...C].sort((t,y)=>{const j=s(t),N=s(y);return j==null&&N==null?0:j==null?1:N==null?-1:typeof j=="string"&&typeof N=="string"?j.localeCompare(N)*n:(j-N)*n})},[C,u]);function z(n){w(s=>s.key===n?{key:n,dir:s.dir==="asc"?"desc":"asc"}:{key:n,dir:n==="ticker"?"asc":"desc"})}return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-start justify-between gap-3 flex-wrap",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"font-display text-[26px] sm:text-3xl lg:text-4xl font-bold text-on-surface leading-[1.05] tracking-[-0.02em]",children:"Obserwowane"}),e.jsx("p",{className:"text-[13px] sm:text-sm text-on-surface-variant mt-1.5 max-w-2xl",children:"Tickery które śledzisz, ale jeszcze nie kupiłeś. Cena aktualizuje się razem z resztą dashboardu (co ~60 s). Ustaw alert cenowy, a powiadomimy Cię, gdy warunek zostanie spełniony."})]}),e.jsx(Ke,{})]}),h?e.jsx(E,{children:e.jsx(V,{className:"p-8 text-sm text-on-surface-variant text-center",children:"Ładuję listę…"})}):i.length===0?e.jsx(E,{children:e.jsxs(V,{className:"p-8 text-center space-y-3",children:[e.jsx(Ae,{className:"h-8 w-8 mx-auto text-on-surface-variant"}),e.jsx("div",{className:"text-sm text-on-surface",children:"Twoja lista obserwowanych jest pusta."}),e.jsxs("p",{className:"text-xs text-on-surface-variant max-w-md mx-auto",children:["Dodaj ticker żeby śledzić cenę bez wchodzenia w pozycję. Posiadane aktywa są na stronie"," ",e.jsx(I,{to:"/app",className:"underline",children:"Majątek"}),"."]})]})}):e.jsx(E,{children:e.jsx(V,{className:"p-0",children:e.jsxs(de,{children:[e.jsx(ue,{children:e.jsxs(H,{children:[e.jsx(U,{label:"Ticker",col:"ticker",sort:u,onSort:z}),e.jsx(M,{className:"hidden sm:table-cell",children:"Nazwa"}),e.jsx(U,{label:"Cena",col:"price",sort:u,onSort:z,align:"right"}),e.jsx(M,{className:"hidden lg:table-cell text-center",children:"Trend 30d"}),e.jsx(U,{label:"Dziś %",col:"today",sort:u,onSort:z,align:"right"}),e.jsx(U,{label:"Od dodania",col:"since",sort:u,onSort:z,align:"right",className:"hidden md:table-cell"}),e.jsx(M,{className:"hidden xl:table-cell",children:"Notatki"}),e.jsx(U,{label:"Dodano",col:"added",sort:u,onSort:z,className:"hidden xl:table-cell"}),e.jsx(M,{className:"w-10"})]})}),e.jsx(me,{children:c.map(n=>{const{w:s,q:t,priceNative:y,priceCurrency:j,priceDisplayNum:N,pct:_,rowAlerts:b,activeAlerts:T,sincePct:F,sinceAmt:D,sectorLabel:R,spark:W}=n,L=(_??0)>=0,O=(F??0)>=0;
6return e.jsxs(x.Fragment,{children:[e.jsxs(H,{className:A(b.length>0&&"border-b-0"),children:[e.jsx(S,{className:"font-semibold",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(I,{to:`/app/instrument/${encodeURIComponent(s.ticker)}`,className:"hover:text-primary hover:underline underline-offset-2 transition-colors",children:s.ticker}),T.length>0&&e.jsxs(Y,{variant:"outline",className:"h-5 px-1.5 text-[10px] gap-1",title:`${T.length} ${T.length===1?"aktywny alert":"aktywne alerty"}`,children:[e.jsx(X,{className:"h-3 w-3"}),T.length]})]})}),e.jsx(S,{className:"hidden sm:table-cell max-w-[260px]",children:e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx("span",{className:"text-sm text-on-surface-variant truncate",children:s.display_name??"—"}),R&&e.jsx(Y,{variant:"secondary",className:"h-5 px-1.5 text-[10px] font-medium shrink-0",children:R})]})}),e.jsxs(S,{className:"text-right tabular-nums",children:[N!=null?g(N):e.jsx("span",{className:"text-on-surface-variant",children:"—"}),y!=null&&e.jsx("div",{className:"text-[10px] text-on-surface-variant tabular-nums",children:y.toLocaleString(l==="pl"?"pl-PL":"en-GB",{style:"currency",currency:j})})]}),e.jsx(S,{className:"hidden lg:table-cell",children:e.jsx("div",{className:"flex justify-center",children:e.jsx(Ve,{data:W})})}),e.jsx(S,{className:"text-right tabular-nums",children:_==null?e.jsx("span",{className:"text-on-surface-variant",children:"—"}):e.jsxs("span",{className:A("font-semibold",L?"text-tertiary":"text-error"),children:[L?"+":"",_.toFixed(2),"%"]})}),e.jsx(S,{className:"hidden md:table-cell text-right tabular-nums",children:F==null?e.jsx("span",{className:"text-on-surface-variant",children:"—"}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:A("font-semibold",O?"text-tertiary":"text-error"),children:[O?"+":"",F.toFixed(2),"%"]}),D!=null&&e.jsxs("div",{className:"text-[10px] text-on-surface-variant tabular-nums",children:[O?"+":"",g(D)]})]})}),e.jsx(S,{className:"hidden xl:table-cell text-xs text-on-surface-variant max-w-[280px] truncate",children:s.notes??"—"}),e.jsx(S,{className:"hidden xl:table-cell text-xs text-on-surface-variant",children:Be(new Date(s.added_at),"dd MMM yyyy",{locale:v})}),e.jsx(S,{className:"text-right p-1",children:e.jsxs("div",{className:"flex items-center justify-end",children:[r&&e.jsx($,{asChild:!0,variant:"ghost",size:"icon",className:"text-on-surface-variant hover:text-primary",title:"Dossier / analiza fundamentalna",children:e.jsx(I,{to:`/app/obserwowane/${s.id}`,children:e.jsx(Te,{className:"h-4 w-4"})})}),e.jsx(Ie,{watchlistEntry:s,quote:t}),e.jsx($,{variant:"ghost",size:"icon",className:"text-on-surface-variant hover:text-destructive",disabled:d.isPending,onClick:()=>{confirm(`Usunąć ${s.ticker} z obserwowanych? Razem z aktywem usunięte zostaną też ${b.length} alerty.`.replace("0 alerty","alerty (jeśli były)"))&&d.mutate(s.id)},title:"Usuń",children:e.jsx(re,{className:"h-4 w-4"})})]})})]}),b.length>0&&e.jsx(H,{className:"bg-surface-container-low/50 hover:bg-surface-container-low/50",children:e.jsx(S,{colSpan:9,className:"pt-0 pb-2.5 pl-4 sm:pl-6",children:e.jsx(He,{alerts:b,quote:t,quoteCurrency:j})})})]},s.id)})})]})})}),i.length>0&&e.jsxs("div",{className:"text-[11px] text-on-surface-variant flex items-center gap-x-4 gap-y-1.5 flex-wrap",children:[e.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-tertiary"}),"Aktywny — czeka na warunek"]}),e.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-on-surface-variant/50"}),"Wyłączony — już się uruchomił; kliknij ↻, aby wznowić"]})]})]})}function U({label:l,col:r,sort:i,onSort:h,align:a="left",className:f}){const o=i.key===r;return e.jsx(M,{className:A(a==="right"&&"text-right",f),children:e.jsxs("button",{type:"button",onClick:()=>h(r),className:A("inline-flex items-center gap-1 hover:text-on-surface transition-colors group/sort",a==="right"&&"flex-row-reverse",o&&"text-on-surface font-semibold"),children:[l,o?i.dir==="asc"?e.jsx(Le,{className:"h-3.5 w-3.5"}):e.jsx(Pe,{className:"h-3.5 w-3.5"}):e.jsx(Oe,{className:"h-3.5 w-3.5 opacity-0 group-hover/sort:opacity-50 transition-opacity"})]})})}function Ve({data:l}){if(!l||l.length<2)return e.jsx("span",{className:"text-on-surface-variant text-xs",children:"—"});const r=64,i=22,h=2,a=Math.min(...l),o=Math.max(...l)-a||1,p=l.map((m,v)=>{const u=h+v/(l.length-1)*(r-2*h),w=h+(1-(m-a)/o)*(i-2*h);return`${u.toFixed(1)},${w.toFixed(1)}`}).join(" "),g=l[l.length-1]>=l[0]?"hsl(var(--tertiary))":"hsl(var(--error))";return e.jsx("svg",{width:r,height:i,viewBox:`0 0 ${r} ${i}
6`,"aria-hidden":!0,className:"overflow-visible",children:e.jsx("polyline",{points:p,fill:"none",stroke:g,strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})})}function He({alerts:l,quote:r,quoteCurrency:i}){const h=fe(),a=ye(),f=be();return e.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[e.jsxs("span",{className:"label-caps text-on-surface-variant text-[10px] inline-flex items-center gap-1 mr-0.5",children:[e.jsx(X,{className:"h-3 w-3"}),"Alerty"]}),l.map(o=>{const p=o.triggered_at!==null,d=p&&o.acknowledged_at===null,g=p?d?"bg-destructive":"bg-on-surface-variant/50":"bg-tertiary",m=p?null:Ce(o,r),v=m&&m.remaining>0?m.unit==="price"?`${m.remaining.toLocaleString("pl-PL",{maximumFractionDigits:2})} ${i}`:`${m.remaining.toFixed(1)} pp`:null;return e.jsxs("span",{className:A("inline-flex items-center gap-1.5 rounded-full pl-2 pr-1.5 py-1 text-[11px] ring-1",p?d?"bg-destructive/15 text-destructive font-semibold ring-destructive/30":"bg-surface-container-high text-on-surface-variant ring-outline-variant/40":"bg-tertiary/10 text-tertiary ring-tertiary/25"),title:d?"Kliknij Przeczytane żeby oznaczyć jako odczytany":void 0,children:[e.jsx("span",{className:A("h-1.5 w-1.5 rounded-full shrink-0",g),"aria-hidden":!0}),e.jsx("span",{children:_e(o,i)}),v&&e.jsxs("span",{className:"font-normal opacity-70",title:"Ile jeszcze brakuje do progu alertu",children:["· ",v," do progu"]}),p&&!d&&e.jsx("span",{className:"label-caps text-[9px] opacity-80",children:"· wył."}),d&&e.jsx("button",{type:"button",className:"hover:opacity-80 underline-offset-2 hover:underline font-medium",onClick:()=>f.mutate(o.id),title:"Oznacz jako przeczytany",children:"Przeczytane"}),p&&e.jsx("button",{type:"button",className:"hover:opacity-80 inline-flex items-center rounded-full p-0.5 hover:bg-on-surface/10",onClick:()=>{const u=o.trigger_type==="percent_from_creation"&&(r==null?void 0:r.price)!=null;a.mutate({id:o.id,new_baseline_price:u?r.price:null,new_baseline_currency:u?(r==null?void 0:r.currency)??i:null})},title:"Wznów alert",children:e.jsx($e,{className:"h-3 w-3"})}),e.jsx("button",{type:"button",className:"hover:opacity-80 inline-flex items-center rounded-full p-0.5 hover:bg-on-surface/10",onClick:()=>{confirm("Usunąć ten alert?")&&h.mutate(o.id)},title:"Usuń alert",children:e.jsx(re,{className:"h-3 w-3"})})]},o.id)})]})}function Ke(){const[l,r]=x.useState(!1),[i,h]=x.useState(""),[a,f]=x.useState(null),[o,p]=x.useState(""),[d,g]=x.useState(!1),m=x.useRef(null),{results:v,isSearching:u}=Ne(i,d),w=ve();x.useEffect(()=>{if(!d)return;function c(z){m.current&&(m.current.contains(z.target)||g(!1))}return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[d]);function k(){h(""),f(null),p(""),g(!1)}async function C(){if(!a){oe.error("Najpierw wybierz ticker z listy");return}const c=ke(a.symbol),z=c?[c.sector,c.subsector,c.detail].filter(Boolean).join("::"):null;let n=null,s=null;try{const t=await ze(a.symbol);(t==null?void 0:t.price)!=null&&(n=t.price,s=t.currency??null)}catch{}w.mutate({ticker:a.symbol,display_name:a.name||null,currency:s,sector:z,notes:o.trim()||null,added_price:n,added_currency:s},{onSuccess:()=>{k(),r(!1)}})}return e.jsxs(q,{open:l,onOpenChange:c=>{r(c),c||k()},children:[e.jsx(ee,{asChild:!0,children:e.jsxs($,{className:"gap-2",children:[e.jsx(Fe,{className:"h-4 w-4"}),"Dodaj do obserwowanych"]})}),e.jsxs(se,{children:[e.jsx(te,{children:e.jsx(ae,{children:"Nowe obserwowane aktywo"})}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2 relative",ref:m,children:[e.jsx(B,{children:"Ticker"}),e.jsxs("div",{className:"relative",children:[e.jsx(J,{autoFocus:!0,placeholder:"np. NVDA, BTC-USD, KGH.WA",value:a?a.symbol:i,onChange:c=>{h(c.target.value.toUpperCase()),f(null),g(!0)},onFocus:()=>i&&!a&&g(!0),className:"pr-8"}),e.jsx("div",{className:"absolute right-2 top-1/2 -translate-y-1/2",children:u?e.jsx(Ue,{className:"h-4 w-4 animate-spin text-muted-foreground"}):e.jsx(Me,{className:"h-4 w-4 text-muted-foreground"})})]}),d&&!a&&v.length>0&&e.jsx("div",{className:"absolute z-50 top-full left-0 right-0 mt-1 bg-popover border border-border rounded-lg shadow-lg max-h-56 overflow-y-auto",children:v.map(c=>e.jsxs("button",{type:"button",className:"w-full text-left px-3 py-2 text-sm hover:bg-accent/10 transition-colors flex items-center justify-between gap-3",onClick:()=>
6{f({symbol:c.symbol,name:c.description}),g(!1)},children:[e.jsx("span",{className:"font-medium text-foreground shrink-0",children:c.symbol}),e.jsx("span",{className:"text-xs text-muted-foreground truncate text-right",children:c.description})]},c.symbol))}),a&&e.jsx("p",{className:"text-[11px] text-on-surface-variant leading-snug",children:a.name})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(B,{children:"Notatki (opcjonalne)"}),e.jsx(J,{placeholder:'np. "Kupić jak spadnie poniżej 150 USD"',value:o,onChange:c=>p(c.target.value),maxLength:400})]})]}),e.jsx(ne,{children:e.jsx($,{onClick:C,disabled:!a||w.isPending,children:w.isPending?"Dodaję…":"Dodaj do listy"})})]})]})}export{_s as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.