diff --git a/.env.example b/.env.example index 02710b4..bc822d3 100644 --- a/.env.example +++ b/.env.example @@ -54,3 +54,15 @@ DEV_AUTO_PAY=true # 视频会议 / 群聊 NEXT_PUBLIC_MIROTALK_URL=https://mirotalk.nomadro.cn NEXT_PUBLIC_LOUNGE_URL=https://lounge.nomadro.cn + +# 邮件通讯(Listmonk,Go 轻量服务) +NEXT_PUBLIC_LISTMONK_URL=https://listmonk.nomadro.cn +LISTMONK_API_URL=https://listmonk.nomadro.cn +LISTMONK_API_KEY= +LISTMONK_DEFAULT_LIST_IDS=1 + +# 手机推送(ntfy,Go 轻量服务) +NEXT_PUBLIC_NTFY_URL=https://ntfy.nomadro.cn +NTFY_URL=https://ntfy.nomadro.cn +NTFY_ENABLED=true +NTFY_AUTH_TOKEN= diff --git a/app/[locale]/city/[slug]/page.tsx b/app/[locale]/city/[slug]/page.tsx index f337fd6..074c489 100644 --- a/app/[locale]/city/[slug]/page.tsx +++ b/app/[locale]/city/[slug]/page.tsx @@ -3,6 +3,7 @@ import { use, useEffect, useMemo, useState } from "react"; import { Link } from "@/i18n/navigation"; import Footer from "@/app/components/Footer"; +import NewsletterSubscribe from "@/app/components/NewsletterSubscribe"; import { apiFetch } from "@/app/lib/api-client"; interface CityGuide { @@ -377,6 +378,8 @@ export default function CityGuidePage({ params }: { params: Promise<{ slug: stri + +
{c.chatHint}

)} + {meetup.replayUrl ? ( + + {locale === "zh" ? "观看活动回放" : "Watch replay"} + + ) : null} {embedOpen && canJoin && (