diff --git a/public/index.html b/public/index.html
index 4e19bfe..bd6c141 100644
--- a/public/index.html
+++ b/public/index.html
@@ -15,6 +15,8 @@
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
+
+
diff --git a/src/components/App.jsx b/src/components/App.jsx
index 4ec6a08..d9b748e 100644
--- a/src/components/App.jsx
+++ b/src/components/App.jsx
@@ -3,8 +3,11 @@ import { Route, Routes } from 'react-router-dom';
// components/resources
import { NavBar } from './Nav';
-import { Home } from './Home';
-import { Contact } from './Contact';
+import { Footer } from './PageComponents'
+
+// pages
+import { Home } from './Pages/Home';
+import { Contact } from './Pages/Contact';
export class App extends React.Component {
render() {
@@ -15,6 +18,7 @@ export class App extends React.Component {
}>
}>
+
)
}
diff --git a/src/components/Contact.jsx b/src/components/Contact.jsx
deleted file mode 100644
index 8577ded..0000000
--- a/src/components/Contact.jsx
+++ /dev/null
@@ -1,11 +0,0 @@
-import React from 'react';
-
-export class Contact extends React.Component {
- render() {
- return (
-
- )
- }
-}
\ No newline at end of file
diff --git a/src/components/Home.jsx b/src/components/Home.jsx
deleted file mode 100644
index 956c114..0000000
--- a/src/components/Home.jsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import React from 'react';
-
-export class Home extends React.Component {
- render() {
- return (
-
-
-
hi, i'm alex!
-
professional smooth brain, nodejs buillier, medal.tv whiffer
-
-
- )
- }
-}
\ No newline at end of file
diff --git a/src/components/MedalPlayer.jsx b/src/components/MedalPlayer.jsx
new file mode 100644
index 0000000..be1cf05
--- /dev/null
+++ b/src/components/MedalPlayer.jsx
@@ -0,0 +1,62 @@
+import React from 'react';
+
+export class MedalPlayer extends React.Component {
+ constructor(props) {
+ super(props);
+
+ this.state = {
+ clip: null
+ }
+
+ // this.state.bind(this);
+ }
+
+ componentDidMount() {
+ fetch("https://developers.medal.tv/v1/latest?userId=215577&limit=1", {
+ method: 'get',
+ headers: {
+ 'content-type': "application/json",
+ 'accept': "application/json",
+ 'authorization': 'pub_RwznDA6FJLbPmRMSBH57iJetpujJUu6a'
+ }
+ }).then(async response => {
+ let j = await response.json();
+ await this.setState({
+ clip: j.contentObjects[0]
+ })
+ })
+ }
+
+ playerRenderer() {
+ if (this.state.clip) {
+ return (
+
+
+
+
+
{this.state.clip.contentTitle} -- recorded with Medal.tv
+
+ )
+ } else {
+ return (
+
+
wasn't able to get response
+
+ )
+ }
+ }
+
+ render() {
+ if (this.state.clip !== null) return this.playerRenderer()
+ }
+}
\ No newline at end of file
diff --git a/src/components/PageComponents.jsx b/src/components/PageComponents.jsx
new file mode 100644
index 0000000..4459f1f
--- /dev/null
+++ b/src/components/PageComponents.jsx
@@ -0,0 +1,65 @@
+import React from 'react';
+
+// components
+import { MedalPlayer } from "./MedalPlayer";
+import { Href } from "./Utils";
+
+export class TopBar extends React.Component {
+ render() {
+ return (
+
+
+
{this.props.headline}
+
{this.props.subheading}
+
+
+ )
+ }
+}
+
+export class Footer extends React.Component {
+ render() {
+ return (
+
+ )
+ }
+}
+
+export class ClipShowcase extends React.Component {
+ render() {
+ return (
+
+
+
+ )
+ }
+}
+
+export class ContactForm extends React.Component {
+ render() {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+ }
+}
\ No newline at end of file
diff --git a/src/components/Pages/Contact.jsx b/src/components/Pages/Contact.jsx
new file mode 100644
index 0000000..21772dd
--- /dev/null
+++ b/src/components/Pages/Contact.jsx
@@ -0,0 +1,17 @@
+import React from 'react';
+
+import { TopBar, ContactForm } from "../PageComponents";
+
+export class Contact extends React.Component {
+ render() {
+ return (
+
+
+
+
hit my line, like the cool kids say
+
+
+
+ )
+ }
+}
\ No newline at end of file
diff --git a/src/components/Pages/Home.jsx b/src/components/Pages/Home.jsx
new file mode 100644
index 0000000..2780d09
--- /dev/null
+++ b/src/components/Pages/Home.jsx
@@ -0,0 +1,15 @@
+import React from 'react';
+
+// components
+import { TopBar, ClipShowcase } from '../PageComponents';
+
+export class Home extends React.Component {
+ render() {
+ return (
+
+
+
+
+ )
+ }
+}
\ No newline at end of file
diff --git a/src/components/Utils.jsx b/src/components/Utils.jsx
new file mode 100644
index 0000000..6f72e67
--- /dev/null
+++ b/src/components/Utils.jsx
@@ -0,0 +1,13 @@
+import React from 'react';
+
+export class Href extends React.Component {
+ render() {
+ return (
+ {this.props.content}
+ )
+ }
+}
\ No newline at end of file
diff --git a/src/index.jsx b/src/index.jsx
index 598d56a..336fda5 100644
--- a/src/index.jsx
+++ b/src/index.jsx
@@ -6,6 +6,7 @@ import { BrowserRouter } from 'react-router-dom'
import { App } from './components/App';
import './styling/anims.css';
import './styling/main.css';
+import './styling/forms.css';
// "sitemap" for react components
export const pages = [
diff --git a/src/styling/forms.css b/src/styling/forms.css
new file mode 100644
index 0000000..08ef0a4
--- /dev/null
+++ b/src/styling/forms.css
@@ -0,0 +1,36 @@
+.form {
+ display:table;
+ text-align:center;
+ margin:auto;
+ padding:20px;
+ background-color:#cfcfcf;
+ border-radius:30px;
+}
+
+.fields {
+ display: table-cell;
+ background-color:black;
+ border-radius:50px;
+ outline:none;
+ caret-color:white;
+ color:white;
+}
+
+.fields::placeholder {
+ color:white;
+}
+
+.fields input[type=text] {
+ padding:0 50px;
+}
+
+.message {
+ /*max-width:50%;*/
+ resize:vertical;
+ width:100%;
+ max-height:200px;
+}
+
+.field-item {
+ padding:0 20px;
+}
\ No newline at end of file
diff --git a/src/styling/main.css b/src/styling/main.css
index d286b0d..335e672 100644
--- a/src/styling/main.css
+++ b/src/styling/main.css
@@ -29,27 +29,52 @@ html, body {
}
/* home */
-#home {
+#topbar {
background-color:black;
position:relative;
max-height:40vh;
+ max-width:100vw;
color:white;
vertical-align:top;
}
-.homecontent {
+.topbarcontent {
padding:50px 15vw !important;
}
-.homecontent p {
+.topbarcontent p {
font-size:20px;
}
-#home * {
+#topbar * {
padding:0;
margin:0;
}
+/* home - clip showcase */
+@media screen and (min-width:900px) {
+ #clip {
+ padding:10vh 15vw;
+ }
+}
+
+#iframe {
+ position:relative;
+}
+
+
+.cliptitle {
+ color:white;
+}
+
+.medaltv {
+ color:orange;
+}
+
+#contact {
+ padding-bottom:50px;
+}
+
/* global type stuff */
a {
@@ -60,4 +85,23 @@ a {
a:hover {
color:#81A2A1;
animation:fadein;
+}
+
+#footer {
+ background-color:black;
+ max-height:40vh;
+ max-width:100vw;
+ color:white;
+ vertical-align:top;
+ text-align:center;
+ padding:10px;
+}
+
+.fcontent {
+ padding-bottom:10px;
+}
+
+.item {
+ font-size:30px;
+ padding:0 10px;
}
\ No newline at end of file