From d585fc909fd76e77a8aed7cc8a7ecb66c795c747 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A5=87=E8=B6=A3=E4=BF=9D=E7=BD=97?= Date: Thu, 21 May 2026 11:25:35 +0800 Subject: [PATCH] =?UTF-8?q?Feat:=20=E6=96=B0=E5=A2=9E=E8=AF=AD=E5=BD=95?= =?UTF-8?q?=E9=A1=B5=E5=92=8C=E9=80=9A=E7=9F=A5=E6=8F=90=E7=A4=BA=E7=BB=84?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/gallery/image-box/index.tsx | 8 +- app/components/layout/header.tsx | 1 + app/components/ui/icons.tsx | 8 + app/components/ui/notice/Notice.module.css | 12 ++ app/components/ui/notice/index.tsx | 92 ++++++++++ app/components/ui/notice/utils.ts | 33 ++++ app/hooks/use-hydrated.tsx | 13 ++ app/routes.ts | 1 + app/routes/app-layout.tsx | 2 + app/routes/say.module.css | 47 +++++ app/routes/say.tsx | 168 ++++++++++++++++++ app/types/api.say.d.ts | 17 ++ 12 files changed, 400 insertions(+), 2 deletions(-) create mode 100644 app/components/ui/notice/Notice.module.css create mode 100644 app/components/ui/notice/index.tsx create mode 100644 app/components/ui/notice/utils.ts create mode 100644 app/hooks/use-hydrated.tsx create mode 100644 app/routes/say.module.css create mode 100644 app/routes/say.tsx create mode 100644 app/types/api.say.d.ts diff --git a/app/components/biz/gallery/image-box/index.tsx b/app/components/biz/gallery/image-box/index.tsx index af6a3a8..5d06513 100644 --- a/app/components/biz/gallery/image-box/index.tsx +++ b/app/components/biz/gallery/image-box/index.tsx @@ -1,8 +1,9 @@ /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */ /* eslint-disable jsx-a11y/click-events-have-key-events */ import React, { useState, useRef, useImperativeHandle, forwardRef, type Ref } from "react"; -import { createPortal } from 'react-dom'; -import { clsn } from '~/utils'; +import { createPortal } from "react-dom"; +import { X } from "~/components/ui/icons"; +import { clsn } from "~/utils"; const parseMeta = (metaStr: string) => { try { @@ -151,6 +152,9 @@ function LightBox({ className, list }: LightBoxProps, ref: Ref) { onWheel={onScroll} >
+ {isVideo ? (