Skip to content

Commit a616a0c

Browse files
Requested changes
1 parent 49e9012 commit a616a0c

File tree

3 files changed

+88
-54
lines changed

3 files changed

+88
-54
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
.card.activity {
2+
width: 20rem;
3+
height: 400px;
4+
}
5+
6+
.card.activity:hover {
7+
box-shadow: 5px 10px 20px 1px rgba(0, 0, 0, 0.253);
8+
}
9+
10+
.card.activity.card-body {
11+
padding: 3rem 0;
12+
}
13+
14+
.card.activity.card-text {
15+
font-size: 0.9rem;
16+
padding: 0.4rem 1.9rem;
17+
}
18+
19+
.container.fluid.row {
20+
padding-top: 6rem;
21+
}
22+
23+
.card-img-top.activity {
24+
transform: scale(1);
25+
transition: transform 0.5s ease;
26+
height: 150px;
27+
object-fit: scale-down;
28+
}
29+
30+
.card-img-top.activity:hover {
31+
transform: scale(1.8);
32+
overflow: hidden;
33+
}
34+
35+
.btn.activity {
36+
color: #22247a;
37+
background-color: #fff;
38+
border-color: #22247a;
39+
}
40+
41+
.btn.activity:hover {
42+
color: #fff;
43+
background-color: #22247a;
44+
border-color: #22247a;
45+
}
46+
47+
.card-title.activity {
48+
font-weight: bold;
49+
}

src/components/Activities/ActivityCard.js

Lines changed: 19 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,25 @@
11
import React from "react";
2-
import { Card } from "react-bootstrap";
2+
import "./ActivityCard.css";
3+
34
const ActivityCard = props => {
45
return (
5-
<div>
6-
<Card
7-
style={{
8-
width: "65em",
9-
marginBottom: "2vh",
10-
border: "1px solid #d4d0cf"
11-
}}
12-
className="shadow-lg"
13-
>
14-
<Card.Img
15-
variant="top"
16-
src={props.activity.img}
17-
style={{ height: "175px", objectFit: "cover" }}
18-
/>
19-
<Card.Body>
20-
<Card.Title>
21-
<div style={{ width: "300px", margin: "0 auto" }}>
22-
<h3
23-
style={{
24-
textTransform: "capitalize",
25-
overflowWrap: "break-word"
26-
}}
27-
>
28-
{props.activity.title}
29-
</h3>
30-
</div>
31-
</Card.Title>
32-
<Card.Text style={{ textTransform: "capitalize" }}>
33-
{props.activity.text}
34-
</Card.Text>
35-
<a
36-
href={props.activity.link}
37-
class="btn btn-sm btn-primary"
38-
style={{ backgroundColor: "#22247A" }}
39-
>
40-
Read More
41-
</a>
42-
</Card.Body>
43-
</Card>
6+
<div className="card text-center activity overflow-hidden">
7+
<img src={props.activity.img} alt="" className="card-img-top activity" />
8+
9+
<div className="card-body text-dark flex-column d-flex">
10+
<h4 className="card-title activity" style={{ height: "200px" }}>
11+
{props.activity.title}
12+
</h4>
13+
<p className="card-text text-secondary">{props.activity.description}</p>
14+
15+
<a
16+
href={props.activity.link}
17+
className="activity btn btn-outline-primary mt-auto btn-block align-self-end"
18+
style={{ marginTop: "auto" }}
19+
>
20+
Read More
21+
</a>
22+
</div>
4423
</div>
4524
);
4625
};

src/pages/Home/Components/Activities.js

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
import React, { Component } from "react";
1+
import React from "react";
22
import ActivityCard from "../../../components/Activities/ActivityCard";
3-
import KWoC from "../images/kwoc_logo.png";
4-
import workshop19 from "../images/workshop.jpg";
53
import "./common.css";
64

75
class Activities extends React.Component {
@@ -23,11 +21,11 @@ class Activities extends React.Component {
2321
return res.json();
2422
})
2523
.then(resData => {
26-
for (let i = 0; i < 4; i++) {
24+
console.log(resData);
25+
for (let i = 0; i < 3; i++) {
2726
let obj = {};
2827
obj.title = resData.items[i].title;
2928
obj.link = resData.items[i].link;
30-
3129
let m,
3230
urls = [],
3331
str = resData.items[i].content_encoded,
@@ -37,6 +35,16 @@ class Activities extends React.Component {
3735
urls.push(m[1]);
3836
}
3937
obj.img = urls[0];
38+
39+
let reg = /<\s*p[^>]*>([^<]*)<\s*\/\s*p\s*>/;
40+
let stream = resData.items[i].content_encoded.match(reg);
41+
42+
obj.description =
43+
stream[1]
44+
.split(" ")
45+
.slice(0, 20)
46+
.join(" ") + "...";
47+
4048
activities.push(obj);
4149
}
4250
this.setState({ activities: activities }, () => {
@@ -51,16 +59,14 @@ class Activities extends React.Component {
5159
return (
5260
<div id="activity">
5361
<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+
<div className="container-fluid d-flex justify-content-center">
63+
<div className="row">
6264
{this.state.activities.map((currentActivity, index) => {
63-
return <ActivityCard key={index} activity={currentActivity} />;
65+
return (
66+
<div className="col-md-4">
67+
<ActivityCard key={index} activity={currentActivity} />
68+
</div>
69+
);
6470
})}
6571
</div>
6672
</div>

0 commit comments

Comments
 (0)