Show file hash

This commit is contained in:
2025-09-05 14:23:08 +08:00
parent f0079003f2
commit ebfe25e6d8
3 changed files with 12 additions and 1 deletions

View File

@@ -4,14 +4,16 @@ export default function Badge({
children, children,
className, className,
onClick, onClick,
selectable = false,
}: { }: {
children: ReactNode; children: ReactNode;
className?: string; className?: string;
onClick?: () => void; onClick?: () => void;
selectable?: boolean;
}) { }) {
return ( return (
<span <span
className={`badge ${!className?.includes("badge-") && "badge-primary"} select-none ${className}`} className={`badge ${!className?.includes("badge-") && "badge-primary"} ${className} ${!selectable && "select-none"}`}
onClick={onClick} onClick={onClick}
> >
{children} {children}

View File

@@ -104,6 +104,7 @@ export interface RFile {
is_redirect: boolean; is_redirect: boolean;
user: User; user: User;
resource?: Resource; resource?: Resource;
hash?: string;
} }
export interface UploadingFile { export interface UploadingFile {

View File

@@ -37,6 +37,8 @@ import {
MdOutlineFolderSpecial, MdOutlineFolderSpecial,
MdOutlineLink, MdOutlineLink,
MdOutlineOpenInNew, MdOutlineOpenInNew,
MdOutlineVerified,
MdOutlineVerifiedUser,
} from "react-icons/md"; } from "react-icons/md";
import { app } from "../app.ts"; import { app } from "../app.ts";
import { uploadingManager } from "../network/uploading.ts"; import { uploadingManager } from "../network/uploading.ts";
@@ -725,6 +727,12 @@ function FileTile({ file }: { file: RFile }) {
<MdOutlineArchive size={16} className={"inline-block"} /> <MdOutlineArchive size={16} className={"inline-block"} />
{file.is_redirect ? t("Redirect") : fileSizeToString(file.size)} {file.is_redirect ? t("Redirect") : fileSizeToString(file.size)}
</Badge> </Badge>
{
file.hash && <Badge className={"badge-soft badge-accent text-xs mr-2"} selectable={true}>
<MdOutlineVerifiedUser size={16} className={"inline-block"} />
Md5: {file.hash}
</Badge>
}
<DeleteFileDialog fileId={file.id} uploaderId={file.user.id} /> <DeleteFileDialog fileId={file.id} uploaderId={file.user.id} />
<UpdateFileInfoDialog file={file} /> <UpdateFileInfoDialog file={file} />
</p> </p>