Donation
Add: - screens/Donation/ - donation/[id]/ Fix: - donation/(tabs)/status.tsx - donation/create-story.tsx - donation/create.tsx ## No Issue
This commit is contained in:
50
screens/Donation/BoxStatus.tsx
Normal file
50
screens/Donation/BoxStatus.tsx
Normal file
@@ -0,0 +1,50 @@
|
||||
import {
|
||||
BaseBox,
|
||||
Grid,
|
||||
DummyLandscapeImage,
|
||||
StackCustom,
|
||||
TextCustom,
|
||||
} from "@/components";
|
||||
import { View } from "react-native";
|
||||
|
||||
export default function Donasi_BoxStatus({
|
||||
id,
|
||||
status,
|
||||
}: {
|
||||
id: string;
|
||||
status: string;
|
||||
}) {
|
||||
return (
|
||||
<>
|
||||
<BaseBox
|
||||
paddingTop={7}
|
||||
paddingBottom={7}
|
||||
href={`/donation/${id}/${status}/detail`}
|
||||
>
|
||||
<Grid>
|
||||
<Grid.Col span={5}>
|
||||
<DummyLandscapeImage unClickPath height={100} />
|
||||
</Grid.Col>
|
||||
<Grid.Col span={1}>
|
||||
<View />
|
||||
</Grid.Col>
|
||||
<Grid.Col span={6}>
|
||||
<StackCustom>
|
||||
<TextCustom truncate>
|
||||
Judul Donasi: {status} Lorem ipsum dolor sit amet consectetur
|
||||
adipisicing elit.
|
||||
</TextCustom>
|
||||
|
||||
<View>
|
||||
<TextCustom>Target Dana</TextCustom>
|
||||
<TextCustom bold color="yellow">
|
||||
Rp. 7.500.000
|
||||
</TextCustom>
|
||||
</View>
|
||||
</StackCustom>
|
||||
</Grid.Col>
|
||||
</Grid>
|
||||
</BaseBox>
|
||||
</>
|
||||
);
|
||||
}
|
||||
121
screens/Donation/ButtonStatusSection.tsx
Normal file
121
screens/Donation/ButtonStatusSection.tsx
Normal file
@@ -0,0 +1,121 @@
|
||||
import { AlertDefaultSystem, ButtonCustom, Grid } from "@/components";
|
||||
import { router } from "expo-router";
|
||||
|
||||
export default function Donation_ButtonStatusSection({
|
||||
status,
|
||||
}: {
|
||||
status: string;
|
||||
}) {
|
||||
const handleBatalkanReview = () => {
|
||||
AlertDefaultSystem({
|
||||
title: "Batalkan Review",
|
||||
message: "Apakah Anda yakin ingin batalkan review ini?",
|
||||
textLeft: "Batal",
|
||||
textRight: "Ya",
|
||||
onPressRight: () => {
|
||||
console.log("Hapus");
|
||||
router.back();
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
const handleAjukanReview = () => {
|
||||
AlertDefaultSystem({
|
||||
title: "Ajukan Review",
|
||||
message: "Apakah Anda yakin ingin ajukan review ini?",
|
||||
textLeft: "Batal",
|
||||
textRight: "Ya",
|
||||
onPressRight: () => {
|
||||
console.log("Hapus");
|
||||
router.back();
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
const handleEditKembali = () => {
|
||||
AlertDefaultSystem({
|
||||
title: "Edit Kembali",
|
||||
message: "Apakah Anda yakin ingin edit kembali ini?",
|
||||
textLeft: "Batal",
|
||||
textRight: "Ya",
|
||||
onPressRight: () => {
|
||||
console.log("Hapus");
|
||||
router.back();
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
const handleOpenDeleteAlert = () => {
|
||||
AlertDefaultSystem({
|
||||
title: "Hapus",
|
||||
message: "Apakah Anda yakin ingin menghapus data ini?",
|
||||
textLeft: "Batal",
|
||||
textRight: "Hapus",
|
||||
onPressRight: () => {
|
||||
console.log("Hapus");
|
||||
router.back();
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
const DeleteButton = () => {
|
||||
return (
|
||||
<>
|
||||
<ButtonCustom
|
||||
backgroundColor="red"
|
||||
textColor="white"
|
||||
onPress={handleOpenDeleteAlert}
|
||||
>
|
||||
Hapus
|
||||
</ButtonCustom>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
switch (status) {
|
||||
case "publish":
|
||||
return <></>;
|
||||
|
||||
case "review":
|
||||
return (
|
||||
<ButtonCustom onPress={handleBatalkanReview}>
|
||||
Batalkan Review
|
||||
</ButtonCustom>
|
||||
);
|
||||
|
||||
case "draft":
|
||||
return (
|
||||
<>
|
||||
<Grid>
|
||||
<Grid.Col span={6} style={{ paddingRight: 10 }}>
|
||||
<ButtonCustom onPress={handleAjukanReview}>
|
||||
Ajukan Review
|
||||
</ButtonCustom>
|
||||
</Grid.Col>
|
||||
<Grid.Col span={6} style={{ paddingLeft: 10 }}>
|
||||
{DeleteButton()}
|
||||
</Grid.Col>
|
||||
</Grid>
|
||||
</>
|
||||
);
|
||||
|
||||
case "reject":
|
||||
return (
|
||||
<>
|
||||
<Grid>
|
||||
<Grid.Col span={6} style={{ paddingRight: 10 }}>
|
||||
<ButtonCustom onPress={handleEditKembali}>
|
||||
Edit Kembali
|
||||
</ButtonCustom>
|
||||
</Grid.Col>
|
||||
<Grid.Col span={6} style={{ paddingLeft: 10 }}>
|
||||
{DeleteButton()}
|
||||
</Grid.Col>
|
||||
</Grid>
|
||||
</>
|
||||
);
|
||||
|
||||
default:
|
||||
return <ButtonCustom disabled>Status Undifined</ButtonCustom>;
|
||||
}
|
||||
}
|
||||
46
screens/Donation/ComponentBoxDetailData.tsx
Normal file
46
screens/Donation/ComponentBoxDetailData.tsx
Normal file
@@ -0,0 +1,46 @@
|
||||
import {
|
||||
BaseBox,
|
||||
StackCustom,
|
||||
DummyLandscapeImage,
|
||||
TextCustom,
|
||||
Grid,
|
||||
} from "@/components";
|
||||
import { View } from "react-native";
|
||||
|
||||
export default function Donation_ComponentBoxDetailData() {
|
||||
return (
|
||||
<>
|
||||
<BaseBox>
|
||||
<StackCustom>
|
||||
<DummyLandscapeImage />
|
||||
<View>
|
||||
<TextCustom bold size="large">
|
||||
Judul Donasi: Lorem, ipsum dolor sit amet consectetur adipisicing
|
||||
elit.
|
||||
</TextCustom>
|
||||
<TextCustom size="small">Durasi: 30 hari</TextCustom>
|
||||
</View>
|
||||
|
||||
<Grid>
|
||||
<Grid.Col span={6}>
|
||||
<View>
|
||||
<TextCustom size="small">Target Dana</TextCustom>
|
||||
<TextCustom truncate={2} size="large" bold color="yellow">
|
||||
Rp. 7.500.000
|
||||
</TextCustom>
|
||||
</View>
|
||||
</Grid.Col>
|
||||
<Grid.Col span={6}>
|
||||
<View>
|
||||
<TextCustom size="small">Kategori</TextCustom>
|
||||
<TextCustom size="large" bold color="yellow">
|
||||
Kegiatan Sosial
|
||||
</TextCustom>
|
||||
</View>
|
||||
</Grid.Col>
|
||||
</Grid>
|
||||
</StackCustom>
|
||||
</BaseBox>
|
||||
</>
|
||||
);
|
||||
}
|
||||
38
screens/Donation/ComponentStoryFunrising.tsx
Normal file
38
screens/Donation/ComponentStoryFunrising.tsx
Normal file
@@ -0,0 +1,38 @@
|
||||
import { BaseBox, StackCustom, Grid, TextCustom } from "@/components";
|
||||
import { MainColor } from "@/constants/color-palet";
|
||||
import { ICON_SIZE_SMALL } from "@/constants/constans-value";
|
||||
import { Ionicons } from "@expo/vector-icons";
|
||||
|
||||
export default function Donation_ComponentStoryFunrising() {
|
||||
return (
|
||||
<>
|
||||
<BaseBox>
|
||||
<StackCustom gap={"xs"}>
|
||||
<Grid>
|
||||
<Grid.Col span={10}>
|
||||
<TextCustom bold size="large">
|
||||
Cerita Penggalang Dana
|
||||
</TextCustom>
|
||||
</Grid.Col>
|
||||
<Grid.Col span={2}>
|
||||
<Ionicons
|
||||
name="chevron-forward-circle-outline"
|
||||
size={ICON_SIZE_SMALL}
|
||||
color={MainColor.yellow}
|
||||
style={{
|
||||
alignSelf: "flex-end",
|
||||
}}
|
||||
/>
|
||||
</Grid.Col>
|
||||
</Grid>
|
||||
<TextCustom truncate={3}>
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Totam,
|
||||
iusto porro quae optio accusantium amet minima deleniti temporibus
|
||||
cum voluptatem vel veniam doloribus blanditiis sapiente deserunt
|
||||
distinctio eaque aliquid laboriosam?
|
||||
</TextCustom>
|
||||
</StackCustom>
|
||||
</BaseBox>
|
||||
</>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user