blob: 89a6d1eb4c8973a658e2d5b9de86b6f520a62c55 [file] [log] [blame]
pineafana5ce9102021-09-02 17:21:31 +01001import { Component } from "react";
2import Styles from '../styles/header.module.css';
pineafan876af7d2021-10-14 20:31:21 +01003import Head from 'next/head';
pineafana5ce9102021-09-02 17:21:31 +01004
5class Header extends Component {
pineafan9b1b68c2021-11-05 17:47:27 +00006 constructor(props) {
7 super(props);
Samuel Shuert604e31d2021-09-02 16:06:20 -05008 this.keys = []
pineafan9b1b68c2021-11-05 17:47:27 +00009 }
pineafana5ce9102021-09-02 17:21:31 +010010
pineafan9b1b68c2021-11-05 17:47:27 +000011 render() {
12 return (
pineafana5ce9102021-09-02 17:21:31 +010013 <div className={Styles.header} style={{
pineafan9b1b68c2021-11-05 17:47:27 +000014 backgroundImage: `linear-gradient(69.44deg, #${this.props.gradient[0]} 0%, #${this.props.gradient[1]} 100%)`,
pineafana5ce9102021-09-02 17:21:31 +010015 margin: "0"
16 }} id={this.props.id ? this.props.id : null}>
pineafan876af7d2021-10-14 20:31:21 +010017 <Head>
pineafan4f9cf4d2021-10-24 09:02:30 +010018 <title>{this.props.nameOverwrite ? this.props.nameOverwrite : this.props.name} - Clicks Minute Per</title>
pineafan40a7e4b2021-10-16 21:26:03 +010019 <meta name="title" content={this.props.name} />
20 <meta name="og:title" content={this.props.name} />
pineafan876af7d2021-10-14 20:31:21 +010021 <meta name="description" content={this.props.subtext} />
22 <meta name="og:description" content={this.props.subtext} />
pineafan40a7e4b2021-10-16 21:26:03 +010023 <meta name="theme-color" content={"#" + this.props.gradient[1]} />
24 <meta name="og:theme-color" content={"#" + this.props.gradient[1]} />
25 <meta name="author" content="Clicks Minute Per" />
26 <meta name="og:author" content="Clicks Minute Per" />
pineafan876af7d2021-10-14 20:31:21 +010027 </Head>
pineafan9b1b68c2021-11-05 17:47:27 +000028 <img draggable={false} className={Styles.backgroundImage} src={`/Headers/${this.props.wave}.svg`} />
pineafana5ce9102021-09-02 17:21:31 +010029 <div className={Styles.panel}>
30 <div className={Styles.titleContainer}>
31 <h1 className={Styles.title}>{this.props.name}</h1>
32 </div>
33 <p className={Styles.subtext + " " + (this.props.buttons.length ? Styles.subtextExtra : null)}>{this.props.subtext}</p>
34 <div className={Styles.buttonLayout}>
35 {
Samuel Shuert604e31d2021-09-02 16:06:20 -050036 this.props.buttons ? this.props.buttons.map((button, index) => {
pineafana5ce9102021-09-02 17:21:31 +010037 return <a
Samuel Shuert604e31d2021-09-02 16:06:20 -050038 key={index}
pineafana5ce9102021-09-02 17:21:31 +010039 className={Styles.button}
pineafan9b1b68c2021-11-05 17:47:27 +000040 style={{ backgroundColor: `#${button.color}`, color: `#${button.buttonText}` }}
Samuel Shuert835c71f2021-09-03 15:49:26 -050041 href={button.link}
pineafanaed30242021-09-04 09:33:40 +010042 target={button.target ? "_blank" : null}
43 rel="noreferror">
pineafan9b1b68c2021-11-05 17:47:27 +000044 {button.text}
pineafana5ce9102021-09-02 17:21:31 +010045 </a>
46 }) : null
47 }
48 </div>
49 </div>
pineafan78727452021-11-04 21:25:07 +000050 <span className={Styles.arrowSpan + " " + (this.props.hideArrow ? Styles.arrowHidden : null)} draggable={false}>
51 <a href="#start" draggable={false}><img alt="Down arrow" src="/Arrow.svg" className={Styles.arrow} draggable={false} /></a>
pineafana5ce9102021-09-02 17:21:31 +010052 </span>
53 </div>
pineafan9b1b68c2021-11-05 17:47:27 +000054 )
55 }
pineafana5ce9102021-09-02 17:21:31 +010056}
57
58export default Header;