This commit is contained in:
eric
2026-03-16 05:41:47 -05:00
parent ff31ef8001
commit c54d46517c
16 changed files with 796 additions and 286 deletions

View File

@@ -1,3 +1,5 @@
import { getNextWeekendDates } from "@/app/lib/dates";
/** 开放城市 - 仅深圳 */
export const CITIES = ["深圳"] as const;
@@ -13,8 +15,8 @@ export const ACTIVITY_TYPES = {
export const SESSION_TAGS = {
"first-friendly": "首次友好",
"public-venue": "公开场地",
"small-group": "6-8 人",
"weekend-pm": "周末下午",
"min-4": "4人成行",
"weekend-pm": "周末",
"loft": "loft民宿",
"light-topic": "轻话题",
} as const;
@@ -23,29 +25,44 @@ export const SESSION_TAGS = {
const IMG_LOFT_1 = "https://images.unsplash.com/photo-1560448204-e02f11c3d0e2?w=400&h=300&fit=crop";
const IMG_LOFT_2 = "https://images.unsplash.com/photo-1502672260266-1c1ef2d93688?w=400&h=300&fit=crop";
/** 本周活动场次 */
export const SESSIONS = [
{ id: "session-1", date: "3月16日 周六", time: "14:00", place: "南山区某loft民宿", city: "深圳", type: "skill-exchange" as const, title: "周末技能交换", coverImage: IMG_LOFT_1, tags: ["first-friendly", "public-venue", "small-group", "weekend-pm", "loft", "light-topic"] as const },
{ id: "session-2", date: "3月17日 周日", time: "15:00", place: "福田区某loft民宿", city: "深圳", type: "side-hustle" as const, title: "副业沙龙", coverImage: IMG_LOFT_2, tags: ["first-friendly", "public-venue", "small-group", "weekend-pm", "loft"] as const },
];
/** 龙华区红山地铁站 GPS */
export const HONGSHAN_COORDS = { lat: 22.6569, lng: 114.0297 };
/** 本周活动场次(日期占位,实际由 getSessionsWithDates 动态计算) */
const SESSIONS_BASE = [
{ id: "session-1", time: "15:00-18:00", place: "龙华区红山地铁站", city: "深圳", type: "skill-exchange" as const, title: "周末轻社交", coverImage: IMG_LOFT_1, tags: ["first-friendly", "public-venue", "min-4", "weekend-pm", "loft", "light-topic"] as const },
{ id: "session-2", time: "09:00-12:00", place: "龙华区红山地铁站", city: "深圳", type: "side-hustle" as const, title: "数字游民沙龙", coverImage: IMG_LOFT_2, tags: ["first-friendly", "public-venue", "min-4", "weekend-pm", "loft"] as const },
] as const;
/** 获取带动态日期的本周场次(周六/周日自动计算,中国时区) */
export function getSessionsWithDates() {
const { saturday, sunday } = getNextWeekendDates();
return [
{ ...SESSIONS_BASE[0], date: saturday },
{ ...SESSIONS_BASE[1], date: sunday },
];
}
/** 本周活动场次(静态引用,用于 API 等不需要日期的场景) */
export const SESSIONS = SESSIONS_BASE;
/** 历史活动(用于时间轴展示) */
export const PAST_SESSIONS = [
{ id: "past-1", date: "3月9日 周六", time: "14:00", place: "福田区某loft民宿", city: "深圳", type: "skill-exchange" as const, title: "周末技能交换", coverImage: IMG_LOFT_1, tags: ["loft", "light-topic"] as const },
{ id: "past-2", date: "3月10日 周日", time: "15:00", place: "南山区某loft民宿", city: "深圳", type: "side-hustle" as const, title: "副业沙龙", coverImage: IMG_LOFT_2, tags: ["loft"] as const },
{ id: "past-3", date: "3月2日 周六", time: "14:00", place: "南山区某loft民宿", city: "深圳", type: "skill-exchange" as const, title: "周末技能交换", coverImage: IMG_LOFT_1, tags: ["loft"] as const },
{ id: "past-4", date: "3月3日 周日", time: "15:00", place: "福田区某loft民宿", city: "深圳", type: "side-hustle" as const, title: "副业沙龙", coverImage: IMG_LOFT_2, tags: ["loft"] as const },
{ id: "past-5", date: "2月24日 周六", time: "14:00", place: "南山区某loft民宿", city: "深圳", type: "skill-exchange" as const, title: "周末技能交换", coverImage: IMG_LOFT_1, tags: ["loft"] as const },
{ id: "past-1", date: "3月9日 周六", time: "15:00-18:00", place: "龙华区红山地铁站", city: "深圳", type: "skill-exchange" as const, title: "周末轻社交", coverImage: IMG_LOFT_1, tags: ["loft", "light-topic"] as const },
{ id: "past-2", date: "3月10日 周日", time: "09:00-12:00", place: "龙华区红山地铁站", city: "深圳", type: "side-hustle" as const, title: "数字游民沙龙", coverImage: IMG_LOFT_2, tags: ["loft"] as const },
{ id: "past-3", date: "3月2日 周六", time: "15:00-18:00", place: "龙华区红山地铁站", city: "深圳", type: "skill-exchange" as const, title: "周末轻社交", coverImage: IMG_LOFT_1, tags: ["loft"] as const },
{ id: "past-4", date: "3月3日 周日", time: "09:00-12:00", place: "龙华区红山地铁站", city: "深圳", type: "side-hustle" as const, title: "数字游民沙龙", coverImage: IMG_LOFT_2, tags: ["loft"] as const },
{ id: "past-5", date: "2月24日 周六", time: "15:00-18:00", place: "龙华区红山地铁站", city: "深圳", type: "skill-exchange" as const, title: "周末轻社交", coverImage: IMG_LOFT_1, tags: ["loft"] as const },
];
/** 主理人 */
/** 发起人 - 点击跳转小红书 */
export const HOSTS = [
{ id: "host-1", name: "主理人1", avatar: "https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=120&h=120&fit=crop&crop=face", bio: "数字游民社区发起人,热爱连接同频的人。", intro: "主理人1的详细介绍... 负责周末沙龙的策划与运营,希望打造一个轻松、有温度的线下社交空间。" },
{ id: "host-2", name: "主理人2", avatar: "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=120&h=120&fit=crop&crop=face", bio: "副业探索者,相信小圈子有大能量。", intro: "主理人2的详细介绍... 专注副业沙龙与技能交换,帮助大家发现更多可能性。" },
{ id: "host-1", name: "发起人", avatar: "/images/11.webp", bio: "数字游民社区发起人,热爱连接同频的人。", link: "https://xhslink.com/m/9H50QYiVOVx" },
{ id: "host-2", name: "志愿者", avatar: "/images/volunteer-mystery.svg", bio: "签到、茶歇准备、拍照摄像。", link: "/volunteer" },
];
/** 数字游民社区 - 符合条件时显示的微信二维码(需替换为实际图片 URL) */
export const DIGITAL_NOMAD_WECHAT_QR = "/images/wechat-qr-placeholder.svg";
/** 数字游民社区 - 符合条件时显示的微信二维码 */
export const DIGITAL_NOMAD_WECHAT_QR = "/images/QR.png";
/** 最近报名意向 - mock 数据,含小红书昵称与主页链接(悬浮显示昵称,点击不跳转) */
export const RECENT_JOINERS = [