Add optional link to CardColumnGroup

This commit is contained in:
René Pfeuffer
2020-09-07 08:09:44 +02:00
parent e3a2783bfd
commit bdb0b5c9fa

View File

@@ -22,11 +22,13 @@
* SOFTWARE. * SOFTWARE.
*/ */
import React, { ReactNode } from "react"; import React, { ReactNode } from "react";
import { Link } from "react-router-dom";
import classNames from "classnames"; import classNames from "classnames";
import styled from "styled-components"; import styled from "styled-components";
type Props = { type Props = {
name: string; name: string;
url?: string;
elements: ReactNode[]; elements: ReactNode[];
}; };
@@ -69,7 +71,7 @@ export default class CardColumnGroup extends React.Component<Props, State> {
}; };
render() { render() {
const { name, elements } = this.props; const { name, url, elements } = this.props;
const { collapsed } = this.state; const { collapsed } = this.state;
const icon = collapsed ? "fa-angle-right" : "fa-angle-down"; const icon = collapsed ? "fa-angle-right" : "fa-angle-down";
@@ -85,13 +87,25 @@ export default class CardColumnGroup extends React.Component<Props, State> {
); );
}); });
} }
const header = url ? (
<h2>
<span className={classNames("is-size-4", "has-cursor-pointer")} onClick={this.toggleCollapse}>
<i className={classNames("fa", icon)} />
</span>{" "}
<Link to={url}>{name}</Link>
</h2>
) : (
<h2>
<span className={classNames("is-size-4", "has-cursor-pointer")} onClick={this.toggleCollapse}>
<i className={classNames("fa", icon)} /> {name}
</span>
</h2>
);
return ( return (
<Container> <Container>
<h2> {header}
<span className={classNames("is-size-4", "has-cursor-pointer")} onClick={this.toggleCollapse}>
<i className={classNames("fa", icon)} /> {name}
</span>
</h2>
<hr /> <hr />
<Wrapper className={classNames("columns", "card-columns", "is-multiline")}>{content}</Wrapper> <Wrapper className={classNames("columns", "card-columns", "is-multiline")}>{content}</Wrapper>
<div className="is-clearfix" /> <div className="is-clearfix" />