You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
filepizza/src/components/App.js

94 lines
3.0 KiB
JavaScript

import Bootstrap from "./Bootstrap";
import ErrorPage from "./ErrorPage";
import FrozenHead from "react-frozenhead";
import React from "react";
import SupportStore from "../stores/SupportStore";
import { RouteHandler } from "react-router";
import ga from "react-google-analytics";
if (process.env.GA_ACCESS_TOKEN) {
ga("create", process.env.GA_ACCESS_TOKEN, "auto");
ga("send", "pageview");
}
export default class App extends React.Component {
constructor() {
super();
this.state = SupportStore.getState();
this._onChange = () => {
this.setState(SupportStore.getState());
};
}
componentDidMount() {
SupportStore.listen(this._onChange);
}
componentWillUnmount() {
SupportStore.unlisten(this._onChange);
}
render() {
return (
<html lang="en">
<FrozenHead>
<meta charSet="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="monetization" content="$twitter.xrptipbot.com/kernio" />
<meta property="og:url" content="https://file.pizza" />
<meta
property="og:title"
content="FilePizza - Your files, delivered."
/>
<meta
property="og:description"
content="Peer-to-peer file transfers in your web browser."
/>
<meta
property="og:image"
content="https://file.pizza/images/fb.png"
/>
<title>FilePizza - Your files, delivered.</title>
<link rel="stylesheet" href="/fonts/fonts.css" />
<Bootstrap data={this.props.data} />
<script src="https://cdn.jsdelivr.net/webtorrent/latest/webtorrent.min.js" />
<script src="/app.js" />
</FrozenHead>
<body>
<div className="container">
{this.state.isSupported ? <RouteHandler /> : <ErrorPage />}
</div>
<footer className="footer">
<p>
<strong>Like FilePizza?</strong> Support its development! <a href="https://commerce.coinbase.com/checkout/247b6ffe-fb4e-47a8-9a76-e6b7ef83ea22" className="donate-button">donate</a>
</p>
<p className="byline">
Cooked up by{" "}
<a href="http://kern.io" target="_blank">
Alex Kern
</a>{" "}
&amp;{" "}
<a href="http://neeraj.io" target="_blank">
Neeraj Baid
</a>{" "}
while eating <strong>Sliver</strong> @ UC Berkeley &middot;{" "}
<a href="https://github.com/kern/filepizza#faq" target="_blank">
FAQ
</a>{" "}
&middot;{" "}
<a href="https://github.com/kern/filepizza" target="_blank">
Fork us
</a>
</p>
</footer>
<script>FilePizza()</script>
{ process.env.GA_ACCESS_TOKEN ? <ga.Initializer /> : <div></div> }
</body>
</html>
);
}
}