1- import React from 'react'
2- import ActivityCard from '../../../components/Activities/ActivityCard'
3- import KWoC from '../images/kwoc_logo.png'
4- import workshop19 from '../images/workshop.jpg'
5- import './common.css'
6- var activities = [
7- {
8- img :'https://1.bp.blogspot.com/-Ig-v1tDXZt4/XDODmZvWp1I/AAAAAAAAB0A/KtbFdBPFVQw2O15FekkIR0Yg8MUp--rngCLcBGAs/s1600/GCI%2B-%2BVertical%2B-%2BGray%2BText%2B-%2BWhite%2BBG.png' ,
9- title :'Google CodeIN 2019-20' ,
10- text :'Competition for preschool.' ,
11- link :'/#/gci19'
12- } ,
13- {
14- img :'https://cdn.shortpixel.ai/spai/q_lossy+ret_img/https://numfocus.org/wp-content/uploads/2017/03/vertical-gsoc-logo_1-1.jpg' ,
15- title :'Google Summer of Code 2019' ,
16- text :'Competition for undergraduate students.' ,
17- link :'/#/gsoc19'
18- } ,
19- {
20- img :KWoC ,
21- title :'Kharagpur Winter of Code 2019' ,
22- text :'Competition for undergraduate students.' ,
23- link :'/#/kwoc19'
24- } ,
25- {
26- img :workshop19 ,
27- title :'Organized a Workshop/ Event At New Delhi Together With Women Who Code' ,
28- text :'Competition for undergraduate students.' ,
29- link :'/#/workshop19'
30- } ,
31- ]
1+ import React , { Component } from "react" ;
2+ import ActivityCard from "../../../components/Activities/ActivityCard" ;
3+ import KWoC from "../images/kwoc_logo.png" ;
4+ import workshop19 from "../images/workshop.jpg" ;
5+ import "./common.css" ;
326
33- const MapActivites = activities . map ( ( activity , index ) => { return < ActivityCard key = { index } activity = { activity } /> } )
7+ class Activities extends React . Component {
8+ constructor ( props ) {
9+ super ( props ) ;
10+ this . state = {
11+ activities : [ ]
12+ } ;
13+ }
3414
15+ componentDidMount ( ) {
16+ let activities = [ ] ;
17+ fetch ( "https://medium-article-fetcher.herokuapp.com/posts" , {
18+ crossDomain : true ,
19+ method : "GET" ,
20+ headers : { "Content-Type" : "application/json" }
21+ } )
22+ . then ( res => {
23+ return res . json ( ) ;
24+ } )
25+ . then ( resData => {
26+ for ( let i = 0 ; i < 4 ; i ++ ) {
27+ let obj = { } ;
28+ obj . title = resData . items [ i ] . title ;
29+ obj . link = resData . items [ i ] . link ;
3530
36- const Activities = ( ) => {
31+ let m ,
32+ urls = [ ] ,
33+ str = resData . items [ i ] . content_encoded ,
34+ rex = / < i m g [ ^ > ] + s r c = " ? ( [ ^ " \s ] + ) " ? \s * \/ > / g;
35+
36+ while ( ( m = rex . exec ( str ) ) ) {
37+ urls . push ( m [ 1 ] ) ;
38+ }
39+ obj . img = urls [ 0 ] ;
40+ activities . push ( obj ) ;
41+ }
42+ this . setState ( { activities : activities } , ( ) => {
43+ console . log ( this . state . activities ) ;
44+ } ) ;
45+ } )
46+ . catch ( err => {
47+ console . log ( err ) ;
48+ } ) ;
49+ }
50+ render ( ) {
3751 return (
38- < div id = "activity" >
39- < h1 className = "component-heading" > Activities</ h1 >
40- < div class = "container" >
41- < div class = "row" style = { { display :"flex" , justifyContent :"space-around" } } >
42- { MapActivites }
43- </ div >
44- </ div >
45- </ div >
46- )
52+ < div id = "activity" >
53+ < h1 className = "component-heading" > Activities</ h1 >
54+ < div class = "container" >
55+ < div
56+ class = "row"
57+ style = { {
58+ display : "flex" ,
59+ justifyContent : "space-around"
60+ } }
61+ >
62+ { this . state . activities . map ( ( currentActivity , index ) => {
63+ return < ActivityCard key = { index } activity = { currentActivity } /> ;
64+ } ) }
65+ </ div >
66+ </ div >
67+ </ div >
68+ ) ;
69+ }
4770}
4871
49- export default Activities
72+ export default Activities ;
0 commit comments