This repository has been archived on 2026-04-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
interaktive-systeme/components/budget/categoryItem.tsx
Thomas Schleicher 69610de100 Resolve "Budget"
2024-01-02 12:49:13 +00:00

56 lines
1.5 KiB
TypeScript

import { ColorValue, StyleSheet, Text, View } from "react-native";
import { useTheme } from "../../app/contexts/ThemeContext";
import CustomCard from "../common/CustomCard";
export type CategoryItemProps = {
category: string,
color: ColorValue,
allocated_amount: number,
total_expenses: number,
category_guid: string,
}
const CategoryItem = (properties: CategoryItemProps) => {
const { colors } = useTheme();
const subText = `${properties.total_expenses} / ${properties.allocated_amount}`;
return (
<CustomCard>
<View style={[styles.colorTipStyle, {backgroundColor: properties.color}]}></View>
<View style={[styles.textViewStyle]}>
<Text style={[styles.categoryNameStyle, {color: colors.primaryText}]}>
{properties.category}
</Text>
<Text style={[styles.subTextStyle, {color: colors.secondaryText}]}>
{subText}
</Text>
</View>
</CustomCard>
);
};
export default CategoryItem;
const styles = StyleSheet.create({
colorTipStyle: {
width: 25,
borderTopLeftRadius: 10,
borderBottomLeftRadius: 10,
},
textViewStyle: {
flex: 2,
flexDirection: "column",
paddingVertical: 5,
paddingHorizontal: 10,
alignSelf: "stretch",
},
categoryNameStyle: {
fontSize: 30,
fontWeight: "bold",
},
subTextStyle: {
fontSize: 17.5,
}
})