's'
This commit is contained in:
53
config/filter.config.ts
Normal file
53
config/filter.config.ts
Normal file
@@ -0,0 +1,53 @@
|
||||
/**
|
||||
* 筛选栏配置
|
||||
*/
|
||||
|
||||
export interface FilterOption {
|
||||
value: string;
|
||||
label: string;
|
||||
}
|
||||
|
||||
export const FILTER_OPTIONS: FilterOption[] = [
|
||||
{ value: "all", label: "全部" },
|
||||
{ value: "popular", label: "热门" },
|
||||
{ value: "cheap", label: "便宜" },
|
||||
{ value: "fast-internet", label: "高速网络" },
|
||||
{ value: "warm", label: "温暖" },
|
||||
{ value: "safe", label: "安全" },
|
||||
{ value: "beach", label: "海滨" },
|
||||
{ value: "mountain", label: "山城" },
|
||||
{ value: "urban", label: "都市" },
|
||||
{ value: "food", label: "美食" },
|
||||
{ value: "culture", label: "文化" },
|
||||
{ value: "tier-1", label: "一线城市" },
|
||||
{ value: "new-tier-1", label: "新一线" },
|
||||
{ value: "livable", label: "宜居" },
|
||||
{ value: "historical", label: "历史名城" },
|
||||
{ value: "friendly", label: "友好社区" },
|
||||
{ value: "outdoor", label: "户外运动" },
|
||||
];
|
||||
|
||||
export const FILTER_LABELS = {
|
||||
title: "发现目的地",
|
||||
resultCount: "个城市",
|
||||
sortLabel: "排序:",
|
||||
tags: {
|
||||
全部: "🌍",
|
||||
热门: "🔥",
|
||||
便宜: "💰",
|
||||
高速网络: "📡",
|
||||
温暖: "☀️",
|
||||
安全: "🛡️",
|
||||
海滨: "🏖️",
|
||||
山城: "🏔️",
|
||||
都市: "🌆",
|
||||
美食: "🍜",
|
||||
文化: "🎨",
|
||||
一线城市: "🏙️",
|
||||
新一线: "⭐",
|
||||
宜居: "🏡",
|
||||
历史名城: "🏛️",
|
||||
友好社区: "🤝",
|
||||
户外运动: "🏄",
|
||||
},
|
||||
};
|
||||
55
config/footer.config.ts
Normal file
55
config/footer.config.ts
Normal file
@@ -0,0 +1,55 @@
|
||||
/**
|
||||
* 页脚配置
|
||||
*/
|
||||
|
||||
export interface FooterLink {
|
||||
href: string;
|
||||
labelKey: string;
|
||||
}
|
||||
|
||||
export interface FooterSection {
|
||||
titleKey: string;
|
||||
links: FooterLink[];
|
||||
}
|
||||
|
||||
export const FOOTER_SECTIONS: FooterSection[] = [
|
||||
{
|
||||
titleKey: "about",
|
||||
links: [
|
||||
{ href: "/about", labelKey: "aboutUs" },
|
||||
{ href: "/blog", labelKey: "blog" },
|
||||
{ href: "/careers", labelKey: "careers" },
|
||||
{ href: "/press", labelKey: "press" },
|
||||
],
|
||||
},
|
||||
{
|
||||
titleKey: "support",
|
||||
links: [
|
||||
{ href: "/help", labelKey: "helpCenter" },
|
||||
{ href: "/safety", labelKey: "safety" },
|
||||
{ href: "/guidelines", labelKey: "guidelines" },
|
||||
{ href: "/contact", labelKey: "contactUs" },
|
||||
],
|
||||
},
|
||||
{
|
||||
titleKey: "legal",
|
||||
links: [
|
||||
{ href: "/terms", labelKey: "termsOfService" },
|
||||
{ href: "/privacy", labelKey: "privacyPolicy" },
|
||||
{ href: "/cookies", labelKey: "cookiePolicy" },
|
||||
],
|
||||
},
|
||||
{
|
||||
titleKey: "social",
|
||||
links: [
|
||||
{ href: "https://twitter.com", labelKey: "twitter" },
|
||||
{ href: "https://facebook.com", labelKey: "facebook" },
|
||||
{ href: "https://instagram.com", labelKey: "instagram" },
|
||||
{ href: "https://youtube.com", labelKey: "youtube" },
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
export function getFooterSections() {
|
||||
return FOOTER_SECTIONS;
|
||||
}
|
||||
148
config/home.config.ts
Normal file
148
config/home.config.ts
Normal file
@@ -0,0 +1,148 @@
|
||||
/**
|
||||
* 首页静态数据配置
|
||||
*/
|
||||
|
||||
export interface MemberPhoto {
|
||||
name: string;
|
||||
photo: string;
|
||||
}
|
||||
|
||||
export interface TravelingNow {
|
||||
name: string;
|
||||
photo: string;
|
||||
dest: string;
|
||||
}
|
||||
|
||||
export interface Meetup {
|
||||
city: string;
|
||||
emoji: string;
|
||||
date: string;
|
||||
count: number;
|
||||
}
|
||||
|
||||
export interface HotTopic {
|
||||
title: string;
|
||||
views: number;
|
||||
}
|
||||
|
||||
export interface Route {
|
||||
title: string;
|
||||
cities: string[];
|
||||
emojis: string[];
|
||||
duration: string;
|
||||
cost: string;
|
||||
desc: string;
|
||||
gradient: string;
|
||||
}
|
||||
|
||||
export interface HomeStats {
|
||||
cities: string;
|
||||
nomads: string;
|
||||
meetups: string;
|
||||
homeMeetups: string;
|
||||
cost: string;
|
||||
}
|
||||
|
||||
export const MEMBER_PHOTOS: MemberPhoto[] = [
|
||||
{ name: "林晓", photo: "https://i.pravatar.cc/150?img=5" },
|
||||
{ name: "张浩", photo: "https://i.pravatar.cc/150?img=3" },
|
||||
{ name: "陈悦", photo: "https://i.pravatar.cc/150?img=9" },
|
||||
{ name: "周杰", photo: "https://i.pravatar.cc/150?img=7" },
|
||||
{ name: "吴婷", photo: "https://i.pravatar.cc/150?img=1" },
|
||||
{ name: "杨帅", photo: "https://i.pravatar.cc/150?img=12" },
|
||||
{ name: "赵琪", photo: "https://i.pravatar.cc/150?img=16" },
|
||||
{ name: "黄磊", photo: "https://i.pravatar.cc/150?img=11" },
|
||||
{ name: "孙莉", photo: "https://i.pravatar.cc/150?img=20" },
|
||||
];
|
||||
|
||||
export const TRAVELING_NOW: TravelingNow[] = [
|
||||
{ name: "小明", photo: "https://i.pravatar.cc/150?img=52", dest: "大理" },
|
||||
{ name: "雨晴", photo: "https://i.pravatar.cc/150?img=44", dest: "成都" },
|
||||
{ name: "阿杰", photo: "https://i.pravatar.cc/150?img=53", dest: "深圳" },
|
||||
{ name: "小燕", photo: "https://i.pravatar.cc/150?img=47", dest: "杭州" },
|
||||
{ name: "大伟", photo: "https://i.pravatar.cc/150?img=55", dest: "厦门" },
|
||||
{ name: "佳琪", photo: "https://i.pravatar.cc/150?img=48", dest: "昆明" },
|
||||
{ name: "志远", photo: "https://i.pravatar.cc/150?img=57", dest: "丽江" },
|
||||
{ name: "心怡", photo: "https://i.pravatar.cc/150?img=49", dest: "三亚" },
|
||||
{ name: "凯文", photo: "https://i.pravatar.cc/150?img=59", dest: "上海" },
|
||||
{ name: "子豪", photo: "https://i.pravatar.cc/150?img=60", dest: "北京" },
|
||||
{ name: "浩然", photo: "https://i.pravatar.cc/150?img=61", dest: "广州" },
|
||||
{ name: "雅琪", photo: "https://i.pravatar.cc/150?img=21", dest: "南京" },
|
||||
{ name: "天翔", photo: "https://i.pravatar.cc/150?img=67", dest: "长沙" },
|
||||
{ name: "美玲", photo: "https://i.pravatar.cc/150?img=23", dest: "苏州" },
|
||||
{ name: "俊杰", photo: "https://i.pravatar.cc/150?img=68", dest: "青岛" },
|
||||
{ name: "晓华", photo: "https://i.pravatar.cc/150?img=26", dest: "珠海" },
|
||||
];
|
||||
|
||||
export const MEETUPS: Meetup[] = [
|
||||
{ city: "大理", emoji: "🏯", date: "3月9日", count: 12 },
|
||||
{ city: "成都", emoji: "🐼", date: "3月12日", count: 8 },
|
||||
{ city: "深圳", emoji: "🌃", date: "3月14日", count: 15 },
|
||||
{ city: "厦门", emoji: "🌊", date: "3月16日", count: 6 },
|
||||
{ city: "杭州", emoji: "⛲", date: "3月20日", count: 23 },
|
||||
];
|
||||
|
||||
export const HOT_TOPICS: HotTopic[] = [
|
||||
{ title: "大理最佳共享办公空间推荐 Top 10", views: 2340 },
|
||||
{ title: "2026年数字游民友好城市排名", views: 1890 },
|
||||
{ title: "远程工作者的税务规划指南", views: 1560 },
|
||||
{ title: "成都 vs 大理:哪个更适合游民?", views: 1230 },
|
||||
{ title: "新手游民必备工具与装备清单", views: 980 },
|
||||
];
|
||||
|
||||
export const ROUTES: Route[] = [
|
||||
{
|
||||
title: "云南慢生活线",
|
||||
cities: ["昆明", "大理", "丽江"],
|
||||
emojis: ["🌸", "🏯", "🏔️"],
|
||||
duration: "3-6个月",
|
||||
cost: "¥3,200/月起",
|
||||
desc: "从春城昆明出发,沿着滇西北一路感受最纯粹的慢生活",
|
||||
gradient: "from-purple-500 to-pink-500",
|
||||
},
|
||||
{
|
||||
title: "科技创业线",
|
||||
cities: ["深圳", "杭州", "上海"],
|
||||
emojis: ["🌃", "⛲", "🏙️"],
|
||||
duration: "2-4个月",
|
||||
cost: "¥7,000/月起",
|
||||
desc: "穿越中国三大科技中心,连接最前沿的创业生态",
|
||||
gradient: "from-blue-500 to-cyan-500",
|
||||
},
|
||||
{
|
||||
title: "美食文化线",
|
||||
cities: ["成都", "重庆", "长沙"],
|
||||
emojis: ["🐼", "🌶️", "🎪"],
|
||||
duration: "2-3个月",
|
||||
cost: "¥4,000/月起",
|
||||
desc: "巴蜀到湘楚,用味蕾丈量中国最火辣的城市",
|
||||
gradient: "from-orange-500 to-red-500",
|
||||
},
|
||||
];
|
||||
|
||||
export const HOME_STATS: HomeStats = {
|
||||
cities: "18",
|
||||
nomads: "5,000+",
|
||||
meetups: "8+",
|
||||
homeMeetups: "50+",
|
||||
cost: "¥3,000",
|
||||
};
|
||||
|
||||
export const COMMUNITY_STATS = {
|
||||
onlineMembers: "3,200+",
|
||||
messagesPerMonth: "3,200+",
|
||||
};
|
||||
|
||||
export const HOME_CONFIG = {
|
||||
memberPhotos: MEMBER_PHOTOS,
|
||||
travelingNow: TRAVELING_NOW,
|
||||
meetups: MEETUPS,
|
||||
hotTopics: HOT_TOPICS,
|
||||
routes: ROUTES,
|
||||
stats: HOME_STATS,
|
||||
communityStats: COMMUNITY_STATS,
|
||||
};
|
||||
|
||||
export function getHomeConfig() {
|
||||
return HOME_CONFIG;
|
||||
}
|
||||
@@ -1,4 +1,8 @@
|
||||
export { SITE_CONFIG, getSiteConfig } from "./site.config";
|
||||
export { getNavLinks, type NavLink } from "./nav.config";
|
||||
export { getHomeConfig, HOME_CONFIG, MEMBER_PHOTOS, TRAVELING_NOW, MEETUPS, HOT_TOPICS, ROUTES, HOME_STATS, COMMUNITY_STATS, type MemberPhoto, type TravelingNow, type Meetup, type HotTopic, type Route, type HomeStats } from "./home.config";
|
||||
export { FILTER_OPTIONS, FILTER_LABELS, type FilterOption } from "./filter.config";
|
||||
export { FOOTER_SECTIONS, getFooterSections, type FooterLink, type FooterSection } from "./footer.config";
|
||||
export {
|
||||
getPocketBaseConfig,
|
||||
getPaymentConfig,
|
||||
|
||||
25
config/nav.config.ts
Normal file
25
config/nav.config.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* 导航链接配置
|
||||
*/
|
||||
|
||||
export interface NavLink {
|
||||
labelKey: "cities" | "dashboard" | "travel" | "community" | "tools" | "ai" | "gigs" | "pricing" | "explore";
|
||||
icon: string;
|
||||
href: string;
|
||||
}
|
||||
|
||||
export const NAV_LINKS: NavLink[] = [
|
||||
{ labelKey: "cities", icon: "🏙️", href: "/" },
|
||||
{ labelKey: "dashboard", icon: "📍", href: "/dashboard" },
|
||||
{ labelKey: "travel", icon: "✈️", href: "/meetups" },
|
||||
{ labelKey: "community", icon: "💬", href: "/dating" },
|
||||
{ labelKey: "tools", icon: "📊", href: "/tools" },
|
||||
{ labelKey: "ai", icon: "🤖", href: "/ai" },
|
||||
{ labelKey: "gigs", icon: "💰", href: "/gigs" },
|
||||
{ labelKey: "pricing", icon: "👑", href: "/pricing" },
|
||||
{ labelKey: "explore", icon: "🎒", href: "/#community" },
|
||||
];
|
||||
|
||||
export function getNavLinks() {
|
||||
return NAV_LINKS;
|
||||
}
|
||||
Reference in New Issue
Block a user