mirror of
https://iceshrimp.dev/Crimekillz/jointrashposs.git
synced 2024-11-22 00:43:50 +01:00
(fix) prerenderer error
This commit is contained in:
parent
24349378a2
commit
654f3d158e
@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import ExtIco from 'bi/box-arrow-up-right.svg';
|
import ExtIco from 'bi/box-arrow-up-right.svg';
|
||||||
import { $URL, isRelative, joinURL, cleanDoubleSlashes } from 'ufo';
|
import { $URL, isRelative, joinURL } from 'ufo';
|
||||||
|
|
||||||
const runtimeConfig = useRuntimeConfig();
|
const runtimeConfig = useRuntimeConfig();
|
||||||
const rootDomain = new $URL(runtimeConfig.public.baseUrl);
|
const rootDomain = new $URL(runtimeConfig.public.baseUrl);
|
||||||
|
@ -1,29 +1,29 @@
|
|||||||
<template>
|
<template>
|
||||||
<RealNuxtLink v-bind="props">
|
<NuxtLink
|
||||||
|
v-bind="rawProps"
|
||||||
|
:to="realHref"
|
||||||
|
>
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</RealNuxtLink>
|
</NuxtLink>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { cleanDoubleSlashes } from 'ufo';
|
import { parseURL, cleanDoubleSlashes, withTrailingSlash } from 'ufo';
|
||||||
import { NuxtLinkProps } from 'nuxt/app';
|
import { NuxtLinkProps } from 'nuxt/app';
|
||||||
|
|
||||||
const rawProps = defineProps();
|
const rawProps = defineProps<NuxtLinkProps>();
|
||||||
const props = ref<NuxtLinkProps>(Object.assign({}, rawProps));
|
const realHref = ref(rawProps.to ?? rawProps.href);
|
||||||
|
|
||||||
if (props.value.to && typeof props.value.to === 'string') {
|
if (realHref.value && typeof realHref.value === 'string') {
|
||||||
props.value.to = cleanDoubleSlashes(props.value.to);
|
const runtimeConfig = useRuntimeConfig();
|
||||||
|
const rootDomain = parseURL(runtimeConfig.public.baseUrl);
|
||||||
|
const url = parseURL(realHref.value);
|
||||||
|
|
||||||
|
if (!url.host || rootDomain.host === url.host) {
|
||||||
|
realHref.value = withTrailingSlash(realHref.value, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
realHref.value = cleanDoubleSlashes(realHref.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (props.value.href && typeof props.value.href === 'string') {
|
|
||||||
props.value.href = cleanDoubleSlashes(props.value.href);
|
|
||||||
}
|
|
||||||
|
|
||||||
const RealNuxtLink = defineNuxtLink({
|
|
||||||
trailingSlash: "append",
|
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
|
|
||||||
</style>
|
|
@ -3,15 +3,15 @@
|
|||||||
<h2 class="mb-12 text-2xl lg:text-3xl text-center font-bold font-title">{{ $t('_landing._sponsors.title') }}</h2>
|
<h2 class="mb-12 text-2xl lg:text-3xl text-center font-bold font-title">{{ $t('_landing._sponsors.title') }}</h2>
|
||||||
<div class="mx-auto max-w-[240px] space-y-8 [&>*]:block">
|
<div class="mx-auto max-w-[240px] space-y-8 [&>*]:block">
|
||||||
<!-- スポンサーを入れるときは、リンクとアイコンを適当に並べるだけでいい感じになります -->
|
<!-- スポンサーを入れるときは、リンクとアイコンを適当に並べるだけでいい感じになります -->
|
||||||
<NuxtLink to="https://rss3.io/" target="_blank">
|
<GNuxtLink to="https://rss3.io/" target="_blank">
|
||||||
<img src="/img/sponsors/rss3.svg" />
|
<img src="/img/sponsors/rss3.svg" />
|
||||||
</NuxtLink>
|
</GNuxtLink>
|
||||||
<NuxtLink to="https://skeb.jp/" target="_blank">
|
<GNuxtLink to="https://skeb.jp/" target="_blank">
|
||||||
<img src="/img/sponsors/skeb.svg" />
|
<img src="/img/sponsors/skeb.svg" />
|
||||||
</NuxtLink>
|
</GNuxtLink>
|
||||||
<NuxtLink to="https://www.dotchain.ltd/advirth" target="_blank">
|
<GNuxtLink to="https://www.dotchain.ltd/advirth" target="_blank">
|
||||||
<img src="/img/sponsors/dcadvirth.png" />
|
<img src="/img/sponsors/dcadvirth.png" />
|
||||||
</NuxtLink>
|
</GNuxtLink>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="border border-gray-300 dark:border-gray-800 dark:bg-slate-800 rounded-lg shadow-lg overflow-hidden focus-within:ring-2 ring-accent-500 ring-offset-2">
|
<div class="border border-gray-300 dark:border-gray-800 dark:bg-slate-800 rounded-lg shadow-lg overflow-hidden focus-within:ring-2 ring-accent-500 ring-offset-2">
|
||||||
<NuxtLink :to="`https://${instance.url}`" target="_blank">
|
<GNuxtLink :to="`https://${instance.url}`" target="_blank">
|
||||||
<div class="relative aspect-video bg-gray-200 dark:bg-gray-600">
|
<div class="relative aspect-video bg-gray-200 dark:bg-gray-600">
|
||||||
<img v-if="instance.banner" :src="`https://instanceapp.misskey.page/instance-banners/${instance.url}.webp`" class="w-full h-full object-cover" />
|
<img v-if="instance.banner" :src="`https://instanceapp.misskey.page/instance-banners/${instance.url}.webp`" class="w-full h-full object-cover" />
|
||||||
<img v-else-if="instance.background" :src="`https://instanceapp.misskey.page/instance-backgrounds/${instance.url}.webp`" class="w-full h-full object-cover" />
|
<img v-else-if="instance.background" :src="`https://instanceapp.misskey.page/instance-backgrounds/${instance.url}.webp`" class="w-full h-full object-cover" />
|
||||||
@ -31,7 +31,7 @@
|
|||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</NuxtLink>
|
</GNuxtLink>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ import en from '@/locales/en-US.yml';
|
|||||||
export default defineI18nConfig(() => ({
|
export default defineI18nConfig(() => ({
|
||||||
legacy: false,
|
legacy: false,
|
||||||
locale: 'ja',
|
locale: 'ja',
|
||||||
|
fallbackLocale: 'ja',
|
||||||
messages: {
|
messages: {
|
||||||
ja,
|
ja,
|
||||||
en,
|
en,
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
</GHero>
|
</GHero>
|
||||||
<div class="pb-12 lg:mt-12 pt-6 bg-white dark:bg-slate-950">
|
<div class="pb-12 lg:mt-12 pt-6 bg-white dark:bg-slate-950">
|
||||||
<div class="container mx-auto max-w-screen-lg px-6 space-y-4 lg:space-y-2">
|
<div class="container mx-auto max-w-screen-lg px-6 space-y-4 lg:space-y-2">
|
||||||
<NuxtLink
|
<GNuxtLink
|
||||||
class="block p-4 rounded-lg border border-slate-200 dark:border-accent-900 transition-colors hover:bg-slate-100 dark:hover:bg-slate-800"
|
class="block p-4 rounded-lg border border-slate-200 dark:border-accent-900 transition-colors hover:bg-slate-100 dark:hover:bg-slate-800"
|
||||||
v-for="item in data"
|
v-for="item in data"
|
||||||
:key="item._path"
|
:key="item._path"
|
||||||
@ -25,7 +25,7 @@
|
|||||||
>
|
>
|
||||||
<h3 class="text-lg font-bold mb-2">{{ item.navTitle || item.title }}</h3>
|
<h3 class="text-lg font-bold mb-2">{{ item.navTitle || item.title }}</h3>
|
||||||
<p class="text-sm">{{ item.date ? $d(new Date(item.date)) : '' }}</p>
|
<p class="text-sm">{{ item.date ? $d(new Date(item.date)) : '' }}</p>
|
||||||
</NuxtLink>
|
</GNuxtLink>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
]" />
|
]" />
|
||||||
<Tip>
|
<Tip>
|
||||||
<p class="mb-2">{{ $t('_brandAssets.license') }}</p>
|
<p class="mb-2">{{ $t('_brandAssets.license') }}</p>
|
||||||
<NuxtLink class="inline-block" to="http://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank"><img src="https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png" /></NuxtLink>
|
<GNuxtLink class="inline-block" to="http://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank"><img src="https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png" /></GNuxtLink>
|
||||||
</Tip>
|
</Tip>
|
||||||
<div id="logo">
|
<div id="logo">
|
||||||
<h2 class="text-2xl lg:text-3xl font-bold mb-4">{{ $t(`_brandAssets.logo`) }}</h2>
|
<h2 class="text-2xl lg:text-3xl font-bold mb-4">{{ $t(`_brandAssets.logo`) }}</h2>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<template #description>
|
<template #description>
|
||||||
{{ $t('_servers.description') }}<br>
|
{{ $t('_servers.description') }}<br>
|
||||||
<I18nT keypath="_servers.addYourServer" tag="span">
|
<I18nT keypath="_servers.addYourServer" tag="span">
|
||||||
<NuxtLink class="font-bold hover:underline underline-offset-4" to="https://github.com/joinmisskey/api">{{ $t('_servers.addYourServerLink') }}</NuxtLink>
|
<GNuxtLink class="font-bold hover:underline underline-offset-4" to="https://github.com/joinmisskey/api">{{ $t('_servers.addYourServerLink') }}</GNuxtLink>
|
||||||
</I18nT>
|
</I18nT>
|
||||||
</template>
|
</template>
|
||||||
<template #icon>
|
<template #icon>
|
||||||
|
13
pages/test.vue
Normal file
13
pages/test.vue
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<GNuxtLink :to="localePath('/docs///')">Link</GNuxtLink>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
const localePath = useLocalePath();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
Loading…
Reference in New Issue
Block a user