diff --git a/public/aset/investasi/logo-crowd-panjang-new.png b/public/aset/investasi/logo-crowd-panjang-new.png new file mode 100644 index 00000000..5e17ee4e Binary files /dev/null and b/public/aset/investasi/logo-crowd-panjang-new.png differ diff --git a/src/app/dev/map/create/[id]/page.tsx b/src/app/dev/map/create/[id]/page.tsx index 5a27ae8e..320e0b54 100644 --- a/src/app/dev/map/create/[id]/page.tsx +++ b/src/app/dev/map/create/[id]/page.tsx @@ -4,7 +4,7 @@ export default async function Page({ params }: { params: { id: string } }) { let portofolioId = params.id; return ( <> - + ); } diff --git a/src/app/dev/profile/upload/foto/[id]/page.tsx b/src/app/dev/profile/upload/foto/[id]/page.tsx index ea595412..b36862ab 100644 --- a/src/app/dev/profile/upload/foto/[id]/page.tsx +++ b/src/app/dev/profile/upload/foto/[id]/page.tsx @@ -1,11 +1,13 @@ import { UploadFotoProfile } from "@/app_modules/katalog/profile"; import { Profile_getOneById } from "@/app_modules/katalog/profile/fun/get/get_one_profile"; -export default async function Page({params}: {params: {id: string}}) { - let profileId = params.id - const dataProfile = await Profile_getOneById(profileId) +export default async function Page({ params }: { params: { id: string } }) { + let profileId = params.id; + const dataProfile = await Profile_getOneById(profileId); - return <> - + return ( + <> + -} \ No newline at end of file + ); +} diff --git a/src/app_modules/_global/button/comp_button_upload_photo.tsx b/src/app_modules/_global/button/comp_button_upload_photo.tsx index 8cd0b16b..0a28c023 100644 --- a/src/app_modules/_global/button/comp_button_upload_photo.tsx +++ b/src/app_modules/_global/button/comp_button_upload_photo.tsx @@ -4,6 +4,7 @@ import { Button, FileButton } from "@mantine/core"; import { IconCamera } from "@tabler/icons-react"; import { MainColor } from "../color"; import { MAX_SIZE } from "../lib"; +import { PemberitahuanMaksimalFile } from "../lib/max_size"; import { ComponentGlobal_NotifikasiPeringatan } from "../notif_global"; export function ComponentGlobal_ButtonUploadFileImage({ @@ -22,9 +23,7 @@ export function ComponentGlobal_ButtonUploadFileImage({ ); if (files.size > MAX_SIZE) { - ComponentGlobal_NotifikasiPeringatan( - "Ukuran file terlalu besar. Maksimal 2 MB." - ); + ComponentGlobal_NotifikasiPeringatan(PemberitahuanMaksimalFile); } else { onSetFile(files); onSetImage(buffer); diff --git a/src/app_modules/_global/component/comp_load_avatar.tsx b/src/app_modules/_global/component/comp_load_avatar.tsx index 696160a3..ba034154 100644 --- a/src/app_modules/_global/component/comp_load_avatar.tsx +++ b/src/app_modules/_global/component/comp_load_avatar.tsx @@ -17,7 +17,7 @@ export function ComponentGlobal_LoaderAvatar({ }) { const [isImage, setIsImage] = useState(null); - const url = APIs.GET({ fileId: fileId, size: imageSize }); + const url = APIs.GET({ fileId: fileId, size: imageSize ? imageSize : "400" }); useShallowEffect(() => { onLoadImage(); diff --git a/src/app_modules/_global/component/comp_load_image.tsx b/src/app_modules/_global/component/comp_load_image.tsx index 03bcbcdb..50a5709e 100644 --- a/src/app_modules/_global/component/comp_load_image.tsx +++ b/src/app_modules/_global/component/comp_load_image.tsx @@ -24,7 +24,7 @@ export function ComponentGlobal_LoadImage({ const [isImage, setIsImage] = useState(null); const [isLoading, setIsLoading] = useState(false); - const url = APIs.GET({ fileId: fileId }); + const url = APIs.GET({ fileId: fileId, size: "500" }); useShallowEffect(() => { onLoadImage(); diff --git a/src/app_modules/_global/component/comp_load_image_custom.tsx b/src/app_modules/_global/component/comp_load_image_custom.tsx index 9cfd3b73..b71c0ead 100644 --- a/src/app_modules/_global/component/comp_load_image_custom.tsx +++ b/src/app_modules/_global/component/comp_load_image_custom.tsx @@ -15,7 +15,7 @@ export function ComponentGlobal_LoadImageCustom({ height: number; }) { const [isImage, setIsImage] = useState(null); - const url = APIs.GET({ fileId: fileId }); + const url = APIs.GET({ fileId: fileId, size: "500" }); useShallowEffect(() => { onLoadImage(); diff --git a/src/app_modules/_global/component/comp_load_image_landscape.tsx b/src/app_modules/_global/component/comp_load_image_landscape.tsx index 0fc435b3..b121dc99 100644 --- a/src/app_modules/_global/component/comp_load_image_landscape.tsx +++ b/src/app_modules/_global/component/comp_load_image_landscape.tsx @@ -16,7 +16,7 @@ export function ComponentGlobal_LoadImageLandscape({ const router = useRouter(); const [isImage, setIsImage] = useState(null); const [isLoading, setLoading] = useState(false); - const url = APIs.GET({ fileId: fileId }); + const url = APIs.GET({ fileId: fileId, size: "500" }); useShallowEffect(() => { onLoadImage(); diff --git a/src/app_modules/_global/component/comp_not_user_load_image.tsx b/src/app_modules/_global/component/comp_not_user_load_image.tsx index c8b14574..6c6745fb 100644 --- a/src/app_modules/_global/component/comp_not_user_load_image.tsx +++ b/src/app_modules/_global/component/comp_not_user_load_image.tsx @@ -22,7 +22,7 @@ export function ComponentGlobal_NotUserLoadImage({ const [isImage, setIsImage] = useState(null); const [isLoading, setIsLoading] = useState(false); - const url = APIs.GET({ fileId: fileId }); + const url = APIs.GET({ fileId: fileId , size: "500" }); useShallowEffect(() => { onLoadImage(); diff --git a/src/app_modules/_global/lib/max_size.ts b/src/app_modules/_global/lib/max_size.ts index d312cf45..5541c5c9 100644 --- a/src/app_modules/_global/lib/max_size.ts +++ b/src/app_modules/_global/lib/max_size.ts @@ -1,2 +1,3 @@ -// Maksimal ukuran file dalam byte (2 MB) -export const MAX_SIZE = 2 * 1024 * 1024; // 2 MB +// Maksimal ukuran file dalam byte (3 MB) +export const MAX_SIZE = 3 * 1024 * 1024; // 3 MB +export const PemberitahuanMaksimalFile = "Ukuran file terlalu besar. Maksimal 3 MB."; \ No newline at end of file diff --git a/src/app_modules/_global/ui/ui_not_user_image_preview.tsx b/src/app_modules/_global/ui/ui_not_user_image_preview.tsx index 134c594f..0d7c400b 100644 --- a/src/app_modules/_global/ui/ui_not_user_image_preview.tsx +++ b/src/app_modules/_global/ui/ui_not_user_image_preview.tsx @@ -23,7 +23,7 @@ export function UIGlobal_NotUserImagePreview({ fileId }: { fileId: string }) { const router = useRouter(); const [isImage, setIsImage] = useState(null); - const url = APIs.GET({ fileId: fileId }); + const url = APIs.GET({ fileId: fileId, size: "500" }); useShallowEffect(() => { onLoadImage(); diff --git a/src/app_modules/admin/_admin_global/_component/comp_admin_load_image.tsx b/src/app_modules/admin/_admin_global/_component/comp_admin_load_image.tsx index 1e74a89e..fca862c7 100644 --- a/src/app_modules/admin/_admin_global/_component/comp_admin_load_image.tsx +++ b/src/app_modules/admin/_admin_global/_component/comp_admin_load_image.tsx @@ -15,7 +15,7 @@ export function Admin_ComponentLoadImageLandscape({ const router = useRouter(); const [isImage, setIsImage] = useState(null); const [isLoading, setLoading] = useState(false); - const url = APIs.GET({ fileId: fileId }); + const url = APIs.GET({ fileId: fileId, size: "500" }); useShallowEffect(() => { onLoadImage(); diff --git a/src/app_modules/admin/_admin_global/comp_preview_image_admin.tsx b/src/app_modules/admin/_admin_global/comp_preview_image_admin.tsx index f75bdb40..55633e6c 100644 --- a/src/app_modules/admin/_admin_global/comp_preview_image_admin.tsx +++ b/src/app_modules/admin/_admin_global/comp_preview_image_admin.tsx @@ -13,7 +13,7 @@ export function Admin_ComponentPreviewImageAdmin({ }) { const [isImage, setIsImage] = useState(null); - const url = APIs.GET({ fileId: fileId }); + const url = APIs.GET({ fileId: fileId, size: "500" }); useShallowEffect(() => { onLoadImage(); diff --git a/src/app_modules/admin/map/ui/ui_map_view.tsx b/src/app_modules/admin/map/ui/ui_map_view.tsx index 1b7ba919..9f7672c1 100644 --- a/src/app_modules/admin/map/ui/ui_map_view.tsx +++ b/src/app_modules/admin/map/ui/ui_map_view.tsx @@ -88,8 +88,8 @@ export function UiAdminMap_MapBoxView({ }} src={ e.pinId === null - ? APIs.GET({ fileId: e.Portofolio.logoId }) - : APIs.GET({ fileId: e.pinId }) + ? APIs.GET({ fileId: e.Portofolio.logoId, size: "300" }) + : APIs.GET({ fileId: e.pinId, size: "300" }) } /> diff --git a/src/app_modules/crowd/main/view.tsx b/src/app_modules/crowd/main/view.tsx index dc93ff28..026d2c06 100644 --- a/src/app_modules/crowd/main/view.tsx +++ b/src/app_modules/crowd/main/view.tsx @@ -32,7 +32,7 @@ export default function MainCrowd() { */} Logo MAX_SIZE) { + setImg(null); + setFile(null); + ComponentGlobal_NotifikasiPeringatan( + PemberitahuanMaksimalFile + ); + } else { + setImg(buffer); + setFile(files); + } } catch (error) { console.log(error); } diff --git a/src/app_modules/katalog/portofolio/edit/logo/ui_edit_logo.tsx b/src/app_modules/katalog/portofolio/edit/logo/ui_edit_logo.tsx index b90ec446..b6971b41 100644 --- a/src/app_modules/katalog/portofolio/edit/logo/ui_edit_logo.tsx +++ b/src/app_modules/katalog/portofolio/edit/logo/ui_edit_logo.tsx @@ -11,6 +11,9 @@ import { IconCamera } from "@tabler/icons-react"; import { useState } from "react"; import { MODEL_PORTOFOLIO } from "../../model/interface"; import { ComponentPortofolio_ButtonEditLogoBisnis } from "../../component"; +import { MAX_SIZE } from "@/app_modules/_global/lib"; +import { PemberitahuanMaksimalFile } from "@/app_modules/_global/lib/max_size"; +import { ComponentGlobal_NotifikasiPeringatan } from "@/app_modules/_global/notif_global"; export default function Portofolio_EditLogoBisnis({ dataPorto, @@ -47,8 +50,15 @@ export default function Portofolio_EditLogoBisnis({ const buffer = URL.createObjectURL( new Blob([new Uint8Array(await files.arrayBuffer())]) ); - setImg(buffer); - setFile(files); + + if (files.size > MAX_SIZE) { + ComponentGlobal_NotifikasiPeringatan( + PemberitahuanMaksimalFile + ); + } else { + setImg(buffer); + setFile(files); + } } catch (error) { console.log(error); } diff --git a/src/app_modules/katalog/portofolio/ui/ui_detail_map.tsx b/src/app_modules/katalog/portofolio/ui/ui_detail_map.tsx index 8d0aaa43..09559684 100644 --- a/src/app_modules/katalog/portofolio/ui/ui_detail_map.tsx +++ b/src/app_modules/katalog/portofolio/ui/ui_detail_map.tsx @@ -102,8 +102,8 @@ function MapView({ (null); @@ -88,7 +89,7 @@ export default function CreateProfile() { if (files.size > MAX_SIZE) { ComponentGlobal_NotifikasiPeringatan( - "Ukuran file terlalu besar. Maksimal 2 MB." + PemberitahuanMaksimalFile ); } else { setImgPP(buffer); @@ -150,7 +151,7 @@ export default function CreateProfile() { if (files.size > MAX_SIZE) { ComponentGlobal_NotifikasiPeringatan( - "Ukuran file terlalu besar. Maksimal 2 MB." + PemberitahuanMaksimalFile ); } else { setImgBG(buffer); diff --git a/src/app_modules/map/_component/comp_load_image_map.tsx b/src/app_modules/map/_component/comp_load_image_map.tsx index 33fb58d5..c2622a18 100644 --- a/src/app_modules/map/_component/comp_load_image_map.tsx +++ b/src/app_modules/map/_component/comp_load_image_map.tsx @@ -17,7 +17,7 @@ export function ComponentMap_LoadImageMap({ const router = useRouter(); const [isImage, setIsImage] = useState(null); - const url = APIs.GET({ fileId: fileId, size: size }); + const url = APIs.GET({ fileId: fileId, size: size ? size : "400" }); useShallowEffect(() => { onLoadImage(); diff --git a/src/app_modules/map/ui/ui_create_pin.tsx b/src/app_modules/map/ui/ui_create_pin.tsx index db5e656c..c5864b66 100644 --- a/src/app_modules/map/ui/ui_create_pin.tsx +++ b/src/app_modules/map/ui/ui_create_pin.tsx @@ -16,7 +16,7 @@ import { Stack, Text, TextInput, - Title + Title, } from "@mantine/core"; import { IconCamera } from "@tabler/icons-react"; import _ from "lodash"; @@ -29,6 +29,8 @@ import Map, { } from "react-map-gl"; import { ComponentMap_ButtonSavePin } from "../_component"; import { defaultLatLong, defaultMapZoom } from "../lib/default_lat_long"; +import { MAX_SIZE } from "@/app_modules/_global/lib"; +import { PemberitahuanMaksimalFile } from "@/app_modules/_global/lib/max_size"; export function UiMap_CreatePin({ mapboxToken, @@ -141,9 +143,12 @@ export function UiMap_CreatePin({ const buffer = URL.createObjectURL( new Blob([new Uint8Array(await files.arrayBuffer())]) ); - if (files.size > 2000000) { + + if (files.size > MAX_SIZE) { + setImg(null); + setFile(null); ComponentGlobal_NotifikasiPeringatan( - "Maaf, Ukuran file terlalu besar, maximum 2mb", + PemberitahuanMaksimalFile, 3000 ); } else { diff --git a/src/app_modules/map/ui/ui_custom_pin.tsx b/src/app_modules/map/ui/ui_custom_pin.tsx index 0b963d28..d9799565 100644 --- a/src/app_modules/map/ui/ui_custom_pin.tsx +++ b/src/app_modules/map/ui/ui_custom_pin.tsx @@ -27,6 +27,8 @@ import { defaultMapZoom } from "../lib/default_lat_long"; import { MODEL_MAP } from "../lib/interface"; import { APIs, DIRECTORY_ID } from "@/app/lib"; import { funGlobal_UploadToStorage } from "@/app_modules/_global/fun"; +import { MAX_SIZE } from "@/app_modules/_global/lib"; +import { PemberitahuanMaksimalFile } from "@/app_modules/_global/lib/max_size"; export function UiMap_CustomPin({ dataMap, @@ -72,8 +74,8 @@ export function UiMap_CustomPin({ radius={"100%"} src={ data.pinId === null - ? APIs.GET({ fileId: data.Portofolio.logoId }) - : APIs.GET({ fileId: data.pinId }) + ? APIs.GET({ fileId: data.Portofolio.logoId, size: "300" }) + : APIs.GET({ fileId: data.pinId, size: "300" }) } style={{ border: `2px solid ${AccentColor.skyblue}`, @@ -90,9 +92,9 @@ export function UiMap_CustomPin({ const buffer = URL.createObjectURL( new Blob([new Uint8Array(await files.arrayBuffer())]) ); - if (files.size > 2000000) { + if (files.size > MAX_SIZE) { ComponentGlobal_NotifikasiPeringatan( - "Maaf, Ukuran file terlalu besar, maximum 2mb", + PemberitahuanMaksimalFile, 3000 ); } else { @@ -155,8 +157,8 @@ export function UiMap_CustomPin({ imgPin ? imgPin : data.pinId === null - ? APIs.GET({ fileId: data.Portofolio.logoId }) - : APIs.GET({ fileId: data.pinId }) + ? APIs.GET({ fileId: data.Portofolio.logoId, size: "300" }) + : APIs.GET({ fileId: data.pinId, size: "300" }) } style={{ border: `2px solid ${AccentColor.softblue}`, diff --git a/src/app_modules/map/ui/ui_edit_map.tsx b/src/app_modules/map/ui/ui_edit_map.tsx index 9cabf547..438ddae0 100644 --- a/src/app_modules/map/ui/ui_edit_map.tsx +++ b/src/app_modules/map/ui/ui_edit_map.tsx @@ -33,6 +33,8 @@ import Map, { import { ComponentMap_ButtonUpdateDataMap } from "../_component"; import { defaultMapZoom } from "../lib/default_lat_long"; import { MODEL_MAP } from "../lib/interface"; +import { MAX_SIZE } from "@/app_modules/_global/lib"; +import { PemberitahuanMaksimalFile } from "@/app_modules/_global/lib/max_size"; export function UiMap_EditMap({ mapboxToken, @@ -85,8 +87,8 @@ export function UiMap_EditMap({ - {/* {img ? ( - - - Photo - - - ) : ( - - - Photo - - - )} */} -
{ @@ -186,9 +150,9 @@ export function UiMap_EditMap({ const buffer = URL.createObjectURL( new Blob([new Uint8Array(await files.arrayBuffer())]) ); - if (files.size > 2000000) { + if (files.size > MAX_SIZE) { ComponentGlobal_NotifikasiPeringatan( - "Maaf, Ukuran file terlalu besar, maximum 2mb", + PemberitahuanMaksimalFile, 3000 ); } else { diff --git a/src/app_modules/map/ui/ui_map.tsx b/src/app_modules/map/ui/ui_map.tsx index b84fe339..e66051a3 100644 --- a/src/app_modules/map/ui/ui_map.tsx +++ b/src/app_modules/map/ui/ui_map.tsx @@ -91,8 +91,8 @@ export function UiMap_MapBoxView({ }} src={ e.pinId === null - ? APIs.GET({ fileId: e.Portofolio.logoId }) - : APIs.GET({ fileId: e.pinId }) + ? APIs.GET({ fileId: e.Portofolio.logoId, size: "300" }) + : APIs.GET({ fileId: e.pinId, size: "300" }) } /> @@ -110,7 +110,7 @@ export function UiMap_MapBoxView({ opened={openDrawer} close={() => setOpenDrawer(false)} mapId={mapId} - component={} + component={} /> ); diff --git a/src/app_modules/map/ui/ui_map_new.tsx b/src/app_modules/map/ui/ui_map_new.tsx index 2ce61efc..ac27da54 100644 --- a/src/app_modules/map/ui/ui_map_new.tsx +++ b/src/app_modules/map/ui/ui_map_new.tsx @@ -94,8 +94,8 @@ export function UiMap_MapBoxViewNew({ mapboxToken, }: { mapboxToken: string }) { }} src={ e.pinId === null - ? APIs.GET({ fileId: e.logoId }) - : APIs.GET({ fileId: e.pinId }) + ? APIs.GET({ fileId: e.logoId, size: "300" }) + : APIs.GET({ fileId: e.pinId, size: "300" }) } />