forked from 77media/video-flow
更新 模板选择底板扩展
This commit is contained in:
parent
23c35f68f3
commit
a4192ac71e
@ -17,7 +17,7 @@ import { MobileConfigModal } from './MobileConfigModal';
|
||||
import { AddItemModal } from './AddItemModal';
|
||||
import { defaultConfig } from './config-options';
|
||||
import type { ConfigOptions } from './config-options';
|
||||
import { Eye, Check, ArrowRight, X } from 'lucide-react';
|
||||
import { CircleArrowRight, X } from 'lucide-react';
|
||||
import TemplatePreviewModal from '@/components/common/TemplatePreviewModal';
|
||||
import { PcTemplateModal } from "@/components/ChatInputBox/PcTemplateModal"
|
||||
import { useDeviceType } from '@/hooks/useDeviceType';
|
||||
@ -499,9 +499,25 @@ export default function VideoCreationForm() {
|
||||
<div
|
||||
key={tplKey}
|
||||
data-alt={`mention-template-item-${tplKey}`}
|
||||
className="group relative px-3 py-2 rounded-lg text-gray-200 hover:bg-white/10 transition-colors text-sm"
|
||||
className="group relative px-3 py-2 rounded-lg text-gray-200 hover:bg-white/10 transition-all duration-300 text-sm overflow-hidden hover:h-[106px]"
|
||||
>
|
||||
<div className={`flex items-center gap-3 cursor-pointer ${tpl.pcode === configOptions.pcode ? 'text-custom-blue' : ''}`}
|
||||
{/* Background image on hover */}
|
||||
{Array.isArray((tpl as any).image_url) && (tpl as any).image_url.length > 0 && (
|
||||
<img
|
||||
data-alt="mention-template-bg"
|
||||
src={(tpl as any).image_url[0]}
|
||||
alt=""
|
||||
loading="lazy"
|
||||
aria-hidden="true"
|
||||
className="absolute inset-0 w-full h-full object-cover opacity-0 group-hover:opacity-100 transition-opacity duration-300"
|
||||
/>
|
||||
)}
|
||||
{/* Dark overlay for readability on hover */}
|
||||
<div
|
||||
data-alt="mention-template-overlay"
|
||||
className="pointer-events-none absolute inset-0 bg-black/70 opacity-0 group-hover:opacity-100 transition-opacity duration-300"
|
||||
/>
|
||||
<div className={`relative z-20 flex items-center gap-3 cursor-pointer h-full ${tpl.pcode === configOptions.pcode ? 'text-custom-blue' : ''}`}
|
||||
onClick={() => {
|
||||
setIsMentionOpen(false);
|
||||
const url = (tpl as any).show_url as string | undefined;
|
||||
@ -513,9 +529,9 @@ export default function VideoCreationForm() {
|
||||
}
|
||||
}}
|
||||
>
|
||||
<span className="truncate">{tpl.name}</span>
|
||||
<span className="truncate group-hover:hidden">{tpl.name}</span>
|
||||
{/* Floating actions on hover, right-aligned and overlaying the name */}
|
||||
<div className="absolute right-0 top-1/2 -translate-y-1/2 flex items-center gap-1 opacity-0 group-hover:opacity-100 pointer-events-none group-hover:pointer-events-auto transition-opacity z-10">
|
||||
<div className="absolute right-0 top-1/2 -translate-y-1/2 flex items-center gap-1 opacity-0 group-hover:opacity-100 pointer-events-none group-hover:pointer-events-auto transition-opacity z-30">
|
||||
<button
|
||||
data-alt={`mention-template-use-${tplKey}`}
|
||||
className="px-0 py-1 text-xs rounded-full hover:text-custom-blue/80"
|
||||
@ -527,9 +543,21 @@ export default function VideoCreationForm() {
|
||||
applyTemplateSelection(selected);
|
||||
}}
|
||||
>
|
||||
<ArrowRight className="w-3.5 h-3.5" />
|
||||
<CircleArrowRight className="w-5 h-5" />
|
||||
</button>
|
||||
</div>
|
||||
{/* Description at bottom on hover */}
|
||||
<div
|
||||
data-alt="mention-template-desc"
|
||||
className="absolute top-0 left-0 right-0 bottom-0 text-xs text-white/90 opacity-0 group-hover:opacity-100 translate-y-2 group-hover:translate-y-0 transition-all"
|
||||
>
|
||||
<div
|
||||
data-alt="mention-template-desc-scroll"
|
||||
className="overflow-hidden"
|
||||
>
|
||||
<div className="pr-5 line-clamp-5">{(tpl as any).generateText || tpl.name}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user