hackernews pwa checklist
- top stories index page
- header and footer
- pagination
- post page
- comments to post
- more information about the post itself
- user page
- New, Top and Best Stories
const fetchMachine = Machine( | |
{ | |
id: 'OAUTH CLIENT', | |
type: 'parallel', | |
context: { | |
hasAuthorizationCode: true | |
}, | |
states: { | |
AUTHORIZED: { | |
id: 'authed', |
const fetchMachine = Machine({ | |
id: 'root', | |
initial: 'INIT', | |
states: { | |
'INIT': { | |
on: { | |
'*': [ | |
{ | |
target: 'MAYBE AUTHORIZED', | |
cond: 'hasAuthorizationCode' |
``` | |
// src/modules/jwt-fetch.js | |
let token; | |
const updateToken = x => { token = x }; | |
const getToken = () => fetch('/api/jwt/token').then(extractTokenFromRes); | |
const refreshToken = () => fetch('/api/jwt/token/refresh').then(extractTokenFromRes); | |
const jwtFetch = async (url, opts) => { |
const api = require('./bb-got'); | |
const R = require('./nanoramda'); | |
const fn = p => p | |
.then(R.prop('body')) | |
// .then(R.prop('id')) | |
.then(R.debug) | |
.catch(R.err); | |
const opts = { headers: { Authorization: `Basic ${process.env.BB_TOKEN}` }}; |
const curry = fn => (...args) => args.length < fn.length | |
? (...rest) => curry(fn)(...args, ...rest) | |
: fn(...args); | |
const applyTo = curry( (x, fn) => fn(x) ); | |
const pipe = (headFN, ...restFns) => (...args) => restFns.reduce(applyTo, headFN(...args)); | |
const prop = curry( (key, x) => x[key] ); | |
const equals = curry( (x, y) => x === y ); | |
const startsWith = curry( (str, x) => x.indexOf(str) === 0 ); |
const prep = x => x.trim().replace(/\s+/gim, ' ').replace(' latest', ':').replace('❯◯', 'bump') |
module.exports = { | |
keymaps: { | |
'tab:prev': 'ctrl+shift+tab', | |
'tab:next': 'ctrl+tab', | |
'pane:prev': 'alt+cmd+left', | |
'pane:next': 'alt+cmd+right', | |
}, | |
config: {}, | |
}; |
module.exports = { | |
config: { | |
// default font size in pixels for all tabs | |
fontSize: 14, | |
// font family with optional fallbacks | |
fontFamily: 'Fira Code', | |
uiFontFamily: 'Fira Code', | |
// terminal cursor background color (hex) |