Compare commits

..

No commits in common. "7fc0dac9156093394ee71b300d15d97f9d0eeaba" and "79b7687b096249f44ece92145f653e0e06e5c36c" have entirely different histories.

5 changed files with 30 additions and 43 deletions

View File

@ -68,9 +68,6 @@
"onWatcherCleanup": true,
"useId": true,
"useModel": true,
"useTemplateRef": true,
"DirectiveBinding": true,
"MaybeRef": true,
"MaybeRefOrGetter": true
"useTemplateRef": true
}
}

View File

@ -3,7 +3,6 @@
// @ts-nocheck
// noinspection JSUnusedGlobalSymbols
// Generated by unplugin-auto-import
// biome-ignore lint: disable
export {}
declare global {
const EffectScope: typeof import('vue')['EffectScope']
@ -68,7 +67,7 @@ declare global {
// for type re-export
declare global {
// @ts-ignore
export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
export type { Component, ComponentPublicInstance, ComputedRef, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue'
import('vue')
}
// for vue template auto import
@ -106,7 +105,6 @@ declare module 'vue' {
readonly onServerPrefetch: UnwrapRef<typeof import('vue')['onServerPrefetch']>
readonly onUnmounted: UnwrapRef<typeof import('vue')['onUnmounted']>
readonly onUpdated: UnwrapRef<typeof import('vue')['onUpdated']>
readonly onWatcherCleanup: UnwrapRef<typeof import('vue')['onWatcherCleanup']>
readonly provide: UnwrapRef<typeof import('vue')['provide']>
readonly reactive: UnwrapRef<typeof import('vue')['reactive']>
readonly readonly: UnwrapRef<typeof import('vue')['readonly']>
@ -124,12 +122,9 @@ declare module 'vue' {
readonly useAttrs: UnwrapRef<typeof import('vue')['useAttrs']>
readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']>
readonly useCssVars: UnwrapRef<typeof import('vue')['useCssVars']>
readonly useId: UnwrapRef<typeof import('vue')['useId']>
readonly useModel: UnwrapRef<typeof import('vue')['useModel']>
readonly useRoute: UnwrapRef<typeof import('vue-router/auto')['useRoute']>
readonly useRouter: UnwrapRef<typeof import('vue-router/auto')['useRouter']>
readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']>
readonly useTemplateRef: UnwrapRef<typeof import('vue')['useTemplateRef']>
readonly watch: UnwrapRef<typeof import('vue')['watch']>
readonly watchEffect: UnwrapRef<typeof import('vue')['watchEffect']>
readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']>

1
src/components.d.ts vendored
View File

@ -9,6 +9,7 @@ declare module 'vue' {
export interface GlobalComponents {
AccountSettings: typeof import('./components/settings/AccountSettings.vue')['default']
AssistantMenu: typeof import('./components/AssistantMenu.vue')['default']
AssistantPublistSettings: typeof import('./components/settings/AssistantPublistSettings.vue')['default']
AssistantSettings: typeof import('./components/settings/AssistantSettings.vue')['default']
Chat: typeof import('./components/chat/Chat.vue')['default']
ChatMenu: typeof import('./components/ChatMenu.vue')['default']

View File

@ -5,23 +5,21 @@ document.head.appendChild(meta);
import "./styles/style.css";
import "./styles/color.less";
import "animate.css";
import { createApp } from 'vue'
import App from './App.vue'
import naive from 'naive-ui'
import router from "./router";
import { registerPlugins } from "./plugins";
import router from "./router";
const app = createApp(App)
app.use(naive)
import App from "./App.vue";
import { createApp } from "vue";
const app = createApp(App);
registerPlugins(app);
app.use(router);
// @ts-ignore ...
if (process.env.NODE_ENV === "production") {
setTimeout(() => {
const appContainer = document.getElementById("app");
@ -30,6 +28,7 @@ if (process.env.NODE_ENV === "production") {
}
setTimeout(() => {
const defaultLoader = document.getElementById("default-loader");
// remove
defaultLoader?.remove();
}, 300);
@ -37,9 +36,7 @@ if (process.env.NODE_ENV === "production") {
app.mount("#app");
}, 300);
setTimeout(() => {
if (appContainer) {
appContainer.style.opacity = "1";
}
appContainer!.style.opacity = "1";
}, 300);
}, 200);
} else {

View File

@ -4,16 +4,16 @@
<div class="container">
<!-- Spotlight 区域 -->
<n-card class="spotlight" :bordered="false">
<div class="background-pattern"></div>
<div class="background-text">
Leaflow <span class="background-amber">Amber</span>
</div>
<div class="spotlight-content">
<h1 class="title break-normal">
Leaflow <span class="amber-text">Amber</span>
</h1>
<h1 class="title">Leaflow <span class="amber-text">Amber</span></h1>
<p class="subtitle">
下一代智能体平台为您的数字生活带来革命性变化
<br class="mobile-break" />
<a @click="gotoLogin" class="cta-link cursor-pointer"
>立即体验 🚀</a
>
<a href="#" class="cta-link">立即体验 🚀</a>
</p>
<div
class="stats"
@ -85,18 +85,17 @@
<!-- 功能特点展示 -->
<div class="features-section">
<h2 class="section-title">Amber 核心特性</h2>
<n-grid
cols="1 m:2 l:3 xl:3 2xl:3"
:x-gap="24"
:y-gap="24"
responsive="screen"
<n-grid :cols="3" :x-gap="24" :y-gap="24" responsive="screen">
<n-gi
span="3 m:1"
v-for="(feature, index) in features"
:key="index"
>
<n-gi v-for="(feature, index) in features" :key="index">
<div
class="feature-card"
@click="toggleFeatureDescription(feature)"
>
<div>
<div class="feature-content">
<div class="feature-icon">{{ feature.icon }}</div>
<div class="feature-title">{{ feature.title }}</div>
<transition name="fade-height" mode="out-in">
@ -157,17 +156,13 @@ import {
} from "naive-ui";
import { SchemaSiteUsageResponse } from "@/api";
import getApi from "@/plugins/api";
import router from "@/router";
import grouppng from "@/assets/images/group.png";
const osTheme = useOsTheme();
const theme = computed(() => (osTheme.value === "dark" ? darkTheme : null));
const siteUsage = ref<SchemaSiteUsageResponse>({});
const gotoLogin = () => {
router.push("/auth/login");
};
const features = ref([
{
icon: "💬",
@ -224,7 +219,8 @@ const partners = ref([
name: "HiMCBBS 我的世界中文论坛",
logo: "https://www.himcbbs.com/data/assets/logo/wxmc_logo_text_blue.svg",
link: "https://www.himcbbs.com/",
description: "中国我的世界玩家社区,提供游戏资讯、模组下载和创意分享。",
description:
"中国最大的我的世界玩家社区,提供游戏资讯、模组下载和创意分享。",
},
//
]);
@ -270,6 +266,7 @@ body {
'theme ? "rgba(0, 0, 0, 0.5)" : "rgba(78, 187, 192, 0.1)"'
);
backdrop-filter: blur(10px);
height: 70vh;
min-height: 500px;
display: flex;
align-items: center;