diff --git a/components/_ShareComponent/NewWrapper.tsx b/components/_ShareComponent/NewWrapper.tsx index 512ac15..eb3862a 100644 --- a/components/_ShareComponent/NewWrapper.tsx +++ b/components/_ShareComponent/NewWrapper.tsx @@ -84,7 +84,7 @@ const NewWrapper = (props: NewWrapperProps) => { return {content}; }; - // 🔹 Mode Dinamis + // 🔹 Mode Dinamis (FlatList) if ("listData" in props) { const listProps = props as ListModeProps; @@ -96,7 +96,7 @@ const NewWrapper = (props: NewWrapperProps) => { {headerComponent && ( {headerComponent} )} - + { return `fallback-${index}-${JSON.stringify(item)}`; } - // Gabungkan ID dengan indeks untuk mencegah duplikasi return `${String(item.id)}-${index}`; }) } - refreshControl={refreshControl} // ✅ dari BaseProps + refreshControl={refreshControl} onEndReached={listProps.onEndReached} onEndReachedThreshold={0.5} ListHeaderComponent={listProps.ListHeaderComponent} ListFooterComponent={listProps.ListFooterComponent} ListEmptyComponent={listProps.ListEmptyComponent} - contentContainerStyle={{ flexGrow: 1 }} + contentContainerStyle={{ + flexGrow: 1, + paddingBottom: footerComponent && !hideFooter ? OS_HEIGHT : 0 + }} keyboardShouldPersistTaps="handled" /> - {footerComponent ? ( - - {footerComponent} - - ) : hideFooter ? null : ( + {/* Footer dengan position absolute untuk stay di bawah */} + {footerComponent && !hideFooter && ( + + + {footerComponent} + + + )} + + {!footerComponent && !hideFooter && ( { ); } - // 🔹 Mode Statis + // 🔹 Mode Statis (ScrollView) const staticProps = props as StaticModeProps; return ( @@ -158,7 +165,10 @@ const NewWrapper = (props: NewWrapperProps) => { @@ -168,24 +178,19 @@ const NewWrapper = (props: NewWrapperProps) => { - {/* - - {renderContainer(staticProps.children)} - - */} + {/* Footer dengan position absolute untuk stay di bawah */} + {footerComponent && !hideFooter && ( + + + {footerComponent} + + + )} - {footerComponent ? ( - - {footerComponent} - - ) : hideFooter ? null : ( + {!footerComponent && !hideFooter && ( { ); }; +// Styles untuk footer dengan position absolute +const styles = { + footerContainer: { + position: "absolute" as const, + bottom: 0, + left: 0, + right: 0, + backgroundColor: MainColor.darkblue, + }, +}; + export default NewWrapper;