Add (nav): share button

This commit is contained in:
2023-11-23 15:03:45 +08:00
parent 8d9fb190ef
commit a8d295dae9
20 changed files with 206 additions and 58 deletions

View File

@@ -1 +1 @@
import{_ as i}from"./vue-1b15f6c7.js";const n={name:"LqipLoader",mounted(){this.initLqipLoading()},methods:{initLqipLoading(){const e=document.getElementsByTagName("img");for(let t=0;t<e.length;t++)e[t].getAttribute("data-src")&&(e[t].onload=function(){this.classList.remove("lqip-blur")},e[t].setAttribute("src",e[t].getAttribute("data-src")))}}};function o(e,t,r,s,a,c){return null}const m=i(n,[["render",o]]);export{m as default};
import{_ as i}from"./vue-4ae8bf2c.js";const n={name:"LqipLoader",mounted(){this.initLqipLoading()},methods:{initLqipLoading(){const e=document.getElementsByTagName("img");for(let t=0;t<e.length;t++)e[t].getAttribute("data-src")&&(e[t].onload=function(){this.classList.remove("lqip-blur")},e[t].setAttribute("src",e[t].getAttribute("data-src")))}}};function o(e,t,r,s,a,c){return null}const m=i(n,[["render",o]]);export{m as default};

View File

@@ -0,0 +1 @@
import{_ as u,l as p,c as r,i as e,j as c,o as n,k as _,m}from"./vue-4ae8bf2c.js";const b={name:"ShareToFriends",data(){return{showModal:!1,shareUrl:null}},methods:{handleShareButton(){if(navigator.share){const o=document.title,t=document.querySelector('meta[name="description"]'),d=t?"Check this out: "+t.content:"",i=o||"FutureWalker",s=d||"Check this AI & tech news platform out!";navigator.share({title:i,text:s,url:this.shareUrl}).then(()=>{}).catch(a=>{this.showModal=!0})}else this.showModal=!0;this.showModal=!0},copyLink(){navigator.clipboard.writeText(this.shareUrl).then(()=>{p("Copied!",{position:"bottom-center",type:"success",timeout:1500,closeOnClick:!0,pauseOnFocusLoss:!0,pauseOnHover:!0,draggable:!0,draggablePercent:.6,showCloseButtonOnHover:!1,hideProgressBar:!1,closeButton:!0,icon:!0,rtl:!1})}).catch(o=>{})}},mounted(){this.shareUrl=window.location.href}},h=o=>(_("data-v-d913a747"),o=o(),m(),o),f=h(()=>e("i",{class:"bi bi-share-fill"},null,-1)),y=[f],g={key:0,class:"modal fade show",id:"shareModal",tabindex:"-1","aria-labelledby":"shareModalLabel",style:{display:"block"},"aria-modal":"true",role:"dialog"},k={class:"modal-dialog modal-dialog-centered"},v={class:"modal-content"},w={class:"modal-header"},x=h(()=>e("h1",{class:"modal-title fs-5 text-black fw-bold",id:"shareModalLabel"}," Share to Friends ",-1)),S={class:"modal-body d-grid gap-2"},C=["value"],M={key:1,class:"modal-backdrop fade show"};function B(o,t,d,i,s,a){return n(),r("div",null,[e("button",{type:"button",class:"align-self-center btn btn-outline-light ms-2",onClick:t[0]||(t[0]=(...l)=>a.handleShareButton&&a.handleShareButton(...l))},y),s.showModal?(n(),r("div",g,[e("div",k,[e("div",v,[e("div",w,[x,e("button",{type:"button",class:"btn-close",onClick:t[1]||(t[1]=l=>s.showModal=!1),"aria-label":"Close"})]),e("div",S,[e("input",{type:"text",readonly:"",class:"form-control",value:s.shareUrl},null,8,C),e("button",{class:"btn btn-primary w-full",onClick:t[2]||(t[2]=(...l)=>a.copyLink&&a.copyLink(...l))}," Copy Link ")])])])])):c("",!0),s.showModal?(n(),r("div",M)):c("",!0)])}const T=u(b,[["render",B],["__scopeId","data-v-d913a747"]]);export{T as default};

