git ssb

0+

punkmonk / double



Commit 6f9ed10872eb05dbde900a885c8e412c20447599

seperated styles into it

s own component
austinfrey committed on 11/7/2018, 3:59:34 AM
Parent: 98f461d19e74598f16307611691908bfb204ccad

Files changed

components/nav.jschanged
components/styles.jsadded
index.jschanged
package-lock.jsonchanged
package.jsonchanged
stores/ledger.jschanged
views/accounts.jschanged
views/entries.jschanged
views/transactions.jschanged
views/404.jsdeleted
manifest.jsondeleted
components/nav.jsView
@@ -1,24 +1,22 @@
11 var Component = require('choo/component')
22 const h = require('hyperscript')
3-const style = require('../assets/styles')
43
54 class Nav extends Component {
65 constructor (id, state, emit) {
76 super(id)
87 this.local = state.components[id] = {}
98 }
109
1110 createElement () {
12- return h('nav.pv3', [
13- style,
14- h('a.link.dim.black.b.f6.f5-ns.dib.mr3', {
11 + return h('nav.tc.pv5', [
12 + h('a.link.dim.black.b.f6.f5-ns.dib.mr5', {
1513 href: '/'
1614 }, 'home'),
17- h('a.link.dim.gray.f6.f5-ns.dib.mr3', {
15 + h('a.link.dim.gray.f6.f5-ns.dib.mr5', {
1816 href: '/transactions'
1917 }, 'transactions'),
20- h('a.link.dim.gray.f6.f5-ns.dib.mr3', {
18 + h('a.link.dim.gray.f6.f5-ns.dib', {
2119 href: '/accounts'
2220 }, 'accounts')
2321 ])
2422 }
components/styles.jsView
@@ -1,0 +1,20 @@
1 +var Component = require('choo/component')
2 +const h = require('hyperscript')
3 +const stylesheet = require('../assets/styles')
4 +
5 +class Styles extends Component {
6 + constructor (id, state, emit) {
7 + super(id)
8 + this.local = state.components[id] = {}
9 + }
10 +
11 + createElement () {
12 + return h('div', stylesheet)
13 + }
14 +
15 + update () {
16 + return true
17 + }
18 +}
19 +
20 +module.exports = Styles
index.jsView
@@ -1,9 +1,5 @@
1-var css = require('sheetify')
21 var choo = require('choo')
3-
4-css('tachyons')
5-
62 var app = choo()
73
84 if (process.env.NODE_ENV !== 'production') {
95 app.use(require('choo-devtools')())
@@ -15,7 +11,6 @@
1511
1612 app.route('/', require('./views/entries'))
1713 app.route('/transactions', require('./views/transactions'))
1814 app.route('/accounts', require('./views/accounts'))
19-app.route('/*', require('./views/404'))
2015
2116 module.exports = app.mount('body')
package-lock.jsonView
The diff is too large to show. Use a local git client to view these changes.
Old file size: 384592 bytes
New file size: 187662 bytes
package.jsonView
@@ -2,31 +2,24 @@
22 "name": "double",
33 "version": "1.0.0",
44 "private": true,
55 "scripts": {
6- "build": "bankai build index.js",
76 "create": "choo-scaffold",
87 "electro": "electro .",
98 "electro:clean": "rm .test.db accounts.json entries.json && electro .",
10- "inspect": "bankai inspect index.js",
11- "start": "bankai start index.js",
129 "test": "standard && npm run test-deps",
1310 "test-deps": "dependency-check . && dependency-check . --extra --no-dev -i tachyons"
1411 },
1512 "dependencies": {
1613 "choo": "^6.13.0",
17- "choo-service-worker": "^2.4.0",
1814 "flumecodec": "0.0.1",
1915 "flumedb": "^1.0.0",
2016 "flumelog-offset": "^3.3.2",
2117 "flumeview-reduce": "^1.3.14",
2218 "hyperscript": "^2.0.2",
23- "pull-paramap": "^1.2.2",
24- "sheetify": "^7.3.3",
25- "tachyons": "^4.11.1"
19 + "pull-paramap": "^1.2.2"
2620 },
2721 "devDependencies": {
28- "bankai": "^9.15.0",
2922 "choo-devtools": "^2.5.1",
3023 "choo-scaffold": "^1.2.0",
3124 "dependency-check": "^3.2.1",
3225 "electro": "^2.1.1",
stores/ledger.jsView
@@ -15,16 +15,20 @@
1515 function ledgerStore (state, emitter) {
1616 state.accounts = {}
1717 state.entries = []
1818
19- pull(db.accounts.stream(), drain(acctState => {
20- state.accounts = acctState
21- emitter.emit.RENDER
19 + pull(
20 + db.accounts.stream(),
21 + drain(acctState => {
22 + state.accounts = acctState
23 + emitter.emit.RENDER
2224 }, onDone))
2325
24- pull(db.entries.stream(), drain(entryState => {
25- state.entries = entryState
26- emitter.emit.RENDER
26 + pull(
27 + db.entries.stream(),
28 + drain(entryState => {
29 + state.entries = entryState
30 + emitter.emit.RENDER
2731 }, onDone))
2832
2933 function onLoad () {
3034 emitter.on('accounts', onEvent)
@@ -57,8 +61,9 @@
5761
5862 return acc
5963 }
6064 if (item.type !== 'accounts') return acc
65 +
6166 const { msg } = item
6267
6368 if (!acc[msg.name]) {
6469 acc[msg.name] = msg
views/accounts.jsView
@@ -1,31 +1,33 @@
11 const h = require('hyperscript')
22 const TITLE = 'double - acounts'
33 const Nav = require('../components/nav')
4 +const Styles = require('../components/styles')
45
56 function accountsView (state, emit) {
67 return h('body.code.ph3.lh-copy', [
8 + state.cache(Styles, 'styles').render(),
79 state.cache(Nav, 'nav').render(),
8- h('table', [
10 + h('table.center', [
911 h('thead', h('tr', [
1012 h('td.pr2.red', 'account'),
1113 h('td.pr2', 'balance')
1214 ])),
1315 h('tbody', Object.keys(state.accounts).map(key => {
1416 return state.accounts[key].archived
1517 ? h('tr', [
16- h('td.strike', state.accounts[key].name),
18 + h('td.strike', {onclick: handleAccountArchive}, state.accounts[key].name),
1719 h('td.tr.strike', state.accounts[key].debit - state.accounts[key].credit)
1820 ])
1921 : h('tr', [
2022 h('td', {onclick: handleAccountArchive}, state.accounts[key].name),
2123 h('td.tr', state.accounts[key].debit - state.accounts[key].credit)
2224 ])
2325 }))
2426 ]),
25- h('div', [
27 + h('div.tc', [
2628 h('div.pt4', 'create a new account'),
27- h('form.pb3', h('input#account')),
29 + h('form.pb3', h('input#account', {placeholder: 'account name'})),
2830 h('button', { onclick: handleAccountCreate }, 'create')
2931 ])
3032 ])
3133
@@ -36,9 +38,11 @@
3638 }
3739
3840 function handleAccountArchive () {
3941 const name = this.innerHTML
40-
42 + if (state.accounts[name].archived) {
43 + return emit('accounts', { type: 'accounts', msg: { name, archived: false } })
44 + }
4145 emit('accounts', { type: 'accounts', msg: { name, archived: true } })
4246 }
4347 }
4448
views/entries.jsView
@@ -1,7 +1,8 @@
11 const h = require('hyperscript')
22 const TITLE = 'double - entries'
33 const Nav = require('../components/nav')
4 +const Styles = require('../components/styles')
45
56 function view (state, emit) {
67 if (state.title !== TITLE) emit(state.events.DOMTITLECHANGE, TITLE)
78
@@ -26,10 +27,11 @@
2627
2728 const submit = h('div.pb3', h('button', { onclick: handleEntry }, 'submit'))
2829
2930 return h('body.code.ph3.lh-copy', [
31 + state.cache(Styles, 'styles').render(),
3032 state.cache(Nav, 'nav').render(),
31- h('main', [
33 + h('main.tc', [
3234 form,
3335 submit
3436 ])
3537 ])
views/transactions.jsView
@@ -1,11 +1,12 @@
11 var h = require('hyperscript')
22 const TITLE = 'double - transactions'
33 const Nav = require('../components/nav')
4 +const Styles = require('../components/styles')
45
56 function transactionsView (state, emit) {
6- const entries = h('div.pb6', [
7- h('table', [
7 + const entries = h('div.tc.pb6', [
8 + h('table.center', [
89 h('thead', h('tr', [
910 h('td.pr2', 'account'),
1011 h('td.pr2', 'debit'),
1112 h('td.pr2', 'credit'),
@@ -29,8 +30,9 @@
2930 ])
3031 ])
3132
3233 return h('body.code.ph3.lh-copy', [
34 + state.cache(Styles, 'styles').render(),
3335 state.cache(Nav, 'nav').render(),
3436 entries
3537 ])
3638 }
views/404.jsView
@@ -1,15 +1,0 @@
1-var html = require('choo/html')
2-
3-var TITLE = 'double - route not found'
4-
5-module.exports = view
6-
7-function view (state, emit) {
8- if (state.title !== TITLE) emit(state.events.DOMTITLECHANGE, TITLE)
9- return html`
10- <body class="sans-serif pa3">
11- <h1>Route not found.</h1>
12- <a class="pt2" href="/">Back to main.</a>
13- </body>
14- `
15-}
manifest.jsonView
@@ -1,14 +1,0 @@
1-{
2- "name": "double",
3- "short_name": "double",
4- "description": "double entry accounting app",
5- "start_url": "/",
6- "display": "standalone",
7- "background_color": "#000",
8- "theme_color": "#000",
9- "icons": [{
10- "src": "/assets/icon.png",
11- "type": "image/png",
12- "sizes": "512x512"
13- }]
14-}

Built with git-ssb-web