diff --git a/.gitignore b/.gitignore index 36a836cb..77fb9913 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,10 @@ node_modules client/build client_custom/build +client_custom/scss +client_custom/src/components +client_custom/src/containers +client_custom/src/pages devConfig/sequelizeCliConfig.js devConfig/testingConfig.js diff --git a/README.md b/README.md index 5410dc60..5b15cb30 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,10 @@ check out the [customization guide](https://github.com/lbryio/spee.ch/blob/readm * This is not necessary, but highly reccomended. It will decode the blocks of the `LBRY` blockchain and add the claims information to your database's tables ## API -#### /api/claim/publish (post) +#### /api/claim/publish + +method: `POST` + example: ``` curl -F 'name=MyPictureName' -F 'file=@/path/to/myPicture.jpeg' https://spee.ch/api/claim/publish @@ -100,7 +103,9 @@ response: } ``` -#### /api/claim/availability/:name (get) +#### /api/claim/availability/:name +method: `GET` + example: ``` curl https://spee.ch/api/claim/availability/doitlive diff --git a/client/scss/all.scss b/client/scss/all.scss index e2da3336..716e893b 100644 --- a/client/scss/all.scss +++ b/client/scss/all.scss @@ -1,47 +1,47 @@ -@import '_variables'; -@import '_reset'; -@import '_font'; -@import '_html'; -@import '_body'; -@import '_react-app'; -@import '_text'; +@import '~variables/_variables'; +@import '~reset/_reset'; +@import '~font/_font'; +@import '~html/_html'; +@import '~body/_body'; +@import '~react-app/_react-app'; +@import '~text/_text'; -@import '_link'; -@import '_input'; -@import '_select'; -@import '_textarea'; -@import '_video'; +@import '~link/_link'; +@import '~input/_input'; +@import '~select/_select'; +@import '~textarea/_textarea'; +@import '~video/_video'; -@import 'components/_asset-display'; -@import 'components/_asset-preview'; -@import 'components/_button'; -@import 'components/_button-primary'; -@import 'components/_button-secondary'; -@import 'components/_button-tertiary'; -@import 'components/_click-to-copy'; -@import 'components/_column'; -@import 'components/_form-feedback'; -@import 'components/_horizontal-quad-split'; -@import 'components/_horizontal-split'; -@import 'components/_label'; -@import 'components/_nav-bar'; -@import 'components/_page-layout'; -@import 'components/_page-layout-show-lite'; -@import 'components/_page-content'; -@import 'components/_progress-bar'; -@import 'components/_publish-preview'; -@import 'components/_space-between'; -@import 'components/_space-around'; -@import 'components/_row'; -@import 'components/_vertical-split'; -@import 'components/_tooltip'; +@import '~asset-display/_asset-display'; +@import '~asset-preview/_asset-preview'; +@import '~button/_button'; +@import '~button-primary/_button-primary'; +@import '~button-secondary/_button-secondary'; +@import '~button-tertiary/_button-tertiary'; +@import '~click-to-copy/_click-to-copy'; +@import '~column/_column'; +@import '~form-feedback/_form-feedback'; +@import '~horizontal-quad-split/_horizontal-quad-split'; +@import '~horizontal-split/_horizontal-split'; +@import '~label/_label'; +@import '~nav-bar/_nav-bar'; +@import '~page-layout/_page-layout'; +@import '~page-layout-show-lite/_page-layout-show-lite'; +@import '~page-content/_page-content'; +@import '~progress-bar/_progress-bar'; +@import '~publish-preview/_publish-preview'; +@import '~space-between/_space-between'; +@import '~space-around/_space-around'; +@import '~row/_row'; +@import '~vertical-split/_vertical-split'; +@import '~tooltip/_tooltip'; -@import 'containers/_channel-claims-display'; -@import 'containers/_dropzone'; -@import 'containers/_publish-url-input'; -@import 'containers/_publish-status'; -@import 'containers/_publish-disabled-message'; +@import '~channel-claims-display/_channel-claims-display'; +@import '~dropzone/_dropzone'; +@import '~publish-url-input/_publish-url-input'; +@import '~publish-status/_publish-status'; +@import '~publish-disabled-message/_publish-disabled-message'; -@import '_media-queries'; +@import '~media-queries/_media-queries'; diff --git a/client/scss/components/_asset-display.scss b/client/scss/asset-display/_asset-display.scss similarity index 100% rename from client/scss/components/_asset-display.scss rename to client/scss/asset-display/_asset-display.scss diff --git a/client/scss/components/_asset-preview.scss b/client/scss/asset-preview/_asset-preview.scss similarity index 100% rename from client/scss/components/_asset-preview.scss rename to client/scss/asset-preview/_asset-preview.scss diff --git a/client/scss/_body.scss b/client/scss/body/_body.scss similarity index 100% rename from client/scss/_body.scss rename to client/scss/body/_body.scss diff --git a/client/scss/components/_button-primary.scss b/client/scss/button-primary/_button-primary.scss similarity index 100% rename from client/scss/components/_button-primary.scss rename to client/scss/button-primary/_button-primary.scss diff --git a/client/scss/components/_button-secondary.scss b/client/scss/button-secondary/_button-secondary.scss similarity index 100% rename from client/scss/components/_button-secondary.scss rename to client/scss/button-secondary/_button-secondary.scss diff --git a/client/scss/components/_button-tertiary.scss b/client/scss/button-tertiary/_button-tertiary.scss similarity index 100% rename from client/scss/components/_button-tertiary.scss rename to client/scss/button-tertiary/_button-tertiary.scss diff --git a/client/scss/components/_button.scss b/client/scss/button/_button.scss similarity index 100% rename from client/scss/components/_button.scss rename to client/scss/button/_button.scss diff --git a/client/scss/containers/_channel-claims-display.scss b/client/scss/channel-claims-display/_channel-claims-display.scss similarity index 100% rename from client/scss/containers/_channel-claims-display.scss rename to client/scss/channel-claims-display/_channel-claims-display.scss diff --git a/client/scss/components/_click-to-copy.scss b/client/scss/click-to-copy/_click-to-copy.scss similarity index 100% rename from client/scss/components/_click-to-copy.scss rename to client/scss/click-to-copy/_click-to-copy.scss diff --git a/client/scss/components/_column.scss b/client/scss/column/_column.scss similarity index 100% rename from client/scss/components/_column.scss rename to client/scss/column/_column.scss diff --git a/client/scss/containers/_site-description.scss b/client/scss/containers/_site-description.scss deleted file mode 100644 index 3ab5ec01..00000000 --- a/client/scss/containers/_site-description.scss +++ /dev/null @@ -1,3 +0,0 @@ -.site-description { - font-size: small; -} diff --git a/client/scss/containers/_dropzone.scss b/client/scss/dropzone/_dropzone.scss similarity index 100% rename from client/scss/containers/_dropzone.scss rename to client/scss/dropzone/_dropzone.scss diff --git a/client/scss/_font.scss b/client/scss/font/_font.scss similarity index 60% rename from client/scss/_font.scss rename to client/scss/font/_font.scss index d3c8fe32..a62312a0 100644 --- a/client/scss/_font.scss +++ b/client/scss/font/_font.scss @@ -1,18 +1,18 @@ @font-face { font-family: 'Lekton'; - src: url('font/Lekton/Lekton-Regular.ttf'); + src: url('./font/Lekton/Lekton-Regular.ttf'); } @font-face { font-family: 'Lekton'; - src: url('font/Lekton/Lekton-Bold.ttf'); + src: url('./font/Lekton/Lekton-Bold.ttf'); font-weight: bold; font-style: normal; } @font-face { font-family: 'Lekton'; - src: url('font/Lekton/Lekton-Italic.ttf'); + src: url('./font/Lekton/Lekton-Italic.ttf'); font-weight: normal; font-style: italic; } diff --git a/client/scss/components/_form-feedback.scss b/client/scss/form-feedback/_form-feedback.scss similarity index 100% rename from client/scss/components/_form-feedback.scss rename to client/scss/form-feedback/_form-feedback.scss diff --git a/client/scss/components/_horizontal-quad-split.scss b/client/scss/horizontal-quad-split/_horizontal-quad-split.scss similarity index 100% rename from client/scss/components/_horizontal-quad-split.scss rename to client/scss/horizontal-quad-split/_horizontal-quad-split.scss diff --git a/client/scss/components/_horizontal-split.scss b/client/scss/horizontal-split/_horizontal-split.scss similarity index 100% rename from client/scss/components/_horizontal-split.scss rename to client/scss/horizontal-split/_horizontal-split.scss diff --git a/client/scss/_html.scss b/client/scss/html/_html.scss similarity index 100% rename from client/scss/_html.scss rename to client/scss/html/_html.scss diff --git a/client/scss/_input.scss b/client/scss/input/_input.scss similarity index 100% rename from client/scss/_input.scss rename to client/scss/input/_input.scss diff --git a/client/scss/components/_label.scss b/client/scss/label/_label.scss similarity index 100% rename from client/scss/components/_label.scss rename to client/scss/label/_label.scss diff --git a/client/scss/_link.scss b/client/scss/link/_link.scss similarity index 100% rename from client/scss/_link.scss rename to client/scss/link/_link.scss diff --git a/client/scss/_media-queries.scss b/client/scss/media-queries/_media-queries.scss similarity index 100% rename from client/scss/_media-queries.scss rename to client/scss/media-queries/_media-queries.scss diff --git a/client/scss/components/_nav-bar.scss b/client/scss/nav-bar/_nav-bar.scss similarity index 100% rename from client/scss/components/_nav-bar.scss rename to client/scss/nav-bar/_nav-bar.scss diff --git a/client/scss/components/_page-content.scss b/client/scss/page-content/_page-content.scss similarity index 100% rename from client/scss/components/_page-content.scss rename to client/scss/page-content/_page-content.scss diff --git a/client/scss/components/_page-layout-show-lite.scss b/client/scss/page-layout-show-lite/_page-layout-show-lite.scss similarity index 100% rename from client/scss/components/_page-layout-show-lite.scss rename to client/scss/page-layout-show-lite/_page-layout-show-lite.scss diff --git a/client/scss/components/_page-layout.scss b/client/scss/page-layout/_page-layout.scss similarity index 100% rename from client/scss/components/_page-layout.scss rename to client/scss/page-layout/_page-layout.scss diff --git a/client/scss/components/_progress-bar.scss b/client/scss/progress-bar/_progress-bar.scss similarity index 100% rename from client/scss/components/_progress-bar.scss rename to client/scss/progress-bar/_progress-bar.scss diff --git a/client/scss/containers/_publish-disabled-message.scss b/client/scss/publish-disabled-message/_publish-disabled-message.scss similarity index 100% rename from client/scss/containers/_publish-disabled-message.scss rename to client/scss/publish-disabled-message/_publish-disabled-message.scss diff --git a/client/scss/components/_publish-preview.scss b/client/scss/publish-preview/_publish-preview.scss similarity index 100% rename from client/scss/components/_publish-preview.scss rename to client/scss/publish-preview/_publish-preview.scss diff --git a/client/scss/containers/_publish-status.scss b/client/scss/publish-status/_publish-status.scss similarity index 100% rename from client/scss/containers/_publish-status.scss rename to client/scss/publish-status/_publish-status.scss diff --git a/client/scss/containers/_publish-url-input.scss b/client/scss/publish-url-input/_publish-url-input.scss similarity index 100% rename from client/scss/containers/_publish-url-input.scss rename to client/scss/publish-url-input/_publish-url-input.scss diff --git a/client/scss/_react-app.scss b/client/scss/react-app/_react-app.scss similarity index 100% rename from client/scss/_react-app.scss rename to client/scss/react-app/_react-app.scss diff --git a/client/scss/_reset.scss b/client/scss/reset/_reset.scss similarity index 100% rename from client/scss/_reset.scss rename to client/scss/reset/_reset.scss diff --git a/client/scss/components/_row.scss b/client/scss/row/_row.scss similarity index 100% rename from client/scss/components/_row.scss rename to client/scss/row/_row.scss diff --git a/client/scss/_select.scss b/client/scss/select/_select.scss similarity index 83% rename from client/scss/_select.scss rename to client/scss/select/_select.scss index 66a312e2..df03a09e 100644 --- a/client/scss/_select.scss +++ b/client/scss/select/_select.scss @@ -10,7 +10,7 @@ select { .select--arrow { -moz-appearance:none; -webkit-appearance: none; - background: url('icon/downArrow.svg') no-repeat right; + background: url('./icon/downArrow.svg') no-repeat right; cursor: pointer; padding-right: 1.5em; padding-left: $input-padding diff --git a/client/scss/components/_space-around.scss b/client/scss/space-around/_space-around.scss similarity index 100% rename from client/scss/components/_space-around.scss rename to client/scss/space-around/_space-around.scss diff --git a/client/scss/components/_space-between.scss b/client/scss/space-between/_space-between.scss similarity index 100% rename from client/scss/components/_space-between.scss rename to client/scss/space-between/_space-between.scss diff --git a/client/scss/_text.scss b/client/scss/text/_text.scss similarity index 100% rename from client/scss/_text.scss rename to client/scss/text/_text.scss diff --git a/client/scss/_textarea.scss b/client/scss/textarea/_textarea.scss similarity index 100% rename from client/scss/_textarea.scss rename to client/scss/textarea/_textarea.scss diff --git a/client/scss/components/_tooltip.scss b/client/scss/tooltip/_tooltip.scss similarity index 100% rename from client/scss/components/_tooltip.scss rename to client/scss/tooltip/_tooltip.scss diff --git a/client/scss/_variables.scss b/client/scss/variables/_variables.scss similarity index 100% rename from client/scss/_variables.scss rename to client/scss/variables/_variables.scss diff --git a/client/scss/components/_vertical-split.scss b/client/scss/vertical-split/_vertical-split.scss similarity index 100% rename from client/scss/components/_vertical-split.scss rename to client/scss/vertical-split/_vertical-split.scss diff --git a/client/scss/_video.scss b/client/scss/video/_video.scss similarity index 100% rename from client/scss/_video.scss rename to client/scss/video/_video.scss diff --git a/client_custom/scss/body/_body.scss b/client_custom/scss/body/_body.scss new file mode 100644 index 00000000..90f22258 --- /dev/null +++ b/client_custom/scss/body/_body.scss @@ -0,0 +1,10 @@ +body { + margin: 0; + padding: 0; + height: 100%; + word-wrap: break-word; + display: -webkit-flex; + display: flex; + -webkit-flex-direction: column; + flex-direction: column; +} diff --git a/utils/createModuleAliases.js b/utils/createModuleAliases.js index 7a494bf6..20eb89f2 100644 --- a/utils/createModuleAliases.js +++ b/utils/createModuleAliases.js @@ -2,6 +2,7 @@ const { statSync, existsSync, readdirSync } = require('fs'); const { join, resolve } = require('path'); const DEFAULT_ROOT = 'client/build'; const CUSTOM_ROOT = 'client_custom/build'; +const CUSTOM_SCSS_ROOT = 'client_custom/scss'; const getFolders = path => { if (existsSync(path)) { @@ -10,14 +11,25 @@ const getFolders = path => { return []; }; -const addAlliasesForFolder = (name, aliasObject) => { // components +const addAliasesForCustomComponentFolder = (name, aliasObject) => { + // creates an alias for each component in the folder that is passed to this function const folderPath = resolve(`${CUSTOM_ROOT}/${name}`); const components = getFolders(folderPath); for (let i = 0; i < components.length; i++) { let folderName = components[i]; let aliasName = `@${name}/${folderName}`; - let aliasPath = resolve(`${CUSTOM_ROOT}/${name}/${folderName}/index.js`); - aliasObject[aliasName] = aliasPath; + aliasObject[aliasName] = resolve(`${CUSTOM_ROOT}/${name}/${folderName}/index.js`); + } + return aliasObject; +}; + +const addAlliasesForSCSS = (aliasObject) => { // scss + // creates an alias for every folder found in the custom scss folder + const customScssRoot = resolve(`${CUSTOM_SCSS_ROOT}`); + const customFolders = getFolders(customScssRoot); + for (let i = 0; i < customFolders.length; i++) { + let folderName = customFolders[i]; + aliasObject[folderName] = resolve(`${CUSTOM_SCSS_ROOT}/${folderName}`); } return aliasObject; }; @@ -28,12 +40,12 @@ module.exports = () => { moduleAliases['@config'] = resolve(`config`); moduleAliases['@devConfig'] = resolve(`devConfig`); - // create specific aliases for locally defined components - moduleAliases = addAlliasesForFolder('containers', moduleAliases); - moduleAliases = addAlliasesForFolder('components', moduleAliases); - moduleAliases = addAlliasesForFolder('pages', moduleAliases); + // create specific aliases for locally defined components in the following folders + moduleAliases = addAliasesForCustomComponentFolder('containers', moduleAliases); + moduleAliases = addAliasesForCustomComponentFolder('components', moduleAliases); + moduleAliases = addAliasesForCustomComponentFolder('pages', moduleAliases); - // default aliases + // default component aliases moduleAliases['@containers'] = resolve(`${DEFAULT_ROOT}/containers`); moduleAliases['@components'] = resolve(`${DEFAULT_ROOT}/components`); moduleAliases['@pages'] = resolve(`${DEFAULT_ROOT}/pages`); @@ -42,6 +54,9 @@ module.exports = () => { moduleAliases['@sagas'] = resolve(`${DEFAULT_ROOT}/sagas`); moduleAliases['@app'] = resolve(`${DEFAULT_ROOT}/app.js`); + // scss aliases + moduleAliases = addAlliasesForSCSS(moduleAliases); + // return finished aliases return moduleAliases; };