PageSourceSearch

https://lovegpt.com/assets/RoleplayDiscoveryView-Be_ub7rV.js

js lovegpt.com collected 2026-10-04 10:31:02 UTC 6,601 bytes, 1 lines download raw bytes

1import{m as T,M as V,d$ as x,e0 as I,G as N,H as m,l as B,_ as b,o as s,c as o,a,t as n,b as i,q as H,v as e,w as C,F as _,r as v,u as E,e as R,d as f,am as $}from"./index-Dq6lCjou.js";function M(r){const y=B(),{t}=T({discoverFail:"발견 페이지 로딩 실패",searchFail:"검색 실패"}),d=m(null),c=m(!1),p=m(""),g=m(null),k=m(!1);async function l(){c.value=!0;try{d.value=await I()}catch{y.show(t.value.discoverFail)}finally{c.value=!1}}let u=null;async function P(h){if(p.value=h,u&&clearTimeout(u),!h||h.length<2){g.value=null;return}u=setTimeout(async()=>{k.value=!0;try{g.value=await x(h)}catch{y.show(t.value.searchFail)}finally{k.value=!1}},300)}function S(h){V(r,{name:"roleplay-intro",params:{plotId:h}})}function L(h){r.push({name:"roleplay-creator",params:{handle:h}})}function F(h){r.push({name:"roleplay-discover-tag",params:{tagName:h}})}const D=N(()=>!!p.value&&p.value.length>=2);return{home:d,loading:c,searchQuery:p,searchResult:g,searching:k,isSearching:D,loadHome:l,doSearch:P,visitPlot:S,visitCreator:L,visitTag:F}}const Q={class:"plot-card"},j={class:"cover-wrap"},z=["src","alt"],G={key:1,class:"cover-placeholder"},O={class:"plot-meta"},A={class:"plot-title"},J={class:"plot-short"},K={class:"plot-foot"},U={key:0,class:"creator"},W={class:"stat"},X={__name:"PlotRowCard",props:{plot:Object},setup(r){return(y,t)=>(s(),o("article",Q,[a("div",j,[r.plot.cover_url?(s(),o("img",{key:0,src:r.plot.cover_url,alt:r.plot.title,loading:"lazy",onLoad:t[0]||(t[0]=d=>d.target.classList.add("loaded")),onError:t[1]||(t[1]=d=>d.target.classList.add("loaded"))},null,40,z)):(s(),o("div",G))]),a("div",O,[a("h4",A,n(r.plot.title),1),a("p",J,n(r.plot.short_intro||""),1),a("p",K,[r.plot.creator_handle?(s(),o("span",U,"@"+n(r.plot.creator_handle),1)):i("",!0),a("span",W,n(r.plot.total_message_count.toLocaleString())+" msg",1)])])]))}},w=b(X,[["__scopeId","data-v-24083849"]]),Y={class:"discover-root"},Z={class:"discover-header"},q=["placeholder","value"],ee={key:1},te={key:0,class:"block"},le={class:"creator-list"},se=["onClick"],oe=["src"],ae={key:1,class:"placeholder"},ne={class:"follower"},ce={key:1,class:"block"},re={class:"tag-list"},ie=["onClick"],ue={key:2,class:"block"},he={class:"plot-grid"},de=["onClick"],_e={key:3,class:"empty"},ve={key:0,class:"row"},pe={class:"row-scroll"},ge=["onClick"],me={key:1,class:"row"},ye={class:"row-scroll"},ke=["onClick"],fe={key:2,class:"row"},we={class:"row-scroll"},Ce=["onClick"],Re={key:3,class:"row"},$e={class:"tag-list"},Te=["onClick"],be={key:4,class:"row"},Pe={class:"creator-list"},Se=["onClick"],Le=["src"],Fe={key:1,class:"placeholder"},De={class:"follower"},Ve={__name:"RoleplayDiscoveryView",setup(r){const y=E(),t=M(y),d=m(""),{t:c}=T({discoverTitle:"롤플레이 발견",searchPlaceholder:"플롯/크리에이터/태그 검색",creators:"크리에이터",tags:"태그",plots:"플롯",noResults:"검색 결과 없음",popular:"🔥 인기",recent:"✨ 신작",followingRecent:"👁 팔로잉 신작",trendingTags:"🏷 인기 태그",topCreators:"👤 인기 크리에이터"});H(()=>{t.loadHome()});function p(g){d.value=g.target.value,t.doSearch(d.value)}return(g,k)=>(s(),o("div",Y,[a("header",Z,[a("h1",null,n(e(c).discoverTitle),1),a("input",{type:"search",class:"search-input",placeholder:e(c).searchPlaceholder,value:d.value,onInput:p},null,40,q)]),e(t).loading.value&&!e(t).home.value?(s(),C($,{key:0})):i("",!0),e(t).isSearching.value?(s(),o(_,{key:1},[e(t).searching.value&&!e(t).searchResult.value?(s(),C($,{key:0})):e(t).searchResult.value?(s(),o("section",ee,[e(t).searchResult.value.creators.length?(s(),o("div",te,[a("h2",null,n(e(c).creators),1),a("div",le,[(s(!0),o(_,null,v(e(t).searchResult.value.creators,l=>(s(),o("button",{key:l.handle,class:"creator-chip",onClick:u=>e(t).visitCreator(l.handle)},[l.avatar_url?(s(),o("img",{key:0,src:l.avatar_url,alt:""},null,8,oe)):(s(),o("div",ae,"@")),a("span",null,"@"+n(l.handle),1),a("span",ne,n(l.follower_count.toLocaleString())+" ↟",1)],8,se))),128))])])):i("",!0),e(t).searchResult.value.tags.length?(s(),o("div",ce,[a("h2",null,n(e(c).tags),1),a("div",re,[(s(!0),o(_,null,v(e(t).searchResult.value.tags,l=>(s(),o("button",{key:l.tag_name,class:"tag-chip",onClick:u=>e(t).visitTag(l.tag_name)},[R(" #"+n(l.tag_name)+" ",1),a("small",null,"("+n(l.use_count)+")",1)],8,ie))),128))])])):i("",!0),e(t).searchResult.value.plots.length?(s(),o("div",ue,[a("h2",null,n(e(c).plots)+" "+n(e(t).searchResult.value.plots.length),1),a("div",he,[(s(!0),o(_,null,v(e(t).searchResult.value.plots,l=>(s(),o("div",{key:l.plot_id,onClick:u=>e(t).visitPlot(l.plot_id)},[f(w,{plot:l},null,8,["plot"])],8,de))),128))])])):i("",!0),e(t).searchResult.value.plots.length===0&&e(t).searchResult.value.creators.length===0&&e(t).searchResult.value.tags.length===0?(s(),o("p",_e,n(e(c).noResults),1)):i("",!0)])):i("",!0)],64)):e(t).home.value?(s(),o(_,{key:2},[e(t).home.value.popular_24h.length?(s(),o("section",ve,[a("h2",null,n(e(c).popular),1),a("div",pe,[(s(!0),o(_,null,v(e(t).home.value.popular_24h,l=>(s(),o("div",{key:l.plot_id,onClick:u=>e(t).visitPlot(l.plot_id)},[f(w,{plot:l},null,8,["plot"])],8,ge))),128))])])):i("",!0),e(t).home.value.recent.length?(s(),o("section",me,[a("h2",null,n(e(c).recent),1),a("div",ye,[(s(!0),o(_,null,v(e(t).home.value.recent,l=>(s(),o("div",{key:l.plot_id,onClick:u=>e(t).visitPlot(l.plot_id)},[f(w,{plot:l},null,8,["plot"])],8,ke))),128))])])):i("",!0),e(t).home.value.following_recent.length?(s(),o("section",fe,[a("h2",null,n(e(c).followingRecent),1),a("div",we,[(s(!0),o(_,null,v(e(t).home.value.following_recent,l=>(s(),o("div",{key:l.plot_id,onClick:u=>e(t).visitPlot(l.plot_id)},[f(w,{plot:l},null,8,["plot"])],8,Ce))),128))])])):i("",!0),e(t).home.value.trending_tags.length?(s(),o("section",Re,[a("h2",null,n(e(c).trendingTags),1),a("div",$e,[(s(!0),o(_,null,v(e(t).home.value.trending_tags,l=>(s(),o("button",{key:l.tag_name,class:"tag-chip",onClick:u=>e(t).visitTag(l.tag_name)},[R(" #"+n(l.tag_name)+" ",1),a("small",null,"("+n(l.use_count)+")",1)],8,Te))),128))])])):i("",!0),e(t).home.value.top_creators.length?(s(),o("section",be,[a("h2",null,n(e(c).topCreators),1),a("div",Pe,[(s(!0),o(_,null,v(e(t).home.value.top_creators,l=>(s(),o("button",{key:l.handle,class:"creator-chip",onClick:u=>e(t).visitCreator(l.handle)},[l.avatar_url?(s(),o("img",{key:0,src:l.avatar_url,alt:""},null,8,Le)):(s(),o("div",Fe,"@")),a("span",null,"@"+n(l.handle),1),a("span",De,n(l.follower_count.toLocaleStr
1ing())+" ↟",1)],8,Se))),128))])])):i("",!0)],64)):i("",!0)]))}},Ne=b(Ve,[["__scopeId","data-v-7956577f"]]);export{Ne 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.