32dece149e
* yarn create next-app * create an upload show page * create upload page to handle in-progress upload and asset when it is ready * move things to a layout component * add some button styling * poll for updates intelligently by dynamically setting refreshInterval on SWR hook * better title * edit gitignore, add MIT license use next 'latest' based on feedback from https://github.com/zeit/next.js/pull/12723 * add some messages and spinner to make this a little nicer * update README with environment variables info and Mux account info * add .now to gitignore * cleaner uploading state - redirect to /v/:playback_id when complete * hardset image width in footer * remove unused styles * adjust title font size on mobile and adjust footer height on mobile * use upchunk 1.0.8 so we don't have to dynamically load it * cleaner error message handling * fix brief error from returning Router on the render * yarn lint-fix * update README with note about .env.local * add min height so the layout doesn't shift after selecting a file * set poster attribute at video element * use getStaticProps and fallback:true to render meta tags for social sharing * create a pages/asset/:id route that we can be on while in the preparing state * add copy about Mux, add twitter share widget * add flash message about video ready for playback * call it pre-rendered instead of server-side rendered * pre-rendering, not server-side rendering * Next.js not NextJS * handle asset creation errors in the UI * call hls.destroy() when the component is unmounted * Updated readme and renamed .env.local * Updated description * add suggested patch with links to source code https://github.com/zeit/next.js/pull/13120#issuecomment-632858572 * Added vercel.json * Updated some links * Removed Prerequisites Co-authored-by: Luis Alvarez <luis@vercel.com>
30 lines
710 B
JavaScript
30 lines
710 B
JavaScript
export default function Button({ children, ...otherProps }) {
|
|
return (
|
|
<>
|
|
<button {...otherProps}>{children}</button>
|
|
<style jsx>{`
|
|
button {
|
|
padding: 16px 16px;
|
|
border-radius: 4px;
|
|
font-size: 22px;
|
|
background-image: linear-gradient(
|
|
to right,
|
|
rgb(255, 61, 48),
|
|
rgb(255, 43, 97)
|
|
);
|
|
color: white;
|
|
line-height: 22px;
|
|
border: none;
|
|
cursor: pointer;
|
|
}
|
|
button:hover {
|
|
background-image: linear-gradient(
|
|
to left,
|
|
rgb(253, 95, 85),
|
|
rgb(255, 85, 128)
|
|
);
|
|
}
|
|
`}</style>
|
|
</>
|
|
)
|
|
}
|