feature & fix

deskripsi:
- perubahan komponen drawer
- penambahan list page drawer portofolio
- new file portofolio: edit, edit logo, edit sosmed
- new file maps: edit, custom-pin
#No Issue
This commit is contained in:
2025-07-10 10:27:30 +08:00
parent ee7efaef6a
commit 71ea0ca5f2
13 changed files with 183 additions and 68 deletions

View File

@@ -0,0 +1,11 @@
import { TextCustom, ViewWrapper } from "@/components";
export default function PortofolioEditLogo() {
return (
<>
<ViewWrapper>
<TextCustom>Portofolio Edit Logo</TextCustom>
</ViewWrapper>
</>
);
}

View File

@@ -0,0 +1,11 @@
import { TextCustom, ViewWrapper } from "@/components";
export default function PortofolioEditSocialMedia() {
return (
<>
<ViewWrapper>
<TextCustom>Portofolio Edit Social Media</TextCustom>
</ViewWrapper>
</>
);
}

View File

@@ -0,0 +1,11 @@
import { TextCustom, ViewWrapper } from "@/components";
export default function PortofolioEdit() {
return (
<>
<ViewWrapper>
<TextCustom>Portofolio Edit</TextCustom>
</ViewWrapper>
</>
);
}

View File

@@ -1,47 +1,26 @@
import { DrawerCustom, TextCustom } from "@/components";
import { DrawerCustom } from "@/components";
import LeftButtonCustom from "@/components/Button/BackButton";
import { IMenuDrawerItem } from "@/components/_Interface/types";
import ViewWrapper from "@/components/_ShareComponent/ViewWrapper";
import { MainColor } from "@/constants/color-palet";
import { DRAWER_HEIGHT } from "@/constants/constans-value";
import { drawerItems } from "@/screens/Profile/ListPage";
import Profile_MenuDrawerSection from "@/screens/Profile/MenuDrawerSection";
import { drawerItemsPortofolio } from "@/screens/Portofolio/ListPage";
import Portofolio_MenuDrawerSection from "@/screens/Portofolio/MenuDrawer";
import { GStyles } from "@/styles/global-styles";
import { Ionicons } from "@expo/vector-icons";
import { Stack, useLocalSearchParams } from "expo-router";
import { useRef, useState } from "react";
import { useState } from "react";
import {
Animated,
InteractionManager,
Text,
TouchableOpacity,
TouchableOpacity
} from "react-native";
export default function Portofolio() {
const { id } = useLocalSearchParams();
const [isDrawerOpen, setIsDrawerOpen] = useState(false);
const [showLogoutAlert, setShowLogoutAlert] = useState(false);
const drawerAnim = useRef(new Animated.Value(DRAWER_HEIGHT)).current;
const openDrawer = () => {
setIsDrawerOpen(true);
Animated.timing(drawerAnim, {
toValue: 0,
duration: 300,
useNativeDriver: true,
}).start();
};
const closeDrawer = () => {
Animated.timing(drawerAnim, {
toValue: DRAWER_HEIGHT, // sesuaikan dengan tinggi drawer Anda
duration: 300,
useNativeDriver: true,
}).start(() => {
InteractionManager.runAfterInteractions(() => {
setIsDrawerOpen(false); // baru ganti state setelah animasi selesai
});
});
setIsDrawerOpen(false);
};
return (
@@ -72,12 +51,10 @@ export default function Portofolio() {
<DrawerCustom
isVisible={isDrawerOpen}
closeDrawer={closeDrawer}
drawerAnim={drawerAnim}
height={350}
>
<Profile_MenuDrawerSection
drawerItems={drawerItems({ id: id as string })}
setShowLogoutAlert={setShowLogoutAlert}
<Portofolio_MenuDrawerSection
drawerItems={drawerItemsPortofolio({ id: id as string })}
setIsDrawerOpen={setIsDrawerOpen}
/>
</DrawerCustom>