Commit a7d9962e by tungnq

UPDATE: Sửa đổi một số phần giao diện

parent dbcbc48a
......@@ -26,7 +26,7 @@ const TextField = props => {
containerMarginBottom,
containerBackgroundColor,
width,
fontFamily = R.fonts.fontSemiBold,
fontFamily = R.fonts.fontMedium,
} = props;
const renderMess = () => {
if (value && value.trim().length > 0) return `${title} không hợp lệ`;
......@@ -41,7 +41,7 @@ const TextField = props => {
color: R.colors.black,
marginBottom: 5,
fontFamily:fontFamily,
fontWeight:'400',
fontWeight:'600',
}}>
{title ? title : ''}
......
import { createDrawerNavigator } from "@react-navigation/drawer";
import R from "../../assets/R";
import { useEffect, useState } from "react";
import styles from "./style";
import { DeviceEventEmitter, Image, TouchableOpacity, View } from "react-native";
import * as ScreenName from "../ScreenNames";
import SendEmail from "../../screens/email/send";
import DeleteEmail from "../../screens/email/delete";
import EmailHome from "../../screens/email";
import CustomDrawerMailContent from "./itemDrawer";
import { connect } from "react-redux";
import {createDrawerNavigator} from '@react-navigation/drawer';
import R from '../../assets/R';
import {useEffect, useState} from 'react';
import styles from './style';
import {DeviceEventEmitter, Image, TouchableOpacity, View} from 'react-native';
import * as ScreenName from '../ScreenNames';
import SendEmail from '../../screens/email/send';
import DeleteEmail from '../../screens/email/delete';
import EmailHome from '../../screens/email';
import CustomDrawerMailContent from './itemDrawer';
import {connect} from 'react-redux';
const Drawer = createDrawerNavigator();
const IconMenu = R.images.icMenu;
const DrawerNavigatorEmailView = (props) =>{
const [reload, setReload] = useState(false);
const DrawerNavigatorEmailView = props => {
const [reload, setReload] = useState(false);
const HeaderBackButton = ({onPress, canGoBack}) =>(
<TouchableOpacity
style={styles.sizeBox}
onPress={onPress}
>
<Image
source={R.images.icBack}
style={styles.image}
/>
const HeaderBackButton = ({onPress, canGoBack}) => (
<TouchableOpacity style={styles.sizeBox} onPress={onPress}>
<Image source={R.images.icBack} style={styles.image} resizeMode="contain" />
</TouchableOpacity>
);
</TouchableOpacity>
);
const HeaderTitle = ({navigation, route}) =>{
<View style={styles.headerTitleContainer}>
<MenuButton onPress={()=>navigation.toggleDrawer()}/>
<View style = {styles.avatar}>
</View>
</View>
}
useEffect(()=>{
const setLanguageListener = DeviceEventEmitter.addListener(
"setLanguage",
(value) => {
setReload(
(prev) => !prev
);
}
);
const HeaderTitle = ({navigation, route}) => {
<View style={styles.headerTitleContainer}>
<MenuButton onPress={() => navigation.toggleDrawer()} />
<View style={styles.avatar}></View>
</View>;
};
return () => {setLanguageListener.remove();};
}, []);
const MenuButton = ({onPress}) =>(
<TouchableOpacity style={[styles.sizeBox, {marginLeft:10}]} onPress={onPress}>
<Image source={IconMenu} style={styles.iconMenu} tintColor={R.colors.gray2}/>
</TouchableOpacity>
)
return (
<Drawer.Navigator
drawerContent={(drawerProps) => <CustomDrawerMailContent {...drawerProps} />}
initialRouteName={ScreenName.EMAIL}
screenOptions={({navigation, route})=>({
useEffect(() => {
const setLanguageListener = DeviceEventEmitter.addListener(
'setLanguage',
value => {
setReload(prev => !prev);
},
);
header: ()=>(
<View style={styles.headerTitleContainer}>
<View>
<HeaderBackButton
onPress={
() => {
if(navigation.canGoBack()){
navigation.pop();
}else{
navigation.toggleDrawer();
}
}
}
canGoBack={navigation.canGoBack()}
/>
</View>
<View style={styles.headerRight}>
<MenuButton onPress={()=>navigation.toggleDrawer()}/>
<View
style={styles.avatar}
></View>
</View>
</View>
),
headerStyle: {
backgroundColor: R.colors.blue,
},
})}
>
<Drawer.Screen
name={ScreenName.EMAIL}
component={EmailHome}
options={
{
drawerLabel : () => null,
drawerIcon: () => null,
drawerItemStyle: { height: 0 },
}
}
/>
<Drawer.Screen
name={ScreenName.SENDEDEMAIL}
component={SendEmail}
options={
{
drawerLabel : () => null,
drawerIcon: () => null,
drawerItemStyle: { height: 0 },
}
}
/>
<Drawer.Screen
name={ScreenName.TRASHEMAIL}
component={DeleteEmail}
options={
{
drawerLabel : () => null,
drawerIcon: () => null,
drawerItemStyle: { height: 0 },
}
}
/>
return () => {
setLanguageListener.remove();
};
}, []);
</Drawer.Navigator>
);
const MenuButton = ({onPress}) => (
<TouchableOpacity
style={[styles.sizeBox, {marginLeft: 10}]}
onPress={onPress}>
<Image
source={IconMenu}
style={styles.iconMenu}
resizeMode="contain"
tintColor={R.colors.gray2}
/>
</TouchableOpacity>
);
return (
<Drawer.Navigator
drawerContent={drawerProps => (
<CustomDrawerMailContent {...drawerProps} />
)}
initialRouteName={ScreenName.EMAIL}
screenOptions={({navigation, route}) => ({
header: () => (
<View style={styles.headerTitleContainer}>
<View>
<HeaderBackButton
onPress={() => {
if (navigation.canGoBack()) {
navigation.pop();
} else {
navigation.toggleDrawer();
}
}}
canGoBack={navigation.canGoBack()}
/>
</View>
<View style={styles.headerRight}>
<MenuButton onPress={() => navigation.toggleDrawer()} />
<View style={styles.avatar}></View>
</View>
</View>
),
headerStyle: {
backgroundColor: R.colors.blue,
},
})}>
<Drawer.Screen
name={ScreenName.EMAIL}
component={EmailHome}
options={{
drawerLabel: () => null,
drawerIcon: () => null,
drawerItemStyle: {height: 0},
}}
/>
<Drawer.Screen
name={ScreenName.SENDEDEMAIL}
component={SendEmail}
options={{
drawerLabel: () => null,
drawerIcon: () => null,
drawerItemStyle: {height: 0},
}}
/>
<Drawer.Screen
name={ScreenName.TRASHEMAIL}
component={DeleteEmail}
options={{
drawerLabel: () => null,
drawerIcon: () => null,
drawerItemStyle: {height: 0},
}}
/>
</Drawer.Navigator>
);
};
const mapStateToProps = (state) =>({
user: state.userReducer,
})
const mapStateToProps = state => ({
user: state.userReducer,
});
export default connect(mapStateToProps, {})(DrawerNavigatorEmailView);
......@@ -6,7 +6,7 @@ const styles = StyleSheet.create({
marginLeft:15
},
image:{
width:25,
width:20,
height:20
},
headerTitleContainer:{
......@@ -55,7 +55,7 @@ const styles = StyleSheet.create({
flexDirection:'row',
},
iconMenu:{
width:25,
width:20,
height:20,
},
avatar:{
......
......@@ -30,7 +30,7 @@ const DrawerNavigatorView = (props) => {
style={styles.headerBackButton}
onPress={onPress}
>
<Image source={R.images.icBack} style={{width: 25, height: 20}}/>
<Image source={R.images.icBack} resizeMode="contain" style={{width: 20, height: 20}}/>
</TouchableOpacity>
);
......@@ -57,7 +57,7 @@ const DrawerNavigatorView = (props) => {
const MenuButton = ({ onPress }) => (
<TouchableOpacity style={styles.menuButton} onPress={onPress}>
<Image source={IconMenu} style={styles.icon} tintColor={R.colors.white}/>
<Image source={IconMenu} style={styles.icon} resizeMode="contain" tintColor={R.colors.white}/>
</TouchableOpacity>
);
......@@ -86,7 +86,7 @@ const DrawerNavigatorView = (props) => {
<Text style={styles.headerTitleText}>
{getHeaderTitle()}
</Text>
<Image source={R.images.icDrop} style={{width: 25, height: 20}} tintColor={R.colors.white}/>
<Image source={R.images.icDrop} style={{width: 25, height: 20}} resizeMode="contain" tintColor={R.colors.white}/>
</TouchableOpacity>
);
};
......@@ -125,7 +125,7 @@ const DrawerNavigatorView = (props) => {
headerRight: () => (
<View style={styles.headerRightContainer}>
<TouchableOpacity style={styles.searchButton}>
<Image source={IconSearch} style={styles.iconSearch} tintColor={R.colors.white}/>
<Image source={IconSearch} style={styles.iconSearch} resizeMode="contain" tintColor={R.colors.white}/>
</TouchableOpacity>
<View style={styles.avatarButton} />
</View>
......@@ -217,12 +217,12 @@ const styles = StyleSheet.create({
flexDirection: 'row',
},
icon: {
width: 25,
width: 20,
height: 20,
},
iconSearch: {
width: 25,
height: 25,
width: 20,
height: 20,
},
});
......
......@@ -5,11 +5,16 @@ const styles = StyleSheet.create({
flex: 1,
backgroundColor: R.colors.white,
},
card:{
borderRadius:10,
padding:15,
marginVertical:15,
containerCard:{
marginHorizontal:15,
marginVertical:5,
borderRadius:10,
},
card:{
borderBottomEndRadius:10,
borderBottomStartRadius:10,
paddingHorizontal:10,
paddingVertical:5,
backgroundColor:R.colors.white,
shadowColor:R.colors.black,
......
......@@ -27,24 +27,24 @@ const DetailStudentView = props => {
<View style={styles.container}>
<Header title={'Nguyễn Minh Đức - 2598671'} isBack />
<View style={styles.body}>
<View style={styles.card}>
<View style={[styles.card ,{marginHorizontal:15, marginTop:10 , borderRadius:10}]}>
<View style={styles.containerText}>
<View style={styles.containerTextItemLeft}>
<Text style={styles.text}>STC TL / STC CTDT 23 / 102</Text>
</View>
<View style={styles.sizedBox}></View>
<View style={styles.containerTextItemRight}>
<Text style={[styles.text]}>
Tình trng:
<Text style={[styles.text]}>Tình trng: {' '}</Text>
<Text style={[styles.text, {color: statusColor}]}>
{student.status}
</Text>
<Text style={[styles.text,{color:statusColor}]}>{student.status}</Text>
</View>
</View>
{/*Row 2*/}
<View style={styles.containerSubText}>
<View style={styles.containerSubTextItemLeft}>
<Text style={[styles.text]}>
Ngày sinh:
Ngày sinh: {' '}
<Text
style={[
styles.text,
......@@ -57,7 +57,7 @@ const DetailStudentView = props => {
<View style={styles.sizedBox}></View>
<View style={styles.containerSubTextItemRight}>
<Text style={[styles.text]}>
SDT:
SDT: {' '}
<Text
style={[
styles.text,
......@@ -72,7 +72,7 @@ const DetailStudentView = props => {
<View style={styles.containerSubText}>
<View style={styles.containerSubTextItemLeft}>
<Text style={[styles.text]}>
Gii tính:
Gii tính: {' '}
<Text
style={[
styles.text,
......@@ -85,7 +85,7 @@ const DetailStudentView = props => {
<View style={styles.sizedBox}></View>
<View style={styles.containerSubTextItemRight}>
<Text style={[styles.text]}>
Đim trung bình:
Đim trung bình: {' '}
<Text
style={[
styles.text,
......@@ -101,7 +101,7 @@ const DetailStudentView = props => {
<View style={styles.containerSubText}>
<View style={styles.containerSubTextItemLeft}>
<Text style={[styles.text]}>
Đim TB hc kì gn nht:
Đim TB hc kì gn nht: {' '}
<Text
style={[
styles.text,
......@@ -116,7 +116,7 @@ const DetailStudentView = props => {
<View style={styles.containerSubText}>
<View style={styles.containerSubTextItemLeft}>
<Text style={[styles.text]}>
Đim rèn luyn TB:
Đim rèn luyn TB: {' '}
<Text
style={[
styles.text,
......@@ -145,100 +145,98 @@ const DetailStudentView = props => {
</View>
))}
</View>
</View>
<Text style={styles.textTitle}>Lch s tình trng ca sinh viên</Text>
<Text style={[styles.textTitle ,{marginTop:10}]}>Lch s tình trng ca sinh viên</Text>
<View style={[styles.containerCard, {backgroundColor:getStatusColor(student.status)}]}>
<Text
style={[
{
fontSize: R.sizes.sm,
fontFamily: R.fonts.fontMedium,
fontWeight: '600',
color: R.colors.white,
marginHorizontal:10,
marginVertical:3
},
]}>
Trng thái hc tp:{' '}
<Text style={[styles.text, {color: R.colors.white}]}>
{student.status}
</Text>
</Text>
<View style={styles.card}>
<Text
style={[
{
fontSize: R.sizes.sm,
fontFamily: R.fonts.fontMedium,
fontWeight: '600',
color: R.colors.black,
},
]}>
Hc k 2, Năm hc 2024
</Text>
<View style={styles.card}>
<View style={styles.containerText}>
<View style={{flex: 4}}>
<Text
style={[
{
fontSize: R.sizes.sm,
fontFamily: R.fonts.fontRegular,
fontWeight: '400',
color:R.colors.black,
},
]}>
Hc k 2, Năm hc 2024
</Text>
</View>
<View style={{flex: 3, flexDirection:'row'}}>
<Text
style={[
{
fontSize: R.sizes.sm,
fontFamily: R.fonts.fontRegular,
fontWeight: '400',
color: R.colors.black,
},
]}>
Tình trng:
</Text>
<Text style={[styles.text,{color:statusColor}]}>{student.status}</Text>
</View>
</View>
<View style={styles.containerText}>
<View style={{flex: 4}}>
<Text
style={[
{
fontSize: R.sizes.sm,
fontFamily: R.fonts.fontMedium,
fontWeight: '600',
color: R.colors.black,
},
]}>
Ngày quyết định:{' '}
<Text
style={[
{
fontSize: R.sizes.sm,
fontFamily: R.fonts.fontRegular,
fontWeight: '400',
color:R.colors.black,
},
styles.text,
{fontFamily: R.fonts.fontRegular, fontWeight: '400'},
]}>
Ngày quyết định: {student.date_student}
{student.date_student}
</Text>
</View>
</Text>
</View>
<View style={styles.containerText}>
<View style={{flex: 4}}>
<Text
style={[
{
fontSize: R.sizes.sm,
fontFamily: R.fonts.fontMedium,
fontWeight: '600',
color: R.colors.black,
},
]}>
Lý do:{' '}
<Text
style={[
{
fontSize: R.sizes.sm,
fontFamily: R.fonts.fontRegular,
fontWeight: '400',
color:R.colors.black,
},
styles.text,
{fontFamily: R.fonts.fontRegular, fontWeight: '400'},
]}>
Lý do: {student.date_student}
{student.date_student}
</Text>
</View>
</View>
</Text>
<View style={styles.containerText}>
<View style={{flex: 4}}>
<Text
style={[
{
fontSize: R.sizes.sm,
fontFamily: R.fonts.fontMedium,
fontWeight: '600',
color: R.colors.black,
},
]}>
Ghi chú:{' '}
<Text
style={[
{
fontSize: R.sizes.sm,
fontFamily: R.fonts.fontRegular,
fontWeight: '400',
color:R.colors.black,
},
styles.text,
{fontFamily: R.fonts.fontRegular, fontWeight: '400'},
]}>
Ghi chú: {student.date_student}
{student.date_student}
</Text>
</Text>
</View>
</View>
</View>
</View>
</View>
......
......@@ -14,7 +14,7 @@ const styles = StyleSheet.create({
marginVertical: 15,
backgroundColor: R.colors.white,
flexDirection: 'row',
maxHeight: 41,
height:35
},
boxIconSearch: {
maxWidth: 35,
......@@ -28,6 +28,8 @@ const styles = StyleSheet.create({
fontFamily: R.fonts.fontMedium,
fontWeight: '500',
flex: 1,
margin:0,
padding:0,
},
//Filter
statusContainer: {
......
......@@ -139,6 +139,7 @@ const ListStudentView = props => {
vertical
keyExtractor={(item, index) => `${index}`}
showsVerticalScrollIndicator={false}
contentContainerStyle={{paddingTop: 5}}
/>
</View>
</View>
......
......@@ -40,8 +40,11 @@ const DetailCompensateView = (props) => {
flexDirection: 'row',
}}>
<View style={{flex: 1}}>
<Text style={[styles.text, {fontSize: 11}]}>
Ngày báo ngh: {item.date}
<Text style={[styles.text, {fontSize: R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>
Ngày báo ngh:{' '}
<Text style={{fontSize: R.fontsize.fontSizeContent , fontWeight:400, fontFamily:R.fonts.fontRegular}}>
{item.date}
</Text>
</Text>
</View>
{/* <View style={{flex: 1}}>
......@@ -52,26 +55,32 @@ const DetailCompensateView = (props) => {
</View>
{/* Row 2 */}
<View>
<Text style={[styles.text, {fontSize:11}]}>
Thi gian ngh:{item.dayOfWeek} - Tiết:{' '}
<Text style={[styles.text, {fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>Thi gian ngh:{' '}
<Text style={{fontSize: R.fontsize.fontSizeContent , fontWeight:400, fontFamily:R.fonts.fontRegular}}>{item.dayOfWeek} - Tiết:{' '}
{item.periods.map((item, index) => {
return <Text key={index}>{item.time},</Text>;
})}{' '}
- Ngày:{item.dateStudy}
})}
- Ngày: {''}{item.dateStudy}
</Text>
</Text>
</View>
{/* Row 3 */}
<View style={{}}>
<Text style={[styles.text, {fontSize:11}]}>Địa đim: {item.location}</Text>
<Text style={[styles.text, {fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>Địa đim:{' '}
<Text style={{fontSize: R.fontsize.fontSizeContent , fontWeight:400, fontFamily:R.fonts.fontRegular}}>{item.location}</Text>
</Text>
</View>
{/* Row 4 */}
<View style={{}}>
<Text style={[styles.text, {fontSize:11}]}>Ging viên thay thế: {item.teacher}
<Text style={[styles.text, {fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>Ging viên thay thế:{' '}
<Text style={{fontSize: R.fontsize.fontSizeContent , fontWeight:400, fontFamily:R.fonts.fontRegular}}>{item.teacher}</Text>
</Text>
</View>
{/* Row 5 */}
<View style={{}}>
<Text style={[styles.text, {fontSize:11}]}>Ghi chú: {item.note}</Text>
<Text style={[styles.text, {fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>Ghi chú:{' '}
<Text style={{fontSize: R.fontsize.fontSizeContent , fontWeight:400, fontFamily:R.fonts.fontRegular}}>{item.note}</Text>
</Text>
</View>
......@@ -81,12 +90,12 @@ const DetailCompensateView = (props) => {
<Button
title='Huỷ'
onPress={()=>{}}
backgroundColor={R.colors.brown}
backgroundColor={R.colors.orange}
textColor={R.colors.white}
height={25}
width={90}
borderRadius={15}
fontSize={11}
fontSize={R.fontsize.fontSizeContent}
fontWeight={'600'}
fontFamily={R.fonts.fontMedium}
paddingHorizontal={15}
......@@ -104,8 +113,8 @@ const DetailCompensateView = (props) => {
<Header title={'ATTT2024.1'} isBack />
<View style={styles.body}>
<View style={{alignItems: 'center', marginTop:10}}>
<Text style={[styles.text]}>Ngh / Bù / Tng</Text>
<Text style={[styles.text]}>
<Text style={[styles.text, {fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>Ngh / Bù / Tng</Text>
<Text style={[styles.text, {fontSize:R.fontsize.fontSizeContent , fontWeight:400, fontFamily:R.fonts.fontRegular}]}>
{itemDetail?.rest} / {itemDetail?.compensate} / {itemDetail?.total}
</Text>
</View>
......
......@@ -70,7 +70,8 @@ const styles = StyleSheet.create({
marginVertical:10,
backgroundColor:R.colors.blue,
borderRadius:10,
padding:5
padding:5,
height:35
}
})
......
......@@ -30,8 +30,8 @@ const CompensateView = (props) => {
</View>
<View style={{alignItems:'center'}}>
<Text style={[styles.text]}>Ngh / Bù / Tng</Text>
<Text style={[styles.text]}>
<Text style={[styles.text, {fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>Ngh / Bù / Tng</Text>
<Text style={[styles.text, {fontSize:R.fontsize.fontSizeContent , fontWeight:400, fontFamily:R.fonts.fontRegular}]}>
{item.rest} / {item.compensate} / {item.total}
</Text>
</View>
......@@ -39,7 +39,7 @@ const CompensateView = (props) => {
<View style={styles.btnRight}>
<Image
source={R.images.icNext}
style={{width: 20, height: 20}}
style={{width: 15, height: 15}}
resizeMode="contain"
tintColor={R.colors.black}
/>
......@@ -53,7 +53,7 @@ const CompensateView = (props) => {
<View style={styles.body}>
<View style={styles.card}>
<TouchableOpacity style={styles.btnCard}>
<Text style={styles.text}>Hc k 2, Năm 2025</Text>
<Text style={[styles.text, {fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>Hc k 2, Năm 2025</Text>
</TouchableOpacity>
</View>
<FlatList
......
......@@ -26,16 +26,18 @@ const styles = StyleSheet.create({
borderRadius: 100,
borderWidth: 1,
paddingHorizontal: 14,
maxHeight:50,
height:35
},
input: {
fontSize: R.fontsize.fontsSize12,
color: R.colors.white,
minHeight: 40,
height: 30,
flex: 1,
fontFamily: R.fonts.InterRegular,
fontWeight: '400',
margin:0,
padding:0
},
//Home
safeArea: {
......
......@@ -115,11 +115,11 @@ const styles = StyleSheet.create({
paddingHorizontal:15
},
inputLabel: {
fontSize: R.fontsize.fontSizeSubTitle,
fontSize: R.fontsize.fontSizeContent,
color: R.colors.black,
marginBottom: 3,
fontWeight: '400',
fontFamily:R.fonts.fontRegular,
fontWeight: '600',
fontFamily:R.fonts.fontMedium,
},
textInput: {
borderWidth: 1,
......
......@@ -375,8 +375,8 @@ const DetailIncomingDocumentView = props => {
{
marginBottom: 3,
fontSize: R.fontsize.fontSizeLabel,
fontFamily: R.fonts.fontRegular,
fontWeight: '400',
fontFamily: R.fonts.fontMedium,
fontWeight: '600',
color: R.colors.black,
},
]}>
......@@ -389,7 +389,7 @@ const DetailIncomingDocumentView = props => {
onSelect={item => console.log('Bạn đã chọn:', item)}
/>
</View>
<Text style={[styles.text_2, {marginBottom: 3}]}>
<Text style={[styles.text_2, {marginBottom: 3, fontSize: R.fontsize.fontSizeLabel, fontFamily: R.fonts.fontMedium, fontWeight: '600', color: R.colors.black }]}>
Danh sách th đã chn :
</Text>
<FlatList
......@@ -420,8 +420,8 @@ const DetailIncomingDocumentView = props => {
{
marginBottom: 3,
fontSize: R.fontsize.fontSizeLabel,
fontFamily: R.fonts.fontRegular,
fontWeight: '400',
fontFamily: R.fonts.fontMedium,
fontWeight: '600',
color: R.colors.black,
},
]}>
......@@ -435,7 +435,7 @@ const DetailIncomingDocumentView = props => {
onSelect={item => console.log('Bạn đã chọn:', item)}
/>
</View>
<Text style={[styles.text_2, {marginBottom: 3}]}>
<Text style={[styles.text_2, {marginBottom: 3, fontSize: R.fontsize.fontSizeLabel, fontFamily: R.fonts.fontMedium, fontWeight: '600', color: R.colors.black }]}>
Danh sách người theo dõi đã chn :
</Text>
<FlatList
......@@ -458,8 +458,8 @@ const DetailIncomingDocumentView = props => {
{
marginBottom: 3,
fontSize: R.fontsize.fontSizeLabel,
fontFamily: R.fonts.fontRegular,
fontWeight: '400',
fontFamily: R.fonts.fontMedium,
fontWeight: '600',
color: R.colors.black,
},
]}>
......@@ -473,7 +473,7 @@ const DetailIncomingDocumentView = props => {
onSelect={item => console.log('Bạn đã chọn:', item)}
/>
</View>
<Text style={[styles.text_2, {marginBottom: 3}]}>
<Text style={[styles.text_2, {marginBottom: 3, fontSize: R.fontsize.fontSizeLabel, fontFamily: R.fonts.fontMedium, fontWeight: '600', color: R.colors.black }]}>
Danh sách người thc hin công vic đã chn :
</Text>
<FlatList
......
......@@ -86,7 +86,7 @@ const styles = StyleSheet.create({
justifyContent:'flex-start',
paddingLeft:15,
flexDirection:'row',
height:42
height:35
},
boxFilter:{
flex:1,
......
......@@ -144,7 +144,7 @@ const IncomingDocumentView = props => {
<View style={{marginBottom: 15}}>
<View style={styles.card}>
<TouchableOpacity style={styles.btnCard}>
<Text style={styles.text}>Hc k 2, Năm 2025</Text>
<Text style={[styles.text,{color:R.colors.black,fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>Hc k 2, Năm 2025</Text>
</TouchableOpacity>
</View>
......@@ -157,7 +157,7 @@ const IncomingDocumentView = props => {
<View style={{flex:1}}>
<TextInput
placeholder="Tìm kiếm"
style={styles.text}
style={[styles.text,{padding:0}]}
value={searchQuery}
onChangeText={setSearchQuery}
/>
......@@ -168,7 +168,7 @@ const IncomingDocumentView = props => {
<View style={{flex: 0.1}}></View>
<View style={styles.boxFilter}>
<Dropdown title={'Tìm kiếm'} height={40}/>
<Dropdown title={'Tìm kiếm'} height={35}/>
</View>
</View>
</View>
......
......@@ -61,14 +61,14 @@ const RegisterAbsenceView = props => {
/>
<View style={styles.containerDropDown}>
<View style={{flexDirection: 'row'}}>
<Text style={[styles.txtSubtitle , {marginBottom: 5}]}>Mã lp </Text>
<Text style={[styles.txtSubtitle , {marginBottom: 5, fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>Mã lp </Text>
<Text style={{color: R.colors.red}}>*</Text>
</View>
<Dropdown title={'Mã lớp '} />
</View>
<View style={styles.containerDropDown}>
<View style={{flexDirection: 'row'}}>
<Text style={[styles.txtSubtitle , {marginBottom: 5}]}>Lch báo ngh </Text>
<Text style={[styles.txtSubtitle , {marginBottom: 5, fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>Lch báo ngh </Text>
<Text style={{color: R.colors.red}}>*</Text>
</View>
<Dropdown title={'Lịch báo nghỉ '} />
......@@ -85,14 +85,14 @@ const RegisterAbsenceView = props => {
/>
<View style={styles.containerDropDown}>
<View style={{flexDirection: 'row'}}>
<Text style={[styles.txtSubtitle , {marginBottom: 5}]}>Ging viên thay thế</Text>
<Text style={[styles.txtSubtitle , {marginBottom: 5, fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>Ging viên thay thế</Text>
<Text style={{color: R.colors.red}}>*</Text>
</View>
<Dropdown title={'Giảng viên thay thế'} />
</View>
<View style={{marginTop: 15}}>
<Text style={[styles.txtSubtitle , {marginBottom: 5}]}>Minh chng</Text>
<Text style={[styles.txtSubtitle , {marginBottom: 5, fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>Minh chng</Text>
<TouchableOpacity style={styles.cardDocument}>
<Image
source={R.images.icDocument}
......
......@@ -41,8 +41,9 @@ const AbsenceListByCourseView = props => {
flexDirection: 'row',
}}>
<View style={{flex: 1}}>
<Text style={[styles.text, {fontSize: 11}]}>
Ngày báo ngh: {item.date}
<Text style={[styles.text, {fontSize: R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>
Ngày báo ngh: {''}
<Text style={[styles.text,{fontSize:R.fontsize.fontSizeContent}]}>{item.date}</Text>
</Text>
</View>
{/* <View style={{flex: 1}}>
......@@ -53,28 +54,31 @@ const AbsenceListByCourseView = props => {
</View>
{/* Row 2 */}
<View>
<Text style={[styles.text, {fontSize:11}]}>
Thi gian ngh:{item.dayOfWeek} - Tiết:{' '}
<Text style={[styles.text, {fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>
Thi gian ngh:{' '}
<Text style={[styles.text,{fontSize:R.fontsize.fontSizeContent}]}>{item.dayOfWeek} - Tiết:{' '}
{item.periods.map((item, index) => {
return <Text key={index}>{item.time},</Text>;
})}{' '}
- Ngày:{item.dateStudy}
- Ngày:{item.dateStudy}</Text>
</Text>
</View>
{/* Row 3 */}
<View style={{}}>
<Text style={[styles.text, {fontSize:11}]}>Địa đim: {item.location}</Text>
<Text style={[styles.text, {fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>Địa đim:
<Text style={[styles.text,{fontSize:R.fontsize.fontSizeContent}]}>{item.location}</Text></Text>
</View>
{/* Row 4 */}
<View style={{}}>
<Text style={[styles.text, {fontSize:11}]}>Ging viên thay thế: {item.teacher}
<Text style={[styles.text, {fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>Ging viên thay thế:
<Text style={[styles.text,{fontSize:R.fontsize.fontSizeContent}]}>{item.teacher}</Text>
</Text>
</View>
{/* Row 5 */}
<View style={{}}>
<Text style={[styles.text, {fontSize:11}]}>Ghi chú: {item.note}</Text>
<Text style={[styles.text, {fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>Ghi chú:
<Text style={[styles.text,{fontSize:R.fontsize.fontSizeContent}]}>{item.note}</Text></Text>
</View>
{
item.status === 'Đã xác nhận' && (
<View style={{alignItems:'flex-end'}}>
......@@ -100,7 +104,7 @@ const AbsenceListByCourseView = props => {
<Button
title='Huỷ'
onPress={()=>{}}
backgroundColor={R.colors.brown}
backgroundColor={R.colors.orange}
textColor={R.colors.white}
height={25}
width={90}
......@@ -123,8 +127,8 @@ const AbsenceListByCourseView = props => {
<Header title={'ATTT2024.1'} isBack />
<View style={styles.body}>
<View style={{alignItems: 'center', marginTop:10}}>
<Text style={[styles.text]}>Ngh / Bù / Tng</Text>
<Text style={[styles.text]}>
<Text style={[styles.text, {fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>Ngh / Bù / Tng</Text>
<Text style={[styles.text, {fontSize:11 , fontWeight:400, fontFamily:R.fonts.fontRegular}]}>
{item.rest} / {item.compensate} / {item.total}
</Text>
</View>
......
......@@ -18,7 +18,6 @@ const styles = StyleSheet.create({
marginHorizontal: 15,
alignItems: 'center',
justifyContent: 'center',
backgroundColor: R.colors.white,
shadowColor: R.colors.black,
shadowOffset: {width: 0.5, height: 2},
......@@ -70,7 +69,8 @@ const styles = StyleSheet.create({
marginVertical:10,
backgroundColor:R.colors.blue,
borderRadius:10,
padding:5
padding:5,
height:35
}
});
......
......@@ -31,7 +31,7 @@ const ListRestReportView = props => {
</View>
<View style={{alignItems:'center'}}>
<Text style={[styles.text]}>Ngh / Bù / Tng</Text>
<Text style={[styles.text, {fontWeight: '600', fontFamily: R.fonts.fontMedium}]}>Ngh / Bù / Tng</Text>
<Text style={[styles.text]}>
{item.rest} / {item.compensate} / {item.total}
</Text>
......@@ -40,7 +40,7 @@ const ListRestReportView = props => {
<View style={styles.btnRight}>
<Image
source={R.images.icNext}
style={{width: 20, height: 20}}
style={{width: 15, height: 15}}
resizeMode="contain"
tintColor={R.colors.black}
/>
......@@ -55,7 +55,7 @@ const ListRestReportView = props => {
<View style={styles.body}>
<View style={styles.card}>
<TouchableOpacity style={styles.btnCard}>
<Text style={styles.text}>Hc k 2, Năm 2025</Text>
<Text style={[styles.text, {fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>Hc k 2, Năm 2025</Text>
</TouchableOpacity>
</View>
<FlatList
......
......@@ -85,7 +85,7 @@ const styles = StyleSheet.create({
justifyContent:'flex-start',
paddingLeft:15,
flexDirection:'row',
height:42
height:35
},
boxFilter:{
flex:1,
......
......@@ -183,7 +183,7 @@ const ListSendView = (props) => {
<View style={{marginBottom: 15}}>
<View style={styles.card}>
<TouchableOpacity style={styles.btnCard}>
<Text style={styles.text}>Hc k 2, Năm 2025</Text>
<Text style={[styles.text, {fontSize: R.fontsize.fontSizeContent, fontWeight: '600', fontFamily: R.fonts.fontMedium, color: R.colors.black}]}>Hc k 2, Năm 2025</Text>
</TouchableOpacity>
</View>
......@@ -196,7 +196,7 @@ const ListSendView = (props) => {
<View style={{flex:1}}>
<TextInput
placeholder="Tìm kiếm"
style={styles.text}
style={[styles.text, {padding:0}]}
value={searchQuery}
onChangeText={setSearchQuery}
/>
......@@ -205,7 +205,7 @@ const ListSendView = (props) => {
<View style={{flex: 0.1}}></View>
<View style={styles.boxFilter}>
<Dropdown title={'Tìm kiếm'} height={40}/>
<Dropdown title={'Tìm kiếm'} height={35}/>
</View>
</View>
</View>
......
......@@ -91,18 +91,7 @@ const Notification = (props) => {
],
"Study": [],
"Activity": [
{
"event_title": "Ngày hội việc làm",
"description": "Trường tổ chức ngày hội việc làm với hơn 50 doanh nghiệp tham gia",
"date": "05/05/2024",
"location": "Sân trường cơ sở chính"
},
{
"event_title": "Cuộc thi lập trình ACM",
"description": "Các đội đăng ký trước 01/05 để tham gia",
"date": "10/05/2024",
"location": "Phòng máy B2.12"
}
],
"Tuition": [
{
......
......@@ -45,7 +45,7 @@ const styles = StyleSheet.create({
marginHorizontal:15,
backgroundColor:R.colors.white,
flexDirection:'row',
maxHeight:41,
height:35
},
boxIconSearch:{
maxWidth:35,
......@@ -59,6 +59,7 @@ const styles = StyleSheet.create({
fontFamily:R.fonts.fontMedium,
fontWeight:'500',
flex:1,
padding:0,
},
// boxSearch:{
......@@ -125,13 +126,13 @@ const styles = StyleSheet.create({
},
btnFooter:{
backgroundColor:R.colors.blue,
paddingVertical:10,
paddingHorizontal:20,
borderRadius:10,
alignItems:'center',
justifyContent:'center',
marginHorizontal:15,
marginBottom:10,
height:35
},
textBtnFooter:{
color:R.colors.white,
......
......@@ -117,23 +117,22 @@ const NotificationView = props => {
<TouchableOpacity style={[styles.cardItem, styles.cardItemTution]} onPress={() => navigate.navigate(SCREENNAME.DETAILNOTIFICATION)}>
<View style={styles.boxLeft}>
<Text style={styles.text} numberOfLines={2} ellipsizeMode="tail">
<Text style={styles.text}>Tiêu đề: </Text>
<Text style={[styles.text ,{fontFamily:R.fonts.fontMedium,fontWeight:'600'}]}>Tiêu đề: </Text>
{item.title_notifi_tuition}
</Text>
<Text style={styles.text} numberOfLines={1} ellipsizeMode="tail">
<Text style={styles.text}>Ngày to: </Text>
<Text style={[styles.text,{fontFamily:R.fonts.fontMedium,fontWeight:'600'}]}>Ngày to: </Text>
{item.date_create}
</Text>
<View style={styles.boxTimeTution}>
<Text style={styles.text} numberOfLines={1} ellipsizeMode="tail">
<Text style={styles.text}>Thi gian gi: </Text>
<Text style={[styles.text,{fontFamily:R.fonts.fontMedium,fontWeight:'600'}]}>Thi gian gi: </Text>
{item.time_send}
</Text>
<View style={styles.sizedBox}></View>
<Text
style={[styles.text, {color: statusColor}]}
style={[styles.text, {color: statusColor} ,{fontFamily:R.fonts.fontMedium,fontWeight:'600'}]}
numberOfLines={1}
ellipsizeMode="tail">
{item.status}
......@@ -141,7 +140,7 @@ const NotificationView = props => {
</View>
<Text style={styles.text} numberOfLines={1} ellipsizeMode="tail">
<Text style={styles.text}>Loi thông báo: </Text>
<Text style={[styles.text,{fontFamily:R.fonts.fontMedium,fontWeight:'600'}]}>Loi thông báo: </Text>
{item.style}
</Text>
</View>
......
......@@ -75,7 +75,7 @@ const ListRollCallView = props => {
<Button
title="Tạo QR điểm danh"
onPress={() => {}}
backgroundColor={R.colors.brown}
backgroundColor={R.colors.orange}
textColor={R.colors.white}
fontSize={12}
containerStyle={{
......@@ -93,7 +93,7 @@ const ListRollCallView = props => {
navigation.navigate(SCREENNAME.LISTSTUDENTROLLCALL);
}}
containerStyle={{paddingHorizontal: 5,paddingVertical:5, borderRadius: 20}}
backgroundColor={R.colors.brown}
backgroundColor={R.colors.orange}
textColor={R.colors.white}
fontSize={12}
width={85}
......@@ -126,8 +126,10 @@ const ListRollCallView = props => {
<Header title={'Danh sách lớp điểm danh'} isBack />
<View style={styles.body}>
<View style={styles.card}>
<TouchableOpacity style={styles.btnCard}>
<Text style={styles.text}>Hc k 2, Năm 2025</Text>
<TouchableOpacity style={styles.btnCard }>
<Text style={[styles.text , {fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>
Hc k 2, Năm 2025
</Text>
</TouchableOpacity>
</View>
<View style={styles.searchContainer}>
......
......@@ -11,25 +11,133 @@ const SubTeacherView = props => {
return (
<View style={styles.containerCard}>
<View style={styles.containerText}>
<View style={{flexDirection:'row'}}>
<Text style={styles.text}>Mã lp: </Text>
<Text style={[styles.text,{color:R.colors.blue, fontWeight:'600', fontFamily:R.fonts.fontMedium}]}>{item.classCode} </Text>
</View>
<View style={{flexDirection:'row'}}>
<Text style={styles.text}>Trng thái: </Text>
<Text style={[styles.text,{color: getStatusColor(item.status), fontWeight:'600', fontFamily:R.fonts.fontMedium}]}>{item.status}</Text>
</View>
<Text
style={[
styles.text,
{
fontSize: R.fontsize.fontSizeContent,
fontWeight: 600,
fontFamily: R.fonts.fontMedium,
},
]}>
Mã lp:{' '}
<Text
style={[
styles.text,
{
color: R.colors.blue,
fontWeight: '600',
fontFamily: R.fonts.fontMedium,
},
]}>
{item.classCode}{' '}
</Text>
</Text>
<Text
style={[
styles.text,
{
fontSize: R.fontsize.fontSizeContent,
fontWeight: 600,
fontFamily: R.fonts.fontMedium,
},
]}>
Trng thái:{' '}
<Text
style={[
styles.text,
{
color: getStatusColor(item.status),
fontWeight: '600',
fontFamily: R.fonts.fontMedium,
},
]}>
{item.status}
</Text>
</Text>
</View>
<Text style={styles.text}>Thi gian: {item.time}</Text>
<Text style={styles.text}>Địa đim: {item.location}</Text>
<Text style={styles.text}>Ging viên yêu cu: {item.requestedLecturer}</Text>
<Text style={styles.text}>Ghi chú: {item.note}</Text>
<Text
style={[
styles.text,
{
fontSize: R.fontsize.fontSizeContent,
fontWeight: 600,
fontFamily: R.fonts.fontMedium,
},
]}>
Thi gian:{' '}
<Text
style={[
styles.text,
{fontWeight: '400', fontFamily: R.fonts.fontRegular},
]}>
{item.time}
</Text>
</Text>
<Text
style={[
styles.text,
{
fontSize: R.fontsize.fontSizeContent,
fontWeight: 600,
fontFamily: R.fonts.fontMedium,
},
]}>
Địa đim:{' '}
<Text
style={[
styles.text,
{fontWeight: '400', fontFamily: R.fonts.fontRegular},
]}>
{item.location}
</Text>
</Text>
<Text
style={[
styles.text,
{
fontSize: R.fontsize.fontSizeContent,
fontWeight: 600,
fontFamily: R.fonts.fontMedium,
},
]}>
Ging viên yêu cu:{' '}
<Text
style={[
styles.text,
{fontWeight: '400', fontFamily: R.fonts.fontRegular},
]}>
{item.requestedLecturer}
</Text>
</Text>
<Text
style={[
styles.text,
{
fontSize: R.fontsize.fontSizeContent,
fontWeight: 600,
fontFamily: R.fonts.fontMedium,
},
]}>
Ghi chú:{' '}
<Text
style={[
styles.text,
{fontWeight: '400', fontFamily: R.fonts.fontRegular},
]}>
{item.note}
</Text>
</Text>
{item.status === 'Chờ xác nhận' && (
<View style={styles.containerButton}>
<Button
title="Xác nhận"
onPress={() => {
}}
onPress={() => {}}
backgroundColor={R.colors.blue}
textColor={R.colors.white}
height={30}
......@@ -46,7 +154,7 @@ const SubTeacherView = props => {
onPress={() => {
// Xử lý từ chối
}}
backgroundColor={R.colors.brown}
backgroundColor={R.colors.orange}
textColor={R.colors.white}
height={30}
borderRadius={15}
......@@ -61,14 +169,14 @@ const SubTeacherView = props => {
</View>
);
};
const getStatusColor = (status) => {
const getStatusColor = status => {
switch (status) {
case 'Chờ xác nhận':
return R.colors.blue;
case 'Đã xác nhận':
return R.colors.green;
case 'Từ chối':
return R.colors.brown;
return R.colors.orange;
}
};
return (
......@@ -77,7 +185,9 @@ const SubTeacherView = props => {
<View style={styles.body}>
<View style={styles.card}>
<TouchableOpacity style={styles.btnCard}>
<Text style={styles.text}>Hc k 2, Năm 2025</Text>
<Text style={[styles.text , {fontSize:R.fontsize.fontSizeContent , fontWeight:600, fontFamily:R.fonts.fontMedium}]}>
Hc k 2, Năm 2025
</Text>
</TouchableOpacity>
</View>
<FlatList
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment