PageSourceSearch

https://www.sideprojectors.com/build/assets/Detail-eIe9o6kg.js

js sideprojectors.com collected 2026-09-24 08:44:55 UTC 4,286 bytes, 1 lines download raw bytes

1import{L as p}from"./Loader-B7WL5xuY.js";import{F as k}from"./Simple-BLjuFar5.js";import{_ as x,c as s,g as b,F as c,a as r,t as a,b as _,w as f,f as l,d as i,y as w,r as m,o}from"./app-D-cVr9vr.js";import{s as h}from"./sanitizeHtml-BnyzbpP0.js";const v={components:{Loader:p,Footer:k},data(){return{config:window.config,article:null,loading:!0,message:""}},computed:{safeBody(){var e;return h((e=this.article)==null?void 0:e.body)},safeBio(){var e;return h((e=this.article)==null?void 0:e.author_bio)},hasAuthorBlock(){const e=this.article;return!!(e!=null&&e.author_bio||e!=null&&e.company_url||e!=null&&e.linkedin_url||e!=null&&e.x_url)}},async mounted(){await this.getData()},watch:{"$route.params.slug"(){this.getData()}},methods:{async getData(){this.loading=!0,this.article=null;const e=await w("/articles/data/"+this.$route.params.slug,{});e.ok?this.article=e.body:this.message=e.status===404?"It may have been taken down, or the link may be wrong.":"Something went wrong loading it. Please try again in a moment.",this.loading=!1},date(e){return new Date(e).toLocaleDateString()}}},B={class:"max-w-3xl mx-auto px-6 lg:px-8 mt-12"},L={class:"mt-4 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-700 p-6 rounded-lg dark:text-white"},D={class:"mt-8"},F={class:"text-lg ml-2 dark:text-white font-normal"},T={class:"mt-1 ml-2 text-sm text-gray-500 dark:text-gray-400"},H={class:"mt-4 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-700 p-6 rounded-lg dark:text-white"},N={class:"text-gray-500 dark:text-gray-300"},S=["src"],C=["innerHTML"],M={key:0,class:"mt-4 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-700 p-6 rounded-lg dark:text-white"},V={class:"flex items-center text-gray-700 dark:text-white"},A=["innerHTML"],I={class:"mt-4 flex flex-wrap items-center gap-x-6 gap-y-2 text-sm"},j=["href"],z=["href"],E=["href"],G={key:1,class:"mt-4 p-4 rounded border bg-gray-100 border-gray-300 dark:bg-gray-700 dark:border-gray-600 dark:text-white"},P={class:"mt-2 text-sm"},R={class:"mt-6"};function X(e,n,q,J,t,d){const u=m("Loader"),g=m("router-link"),y=m("Footer");return o(),s("div",B,[t.loading?(o(),b(u,{key:0})):t.article?(o(),s(c,{key:2},[r("h1",F,"📰   "+a(t.article.title),1),r("div",T,[t.article.is_sponsored?(o(),s(c,{key:0},[l("Sponsored article by ")],64)):(o(),s(c,{key:1},[l("By ")],64)),l(a(t.article.author_name),1),t.article.company_name?(o(),s(c,{key:2},[l(" of "+a(t.article.company_name),1)],64)):i("",!0),l(" · "+a(d.date(t.article.published_at)),1)]),r("article",H,[r("div",N,a(t.article.excerpt),1),t.article.cover_image?(o(),s("img",{key:0,src:t.article.cover_image,class:"w-full max-h-[480px] object-cover rounded-lg mt-6"},null,8,S)):i("",!0),r("div",{class:"article-body mt-6",innerHTML:d.safeBody},null,8,C)]),d.hasAuthorBlock?(o(),s("div",M,[r("div",V,"✍️   "+a(t.article.author_name),1),t.article.author_bio?(o(),s("div",{key:0,class:"article-body mt-2 text-sm",innerHTML:d.safeBio},null,8,A)):i("",!0),r("div",I,[t.article.company_url?(o(),s("a",{key:0,href:t.article.company_url,target:"_blank",rel:"nofollow noopener sponsored",class:"text-blue-500 hover:underline"},a(t.article.company_name||"Company"),9,j)):i("",!0),t.article.linkedin_url?(o(),s("a",{key:1,href:t.article.linkedin_url,target:"_blank",rel:"nofollow noopener sponsored",class:"text-blue-500 hover:underline"},"LinkedIn",8,z)):i("",!0),t.article.x_url?(o(),s("a",{key:2,href:t.article.x_url,target:"_blank",rel:"nofollow noopener sponsored",class:"text-blue-500 hover:underline"},"X",8,E)):i("",!0)])])):i("",!0),t.article.is_sponsored?(o(),s("div",G,[n[2]||(n[2]=r("div",{class:"flex items-center text-gray-700 dark:text-white"},"💬   This is paid promotional content",-1)),r("div",P,a(t.config.global.appName)+" reviewed it for relevance and presentation, but the views and claims belong to the author. ",1)])):i("",!0)],64)):(o(),s(c,{key:1},[n[1]||(n[1]=r("div",{class:"text-lg ml-2 dark:text-white"},"📰   This article is not available",-1)),r("div",L,[r("div",null,a(t.message),1),r("div",D,[_(g,{to:{name:"articles"},class:"text-blue-500 hover:underline"},{default:f(()=>n[0]||(n[0]=[l("Browse all articles")])),_:1,__:[0]})])])],64)),r("div",R,[_(y)])])}const W=x(v,[["render",X]]);export{W 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.