blob: 96b44c79322e5958d5d3342ae7c0356bc6989c50 [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 {
6 constructor(props) {
7 super(props);
Samuel Shuert604e31d2021-09-02 16:06:20 -05008 this.keys = []
pineafana5ce9102021-09-02 17:21:31 +01009 }
10
pineafana5ce9102021-09-02 17:21:31 +010011 render() {
12 return (
13 <div className={Styles.header} style={{
14 backgroundImage:`linear-gradient(69.44deg, #${this.props.gradient[0]} 0%, #${this.props.gradient[1]} 100%)`,
15 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>
pineafanaed30242021-09-04 09:33:40 +010028 <img alt="" 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}
40 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">
Samuel Shuert835c71f2021-09-03 15:49:26 -050044 {button.text}
pineafana5ce9102021-09-02 17:21:31 +010045 </a>
46 }) : null
47 }
48 </div>
49 </div>
50 <span className={Styles.arrowSpan + " " + (this.props.hideArrow ? Styles.arrowHidden : null)}>
pineafanaed30242021-09-04 09:33:40 +010051 <a href="#start"><img alt="Down arrow" src="/Arrow.svg" className={Styles.arrow} /></a>
pineafana5ce9102021-09-02 17:21:31 +010052 </span>
53 </div>
54 )
55 }
56}
57
58export default Header;