Skip to content

Commit 88b86e9

Browse files
committed
made cards and developed event section (anitab-org#123)
1 parent 25c5d45 commit 88b86e9

10 files changed

Lines changed: 299 additions & 112 deletions

File tree

‎src/Components/Content/index.js‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import Projects from './../Projects';
44
import Home from './../Home';
55
import AboutUs from './../AboutUs';
66
import Contribute from '../Contribute';
7+
import Events from '../Events';
78

89
function Content({ selected, titles }) {
910
if (selected === 0) {
@@ -12,6 +13,8 @@ function Content({ selected, titles }) {
1213
return <AboutUs />;
1314
} else if (selected === 3) {
1415
return <Projects />;
16+
} else if(selected === 4) {
17+
return <Events />
1518
}
1619
if (selected === 5) {
1720
return <Contribute />;
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import React from 'react';
2+
import {Text, Image, StyleSheet, View} from 'react-native';
3+
4+
const Badge = (props) => {
5+
return (
6+
<View style={styles.container}>
7+
<Image style={styles.image} source={props.link} />
8+
<Text style={styles.description}>{props.text}</Text>
9+
</View>
10+
);
11+
};
12+
13+
const styles = StyleSheet.create({
14+
container: {
15+
flexDirection: 'row',
16+
flexWrap: 'wrap',
17+
marginTop: 16,
18+
},
19+
image: {
20+
width: 32,
21+
height: 32,
22+
},
23+
description: {
24+
fontSize: 16,
25+
color: '#103B81',
26+
fontWeight: 200,
27+
marginLeft: 16,
28+
marginTop:8,
29+
}
30+
});
31+
32+
export default Badge;
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
import React from 'react';
2+
import {Text, StyleSheet, View, Linking} from 'react-native';
3+
import ScaledImage from '../../ScaledImage';
4+
import { withCard } from './../../../Decorators/Card';
5+
import Badge from './CardBadge';
6+
7+
const EventCard = ({ props, isOver }) => {
8+
return (
9+
<View style={styles.card} >
10+
<ScaledImage width={286} source={props.highlights.source} />
11+
<Text style={styles.title}>{props.title}</Text>
12+
<Badge text={props.date} link={require('./../../../assets/events_and_highlights/calendar.png')} />
13+
<Badge text={props.location} link={require('./../../../assets/events_and_highlights/location.png')} />
14+
<Badge text={props.timings} link={require('./../../../assets/events_and_highlights/time.png')} />
15+
<View style={{marginTop: 32}}>
16+
{props.description.map((detail,index) => (
17+
<Text
18+
style={{
19+
color: '#103B81',
20+
fontSize: 16,
21+
fontWeight: '200'
22+
}}
23+
>
24+
{detail.par}
25+
</Text>
26+
))}
27+
</View>
28+
<Text style={{
29+
color: '#103B81',
30+
fontSize: 16,
31+
fontWeight: '400',
32+
marginTop: 32,
33+
}}
34+
onPress={() => {Linking.openURL(props.know_more.link)}}
35+
>
36+
{props.know_more.par}
37+
</Text>
38+
</View>
39+
);
40+
};
41+
42+
const styles = StyleSheet.create({
43+
card: {
44+
flex: 1,
45+
width: 286,
46+
borderRadius: 4,
47+
overflow: 'hidden',
48+
},
49+
cardContent: {
50+
marginHorizontal: 18,
51+
maeginVertical: 10
52+
},
53+
title: {
54+
color: '#103B81',
55+
fontWeight: '400',
56+
fontSize: 16,
57+
marginTop: 12,
58+
},
59+
desc: {
60+
fontSize: 16,
61+
color: '#103B81',
62+
fontWeight: 200,
63+
marginTop: 16,
64+
},
65+
})
66+
67+
export default withCard(EventCard);
68+

‎src/Components/Events/index.js‎

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
import React from 'react';
2+
import {View , StyleSheet, Text} from 'react-native';
3+
import EventCard from './Cards';
4+
import {getevents_highlights} from './../../content/events_and_highlights';
5+
import SectionSubheader from './../SectionSubheader';
6+
7+
const events_highlight = getevents_highlights();
8+
9+
class Events extends React.Component {
10+
render() {
11+
return (
12+
<View style={styles.container} >
13+
<SectionSubheader
14+
title={events_highlight.sections[0].title}
15+
/>
16+
{events_highlight.sections[0].content.map((detail,index) => {
17+
return <Text style={styles.description} key={index}>{detail.par}</Text>;
18+
})}
19+
<View
20+
style={{
21+
flexDirection: 'row',
22+
flexWrap: 'wrap',
23+
marginTop: 30,
24+
}}
25+
>
26+
{events_highlight.sections[1].events.map((event_detail,index) => (
27+
<EventCard
28+
key={event_detail.title}
29+
props={event_detail}
30+
backgroundColor="#e7edfd"
31+
padding={12}
32+
/>
33+
))}
34+
</View>
35+
</View>
36+
);
37+
}
38+
}
39+
40+
const styles = StyleSheet.create({
41+
container: {
42+
width: '80%',
43+
alignItems: 'left',
44+
paddingLeft: 16,
45+
paddingRight: 16,
46+
marginTop: 30,
47+
},
48+
description: {
49+
flex: 1,
50+
marginTop: 20,
51+
paddingLeft: 16,
52+
fontSize: 18,
53+
flexGrow: 1,
54+
fontWeight: 150,
55+
color: '#103B81',
56+
textAlign: 'left',
57+
}
58+
});
59+
export default Events;

‎src/Components/Projects/ProjectCard/ProjectCardBadge/index.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ const styles = StyleSheet.create({
2121
marginTop: 8,
2222
},
2323
image: {
24-
width: 24,
25-
height: 24,
24+
width: 32,
25+
height: 32,
2626
},
2727
title: {
2828
color: '#103B81',
6.07 KB
Loading
50.5 KB
Loading
44.6 KB
Loading
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
const events_highlight = {
2+
sections: [
3+
{
4+
title: 'Our Events and Highlights',
5+
content: [
6+
{
7+
par: 'AnitaB.org Open Source Events convenes members from all backgrounds and levels of expertise throughout the year to bridge the diversity gap in Open Source development.'
8+
},
9+
{
10+
par: 'Our events aim to give members insights from industry experts and female-identifying leaders on a variety of topics promoting Open Source, and covering stages of Open Source development right from Introduction to Quality Assurance.'
11+
}
12+
]
13+
},
14+
{
15+
events: [
16+
{
17+
title: 'Why I contribute to Open source?',
18+
date: 'July 4, 2020',
19+
location: 'Virtual',
20+
timings: '1am (UTC)',
21+
description: [
22+
{
23+
par: 'Heard about Open Source, not sure what’s in it for you? Need a boost to begin?'
24+
},
25+
{
26+
par: 'This event will give you an understanding of the motivation behind individuals who contribute to open source'
27+
},
28+
{
29+
par: 'Open Source contributors with varying experiences will be there to share their journey, and answer your questions!'
30+
}
31+
],
32+
highlights:{
33+
source: require('./../assets/events_and_highlights/1.png'),
34+
},
35+
know_more:
36+
{
37+
par: 'Feel free to contact AnitaB.org Open Source on Zulip if you need any further information about this event.',
38+
link: 'https://anitab-org.zulipchat.com',
39+
}
40+
},
41+
{
42+
title: 'Engaging Open Source community in Quality Assurance',
43+
date: 'August 9, 2020',
44+
location: 'Virtual',
45+
timings: '9am (EST)',
46+
description: [
47+
{
48+
par: 'Wondered how Quality Assurance (QA) for software is performed in companies or what are the roles and responsibilities of an QA engineer?'
49+
},
50+
{
51+
par: 'This talk will help members grasp concepts of traditional QA methods such as formalized testing, writing and tracking bugs which are equally relevant for Open Source development.'
52+
},
53+
{
54+
par: 'We will explore the contrasting nature of software quality assurance under the Open Source model and traditional software development models. Consequently, their translation in practical advantages.'
55+
},
56+
{
57+
par: 'It will draw attention to pragmatic quality assurance practices in upstream Open Source projects like Fedora.'
58+
},
59+
{
60+
par: 'This will certainly give members a head-start by laying out some of the best practices and common challenges faced while quality testing Open Source products.'
61+
}
62+
],
63+
highlights:{
64+
source: require('./../assets/events_and_highlights/2.png'),
65+
},
66+
know_more: {
67+
par: 'Feel free to contact AnitaB.org Open Source on Zulip if you need any further information about this event.',
68+
link: 'https://anitab-org.zulipchat.com',
69+
}
70+
},
71+
{
72+
title: 'Hopper India 2020',
73+
date: 'August 6 — August 7,2020',
74+
location: 'Virtual',
75+
timings: '9:30am - 4pm (IST)',
76+
description: [
77+
{
78+
par: 'Our vibrant community of women in technology from Chennai, Delhi, Hyderabad, and Pune is coming together to present this two-day virtual event modeled after the popular Grace Hopper Celebration India (GHCI) conference for women in technology.'
79+
},
80+
{
81+
par: 'This immersive event brings together women technologists at all levels from industry, academia, research and startups to build connections, learn, and advance their careers.'
82+
},
83+
{
84+
par: 'Attend inspiring keynotes and sessions led by charismatic women carrying a zeal to learn, grow and lead.'
85+
},
86+
{
87+
par: 'Don’t miss out on the opportunity to network with peers, and gain important resources to help you succeed in and further your career.'
88+
},
89+
{
90+
par: 'Our Career Fair, hosting tech giants, research labs, and financial-tech companies, offers immense job opportunities to both students and professionals.'
91+
}
92+
],
93+
highlights:{
94+
source: require('./../assets/events_and_highlights/3.png'),
95+
},
96+
know_more: {
97+
par: 'Visit our official Grace Hopper Celebration India website for details about registration, eligibility, scholarships, conference sessions and FAQs.',
98+
link: 'https://ghcindia.anitab.org/',
99+
}
100+
},
101+
{
102+
title: 'Grace Hopper Celebration 2020',
103+
date: 'September 29 — October 3,2020',
104+
location: 'Virtual',
105+
timings: '11am - 3pm (PT)',
106+
description: [
107+
{
108+
par: 'AnitaB.org’s flagship event Grace Hopper Celebration brings the research and career interests of women in computing to the forefront.'
109+
},
110+
{
111+
par: 'Grace Hopper Celebration (GHC), world’s largest gathering of women technologists, commemorates, celebrates, fosters and encourages the magnificent women in technology who dared to shed their inhibitions, and recognized the genius in them.'
112+
},
113+
{
114+
par: 'Attend inspiring keynotes and sessions, network with peers, and gain important resources to help you succeed in and further your career.'
115+
},
116+
{
117+
par: 'The celebration consists of a combination of technical sessions, poster sessions, career fairs, award ceremonies and more.'
118+
}
119+
],
120+
highlights:{
121+
source: require('./../assets/events_and_highlights/4.png'),
122+
},
123+
know_more:{
124+
par: 'Visit our official Grace Hopper Celebration website for details about registration, eligibility, scholarships, conference sessions and FAQs.',
125+
link: 'https://ghc.anitab.org',
126+
}
127+
}
128+
]
129+
}
130+
]
131+
};
132+
133+
export const getevents_highlights = () => {
134+
return events_highlight;
135+
};

0 commit comments

Comments
 (0)