Skip to content

Commit eef84db

Browse files
committed
refactor: add reusable folder with DocsLink component
1 parent be5d1f0 commit eef84db

File tree

38 files changed

+207
-175
lines changed

38 files changed

+207
-175
lines changed

jsconfig.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"compilerOptions": {
3+
"baseUrl": "."
4+
},
5+
"include": ["src"]
6+
}

src/reusable/DocsLink.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import React from 'react'
2+
import { CLink } from '@coreui/react'
3+
4+
const DocsLink = props => {
5+
const {
6+
name,
7+
text,
8+
...rest
9+
} = props
10+
11+
const href = name ? `https://coreui.io/react/docs/components/${name}` : props.href
12+
13+
return (
14+
<div className="card-header-actions">
15+
<CLink
16+
{...rest}
17+
href={href}
18+
rel="noreferrer noopener"
19+
target="_blank"
20+
className="card-header-action"
21+
>
22+
<small className="text-muted">{ text || 'docs' }</small>
23+
</CLink>
24+
</div>
25+
)
26+
}
27+
28+
export default React.memo(DocsLink)

src/reusable/index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import DocsLink from './DocsLink'
2+
3+
export {
4+
DocsLink
5+
}

src/views/base/breadcrumbs/Breadcrumbs.js

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
CCol,
1111
CRow
1212
} from '@coreui/react'
13+
import { DocsLink } from 'src/reusable'
1314
import routes from '../../../routes'
1415

1516
const Breadcrumbs = () => {
@@ -19,16 +20,7 @@ const Breadcrumbs = () => {
1920
<CCard>
2021
<CCardHeader>
2122
Bootstrap Breadcrumb
22-
<div className="card-header-actions">
23-
<a
24-
href="https://coreui.github.io/components/breadcrumbs/"
25-
rel="noreferrer noopener"
26-
target="_blank"
27-
className="card-header-action"
28-
>
29-
<small className="text-muted">docs</small>
30-
</a>
31-
</div>
23+
<DocsLink name="CBreadcrumb"/>
3224
</CCardHeader>
3325
<CCardBody>
3426
<h6>CBreadcrumbRouter wrapper component</h6>

src/views/base/cards/Cards.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import {
1313
CLink
1414
} from '@coreui/react'
1515
import CIcon from '@coreui/icons-react'
16+
import { DocsLink } from 'src/reusable'
17+
1618

1719
const Cards = () => {
1820
const [collapsed, setCollapsed] = React.useState(true)
@@ -25,6 +27,7 @@ const Cards = () => {
2527
<CCard>
2628
<CCardHeader>
2729
Card title
30+
<DocsLink name="CCard"/>
2831
</CCardHeader>
2932
<CCardBody>
3033
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut

src/views/base/carousels/Carousels.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
CCol,
1313
CRow
1414
} from '@coreui/react'
15+
import { DocsLink } from 'src/reusable'
1516

1617
const slides = [
1718
'data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%22800%22%20height%3D%22400%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20400%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%23holder_1607923e7e2%20text%20%7B%20fill%3A%23555%3Bfont-weight%3Anormal%3Bfont-family%3AHelvetica%2C%20monospace%3Bfont-size%3A40pt%20%7D%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22holder_1607923e7e2%22%3E%3Crect%20width%3D%22800%22%20height%3D%22400%22%20fill%3D%22%23777%22%3E%3C%2Frect%3E%3Cg%3E%3Ctext%20x%3D%22285.9296875%22%20y%3D%22217.75625%22%3EFirst%20slide%3C%2Ftext%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E',
@@ -28,6 +29,7 @@ const Carousels = () => {
2829
<CCard>
2930
<CCardHeader>
3031
Carousel with controls
32+
<DocsLink name="CCarousel"/>
3133
</CCardHeader>
3234
<CCardBody>
3335
<CCarousel>

src/views/base/collapses/Collapses.js

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
CFade,
1111
CRow
1212
} from '@coreui/react';
13+
import { DocsLink } from 'src/reusable'
1314

1415
const Collapses = () => {
1516

@@ -51,11 +52,7 @@ const Collapses = () => {
5152
<CCard>
5253
<CCardHeader>
5354
Collapse
54-
<div className="card-header-actions">
55-
<a href="https://coreui.github.io/components/collapse/" rel="noreferrer noopener" target="_blank" className="card-header-action">
56-
<small className="text-muted">docs</small>
57-
</a>
58-
</div>
55+
<DocsLink name="CCollapse"/>
5956
</CCardHeader>
6057
<CCollapse show={collapse}>
6158
<CCardBody>
@@ -129,11 +126,7 @@ const Collapses = () => {
129126
<CCard>
130127
<CCardHeader>
131128
Fade
132-
<div className="card-header-actions">
133-
<a href="https://coreui.github.io/components/fade/" rel="noreferrer noopener" target="_blank" className="card-header-action">
134-
<small className="text-muted">docs</small>
135-
</a>
136-
</div>
129+
<DocsLink name="CFade"/>
137130
</CCardHeader>
138131
<CCardBody>
139132
<CFade timeout={300} in={fade} tag="h5" className="mt-3">

src/views/base/forms/BasicForms.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import {
3131
CRow
3232
} from '@coreui/react'
3333
import CIcon from '@coreui/icons-react'
34+
import { DocsLink } from 'src/reusable'
3435

3536
const BasicForms = () => {
3637
const [collapsed, setCollapsed] = React.useState(true)
@@ -44,6 +45,7 @@ const BasicForms = () => {
4445
<CCardHeader>
4546
Credit Card
4647
<small> Form</small>
48+
<DocsLink name="-Input"/>
4749
</CCardHeader>
4850
<CCardBody>
4951
<CRow>

src/views/base/index.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import Breadcrumbs from './Breadcrumbs';
2+
import Cards from './Cards';
3+
import Carousels from './Carousels';
4+
import Collapses from './Collapses';
5+
import Dropdowns from './Dropdowns';
6+
import Jumbotrons from './Jumbotrons';
7+
import ListGroups from './ListGroups';
8+
import Navbars from './Navbars';
9+
import Navs from './Navs';
10+
import Paginations from './Paginations';
11+
import Popovers from './Popovers';
12+
import ProgressBar from './ProgressBar';
13+
import Switches from './Switches';
14+
import Tabs from './Tabs';
15+
import Tooltips from './Tooltips';
16+
17+
export {
18+
Breadcrumbs, Cards, Carousels, Collapses, Dropdowns, Jumbotrons, ListGroups, Navbars, Navs, Popovers, ProgressBar, Switches, Tabs, Tooltips, Paginations,
19+
};
20+

src/views/base/jumbotrons/Jumbotrons.js

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111
CEmbed,
1212
CEmbedItem
1313
} from '@coreui/react'
14+
import { DocsLink } from 'src/reusable'
1415

1516
const Jumbotrons = () => {
1617

@@ -21,11 +22,7 @@ const Jumbotrons = () => {
2122
<CCard>
2223
<CCardHeader>
2324
Jumbotron
24-
<div className="card-header-actions">
25-
<a href="https://coreui.github.io/components/jumbotron/" rel="noreferrer noopener" target="_blank" className="card-header-action">
26-
<small className="text-muted">docs</small>
27-
</a>
28-
</div>
25+
<DocsLink name="CJumbotron"/>
2926
</CCardHeader>
3027
<CCardBody>
3128
<CJumbotron className="border">

0 commit comments

Comments
 (0)