完善视频提炼和视频复刻完善提交测试
This commit is contained in:
@@ -5,6 +5,7 @@ import { useCallback, useEffect, useRef, useState } from "react";
|
||||
import { createPortal } from "react-dom";
|
||||
import { Check, ChevronLeft, FolderPlus, Pencil, Trash2, Upload, Users, X } from "lucide-react";
|
||||
import { api } from "../../api";
|
||||
import { useFileDrop } from "../use-file-drop";
|
||||
import type { FreeAssetGroup, FreeAssetItem, FreeVideoRef } from "../../types";
|
||||
import { useBodyScrollLock } from "../overlays";
|
||||
|
||||
@@ -131,6 +132,17 @@ export function AssetLibraryModal({ open, onClose, onPick, notify }: {
|
||||
}
|
||||
};
|
||||
|
||||
// 素材库弹窗:整块 body 都能接住拖进来的文件。在组内传素材,在组外快速建图。
|
||||
const libDrop = useFileDrop(
|
||||
(files) => {
|
||||
const file = files[0];
|
||||
if (!file) return;
|
||||
if (activeGroup) void uploadAsset(file);
|
||||
else void quickUploadImage(file);
|
||||
},
|
||||
{ disabled: uploading }
|
||||
);
|
||||
|
||||
const quickUploadImage = async (file: File) => {
|
||||
setQuickUploading(true);
|
||||
try {
|
||||
@@ -278,7 +290,11 @@ export function AssetLibraryModal({ open, onClose, onPick, notify }: {
|
||||
</div>
|
||||
<button className="x modal-x" type="button" onClick={onClose} aria-label="关闭"><X size={14} /></button>
|
||||
</div>
|
||||
<div className="modal-b fc-lib-body" onClick={() => { setConfirmDeleteAssetId(null); setConfirmDeleteGroupId(null); }}>
|
||||
<div
|
||||
className={`modal-b fc-lib-body${libDrop.dragging ? " is-dragover" : ""}`}
|
||||
{...libDrop.dropProps}
|
||||
onClick={() => { setConfirmDeleteAssetId(null); setConfirmDeleteGroupId(null); }}
|
||||
>
|
||||
{!activeGroup ? (
|
||||
<>
|
||||
<div className="fc-lib-toolbar">
|
||||
|
||||
Reference in New Issue
Block a user