diff --git a/index.html b/index.html index bfda3fa0..ec3992ad 100644 --- a/index.html +++ b/index.html @@ -1,32 +1,21 @@ - + - +

Initializing

+
+
+
-
diff --git a/package.json b/package.json index 1ed9b696..f3fa37e9 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "browserify": "^13.0.0", "choppa": "^1.0.2", "concat-stream": "^1.5.1", - "dat-design": "^1.2.5", + "dat-design": "^1.2.6", "drag-drop": "^2.11.0", "es2020": "^1.1.7", "filereader-stream": "^1.0.0", diff --git a/public/images/dat-data.png b/public/images/dat-data.png deleted file mode 100644 index 02022bc3..00000000 Binary files a/public/images/dat-data.png and /dev/null differ diff --git a/public/images/dat-data-blank.png b/public/img/dat-data-blank.png similarity index 100% rename from public/images/dat-data-blank.png rename to public/img/dat-data-blank.png diff --git a/public/img/dat-data-logo.svg b/public/img/dat-data-logo.svg new file mode 100644 index 00000000..47b13aeb --- /dev/null +++ b/public/img/dat-data-logo.svg @@ -0,0 +1,30 @@ + + diff --git a/public/img/link.svg b/public/img/link.svg new file mode 100644 index 00000000..29febe43 --- /dev/null +++ b/public/img/link.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/js/app.js b/src/js/app.js index cefb2580..8b7e7419 100644 --- a/src/js/app.js +++ b/src/js/app.js @@ -17,11 +17,17 @@ var $shareLink = document.getElementById('share-link') var componentCtors = require('./components') var components = [ - componentCtors.Help('help'), + componentCtors.Header('header', { + create: function (event) { + initArchive() + }, + download: function (link) { + initArchive(link) + } + }), componentCtors.HyperdriveSize('hyperdrive-size'), componentCtors.HyperdriveStats('hyperdrive-stats'), componentCtors.Peers('peers'), - componentCtors.ResetButton('new', initArchive), componentCtors.SpeedDisplay('speed') ] @@ -41,7 +47,7 @@ main() function main () { var keypath = window.location.hash.substr(1).match('([^/]+)(/?.*)') - var key = keypath ? encoding.decode(keypath[1]) : null + var key = keypath ? keypath[1] : null var file = keypath ? keypath[2] : null if (file) { @@ -58,6 +64,7 @@ function main () { } function getArchive (key, cb) { + if ((typeof key) === 'string') key = encoding.decode(key) var archive = drive.createArchive(key, {live: true, sparse: true}) var sw = swarm(archive) sw.on('connection', function (peer) { @@ -74,6 +81,7 @@ function getArchive (key, cb) { } cb(archive) }) + archive.on('download', function () { store.dispatch({type: 'UPDATE_ARCHIVE', archive: archive}) }) @@ -110,7 +118,7 @@ function initArchive (key) { } function updateShareLink () { - $shareLink.value = window.location + $shareLink.innerHTML = window.location } var clearDrop diff --git a/src/js/components/header/index.js b/src/js/components/header/index.js new file mode 100644 index 00000000..353b170c --- /dev/null +++ b/src/js/components/header/index.js @@ -0,0 +1,42 @@ +var yo = require('yo-yo') +var importButton = require('dat-header/import') +var help = require('../help') +var button = require('dat-button') + +module.exports = Header + +function Header (el, props) { + if (!(this instanceof Header)) return new Header(el, props) + this.$el = document.getElementById(el) + this._props = props + this._component = this._render() + if (this.$el) this.$el.appendChild(this._component) +} + +Header.prototype.update = function (state) { + if (state && state.archiveReducer) { + yo.update(this._component, this._render()) + } +} + +Header.prototype._render = function () { + return yo` +
+ +
+
+ ${button({ + text: 'Create new Dat', + click: this._props.create + })} +
+ ${importButton({ + download: this._props.download + })} + ${help()} +
+ + ` +} diff --git a/src/js/components/help/index.js b/src/js/components/help/index.js index fe9b5ef5..b01f4422 100644 --- a/src/js/components/help/index.js +++ b/src/js/components/help/index.js @@ -1,15 +1,12 @@ +var yo = require('yo-yo') var intro = require('intro.js') -module.exports = Help - -function Help (el, clickHandler) { - if (!(this instanceof Help)) return new Help(el) - this.$el = document.getElementById(el) - this.$el.onclick = function () { +module.exports = function Help () { + function onclick () { var _intro = intro.introJs() _intro.setOptions({ steps: [{ - intro: 'You can create a new dat by clicking Reset' + intro: 'You can create a new dat by clicking Create New Dat' }, { intro: 'Drop some files here', @@ -17,10 +14,11 @@ function Help (el, clickHandler) { }, { intro: 'You can share the dat with this link', - element: 'input#share-link', + element: '#share-link', position: 'bottom' } ]}) _intro.start() } + return yo`` } diff --git a/src/js/components/index.js b/src/js/components/index.js index a8858a0a..9df6ca31 100644 --- a/src/js/components/index.js +++ b/src/js/components/index.js @@ -1,8 +1,8 @@ module.exports = { + Header: require('./header'), Help: require('./help'), HyperdriveSize: require('./hyperdrive-size'), HyperdriveStats: require('./hyperdrive-stats'), Peers: require('./peers'), - ResetButton: require('./reset-button'), SpeedDisplay: require('./speed-display') } diff --git a/src/js/components/reset-button/index.js b/src/js/components/reset-button/index.js deleted file mode 100644 index 88c9b69b..00000000 --- a/src/js/components/reset-button/index.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = ResetButton - -function ResetButton (el, clickHandler) { - if (!(this instanceof ResetButton)) return new ResetButton(el, clickHandler) - this.$el = document.getElementById(el) - this.$el.onclick = function () { - clickHandler(null) - } -} diff --git a/src/scss/main.scss b/src/scss/main.scss index c6851e7e..2bdb1517 100644 --- a/src/scss/main.scss +++ b/src/scss/main.scss @@ -8,76 +8,124 @@ * https://github.com/maoberlehner/node-sass-magic-importer */ @import "~dat-design"; +@import "~dat-design/scss/variables/colors.scss"; +@import "~dat-design/scss/variables/transitions.scss"; @import "~dat-design/scss/responsive/breakpoints.scss"; body { min-width: 500px; // mixin is being imported from "~dat-design/scss/responsive/breakpoints.scss": @include breakpoint (xs) { - background: red; +// background: red; } @include breakpoint (sm) { - background: yellow; +// background: yellow; } } +// breakpoint testing helper +body { + position: relative; + &:before { + position: absolute; + width: auto; + top: 0; + right: 50%; + font-size: 8px; + padding: 2px; + background-color: black; + color: white; + z-index: 100; + transition: all .1s ease-in-out; + content: ''; + opacity: .8; + @include breakpoint (xs) { + content: 'We’re on breakpoint xs'; + background-color: red; + } + @include breakpoint (sm) { + content: 'We’re on breakpoint sm'; + background-color: yellow; + color: black; + } + } +} + + a, button, input, .link { transition-property: background-color, color; - transition-duration: .015s; - transition-timing-function: ease-out; + transition-duration: $transition-duration; + transition-timing-function: $transition-timing-function; cursor: pointer; } a, .link { - color: #35b44f; + color: $color-green; } a:hover, a:focus, .link:hover, .link:focus { - color: #A9CE7F; + color: $color-green--hover; outline: none; } -.link { - color: #959ba4; - border: none; - background: none; - padding: .2rem 1rem .2rem 0; -} - -.link:before { - content: '« ' -} +//can be removed? @kriesse +// .link { +// color: #959ba4; +// border: none; +// background: none; +// padding: .2rem 1rem .2rem 0; +// } +// +// .link:before { +// content: '« ' +// } /* demo page layout */ -.site-header { - background-color: #fdfdfd; - border-bottom: 1px solid #f0f0f0; - height: 65px; +.dat-header { + height: 4rem; + padding-right: 1.5rem; +// padding-left: 6.5rem; + background-color: $color-green--hover; + color: $color-white; } -.site-header h1 { - margin: 0; +.dat-logo { + width: 6.5rem; + padding-top: .75rem; + padding-left: 2.625rem; float: left; } -.site-header #share-link { - display: block; +.dat-header__actions { + float: right; +} + +.dat-import { float: left; - width: 40%; - margin-left: 1rem; - padding: 6px 14px; - font-size: 18px; + margin-top: .5rem; } -.site-header #share-link:hover { - background-color: #f7f7f7; +.btn--header { + background-color: transparent; + margin-top: .75rem; } -.site-header button { - float: right; +// dat-button +.dat-button { + float: left; + padding-top: 1.15rem; + padding-bottom: 1.15rem; + margin-right: 3rem; + button { + &:hover, &:focus, &:active { + color: $color-neutral--04; + outline: none; + cursor: pointer; + } + } } .site-main { @@ -90,17 +138,6 @@ a:hover, a:focus, max-width: 1170px; } -.upload-file { - width: 100%; - min-height: 3em; - margin: 1rem auto; - padding: 1rem; - border: 3px dashed #959ba4; - border-radius: 1em; - color: #959ba4; - text-align: center; -} - #hyperdrive-size { float: left; } @@ -114,9 +151,6 @@ a:hover, a:focus, } #peers { - line-height: 37px; - padding: 0; - margin: 0 0 0 20px; display: inline-block; } @@ -127,13 +161,12 @@ a:hover, a:focus, margin: 0 10px 0 0px; padding: 0; width: 320px; -} - -#speed span span { - font-weight: normal; - font-size: 13px; - line-height: 37px; - margin-left: 10px; + span span { + font-weight: normal; + font-size: 13px; + line-height: 37px; + margin-left: 10px; + } } .breadcrumbs { @@ -141,32 +174,6 @@ a:hover, a:focus, min-height: 2em; } -.button { - display: inline-block; - padding: 8px 14px; - border: none; - font-size: 16px; - font-weight: 600; - color: #FFFFFF; - background-color: #35b44f; - border-radius: 5px; - cursor: pointer; -} - -#help.button { - background-color: #FFFFFF; - border: 1px solid #35b44f; - color: #35b44f; - border-radius: 10px; - margin-left: 10px; -} - -.button:hover, -.button:focus { - background-color: #A9CE7F; - outline: none; -} - .status-bar { padding: .5rem; padding-top: 1rem; @@ -175,17 +182,16 @@ a:hover, a:focus, } #display { - margin-bottom: 50px; -} - -#display img, -#display video { - margin: 10px; -} - -#display iframe { - width: 100%; - height: 70%; + margin-bottom: 4rem; + img, + video { + margin: 10px; + } + iframe { + width: 100%; + height: 70%; + border: 1px solid $color-neutral--20; + } } #get_link { @@ -198,76 +204,61 @@ a:hover, a:focus, } #yo-fs { - color: #2A3749; -} - -ul { - margin: 0; + color: $color-neutral; padding: 0; -} - -#yo-fs h1 a { - margin: 5px; -} - -#yo-fs a:hover { - opacity: 1; -} - -#yo-fs { - padding: 0; -} - -#yo-fs li { - list-style-type: none; -} - -#yo-fs ul li a { - display: block; - padding: 10px; - color: #2A3749; - opacity: .7; - text-decoration: none; - font-size: 14px; - border-bottom: 1px solid #f0f0f0; - background-size: 15px; - background-repeat: no-repeat; - background-position: 10px 11px; - padding-left: 35px; -} - -#yo-fs ul li a:hover { - background-color: #f5fbf6; -} - -#yo-fs .file a { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAABQZJREFUeJzt3M9rnEUcx/HPzPNskk3TTTZNVFQKIkIOEnr3pBQv2osiuKWpJ1Ei4kF7EPwnPIiIt5jmLPQkpV1wS089ay6ihJCy+dHEza/dZ/PMeEilYos2mZmdZ/f7eR1DmOfL5s3u7LOzAYiIiIhIHBVy8fqdOxeM0a9bixkoNQFlk5DXi2F9Z+uny5cufR97jtMKEsCtxt33APsVoGdDrF8kyyt/2Gpl7KN+jcBrAI1Go5ohXQDwts91i2x55XcAqm8j0L4WqtfvTXVs+jME/fEfsWq7tffd0o0bH8ae5KS8BFCv19OjtPujUnjVx3r9qT8j8BKASUe+0MBrPtbqb/0XgXMAN2/eG4cxX/oYZjD0VwTOAaiR7H1oXfExzODonwjcAzDqLR+DDJ7+iMB9D6DNBQ9zDKjiR+AcgDF4zscgg6vYETgHoLUu+RhksBU3Am83guj/FDMCBtBTxYuAAfRcsSJgAFEUJwIGEE0xImAAUcWPgAFEFzcCBlAI8SJgAIURJwIGUCi9j4ABONLK90PY2wgYgKNSmgZYtXcRMABH5aHhQCv3JgIG4Ojs6JmAq4ePgAE4OlMuY7g0FPAKYSNgAB48Wz0X+ArhImAAHoyOjGBqvBr4KmEiYACeTI1P4NzZ8cBX8R8BA/BoujqJ56emkeiQX4L2GwED8KwyOoaXX3gRz0xUMRRsc+gvghB3McTTSmOyMoHJygSO8hzZURd5bgBYn5dRsPgagNM3khlAYGmSIE2CvSSUXRfgS4BwDEA4BiBc9D1A62Av9ghRVUbHol4/egBrmxuxR4iqcj5uAHwJEI4BCMcAhGMAwkXfBM6cfyn2CKLxGUA4BiAcAxCOAQjHAIRjAMIxAOEYgHAMQLjodwJ5HoDnAWKPEBXPA1BUDEA4BiAcAxAu+iaQ5wHi4jOAcAxAOAYgHAMQjgEIxwCEYwDCMQDhGIBw0e8E8jwAzwPEHiEqngegqBiAcAxAOAYgXPRNIM8DxMVnAOEYgHAMQDgGIBwDEI4BCMcAhGMAwjEA4aLfCeR5AJ4HiD1CVDwPQFExAOEYgHAMQLjom0CeB4iLzwDCMQDhGIBwDEA4BiAcAxCOAQjHAIRjAMIxAOEYgHAMQDgGIBwDEI4BCOccgLXWxxx0Gh4ee+cAcpM7D0Gn083dH3vnANqdzHkIOp125v7YOwew1z50HoJOZ7+977yGcwCtgz0Ya5wHoZMxxqC1X4AAjDFma2fHeRA6mc3WNo5y902Aj7eB21u7f+Kg0/awFD2N/XYbD3Z3oYEHrmv5CGAZAFY3ml42JfTf2lmGtc3m8VtArX91Xc89AIvbwPFr0sr6fbQO3V+X6MlaB3tYaa4hN3/vuewt1zWdA9DK/gDAAMcRrG2sY3WzicOs47o0PdTOOljdaGJtcwPm0c0fo4BF17WV6wIA8M3i4hKUrv3750NpCaPlMobTEhKd+LmYABYWuTHIul3sdw6RdbuP/Y6xWPj0yuUPXK/l5athibWf59ZchNbT//x5dtRFtvv48OTImGZizTUfS3n5MOjjubn7Csm7BuBbgdCMOUSavDN/9eq6j+W8fRo4P1drJEa9CWNk/8uPkIxpIk0uflKr3fW1pNePg+fnag07PDRrYZfwcGNIXhhjsaCsmfX5xwc8bQKf5Nvr11/JrbqiLN4wwIzWmATPHzwVY0wO6G2t8Yu1uJ0navGzWu23ENf6C/l/AOrWkOSOAAAAAElFTkSuQmCC); -} -#yo-fs .directory a { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAABTpJREFUeJzt2s9rHHUYx/HP88zO7OZX2cQareLBU7IVLyJ4EaJFS6ogIlKK+A948FDEi1DTFQUV1CJ49iBCFSse1DYR61EQqfbQNlFPFvzRkh9tkibZ3fk+HrRp2sb00GS+230+r1tmhvAJeXd3OhuAiIiIiIiIiIiIOp/c6IKhsYm7TO1eDeEOQLMiRt0sQQgGnUtKdubUgdGzsfe0s3UDGHrriz691P0iEPZB5P6iR22mYOFXEf2wZfkHv9WfuBh7T7u5LoChsWPPidh7Ah2MMWirGMI5GF6YrO/5PPaWdqJrv6iNjb+pIh932i8fAAQ6KKJHhg+OH4i9pZ2svgLUxiZegdgbMccUxcz2T9ZHD8Xe0Q4EAIbGjj6iwHGI3vCmsBMEhJYYHpqs7zkRe0tsAjOp1Sd+BPBA7DG0aQIszAKYNJHvYMlHk/XHf1nvQqmNHX0Mot8UPJCKZMEg8kkwfWmqvvuPtacUkKdj7aKCiAog+1TCyeH6xMjaU2qQh2PtoqLJdrH82NoIVMTujjmJiqYVsfDZ8OtHdwCAwuy22JOoaLJdmvIOAEjt4LjFnkNRBKgM642vow6lCPY8A3DMYLsYgGMCDJdij4itVOmNPWHTGQywgNBqwvLWBlfKgO8ARFCudtwHn1cJeROtSwtoXroIWH7taXX9FqDJLfEHTjdFkxRZXz+6B+9Z99XOdwBZOfaEwogoytVBZH0DVx13HUBa6Yk9oXBpTxVZb//q124D0LQMzbpiz4gi7e1H8t/P7jQAQbnP9xPwbNu/bwUuA8h6+6FZJfaMqLRURpJ1+Qsg66ki7a3GntEWkkoP3DwHEE1Q3rYdicMbv/+TZJXOD0BLGUpdfSh190HE3QvehjRJNw5A0wxJ2gUppRBVQG6NPxoWA6AJklIKaBJ7TvsSWT+ApNKDrLcKLfl5UOLV1QFIgkr1diTl7khzqGirAYgqKgM7oKXOfz5OV6zeFZX77+Qv3yEFgLS3iiT1/WDEKxVRpD18MOKVJpUe/v/YMeWTMd80SXnj55mKdvzTYNoA3/ydYwDOMQDnGIBzDMA5BuAcA3COATjHAJxjAM4xAOcYgHMMwDkG4BwDcI4BOMcAnGMAzjEA5xiAcwzAOQbgHANwjgE4xwCcYwDOMQDnGIBzDMA5BuAcA3COATjHAJxjAM4xAOcYgHMMwDkG4BwDcI4BOMcAnGMAzjEA5xiAcwzAOQbgHANwjgE4xwCcYwDOMQDnGIBzDMA5BuAcA3COATjHAJxjAM4xAOcUZrE3UCxm0JA3Y8+gSELegIbGSuwdFElorEBbKwuxd1AkzeVFaL6yhNBqxN5CBQvNFYTGEjRYaDYuTsfeQ4UyrMxPIwANBfSvvLGE5sJs7FVUkMbCLEJjGTD8qSL20+WDzcULsbfRFmsszqG5MAcAUNgJhclXqyfnp7Eydw4WQrSBtDUs5Fie+xvN+Zm1h7/UFvLDsLD6T7+1vICl87+jMT/Dm8MOEFoNNOansXT+LPLlxSvHgRlB+VMBgNrB8ZcBvL3eNxBNoKUUIglMihlNmyDkyFtNIOTrnjaz/ZP10UMlADiz88K7tVPbnoTIyHUXhhx5Y/1vQremYPbtFL5/H7j8YdDevbkAzwSEn6MuoyKcqKD8LOr1AKz5NPB0fXQmNxuB4Ui8bbS17LBYNnKy/ujc5SPrvqvvHJt4yiQ/AOiDxY2jrWLAD2JSP1Pf/fW15za8rbvvtYlaHmyXAMMABoIh2bKVtGkEaIlgFrDTQe341Kt7pmJvIiIiIqI28g8P/1ywWiSczgAAAABJRU5ErkJggg==) -} - -#yo-fs .directory .size { - display: none; -} - -#yo-fs a span { - display: inline-block; -} + h1 a { + margin: 5px; + } + ul { + margin: 0; + padding: 0; + } + li { + list-style-type: none; + a { + display: block; + padding: 10px; + font-size: 14px; + border-bottom: 1px solid $color-neutral--20; + background-size: 15px; + background-repeat: no-repeat; + background-position: 10px 11px; + padding-left: 35px; + color: $color-neutral; + text-decoration: none; + &:hover { + background-color: $color-neutral--04; + } + } + } + .file a { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAABQZJREFUeJzt3M9rnEUcx/HPzPNskk3TTTZNVFQKIkIOEnr3pBQv2osiuKWpJ1Ei4kF7EPwnPIiIt5jmLPQkpV1wS089ay6ihJCy+dHEza/dZ/PMeEilYos2mZmdZ/f7eR1DmOfL5s3u7LOzAYiIiIhIHBVy8fqdOxeM0a9bixkoNQFlk5DXi2F9Z+uny5cufR97jtMKEsCtxt33APsVoGdDrF8kyyt/2Gpl7KN+jcBrAI1Go5ohXQDwts91i2x55XcAqm8j0L4WqtfvTXVs+jME/fEfsWq7tffd0o0bH8ae5KS8BFCv19OjtPujUnjVx3r9qT8j8BKASUe+0MBrPtbqb/0XgXMAN2/eG4cxX/oYZjD0VwTOAaiR7H1oXfExzODonwjcAzDqLR+DDJ7+iMB9D6DNBQ9zDKjiR+AcgDF4zscgg6vYETgHoLUu+RhksBU3Am83guj/FDMCBtBTxYuAAfRcsSJgAFEUJwIGEE0xImAAUcWPgAFEFzcCBlAI8SJgAIURJwIGUCi9j4ABONLK90PY2wgYgKNSmgZYtXcRMABH5aHhQCv3JgIG4Ojs6JmAq4ePgAE4OlMuY7g0FPAKYSNgAB48Wz0X+ArhImAAHoyOjGBqvBr4KmEiYACeTI1P4NzZ8cBX8R8BA/BoujqJ56emkeiQX4L2GwED8KwyOoaXX3gRz0xUMRRsc+gvghB3McTTSmOyMoHJygSO8hzZURd5bgBYn5dRsPgagNM3khlAYGmSIE2CvSSUXRfgS4BwDEA4BiBc9D1A62Av9ghRVUbHol4/egBrmxuxR4iqcj5uAHwJEI4BCMcAhGMAwkXfBM6cfyn2CKLxGUA4BiAcAxCOAQjHAIRjAMIxAOEYgHAMQLjodwJ5HoDnAWKPEBXPA1BUDEA4BiAcAxAu+iaQ5wHi4jOAcAxAOAYgHAMQjgEIxwCEYwDCMQDhGIBw0e8E8jwAzwPEHiEqngegqBiAcAxAOAYgXPRNIM8DxMVnAOEYgHAMQDgGIBwDEI4BCMcAhGMAwjEA4aLfCeR5AJ4HiD1CVDwPQFExAOEYgHAMQLjom0CeB4iLzwDCMQDhGIBwDEA4BiAcAxCOAQjHAIRjAMIxAOEYgHAMQDgGIBwDEI4BCOccgLXWxxx0Gh4ee+cAcpM7D0Gn083dH3vnANqdzHkIOp125v7YOwew1z50HoJOZ7+977yGcwCtgz0Ya5wHoZMxxqC1X4AAjDFma2fHeRA6mc3WNo5y902Aj7eB21u7f+Kg0/awFD2N/XYbD3Z3oYEHrmv5CGAZAFY3ml42JfTf2lmGtc3m8VtArX91Xc89AIvbwPFr0sr6fbQO3V+X6MlaB3tYaa4hN3/vuewt1zWdA9DK/gDAAMcRrG2sY3WzicOs47o0PdTOOljdaGJtcwPm0c0fo4BF17WV6wIA8M3i4hKUrv3750NpCaPlMobTEhKd+LmYABYWuTHIul3sdw6RdbuP/Y6xWPj0yuUPXK/l5athibWf59ZchNbT//x5dtRFtvv48OTImGZizTUfS3n5MOjjubn7Csm7BuBbgdCMOUSavDN/9eq6j+W8fRo4P1drJEa9CWNk/8uPkIxpIk0uflKr3fW1pNePg+fnag07PDRrYZfwcGNIXhhjsaCsmfX5xwc8bQKf5Nvr11/JrbqiLN4wwIzWmATPHzwVY0wO6G2t8Yu1uJ0navGzWu23ENf6C/l/AOrWkOSOAAAAAElFTkSuQmCC); + } + .directory a { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAABTpJREFUeJzt2s9rHHUYx/HP88zO7OZX2cQareLBU7IVLyJ4EaJFS6ogIlKK+A948FDEi1DTFQUV1CJ49iBCFSse1DYR61EQqfbQNlFPFvzRkh9tkibZ3fk+HrRp2sb00GS+230+r1tmhvAJeXd3OhuAiIiIiIiIiIiIOp/c6IKhsYm7TO1eDeEOQLMiRt0sQQgGnUtKdubUgdGzsfe0s3UDGHrriz691P0iEPZB5P6iR22mYOFXEf2wZfkHv9WfuBh7T7u5LoChsWPPidh7Ah2MMWirGMI5GF6YrO/5PPaWdqJrv6iNjb+pIh932i8fAAQ6KKJHhg+OH4i9pZ2svgLUxiZegdgbMccUxcz2T9ZHD8Xe0Q4EAIbGjj6iwHGI3vCmsBMEhJYYHpqs7zkRe0tsAjOp1Sd+BPBA7DG0aQIszAKYNJHvYMlHk/XHf1nvQqmNHX0Mot8UPJCKZMEg8kkwfWmqvvuPtacUkKdj7aKCiAog+1TCyeH6xMjaU2qQh2PtoqLJdrH82NoIVMTujjmJiqYVsfDZ8OtHdwCAwuy22JOoaLJdmvIOAEjt4LjFnkNRBKgM642vow6lCPY8A3DMYLsYgGMCDJdij4itVOmNPWHTGQywgNBqwvLWBlfKgO8ARFCudtwHn1cJeROtSwtoXroIWH7taXX9FqDJLfEHTjdFkxRZXz+6B+9Z99XOdwBZOfaEwogoytVBZH0DVx13HUBa6Yk9oXBpTxVZb//q124D0LQMzbpiz4gi7e1H8t/P7jQAQbnP9xPwbNu/bwUuA8h6+6FZJfaMqLRURpJ1+Qsg66ki7a3GntEWkkoP3DwHEE1Q3rYdicMbv/+TZJXOD0BLGUpdfSh190HE3QvehjRJNw5A0wxJ2gUppRBVQG6NPxoWA6AJklIKaBJ7TvsSWT+ApNKDrLcKLfl5UOLV1QFIgkr1diTl7khzqGirAYgqKgM7oKXOfz5OV6zeFZX77+Qv3yEFgLS3iiT1/WDEKxVRpD18MOKVJpUe/v/YMeWTMd80SXnj55mKdvzTYNoA3/ydYwDOMQDnGIBzDMA5BuAcA3COATjHAJxjAM4xAOcYgHMMwDkG4BwDcI4BOMcAnGMAzjEA5xiAcwzAOQbgHANwjgE4xwCcYwDOMQDnGIBzDMA5BuAcA3COATjHAJxjAM4xAOcYgHMMwDkG4BwDcI4BOMcAnGMAzjEA5xiAcwzAOQbgHANwjgE4xwCcYwDOMQDnGIBzDMA5BuAcA3COATjHAJxjAM4xAOcUZrE3UCxm0JA3Y8+gSELegIbGSuwdFElorEBbKwuxd1AkzeVFaL6yhNBqxN5CBQvNFYTGEjRYaDYuTsfeQ4UyrMxPIwANBfSvvLGE5sJs7FVUkMbCLEJjGTD8qSL20+WDzcULsbfRFmsszqG5MAcAUNgJhclXqyfnp7Eydw4WQrSBtDUs5Fie+xvN+Zm1h7/UFvLDsLD6T7+1vICl87+jMT/Dm8MOEFoNNOansXT+LPLlxSvHgRlB+VMBgNrB8ZcBvL3eNxBNoKUUIglMihlNmyDkyFtNIOTrnjaz/ZP10UMlADiz88K7tVPbnoTIyHUXhhx5Y/1vQremYPbtFL5/H7j8YdDevbkAzwSEn6MuoyKcqKD8LOr1AKz5NPB0fXQmNxuB4Ui8bbS17LBYNnKy/ujc5SPrvqvvHJt4yiQ/AOiDxY2jrWLAD2JSP1Pf/fW15za8rbvvtYlaHmyXAMMABoIh2bKVtGkEaIlgFrDTQe341Kt7pmJvIiIiIqI28g8P/1ywWiSczgAAAABJRU5ErkJggg==) + } + .directory .size { + display: none; + } + span { + display: inline-block; + } -#yo-fs .size, #yo-fs .modified { - width: 30%; - float: right; - text-align: right; -} + .size, + .modified { + width: 30%; + float: right; + text-align: right; + } -#yo-fs .modified { - width: 40%; -} + .modified { + width: 40%; + } -#yo-fs pre { - padding: 10px; - margin: 0; + pre { + padding: 10px; + margin: 0; + } } /* render data */ @@ -282,7 +273,6 @@ table th, table td { text-align: left; padding: 5px 10px; - color: #777; - background-color: #f4f5f6; + color: $color-neutral; min-height: 1.42857143; }