1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e._sentryModuleMetadata=e._sentryModuleMetadata||{},e._sentryModuleMetadata[(new e.Error).stack]=function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];if(null!=r)for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])}return e}({},e._sentryModuleMetadata[(new e.Error).stack],{"_sentryBundlerPluginAppKey:notetube-web":!0});var t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c4b7e3a4-8e0f-433c-98cf-3bb45fe52fb9",e._sentryDebugIdIdentifier="sentry-dbid-c4b7e3a4-8e0f-433c-98cf-3bb45fe52fb9")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6883],{56883:(e,t,r)=>{r.r(t),r.d(t,{default:()=>l});var n=r(54568),o=r(7620),a=r(99100),i=r(85827);let s=[{targetSelector:'[data-tour-id="chat"]',title:"AI Chat",body:"Ask questions about your material. The AI uses your uploaded content to give accurate, sourced answers.",position:"left"},{targetSelector:'[data-tour-id="flashcards"]',title:"Flashcards",body:"Generate flashcards from your content with one click. Uses spaced repetition (SM-2) so you remember more with less effort.",position:"left"},{targetSelector:'[data-tour-id="quizzes"]',title:"Quizzes",body:"Test your understanding with AI-generated quizzes. Great for exam prep and self-assessment.",position:"left"},{targetSelector:'[data-tour-id="summary"]',title:"Summary",body:"Get a concise summary of your material. Export as Markdown, PDF, or plain text.",position:"left"},{targetSelector:'[data-tour-id="notes"]',title:"Notes",body:"Take and organize notes alongside your content. Tag them for easy retrieval later.",position:"left"}];function l(e){let{onComplete:t,onSkip:r}=e,[l,d]=(0,o.useState)(0),[c,u]=(0,o.useState)(null),f=s[l],p=l===s.length-1,m=(0,o.useCallback)(()=>{if(!f)return;let e=document.querySelector(f.targetSelector);if(e){let t=e.getBoundingClientRect();u({top:t.top,left:t.left,width:t.width,height:t.height})}},[f]);if((0,o.useEffect)(()=>{if(!f)return;let e=document.querySelector(f.targetSelector);if(e){e.scrollIntoView({behavior:"smooth",block:"center"});let t=setTimeout(m,400);return()=>clearTimeout(t)}},[f,m]),(0,o.useEffect)(()=>(window.addEventListener("resize",m),window.addEventListener("scroll",m,!0),()=>{window.removeEventListener("resize",m),window.removeEventListener("scroll",m,!0)}),[m]),!c)return null;let y=c.top-8,b=c.left-8,g=c.left+c.width+8,h=c.top+c.height+8,x="polygon(\n 0% 0%, 0% 100%, 100% 100%, 100% 0%, 0% 0%,\n ".concat(b,"px ").concat(y,"px,\n ").concat(g,"px ").concat(y,"px,\n ").concat(g,"px ").concat(h,"px,\n ").concat(b,"px ").concat(h,"px,\n ").concat(b,"px ").concat(y,"px\n )"),w=c.top+c.height/2,v=window.innerWidth-c.left+8+12;return(0,n.jsxs)("div",{className:"fixed inset-0 z-[9999]",children:[(0,n.jsx)("div",{className:"absolute inset-0 bg-black/60 transition-[clip-path] duration-300 ease-out",style:{clipPath:x},onClick:r}),(0,n.jsx)(a.N,{mode:"wait",children:(0,n.jsx)(i.P.div,{initial:{opacity:0,x:20},animate:{opacity:1,x:0},exit:{opacity:0,x:-20},transition:{type:"spring",stiffness:300,damping:30},className:"absolute z-[10000] w-72",style:{top:w,right:v,transform:"translateY(-50%)"},children:(0,n.jsxs)("div",{className:"bg-card border border-border rounded-xl p-4 shadow-lg",children:[(0,n.jsx)("h3",{className:"font-semibold text-base mb-1",children:f.title}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:f.body}),(0,n.jsxs)("div",{className:"flex items-center justify-between mt-4",children:[(0,n.jsx)("button",{onClick:r,className:"text-xs text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:"Skip tour"}),(0,n.jsx)("button",{onClick:()=>{p?t():d(e=>e+1)},className:"inline-flex items-center justify-center rounded-lg bg-primary text-primary-foreground text-sm font-medium h-8 px-4 cursor-pointer transition-all duration-150",children:p?"Start Studying â":"Next â"})]}),(0,n.jsx)("div",{className:"flex items-center justify-center gap-1.5 mt-3",children:s.map((e,t)=>(0,n.jsx)("div",{className:"h-1.5 rounded-full transition-all duration-200 ".concat(t===l?"w-4 bg-primary":t<l?"w-1.5 bg-primary/40":"w-1.5 bg-muted-foreground
1/20")},t))})]})},l)})]})}}}]);
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.