티스토리 수익 글 보기

티스토리 수익 글 보기

import{m as r}from”./module.esm-B6lOy9ag.js”;import{o as a}from”./mediaQuery-Bm25Hv93.js”;const o=()=>({selected:null,tabs:[],$popover:null,observer:null,tabObservers:[],tabLabels:[],selectMode:”hover”,liEls:[],mq:MediaQueryList,initialized:!1,init(){this.mq=a({onMatch:this.handleLargeScreens.bind(this),onNotMatched:this.handleSmallScreens.bind(this)})},handleLargeScreens(){this.selectMode=”hover”,this.fixTabs()},handleSmallScreens(){this.selectMode=”click”,this.fixTabs()},destroy(){this.observer.disconnect(),this.destroyTabObservers()},setTabs(e){this.tabs=e,this.selected=e[0],this.tabLabels=e.map(t=>[t,!1]),this.$refs.tabs&&requestAnimationFrame(()=>this.initTabs())},initTabs(){this.$refs.tabs.querySelectorAll(“li:not(.ignore-tab)”).forEach(e=>{this.liEls.push(e)}),this.observer=new IntersectionObserver(([e])=>{e.isIntersecting?(this.unLazyImages(),this.initTabObservers()):this.destroyTabObservers()}),this.observer.observe(this.$refs.tabs),this.initialized=!0,this.fixTabs()},unLazyImages(){this.$root.querySelectorAll(“img”).forEach(e=>{e.removeAttribute(“loading”)})},fixTabs(){this.initialized&&(this.mq.matches?this.fixTabsForLargeScreens():this.fixTabsForSmallScreens())},fixTabsForLargeScreens(){this.$refs.tabs.parentNode.classList.remove(“-mx-4”),this.liEls.forEach((e,t)=>{t===0&&e.classList.remove(“pl-4”)})},fixTabsForSmallScreens(){var l;if((l=this.$refs.tabs.querySelector(“.tab-buffer”))==null||l.remove(),!(this.$refs.tabs.scrollWidth>this.$refs.tabs.parentNode.getBoundingClientRect().width)){const s=document.createElement(“li”);s.classList.add(“border-b”,”border-sand-light-6-1″,”lg:hidden”,”grow”,”tab-buffer”),this.$refs.tabs.appendChild(s);return}const t=document.createElement(“li”);t.style.width=`calc(100% – ${this.liEls[this.liEls.length-1].getBoundingClientRect().width}px)`;const i=document.createElement(“span”);i.classList.add(“border-b”,”border-sand-light-6-1″,”block”,”h-full”),t.appendChild(i),t.classList.add(“shrink-0″,”lg:hidden”,”tab-buffer”,”pr-4″),this.$refs.tabs.appendChild(t),this.$refs.tabs.parentNode.classList.add(“-mx-4”),this.liEls.forEach((s,n)=>{n===0&&s.classList.add(“pl-4”)})},initTabObservers(){this.liEls.forEach(e=>{const t=new IntersectionObserver(([i])=>{i.isIntersecting?this.tabLabels.forEach(s=>{const n=i.target.querySelector(“button span”);n&&s[0].label===n.innerText&&(s[1]=!0)}):this.tabLabels.forEach(s=>{const n=i.target.querySelector(“button span”);n&&s[0].label===n.innerText&&(s[1]=!1)});const l=this.tabLabels.find(s=>s[1]===!0);l&&this.select(l[0])},{root:this.$refs.tabs,threshold:.75});t.observe(e),this.tabObservers.push(t)})},destroyTabObservers(){this.tabObservers.forEach(e=>e.disconnect())},hoverSelect(e){this.selectMode===”hover”&&this.select(e)},clickSelect(e){this.select(e),this.liEls.forEach(t=>{t.innerText===this.selected.label&&t.scrollIntoView({behavior:”smooth”,block:”nearest”,inline:”start”})})},select(e){this.selected=e},selectByLabel(e){this.selected=this.tabs.find(t=>t.label===e)},isSelected(e){return this.selected===e}});r.data(“sideTabs”,()=>o());const L=` `,h=` `,c=` `,d=` `,C=` `;r.data(“aiBoostSetup”,()=>({selected:”phpstorm”,tabs:[{key:”phpstorm”,label:”PhpStorm”,icon:”phpstorm”,iconHtml:L,steps:[“Press shift twice to open the command palette”,’Search “MCP Settings” and press enter’,”Check the box next to laravel-boost“,”Click ‘Apply’ at the bottom right”,”If you see a green checkmark, you’re ready to go!”]},{key:”vscode”,label:”VSCode”,icon:”vscode”,iconHtml:h,steps:[“Open the Command Palette Cmd+Shift+P or Ctrl+Shift+P“,’Press enter on “MCP: List Servers”‘,”Arrow to laravel-boost and press enter”,”Choose ‘Start server’ and you’re good to go!”]},{key:”cursor”,label:”Cursor”,icon:”cursor”,iconHtml:c,steps:[“Open the Command Palette Cmd+Shift+P or Ctrl+Shift+P“,’Press enter on “/open MCP Settings”‘,”Turn the toggle on for laravel-boost”]},{key:”claude”,label:”Claude Code”,icon:”claude”,iconHtml:d,steps:[“Claude is enabled automatically, but if you find it isn’t”,”Open a shell in the project’s directory”,”Run claude mcp add -s local -t stdio laravel-boost php artisan boost:mcp“]},{key:”manual”,label:”Manual Install”,icon:”terminal”,iconHtml:C,steps:[“Run php artisan boost:mcp“]}],handleKeyDown(e){if(e.key!==”ArrowLeft”&&e.key!==”ArrowRight”)return;const t=this.tabs.findIndex(l=>l.key===this.selected);if(t===-1)return;const i=e.key===”ArrowRight”?(t+1)%this.tabs.length:(t-1+this.tabs.length)%this.tabs.length;this.selected=this.tabs[i].key},select(e){this.selected=e},isSelected(e){return this.selected===e}}));export{o as t};