From 05e86d24ff4dfc38e6a961c2b81f017e330ba9d1 Mon Sep 17 00:00:00 2001 From: Amio Date: Wed, 17 Oct 2018 17:47:42 +0800 Subject: [PATCH] web: better gallery routes --- components/gallery-header.js | 51 ++++++++++++++++++++++++++ libs/public-handlers.js | 10 +++++- pages/gallery.js | 69 ------------------------------------ pages/gallery/live.js | 22 ++++++++++++ pages/gallery/static.js | 22 ++++++++++++ 5 files changed, 104 insertions(+), 70 deletions(-) create mode 100644 components/gallery-header.js delete mode 100644 pages/gallery.js create mode 100644 pages/gallery/live.js create mode 100644 pages/gallery/static.js diff --git a/components/gallery-header.js b/components/gallery-header.js new file mode 100644 index 0000000..979b18e --- /dev/null +++ b/components/gallery-header.js @@ -0,0 +1,51 @@ +import Link from 'next/link' + +export default ({ current }) => { + return ( +
+

Badgen Gallery

+
+ + Live Badges + + + Static Badges + +
+ +
+ ) +} diff --git a/libs/public-handlers.js b/libs/public-handlers.js index d5f9fcf..1fe114a 100644 --- a/libs/public-handlers.js +++ b/libs/public-handlers.js @@ -5,9 +5,17 @@ const servePublicPages = (req, res) => { serveHandler(req, res, { public: 'public' }) } +const redirectTo = (target) => { + return (req, res) => { + res.writeHead(302, { 'Location': target }) + res.end() + } +} + module.exports = [ get('/_next/*', servePublicPages), get('/static/*', servePublicPages), get('/builder', servePublicPages), - get('/gallery', servePublicPages) + get('/gallery', redirectTo('/gallery/live')), + get('/gallery/*', servePublicPages) ] diff --git a/pages/gallery.js b/pages/gallery.js deleted file mode 100644 index 4ab1214..0000000 --- a/pages/gallery.js +++ /dev/null @@ -1,69 +0,0 @@ -import React from 'react' -import BadgeExamples from '../components/badge-examples.js' -import liveExamples from '../libs/examples-live.js' -import staticExamples from '../libs/examples-static.js' - -export default class Gallery extends React.Component { - state = { - tab: 'live' - } - - switch = () => this.setState({ - tab: this.state.tab === 'live' ? 'static' : 'live' - }) - - render () { - const { tab } = this.state - const egData = tab === 'live' ? liveExamples : staticExamples - return ( -
-
-

Badgen Gallery

-
- Live Badges - Static Badges -
-
-
- -
- -
- ) - } -} diff --git a/pages/gallery/live.js b/pages/gallery/live.js new file mode 100644 index 0000000..a40fc27 --- /dev/null +++ b/pages/gallery/live.js @@ -0,0 +1,22 @@ +import React from 'react' +import GalleryHeader from '../../components/gallery-header.js' +import BadgeExamples from '../../components/badge-examples.js' +import liveExamples from '../../libs/examples-live.js' + +export default class Gallery extends React.Component { + render () { + return ( +
+ +
+ +
+ +
+ ) + } +} diff --git a/pages/gallery/static.js b/pages/gallery/static.js new file mode 100644 index 0000000..556181a --- /dev/null +++ b/pages/gallery/static.js @@ -0,0 +1,22 @@ +import React from 'react' +import GalleryHeader from '../../components/gallery-header.js' +import BadgeExamples from '../../components/badge-examples.js' +import staticExamples from '../../libs/examples-static.js' + +export default class Gallery extends React.Component { + render () { + return ( +
+ +
+ +
+ +
+ ) + } +}