fix ( upload )

deskripsi:
- upload pada profile tidak dibatasi kapasitasnya hanya saat akan dikirim akan di resize
This commit is contained in:
2025-01-10 16:46:48 +08:00
parent a569c10d0b
commit 60a8435fba
8 changed files with 94 additions and 98 deletions

View File

@@ -1,12 +1,10 @@
"use client";
import { clientLogger } from "@/util/clientLogger";
import { Button, FileButton } from "@mantine/core";
import { IconCamera } from "@tabler/icons-react";
import { useState } from "react";
import { MainColor } from "../color";
import { MAX_SIZE } from "../lib";
import { PemberitahuanMaksimalFile } from "../lib/max_size";
import { ComponentGlobal_NotifikasiPeringatan } from "../notif_global";
import { clientLogger } from "@/util/clientLogger";
export function ComponentGlobal_ButtonUploadFileImage({
onSetFile,
@@ -15,22 +13,27 @@ export function ComponentGlobal_ButtonUploadFileImage({
onSetFile: File | any;
onSetImage: any | null;
}) {
const [isLoading, setIsLoading] = useState(false);
return (
<FileButton
onChange={async (files: any | null) => {
try {
setIsLoading(true);
const buffer = URL.createObjectURL(
new Blob([new Uint8Array(await files.arrayBuffer())])
);
if (files.size > MAX_SIZE) {
ComponentGlobal_NotifikasiPeringatan(PemberitahuanMaksimalFile);
return;
} else {
onSetFile(files);
onSetImage(buffer);
}
// if (files.size > MAX_SIZE) {
// ComponentGlobal_NotifikasiPeringatan(PemberitahuanMaksimalFile);
// return;
// } else {
// }
onSetFile(files);
onSetImage(buffer);
setIsLoading(false);
} catch (error) {
setIsLoading(false);
clientLogger.error("Upload error:", error);
}
}}
@@ -39,6 +42,8 @@ export function ComponentGlobal_ButtonUploadFileImage({
{(props) => (
<Button
{...props}
loading={isLoading}
loaderPosition="center"
radius={"xl"}
leftIcon={<IconCamera />}
bg={MainColor.yellow}