add
This commit is contained in:
parent
4ee2462f91
commit
1266d076b1
|
@ -9,7 +9,8 @@ export default function PostResources({ post }: { post: PostDto }) {
|
|||
const { resources } = useMemo(() => {
|
||||
if (!post?.resources) return { resources: [] };
|
||||
|
||||
const isImage = (url: string) => /\.(png|jpg|jpeg|gif|webp)$/i.test(url);
|
||||
const isImage = (url: string) =>
|
||||
/\.(png|jpg|jpeg|gif|webp)$/i.test(url);
|
||||
|
||||
const sortedResources = post.resources
|
||||
.map((resource) => ({
|
||||
|
@ -38,8 +39,7 @@ export default function PostResources({ post }: { post: PostDto }) {
|
|||
md={6}
|
||||
lg={6}
|
||||
xl={4}
|
||||
className="relative"
|
||||
>
|
||||
className="relative">
|
||||
<div className="relative aspect-square rounded-lg overflow-hidden shadow-md hover:shadow-lg transition-shadow duration-300 bg-gray-100">
|
||||
<div className="w-full h-full">
|
||||
<Image
|
||||
|
@ -80,21 +80,27 @@ export default function PostResources({ post }: { post: PostDto }) {
|
|||
{fileResources.map((resource) => (
|
||||
<div
|
||||
key={resource.url}
|
||||
className="flex items-center justify-between p-3 hover:bg-gray-50 rounded-md transition-colors duration-200"
|
||||
>
|
||||
className="flex items-center justify-between p-3 hover:bg-gray-50 rounded-md transition-colors duration-200">
|
||||
<div className="flex items-center space-x-3 min-w-0">
|
||||
<span className="text-xl">{getFileIcon(resource.url)}</span>
|
||||
<span className="text-xl">
|
||||
{getFileIcon(resource.url)}
|
||||
</span>
|
||||
<div className="min-w-0">
|
||||
<p className="text-gray-800 truncate">
|
||||
{resource.title || "未命名文件"}
|
||||
</p>
|
||||
<div className="flex items-center space-x-2">
|
||||
<span className="text-xs text-gray-500">
|
||||
{resource.url.split(".").pop()?.toUpperCase()}文件
|
||||
{resource.url
|
||||
.split(".")
|
||||
.pop()
|
||||
?.toUpperCase()}
|
||||
文件
|
||||
</span>
|
||||
<span className="text-xs text-gray-400">
|
||||
{resource.metadata.size &&
|
||||
`${(resource.metadata.size / 1024 / 1024).toFixed(1)}MB`}
|
||||
{(resource.metadata as any)
|
||||
.size &&
|
||||
`${((resource.metadata as any).size / 1024 / 1024).toFixed(1)}MB`}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -102,8 +108,7 @@ export default function PostResources({ post }: { post: PostDto }) {
|
|||
<Button
|
||||
icon={<DownloadOutlined />}
|
||||
href={resource.url}
|
||||
download
|
||||
>
|
||||
download>
|
||||
下载
|
||||
</Button>
|
||||
</div>
|
||||
|
@ -113,4 +118,4 @@ export default function PostResources({ post }: { post: PostDto }) {
|
|||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue