Add: - app-information/information-bank/ Component Fix: - constans-value: Icon size re name ### No Issue
327 lines
7.0 KiB
TypeScript
327 lines
7.0 KiB
TypeScript
import {
|
|
PADDING_EXTRA_SMALL,
|
|
PADDING_LARGE,
|
|
PADDING_MEDIUM,
|
|
PADDING_SMALL,
|
|
TEXT_SIZE_LARGE,
|
|
TEXT_SIZE_MEDIUM,
|
|
TEXT_SIZE_SMALL,
|
|
} from "@/constants/constans-value";
|
|
import { Dimensions, StyleSheet } from "react-native";
|
|
import { AccentColor, MainColor } from "../constants/color-palet";
|
|
|
|
const { width } = Dimensions.get("window");
|
|
|
|
export const GStyles = StyleSheet.create({
|
|
// =============== Main Styles =============== //
|
|
container: {
|
|
flex: 1,
|
|
paddingInline: PADDING_LARGE,
|
|
paddingBlock: PADDING_EXTRA_SMALL,
|
|
backgroundColor: MainColor.darkblue,
|
|
},
|
|
containerWithBackground: {
|
|
flex: 1,
|
|
paddingInline: PADDING_LARGE,
|
|
paddingBlock: PADDING_EXTRA_SMALL,
|
|
},
|
|
imageBackground: {
|
|
height: "100%",
|
|
width: "100%",
|
|
},
|
|
stickyHeader: {
|
|
position: "relative",
|
|
top: 0,
|
|
left: 0,
|
|
right: 0,
|
|
zIndex: 10,
|
|
backgroundColor: "transparent",
|
|
// paddingBlock: PADDING_EXTRA_SMALL,
|
|
paddingInline: PADDING_MEDIUM,
|
|
// padding: 16,
|
|
paddingTop: 8,
|
|
paddingBottom: 8,
|
|
},
|
|
floatingContainer: {
|
|
position: "absolute",
|
|
bottom: 100,
|
|
right: 20,
|
|
zIndex: 8,
|
|
},
|
|
|
|
// =============== Disabled Styles =============== //
|
|
disabledBox: {
|
|
backgroundColor: MainColor.disabled,
|
|
borderColor: AccentColor.disabledBorder,
|
|
},
|
|
inputDisabled: {
|
|
backgroundColor: "#f0f0f0",
|
|
borderColor: "#ddd",
|
|
},
|
|
inputTextDisabled: {
|
|
color: "#777",
|
|
},
|
|
inputPlaceholderDisabled: {
|
|
color: "#444",
|
|
},
|
|
// =============== Disabled Styles =============== //
|
|
|
|
// =============== AUTHENTICATION =============== //
|
|
authContainer: {
|
|
flex: 1,
|
|
justifyContent: "center",
|
|
},
|
|
authContainerTitle: {
|
|
justifyContent: "center",
|
|
alignItems: "center",
|
|
},
|
|
authTitle: {
|
|
fontSize: 27,
|
|
color: MainColor.yellow,
|
|
fontWeight: "bold",
|
|
},
|
|
authSubTitle: {
|
|
fontSize: 22,
|
|
color: MainColor.yellow,
|
|
fontWeight: "bold",
|
|
},
|
|
// =============== AUTHENTICATION =============== //
|
|
|
|
// =============== TEXT & LABEL =============== //
|
|
textLabel: {
|
|
fontSize: TEXT_SIZE_MEDIUM,
|
|
color: MainColor.white_gray,
|
|
fontWeight: "normal",
|
|
},
|
|
textLabelBold: {
|
|
fontSize: TEXT_SIZE_MEDIUM,
|
|
color: MainColor.white_gray,
|
|
fontWeight: "bold",
|
|
},
|
|
// =============== TEXT & LABEL =============== //
|
|
|
|
// =============== STACK HEADER =============== //
|
|
headerStyle: {
|
|
backgroundColor: AccentColor.darkblue,
|
|
},
|
|
headerTitleStyle: {
|
|
color: MainColor.yellow,
|
|
fontWeight: "bold",
|
|
fontSize: TEXT_SIZE_LARGE,
|
|
},
|
|
// =============== STACK HEADER =============== //
|
|
|
|
// =============== HOME =============== //
|
|
homeContainer: {
|
|
flex: 1,
|
|
paddingInline: 25,
|
|
paddingBlock: 10,
|
|
backgroundColor: MainColor.darkblue,
|
|
},
|
|
// =============== HOME =============== //
|
|
|
|
// =============== TAB =============== //
|
|
tabBar: {
|
|
backgroundColor: MainColor.darkblue,
|
|
borderTopColor: AccentColor.blue,
|
|
borderTopWidth: 1,
|
|
// borderTopEndRadius: 10,
|
|
// borderTopStartRadius: 10,
|
|
// tintColor: MainColor.yellow
|
|
// paddingBottom: 20,
|
|
// paddingTop: 10,
|
|
// shadowColor: AccentColor.blue,
|
|
// shadowOffset: {
|
|
// width: 0,
|
|
// height: -2,
|
|
// },
|
|
// shadowOpacity: 0.9,
|
|
// shadowRadius: 3,
|
|
// elevation: 5,
|
|
},
|
|
tabContainer: {
|
|
flexDirection: "row",
|
|
justifyContent: "space-around",
|
|
alignItems: "center",
|
|
paddingHorizontal: 0,
|
|
},
|
|
tabItem: {
|
|
alignItems: "center",
|
|
justifyContent: "center",
|
|
paddingVertical: 8,
|
|
paddingHorizontal: 12,
|
|
minWidth: width / 5,
|
|
position: "relative",
|
|
},
|
|
activeTab: {
|
|
transform: [{ scale: 1.05 }],
|
|
},
|
|
iconContainer: {
|
|
padding: 8,
|
|
borderRadius: 20,
|
|
// marginBottom: 4,
|
|
},
|
|
activeIconContainer: {
|
|
// backgroundColor: "#007AFF",
|
|
// shadowColor: "#007AFF",
|
|
// shadowOffset: {
|
|
// width: 0,
|
|
// height: 2,
|
|
// },
|
|
// shadowOpacity: 0.3,
|
|
// shadowRadius: 4,
|
|
// elevation: 4,
|
|
},
|
|
tabLabel: {
|
|
fontSize: 10,
|
|
color: "#666",
|
|
fontWeight: "500",
|
|
},
|
|
activeTabLabel: {
|
|
color: MainColor.white_gray,
|
|
fontWeight: "600",
|
|
},
|
|
activeIndicator: {
|
|
position: "absolute",
|
|
bottom: -2,
|
|
width: 4,
|
|
height: 4,
|
|
borderRadius: 2,
|
|
backgroundColor: "#007AFF",
|
|
},
|
|
// =============== TAB =============== //
|
|
|
|
// =============== BOTTOM BAR =============== //
|
|
bottomBar: {
|
|
backgroundColor: MainColor.darkblue,
|
|
borderTopColor: AccentColor.blue,
|
|
borderTopWidth: 1,
|
|
},
|
|
bottomBarContainer: {
|
|
paddingHorizontal: 15,
|
|
paddingVertical: 10,
|
|
},
|
|
// =============== BOTTOM BAR =============== //
|
|
|
|
// =============== BUTTON =============== //
|
|
|
|
buttonCentered50Percent: {
|
|
width: "50%",
|
|
alignSelf: "center",
|
|
},
|
|
// =============== BUTTON =============== //
|
|
|
|
// =============== TEXT INPUT , TEXT AREA , SELECT =============== //
|
|
// Container utama input (View luar)
|
|
inputContainerArea: {
|
|
marginBottom: 16,
|
|
},
|
|
|
|
// Label di atas input
|
|
inputLabel: {
|
|
fontSize: TEXT_SIZE_MEDIUM,
|
|
marginBottom: 4,
|
|
fontWeight: "500",
|
|
color: MainColor.white_gray,
|
|
},
|
|
|
|
// Tanda bintang merah untuk required
|
|
inputRequired: {
|
|
color: "red",
|
|
},
|
|
|
|
// Pesan error di bawah input
|
|
inputErrorMessage: {
|
|
marginTop: 4,
|
|
fontSize: TEXT_SIZE_SMALL,
|
|
color: MainColor.red,
|
|
},
|
|
|
|
// Input Length
|
|
inputMaxLength: {
|
|
fontSize: TEXT_SIZE_SMALL,
|
|
color: MainColor.white_gray,
|
|
},
|
|
|
|
// Wrapper input (View pembungkus TextInput)
|
|
inputContainerInput: {
|
|
borderWidth: 1,
|
|
borderColor: MainColor.white_gray,
|
|
backgroundColor: MainColor.white,
|
|
flexDirection: "row",
|
|
alignItems: "center",
|
|
paddingHorizontal: 10,
|
|
height: 50,
|
|
},
|
|
|
|
// Input utama (TextInput)
|
|
inputText: {
|
|
flex: 1,
|
|
fontSize: TEXT_SIZE_MEDIUM,
|
|
paddingVertical: 0,
|
|
},
|
|
|
|
// Ikon di kiri/kanan
|
|
inputIcon: {
|
|
marginHorizontal: 4,
|
|
justifyContent: "center",
|
|
},
|
|
|
|
// Teks ikon jika berupa string
|
|
inputIconText: {
|
|
fontSize: TEXT_SIZE_LARGE,
|
|
color: "#000",
|
|
},
|
|
|
|
// Border merah jika ada error
|
|
inputErrorBorder: {
|
|
borderColor: "red",
|
|
borderWidth: 1,
|
|
},
|
|
|
|
// Placeholder input
|
|
inputPlaceholder: {
|
|
fontSize: TEXT_SIZE_MEDIUM,
|
|
color: MainColor.placeholder,
|
|
},
|
|
|
|
// TextArea untuk tambahan
|
|
textAreaInput: {
|
|
textAlignVertical: "top",
|
|
paddingTop: 10,
|
|
// height: undefined, // biar multiline bebas tinggi
|
|
height: 100,
|
|
width: "100%",
|
|
},
|
|
|
|
// Select
|
|
selectModalOverlay: {
|
|
flex: 1,
|
|
backgroundColor: "rgba(0,0,0,0.3)",
|
|
justifyContent: "center",
|
|
alignItems: "center",
|
|
},
|
|
selectModalContent: {
|
|
width: "80%",
|
|
maxHeight: 300,
|
|
backgroundColor: "white",
|
|
borderRadius: 8,
|
|
overflow: "hidden",
|
|
},
|
|
selectOption: {
|
|
padding: 16,
|
|
borderBottomWidth: 1,
|
|
borderBottomColor: MainColor.white_gray,
|
|
},
|
|
|
|
// =============== TEXT INPUT , TEXT AREA , SELECT =============== //
|
|
|
|
// =============== Alignment =============== //
|
|
alignSelfCenter: {
|
|
alignSelf: "center",
|
|
},
|
|
alignSelfFlexEnd: {
|
|
alignSelf: "flex-end",
|
|
},
|
|
});
|