11export default defineNuxtPlugin ( ( ) => {
22 const cfg = useRuntimeConfig ( ) . public ;
33
4- // Works on server & client
5- const reqUrl = useRequestURL ( ) ;
6- const absoluteUrl = new URL ( reqUrl . pathname + reqUrl . search + reqUrl . hash , cfg . siteUrl ) . toString ( ) ;
4+ // Only run on client side for SPA mode
5+ if ( process . client ) {
6+ const reqUrl = useRequestURL ( ) ;
7+ const absoluteUrl = new URL ( reqUrl . pathname + reqUrl . search + reqUrl . hash , cfg . siteUrl ) . toString ( ) ;
78
8- // Ensure og:image is absolute too
9- const absoluteOg = cfg . socialPreview ?. startsWith ( "http" )
10- ? cfg . socialPreview
11- : new URL ( cfg . socialPreview || "/images/devcongress-social-card.jpg" , cfg . siteUrl ) . toString ( ) ;
9+ // Ensure og:image is absolute too
10+ const absoluteOg = cfg . socialPreview ?. startsWith ( "http" )
11+ ? cfg . socialPreview
12+ : new URL ( cfg . socialPreview || "/images/devcongress-social-card.jpg" , cfg . siteUrl ) . toString ( ) ;
1213
13- useHead ( {
14- link : [ { rel : "canonical" , href : absoluteUrl } ] ,
15- meta : [
16- { property : "og:url" , content : absoluteUrl } ,
17- { name : "twitter:image" , content : absoluteOg } ,
18- ] ,
19- } ) ;
14+ useHead ( {
15+ link : [ { rel : "canonical" , href : absoluteUrl } ] ,
16+ meta : [
17+ { property : "og:url" , content : absoluteUrl } ,
18+ { name : "twitter:image" , content : absoluteOg } ,
19+ ] ,
20+ } ) ;
21+ }
2022} ) ;
0 commit comments