Binary file not shown.

View File

@@ -1 +1 @@
import{_ as o,o as p,c,a as r,b as u,p as i,d as m,e as g,f as _,g as d,v as f,Z as n,h as l}from"./vue-1b15f6c7.js";const A={name:"AppAuth"};function $(s,a,t,Z,w,x){return p(),c("div")}const h=o(A,[["render",$]]),e=r({AppAuth:h}),v=Object.assign({});e.use(u());e.use(i,m);e.use(g);e.use(_);e.use(d);e.use(f.ZiggyVue,n);window.Ziggy=n;Object.entries({...v}).forEach(([s,a])=>{const t=s.split("/").pop().replace(/\.\w+$/,"").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();e.component(t,l(a))});e.mount("#app");
import{_ as o,o as p,c,a as r,b as u,p as i,d as m,e as g,f as _,g as d,v as f,Z as n,h as l}from"./vue-4ae8bf2c.js";const A={name:"AppAuth"};function $(s,a,t,Z,w,x){return p(),c("div")}const h=o(A,[["render",$]]),e=r({AppAuth:h}),v=Object.assign({});e.use(u());e.use(i,m);e.use(g);e.use(_);e.use(d);e.use(f.ZiggyVue,n);window.Ziggy=n;Object.entries({...v}).forEach(([s,a])=>{const t=s.split("/").pop().replace(/\.\w+$/,"").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();e.component(t,l(a))});e.mount("#app");

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@@ -1,9 +1,9 @@
{
"_vue-1b15f6c7.js": {
"_vue-4ae8bf2c.js": {
"css": [
"assets/vue-935fc652.css"
],
"file": "assets/vue-1b15f6c7.js"
"file": "assets/vue-4ae8bf2c.js"
},
"node_modules/bootstrap-icons/font/fonts/bootstrap-icons.woff": {
"file": "assets/bootstrap-icons-4d4572ef.woff",
@@ -178,32 +178,48 @@
"src": "resources/images/tints/tint-9.png"
},
"resources/js/app-auth.js": {
"file": "assets/app-auth-25a86e45.js",
"file": "assets/app-auth-21f7e445.js",
"imports": [
"_vue-1b15f6c7.js"
"_vue-4ae8bf2c.js"
],
"isEntry": true,
"src": "resources/js/app-auth.js"
},
"resources/js/app-front.js": {
"dynamicImports": [
"resources/js/vue/front/LqipLoader.vue"
"resources/js/vue/front/LqipLoader.vue",
"resources/js/vue/front/ShareToFriends.vue"
],
"file": "assets/app-front-3e4d9dac.js",
"file": "assets/app-front-78ecf9bd.js",
"imports": [
"_vue-1b15f6c7.js"
"_vue-4ae8bf2c.js"
],
"isEntry": true,
"src": "resources/js/app-front.js"
},
"resources/js/vue/front/LqipLoader.vue": {
"file": "assets/LqipLoader-5f2dcf6c.js",
"file": "assets/LqipLoader-63085cd5.js",
"imports": [
"_vue-1b15f6c7.js"
"_vue-4ae8bf2c.js"
],
"isDynamicEntry": true,
"src": "resources/js/vue/front/LqipLoader.vue"
},
"resources/js/vue/front/ShareToFriends.css": {
"file": "assets/ShareToFriends-e3b0c442.css",
"src": "resources/js/vue/front/ShareToFriends.css"
},
"resources/js/vue/front/ShareToFriends.vue": {
"css": [
"assets/ShareToFriends-e3b0c442.css"
],
"file": "assets/ShareToFriends-5cbb942f.js",
"imports": [
"_vue-4ae8bf2c.js"
],
"isDynamicEntry": true,
"src": "resources/js/vue/front/ShareToFriends.vue"
},
"resources/sass/app-auth.scss": {
"file": "assets/app-auth-38851d9d.css",
"isEntry": true,

Binary file not shown.