API Upload Image

Profile:
- (user)/profile/[id]/update-background.tsx : perbaikan api
-  app/(application)/(user)/profile/[id]/update-photo.tsx

Fix:
-   service/upload-service.ts : ganti Toast menjadi throw untuk dapatkna error

### No Issue
This commit is contained in:
2025-08-28 15:18:15 +08:00
parent d3c4f04e07
commit 40441c929f
7 changed files with 94 additions and 99 deletions

View File

@@ -6,21 +6,19 @@ import {
Spacing,
StackCustom,
TextInputCustom,
ViewWrapper
ViewWrapper,
} from "@/components";
import BoxButtonOnFooter from "@/components/Box/BoxButtonOnFooter";
import InformationBox from "@/components/Box/InformationBox";
import DIRECTORY_ID from "@/constants/directory-id";
import DUMMY_IMAGE from "@/constants/dummy-image-value";
import { useAuth } from "@/hooks/use-auth";
import {
apiCreateProfile
} from "@/service/api-client/api-profile";
import { apiCreateProfile } from "@/service/api-client/api-profile";
import { apiValidationEmail } from "@/service/api-client/api-validation";
import { uploadImageService } from "@/service/upload-service";
import pickImage from "@/utils/pickImage";
import { router } from "expo-router";
import { useEffect, useState } from "react";
import { useState } from "react";
import { Image, View } from "react-native";
import { Avatar } from "react-native-paper";
import Toast from "react-native-toast-message";
@@ -39,14 +37,6 @@ export default function CreateProfile() {
jenisKelamin: "",
});
useEffect(() => {
Toast.show({
type: "info",
text1: "Lengkapi Profile Anda",
text2: "Untuk menjelajahi fitur-fitur yang ada",
});
}, []);
const handlerSave = async () => {
let IMG = {
imageId: "",
@@ -77,49 +67,44 @@ export default function CreateProfile() {
return;
}
console.log(
"responseValidateEmail >>",
JSON.stringify(responseValidateEmail, null, 2)
);
if (imagePhoto) {
const responseUploadPhoto = await uploadImageService({
imageUri: imagePhoto,
dirId: DIRECTORY_ID.profile_foto,
});
try {
const responseUploadPhoto = await uploadImageService({
imageUri: imagePhoto,
dirId: DIRECTORY_ID.profile_foto,
});
console.log(
"responseUploadPhoto >>",
JSON.stringify(responseUploadPhoto, null, 2)
);
if (responseUploadPhoto.success) {
const fileIdPhoto = responseUploadPhoto.data.id;
if (responseUploadPhoto.success) {
const fileIdPhoto = responseUploadPhoto.data.id;
IMG.imageId = fileIdPhoto;
IMG.imageId = fileIdPhoto;
}
} catch (error) {
Toast.show({
type: "error",
text1: "Gagal",
text2: error as string,
});
}
}
if (imageBackground) {
const responseUploadBackground = await uploadImageService({
imageUri: imageBackground,
dirId: DIRECTORY_ID.profile_background,
});
try {
const responseUploadBackground = await uploadImageService({
imageUri: imageBackground,
dirId: DIRECTORY_ID.profile_background,
});
if (responseUploadBackground.success) {
const fileIdBackground = responseUploadBackground.data.id;
console.log(
"responseUploadBackground >>",
JSON.stringify(responseUploadBackground, null, 2)
);
if (responseUploadBackground.success) {
const fileIdBackground = responseUploadBackground.data.id;
IMG.imageBackgroundId = fileIdBackground;
IMG.imageBackgroundId = fileIdBackground;
}
} catch (error) {
Toast.show({
type: "error",
text1: "Gagal",
text2: error as string,
});
}
}
@@ -144,11 +129,14 @@ export default function CreateProfile() {
text2: "Profile berhasil dibuat",
});
console.log("fixResponse >>", JSON.stringify(response, null, 2));
router.push("/(application)/(user)/home");
return;
} catch (error) {
console.log("error create profile >>", error);
Toast.show({
type: "error",
text1: "Gagal membuat profile",
});
} finally {
setIsLoading(false);
}