blob: 98df0eaf3092c16f8764d38d246393e4cc61d0de [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={{
pineafaneebe3c62022-02-11 19:46:21 +000014 margin: "0",
15 minHeight: this.props.fullscreen ? "100vh" : "90vh"
pineafana5ce9102021-09-02 17:21:31 +010016 }} id={this.props.id ? this.props.id : null}>
pineafana841c762021-11-14 21:21:04 +000017 <div className={Styles.backgroundGradient} style={{
18 backgroundImage: `linear-gradient(69.44deg, #${this.props.gradient[0]} 0%, #${this.props.gradient[1]} 100%)`,
19 }} />
pineafan876af7d2021-10-14 20:31:21 +010020 <Head>
pineafan4f9cf4d2021-10-24 09:02:30 +010021 <title>{this.props.nameOverwrite ? this.props.nameOverwrite : this.props.name} - Clicks Minute Per</title>
pineafan40a7e4b2021-10-16 21:26:03 +010022 <meta name="title" content={this.props.name} />
23 <meta name="og:title" content={this.props.name} />
pineafan876af7d2021-10-14 20:31:21 +010024 <meta name="description" content={this.props.subtext} />
25 <meta name="og:description" content={this.props.subtext} />
pineafan40a7e4b2021-10-16 21:26:03 +010026 <meta name="theme-color" content={"#" + this.props.gradient[1]} />
27 <meta name="og:theme-color" content={"#" + this.props.gradient[1]} />
28 <meta name="author" content="Clicks Minute Per" />
29 <meta name="og:author" content="Clicks Minute Per" />
pineafan876af7d2021-10-14 20:31:21 +010030 </Head>
pineafana841c762021-11-14 21:21:04 +000031 <img draggable={false} alt="" className={Styles.backgroundImage} src={`https://assets.clicksminuteper.net/${this.props.wave}.svg`} />
pineafana5ce9102021-09-02 17:21:31 +010032 <div className={Styles.panel}>
33 <div className={Styles.titleContainer}>
34 <h1 className={Styles.title}>{this.props.name}</h1>
35 </div>
36 <p className={Styles.subtext + " " + (this.props.buttons.length ? Styles.subtextExtra : null)}>{this.props.subtext}</p>
37 <div className={Styles.buttonLayout}>
38 {
Samuel Shuert604e31d2021-09-02 16:06:20 -050039 this.props.buttons ? this.props.buttons.map((button, index) => {
pineafana5ce9102021-09-02 17:21:31 +010040 return <a
Samuel Shuert604e31d2021-09-02 16:06:20 -050041 key={index}
pineafana5ce9102021-09-02 17:21:31 +010042 className={Styles.button}
pineafan9b1b68c2021-11-05 17:47:27 +000043 style={{ backgroundColor: `#${button.color}`, color: `#${button.buttonText}` }}
Samuel Shuert835c71f2021-09-03 15:49:26 -050044 href={button.link}
pineafanaed30242021-09-04 09:33:40 +010045 target={button.target ? "_blank" : null}
pineafan0a178732022-02-09 21:00:05 +000046 rel="noreferrer">
pineafan9b1b68c2021-11-05 17:47:27 +000047 {button.text}
pineafana5ce9102021-09-02 17:21:31 +010048 </a>
49 }) : null
50 }
51 </div>
52 </div>
pineafan78727452021-11-04 21:25:07 +000053 <span className={Styles.arrowSpan + " " + (this.props.hideArrow ? Styles.arrowHidden : null)} draggable={false}>
pineafana841c762021-11-14 21:21:04 +000054 <a href="#start" draggable={false}><img alt="Down arrow" src="https://assets.clicksminuteper.net/web/icons/arrow.svg" className={Styles.arrow} draggable={false} style={{
pineafan31d5d602021-11-13 21:10:30 +000055 height: "49px", width: "87px"
56 }}/></a>
pineafana5ce9102021-09-02 17:21:31 +010057 </span>
58 </div>
pineafan9b1b68c2021-11-05 17:47:27 +000059 )
60 }
pineafana5ce9102021-09-02 17:21:31 +010061}
62
63export default Header;