res);
- return data
- }
-}
diff --git a/src/app_modules/katalog/portofolio/api/get-bidang-bisnis.ts b/src/app_modules/katalog/portofolio/fun/get_list_bidang_bisnis.ts
similarity index 100%
rename from src/app_modules/katalog/portofolio/api/get-bidang-bisnis.ts
rename to src/app_modules/katalog/portofolio/fun/get_list_bidang_bisnis.ts
diff --git a/src/app_modules/katalog/portofolio/api/get-portofolio.ts b/src/app_modules/katalog/portofolio/fun/get_list_portofolio.ts
similarity index 50%
rename from src/app_modules/katalog/portofolio/api/get-portofolio.ts
rename to src/app_modules/katalog/portofolio/fun/get_list_portofolio.ts
index 59ec8f6e..fa5a000f 100644
--- a/src/app_modules/katalog/portofolio/api/get-portofolio.ts
+++ b/src/app_modules/katalog/portofolio/fun/get_list_portofolio.ts
@@ -1,19 +1,11 @@
"use server";
-import { myConsole } from "@/app/fun/my_console";
import prisma from "@/app/lib/prisma";
-/**
- *
- * @param id - profileId
- * @returns list portofolio by Id
- */
-export default async function getListPortofolio(id: string) {
- // myConsole(id);
-
+export async function funGetListPortofolio(profileId: any) {
const data = await prisma.katalog.findMany({
where: {
- profileId: id,
+ profileId: profileId,
},
select: {
id: true,
@@ -21,14 +13,10 @@ export default async function getListPortofolio(id: string) {
alamatKantor: true,
tlpn: true,
deskripssi: true,
- active: true,
masterBidangBisnisId: true,
+ active: true,
},
});
- if (!data) {
- throw new Error("Failed to fetch data");
- }
-
- return data;
+ return data
}
diff --git a/src/app_modules/katalog/portofolio/index.ts b/src/app_modules/katalog/portofolio/index.ts
index 3496c641..3c257e8b 100644
--- a/src/app_modules/katalog/portofolio/index.ts
+++ b/src/app_modules/katalog/portofolio/index.ts
@@ -1,5 +1,5 @@
import CreatePortofolio from "./create/view";
import PortofolioLayout from "./create/layout";
-import PortofolioView from "./list_view/view";
+import ListPortofolioView from "./list_view/view";
-export {CreatePortofolio, PortofolioLayout, PortofolioView}
\ No newline at end of file
+export {CreatePortofolio, PortofolioLayout, ListPortofolioView}
\ No newline at end of file
diff --git a/src/app_modules/katalog/portofolio/list_view/view.tsx b/src/app_modules/katalog/portofolio/list_view/view.tsx
index 3310c534..d838b565 100644
--- a/src/app_modules/katalog/portofolio/list_view/view.tsx
+++ b/src/app_modules/katalog/portofolio/list_view/view.tsx
@@ -2,46 +2,36 @@
import { Box, Center, Grid, Paper, Text, Title } from "@mantine/core";
import { useShallowEffect } from "@mantine/hooks";
import { useState } from "react";
-import { loadListPortofolio } from "../fun/fun_get_all_portofolio";
import _ from "lodash";
import { IconCaretRightFilled } from "@tabler/icons-react";
import { loadDataProfile } from "../../profile/fun/fun_get_profile";
import { useAtom } from "jotai";
import { gs_profile } from "../../profile/state/global_state";
-import getListPortofolio from "../api/get-portofolio";
import { gs_ListPortofolio } from "../state/global_state";
import { myConsole } from "@/app/fun/my_console";
import { getProfile } from "../../profile";
+import { LIST_PORTOFOLIO } from "@/app_modules/models/portofolio";
-export default function PortofolioView() {
- const [profile, setProfile] = useAtom(gs_profile);
- useShallowEffect(() => {
- loadProfile();
- }, []);
- async function loadProfile() {
- const get = await getProfile();
- if (!get) return myConsole("Data Kosong");
- setProfile(get);
- }
- const [listPorto, setListPorto] = useAtom(gs_ListPortofolio);
- useShallowEffect(() => {
- loadListPortofolio(profile?.id).then((res) => setListPorto(res));
- }, [profile?.id]);
+export default function ListPortofolioView({
+ listPorto,
+}: {
+ listPorto: LIST_PORTOFOLIO;
+}) {
+ const [porto, setPorto] = useState(listPorto);
return (
<>
- {/* {JSON.stringify(profile.id)}
-
- {JSON.stringify(listPorto)} */}
+ {/* {JSON.stringify(porto, null, 2)} */}
Portofolio
{(() => {
- if (listPorto) {
+ if (porto) {
return (
<>
- {_.map(listPorto).map((e: any) => (
+ {" "}
+ {_.map(porto as any).map((e: any) => (
diff --git a/src/app_modules/katalog/profile/index.ts b/src/app_modules/katalog/profile/index.ts
index 70ca6dcc..cfa328c8 100644
--- a/src/app_modules/katalog/profile/index.ts
+++ b/src/app_modules/katalog/profile/index.ts
@@ -5,7 +5,7 @@ import EditProfileLayout from "./edit/layout";
import EditProfileView from "./edit/view";
import UploadFotoProfile from "./upload/view";
import UploadFotoProfileLayout from "./upload/layout"
-import ProfileView from "./view/view";
+import ProfileView from "./main/view";
export {
ProfileLayout,
diff --git a/src/app_modules/katalog/profile/view/view.tsx b/src/app_modules/katalog/profile/main/view.tsx
similarity index 80%
rename from src/app_modules/katalog/profile/view/view.tsx
rename to src/app_modules/katalog/profile/main/view.tsx
index ede47bae..88dddfb4 100644
--- a/src/app_modules/katalog/profile/view/view.tsx
+++ b/src/app_modules/katalog/profile/main/view.tsx
@@ -38,27 +38,6 @@ import { funGetUserProfile } from "@/app_modules/fun/get_user_profile";
export default function ProfileView({ user }: { user: USER_PROFILE }) {
const router = useRouter();
const [stateUser, setStateUser] = useState(user);
-
- //Get data profile
- const [profile, setProfile] = useAtom(gs_profile);
- useShallowEffect(() => {
- loadProfile();
- }, []);
- async function loadProfile() {
- const get = await getProfile();
- if (!get) return myConsole("Data Kosong");
- setProfile(get);
- }
-
- const [foto, setFoto] = useAtom(gs_fotoProfile);
- // useShallowEffect(() => {
- // if (profile?.imagesId === undefined) {
- // return myConsole("Waiting data");
- // } else {
- // getFotoProfile(profile?.imagesId).then((v) => setFoto(v?.url));
- // }
- // }, [profile?.imagesId]);
-
useShallowEffect(() => {
funGetUserProfile(user.id ?? "").then(setStateUser as any);
}, []);
@@ -114,7 +93,7 @@ export default function ProfileView({ user }: { user: USER_PROFILE }) {
variant="transparent"
bg={"gray"}
radius={50}
- onClick={() => router.push("/dev/katalog/profile/upload")}
+ onClick={() => router.push("/dev/profile/upload")}
sx={{ position: "relative" }}
>
@@ -126,14 +105,14 @@ export default function ProfileView({ user }: { user: USER_PROFILE }) {
- {profile?.name}
+ {stateUser.Profile?.name}
- @{profile?.User?.username}
+ @{stateUser.username}
{
- router.push("/dev/katalog/profile/edit");
+ router.push("/dev/profile/edit");
}}
>
@@ -149,7 +128,7 @@ export default function ProfileView({ user }: { user: USER_PROFILE }) {
{" "}
- +{profile?.User.nomor}
+ +{stateUser.nomor}
@@ -161,7 +140,7 @@ export default function ProfileView({ user }: { user: USER_PROFILE }) {
{" "}
- {profile?.email}
+ {stateUser.Profile?.email}
@@ -171,12 +150,12 @@ export default function ProfileView({ user }: { user: USER_PROFILE }) {
- {profile?.alamat}
+ {stateUser.Profile?.alamat}
{(() => {
- if (profile?.jenisKelamin === "Laki - laki") {
+ if (stateUser.Profile?.jenisKelamin === "Laki - laki") {
return (
<>
@@ -184,7 +163,7 @@ export default function ProfileView({ user }: { user: USER_PROFILE }) {
- {profile?.jenisKelamin}
+ {stateUser.Profile?.jenisKelamin}
>
@@ -197,7 +176,7 @@ export default function ProfileView({ user }: { user: USER_PROFILE }) {
- {profile?.jenisKelamin}
+ {stateUser.Profile?.jenisKelamin}
>
diff --git a/src/app_modules/katalog/profile/upload/view.tsx b/src/app_modules/katalog/profile/upload/view.tsx
index 19ed9a1d..8d0ee260 100644
--- a/src/app_modules/katalog/profile/upload/view.tsx
+++ b/src/app_modules/katalog/profile/upload/view.tsx
@@ -10,27 +10,15 @@ import { useState } from "react";
import { ApiHipmi } from "@/app/lib/api";
import { myConsole } from "@/app/fun/my_console";
-export default function UploadFotoProfile() {
- const [profile, setProfile] = useAtom(gs_profile);
- useShallowEffect(() => {
- loadDataProfile(setProfile);
- }, []);
-
- const [foto, setFoto] = useAtom(gs_fotoProfile)
- useShallowEffect(() => {
- if (profile?.imagesId === undefined || profile?.imagesId === null) {
- myConsole("Waiting data");
- } else {
- getFotoProfile(profile?.imagesId).then((res) => setFoto(res?.url));
- }
- }, [profile?.imagesId]);
+export default function UploadFotoProfile({imageUrl}: {imageUrl: any}) {
+ const [img, setImg] = useState(imageUrl)
return (
<>
{/* {JSON.stringify(foto)} */}
- {foto ? : }
+ {img ? : }
{/* {JSON.stringify(profile)} */}
diff --git a/src/app_modules/models/portofolio.ts b/src/app_modules/models/portofolio.ts
new file mode 100644
index 00000000..0a169463
--- /dev/null
+++ b/src/app_modules/models/portofolio.ts
@@ -0,0 +1,9 @@
+export interface LIST_PORTOFOLIO {
+ id: string;
+ namaBisnis: string;
+ alamatKantor: string;
+ tlpn: string;
+ deskripssi: string;
+ masterBidangBisnisId: string;
+ active: boolean;
+}
\ No newline at end of file
diff --git a/src/app_modules/models/user_profile.ts b/src/app_modules/models/user_profile.ts
index 3c64585b..ed0c2fcc 100644
--- a/src/app_modules/models/user_profile.ts
+++ b/src/app_modules/models/user_profile.ts
@@ -3,6 +3,7 @@ export interface USER_PROFILE {
username: string;
nomor: string;
Profile: {
+ id: string;
alamat: string;
email: string;
jenisKelamin: string;