调整按钮逻辑,减少闪动
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2026-03-27 12:02:17 +08:00
parent 732774551d
commit 88099b6819
3 changed files with 26 additions and 4 deletions

View File

@ -2,8 +2,15 @@
import { onMount } from 'svelte'
import { mainpageClick, mainpageGetClick } from '../lib/apis/legacy/mainpage'
let clicks = 0
let clicksPending = 0
interface Props {
initialClicks?: number
}
let { initialClicks = 0 }: Props = $props()
// svelte-ignore state_referenced_locally
let clicks = $state(initialClicks)
let clicksPending = $state(0)
onMount(() => {
// 先 fetch 一次

View File

@ -1,7 +1,9 @@
import axios from 'axios'
export const legacyClient = axios.create({
baseURL: '/api/legacy',
baseURL: import.meta.env.SSR
? 'https://legacy.passthem.top/api'
: '/api/legacy',
timeout: 6000,
withCredentials: true,
headers: {

View File

@ -1,6 +1,19 @@
---
import BoringLayout from '../layout/BoringLayout.astro'
import MainpageButton from '../components/MainpageButton.svelte'
import { mainpageGetClick } from '../lib/apis/legacy/mainpage'
// 无用按钮的数字预注入
let initialClicks = 0
try {
const resp = await mainpageGetClick()
initialClicks = resp.data
} catch (e) {
console.error('在获取点击数量时失败了', e)
}
---
<BoringLayout>
@ -8,5 +21,5 @@ import MainpageButton from '../components/MainpageButton.svelte'
<p>点击 <a href="https://legacy.passthem.top">这里</a> 查看旧版博客</p>
<p>或者了解更多 <a href="/about">关于这里</a></p>
<p>也欢迎你来 <a href="/contact">联络我</a></p>
<p><MainpageButton client:only /></p>
<p><MainpageButton initialClicks={initialClicks} client:load /></p>
</BoringLayout>