Migrate some stuff

pull/152/head
Alex Kern 5 years ago
parent 60aea54f6f
commit b601c89eeb
No known key found for this signature in database
GPG Key ID: F3141D5EDF48F89F

@ -1,99 +0,0 @@
import FrozenHead from 'react-frozenhead'
import React from 'react'
import { RouteHandler } from 'react-router'
import ga from 'react-google-analytics'
import SupportStore from '../stores/SupportStore'
import ErrorPage from './ErrorPage'
import Bootstrap from './Bootstrap'
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>
)
}
}

@ -1,13 +0,0 @@
import React from 'react'
export default class Bootstrap extends React.Component {
render() {
return (
<script
id="bootstrap"
type="application/json"
dangerouslySetInnerHTML={{ __html: this.props.data }}
/>
)
}
}

@ -0,0 +1,36 @@
import React from 'react'
export const Footer: React.FC = () => (
<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>
)
export default Footer

@ -0,0 +1,29 @@
import React from 'react'
import type { AppProps } from 'next/app'
import Head from 'next/head'
import Footer from '../components/Footer'
const App: React.FC<AppProps> = ({ Component, pageProps }: AppProps) => (
<>
<Head>
<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>
<meta property="og:title" content="FilePizza" key="title" />
</Head>
<Component {...pageProps} />
<Footer />
</>
)
export default App
Loading…
Cancel
Save