Skip to content

Commit 8483abf

Browse files
authored
Merge pull request #8 from tkc/fix/class
Update Component Pattern
2 parents 2b9cd89 + 946ca0b commit 8483abf

23 files changed

Lines changed: 23790 additions & 745 deletions

File tree

package-lock.json

Lines changed: 23136 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import React from "react";
2-
// import Sparkline from "@rowno/sparkline";
32
import style from "./style.module.scss";
43

54
export interface ChartCardProps {
@@ -8,23 +7,14 @@ export interface ChartCardProps {
87
chartProps: any;
98
}
109

11-
class ChartCard extends React.Component<ChartCardProps> {
12-
static defaultProps = {
13-
chartProps: {},
14-
title: "",
15-
amount: "",
16-
};
17-
18-
render() {
19-
const { chartProps, title, amount } = this.props;
20-
return (
21-
<div className={`card ${style.card}`}>
22-
{chartProps && <div className={style.chart}>{/* <Sparkline {...chartProps} /> */}</div>}
23-
{amount && <div className={style.amount}>{amount}</div>}
24-
{title && <div className={style.title}>{title}</div>}
25-
</div>
26-
);
27-
}
10+
function ChartCard(props: ChartCardProps) {
11+
return (
12+
<div className={`card ${style.card}`}>
13+
{props.chartProps && <div className={style.chart}></div>}
14+
{props.amount && <div className={style.amount}>{props.amount}</div>}
15+
{props.title && <div className={style.title}>{props.title}</div>}
16+
</div>
17+
);
2818
}
2919

3020
export default ChartCard;

src/components/molecules/info-card/index.tsx

Lines changed: 55 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -9,70 +9,66 @@ export interface InfoCardProps {
99
btnType: string;
1010
}
1111

12-
class InfoCard extends React.Component<InfoCardProps> {
13-
render() {
14-
const { form, icon, btnType, type } = this.props;
15-
const className = `${styles.infoCard}`;
16-
return (
17-
<div>
18-
{form === "stats" && (
19-
<div className={className}>
20-
{icon !== false && (
21-
<span className={styles.digit}>
22-
<i className={`icmn-${icon}`} />
23-
</span>
24-
)}
25-
<div className={styles.desc}>
26-
<span className={styles.title}>{stats.title}</span>
27-
<p>Total: {stats.count}</p>
28-
</div>
12+
function InfoCard(props: InfoCardProps) {
13+
return (
14+
<div>
15+
{props.form === "stats" && (
16+
<div className={styles.infoCard}>
17+
{props.icon !== false && (
18+
<span className={styles.digit}>
19+
<i className={`icmn-${props.icon}`} />
20+
</span>
21+
)}
22+
<div className={styles.desc}>
23+
<span className={styles.title}>{stats.title}</span>
24+
<p>Total: {stats.count}</p>
2925
</div>
30-
)}
31-
{form === "stats-large" && (
32-
<div className={className}>
33-
<h5 className="text-uppercase mb-3 text-white">{commerceStats.title}</h5>
34-
<div className="clearfix" />
35-
<div>
36-
<span className="pull-right font-size-36">
37-
<strong>{commerceStats.count}</strong>
38-
</span>
39-
{icon !== false && <i className={`font-size-36 icmn-${icon}`} />}
40-
</div>
26+
</div>
27+
)}
28+
{props.form === "stats-large" && (
29+
<div className={styles.infoCard}>
30+
<h5 className="text-uppercase mb-3 text-white">{commerceStats.title}</h5>
31+
<div className="clearfix" />
32+
<div>
33+
<span className="pull-right font-size-36">
34+
<strong>{commerceStats.count}</strong>
35+
</span>
36+
{props.icon !== false && <i className={`font-size-36 icmn-${props.icon}`} />}
4137
</div>
42-
)}
43-
{form === "interactive" && (
44-
<div className={`${className} px-3 py-5`}>
45-
{icon !== false && (
46-
<div className="text-center font-size-30">
47-
<i className={`icmn-${icon}`} />
48-
</div>
49-
)}
50-
<div className="mt-2 text-center">
51-
<div className="mb-2">
52-
<p>Lorem Ipsum is simply dummy text of printing the printing and typesetti...</p>
53-
</div>
54-
<a href="javascript: void(0);" className={`btn btn-outline-${btnType}`}>
55-
Information
56-
</a>
38+
</div>
39+
)}
40+
{props.form === "interactive" && (
41+
<div className={`${styles.infoCard} px-3 py-5`}>
42+
{props.icon !== false && (
43+
<div className="text-center font-size-30">
44+
<i className={`icmn-${props.icon}`} />
5745
</div>
58-
</div>
59-
)}
60-
{form === "bordered" && (
61-
<div className={`${className} ${styles.bordered}`}>
62-
{icon !== false && (
63-
<span className={styles.digit}>
64-
<i className={`icmn-${icon}`} />
65-
</span>
66-
)}
67-
<div className={styles.desc}>
68-
<span className={styles.title}>{stats.title}</span>
69-
<p>{stats.descr}</p>
46+
)}
47+
<div className="mt-2 text-center">
48+
<div className="mb-2">
49+
<p>Lorem Ipsum is simply dummy text of printing the printing and typesetti...</p>
7050
</div>
51+
<a href="javascript: void(0);" className={`btn btn-outline-${props.btnType}`}>
52+
Information
53+
</a>
54+
</div>
55+
</div>
56+
)}
57+
{props.form === "bordered" && (
58+
<div className={`${styles.infoCard} ${styles.bordered}`}>
59+
{props.icon !== false && (
60+
<span className={styles.digit}>
61+
<i className={`icmn-${props.icon}`} />
62+
</span>
63+
)}
64+
<div className={styles.desc}>
65+
<span className={styles.title}>{stats.title}</span>
66+
<p>{stats.descr}</p>
7167
</div>
72-
)}
73-
</div>
74-
);
75-
}
68+
</div>
69+
)}
70+
</div>
71+
);
7672
}
7773

7874
export default InfoCard;

0 commit comments

Comments
 (0)