diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..5d126348 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +# editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000..dea164c1 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,25 @@ +module.exports = { + root: true, + env: { + browser: true, + node: true + }, + parserOptions: { + parser: 'babel-eslint' + }, + extends: [ + '@nuxtjs', + 'plugin:nuxt/recommended', + 'plugin:prettier/recommended', + 'prettier', + 'prettier/vue' + ], + plugins: [ + 'prettier' + ], + // add your custom rules here + rules: { + 'no-console': 1, + 'camelcase': ['error', {properties: 'never'}] + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..f935a370 --- /dev/null +++ b/.gitignore @@ -0,0 +1,84 @@ +# Created by .ignore support plugin (hsz.mobi) +### Node template +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# parcel-bundler cache (https://parceljs.org/) +.cache + +# next.js build output +.next + +# nuxt.js build output +.nuxt + +# Nuxt generate +dist + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless + +# IDE +.idea + +# Service worker +sw.* diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..b2095be8 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,4 @@ +{ + "semi": false, + "singleQuote": true +} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..fa2ab5f6 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM node + +ENV APP_ROOT /src + +RUN mkdir ${APP_ROOT} +WORKDIR ${APP_ROOT} +ADD . ${APP_ROOT} + +RUN npm install +RUN npm install -g --unsafe-perm node-sass +RUN npm run build + +ENV HOST 0.0.0.0 \ No newline at end of file diff --git a/README.md b/README.md index 615cbae5..9a253d47 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,12 @@ -Instruções em: +#Teste Carlos Azevedo -https://picpay.com/jobs/desafio-frontend \ No newline at end of file +Para rodar o projeto: +> docker-compose up -d + +O projeto ira rodar na sua porta 3000 + + +#### Considerações +Gostei do projeto, construi uma aplicação com nuxt que é um template par Vue.js. + +ps: estou realizando o teste de back-end, devido ao meu tempo, não consegui implementar a visão da aplicação para desktop, como desenvolvi em mobile-first essa parte já está pronta. \ No newline at end of file diff --git a/assets/README.md b/assets/README.md new file mode 100644 index 00000000..34766f93 --- /dev/null +++ b/assets/README.md @@ -0,0 +1,7 @@ +# ASSETS + +**This directory is not required, you can delete it if you don't want to use it.** + +This directory contains your un-compiled assets such as LESS, SASS, or JavaScript. + +More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked). diff --git a/assets/scss/base.scss b/assets/scss/base.scss new file mode 100644 index 00000000..4e00731e --- /dev/null +++ b/assets/scss/base.scss @@ -0,0 +1,6 @@ +body { + margin: 0px; + width: 100%; + background-image: linear-gradient(211deg, $dusk, $das); + min-height: 100vh; +} \ No newline at end of file diff --git a/assets/scss/components/_header.scss b/assets/scss/components/_header.scss new file mode 100644 index 00000000..0349b12d --- /dev/null +++ b/assets/scss/components/_header.scss @@ -0,0 +1,10 @@ +.header { + background-color: $riptide; + padding: 4px 8px; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.5); + height: 16px; + + img { + height: 100%; + } +} \ No newline at end of file diff --git a/assets/scss/components/base/_voltar.scss b/assets/scss/components/base/_voltar.scss new file mode 100644 index 00000000..f416d99c --- /dev/null +++ b/assets/scss/components/base/_voltar.scss @@ -0,0 +1,21 @@ +.voltar { + margin: 8px 12px; + + a { + font-family: roboto-regular; + font-size: 7px; + color: $white; + text-decoration: none; + + &:before { + content: ' '; + background-image: url('/images/angle-left-solid.svg'); + background-size: 4px 4px; + height: 4px; + width: 4px; + background-repeat: no-repeat; + color: $riptide; + display: inline-block; + } + } +} \ No newline at end of file diff --git a/assets/scss/components/base/index.scss b/assets/scss/components/base/index.scss new file mode 100644 index 00000000..1cc78cb8 --- /dev/null +++ b/assets/scss/components/base/index.scss @@ -0,0 +1,2 @@ +@import './voltar'; +@import './input'; \ No newline at end of file diff --git a/assets/scss/components/base/input.scss b/assets/scss/components/base/input.scss new file mode 100644 index 00000000..984ee814 --- /dev/null +++ b/assets/scss/components/base/input.scss @@ -0,0 +1,87 @@ +.group { + position:relative; + margin-bottom: 13px; + font-family: roboto-regular; +} + +.inputMaterial { + font-size:8px; + padding:5px 10px 5px 5px; + display:block; + width: 167px; + border:none; + border-bottom:1px solid #757575; + background-color: inherit; + color: $white; +} + +.inputMaterial:focus { outline:none;} + +/* LABEL ======================================= */ + +label { + color:#999; + font-size:6px; + font-weight:normal; + position:absolute; + pointer-events:none; + left:5px; + top:10px; + transition:0.2s ease all; + -moz-transition:0.2s ease all; + -webkit-transition:0.2s ease all; +} + +/* active state */ +.inputMaterial:focus ~ label, .inputMaterial:valid ~ label { + top:-5px; + font-size:6px; + color: $riptide; +} + +/* BOTTOM BARS ================================= */ +.bar { position:relative; display:block; width:182px; } +.bar:before, .bar:after { + content:''; + height:2px; + width:0; + bottom:1px; + position:absolute; + background: $riptide; + transition:0.2s ease all; + -moz-transition:0.2s ease all; + -webkit-transition:0.2s ease all; +} +.bar:before { + left:50%; +} +.bar:after { + right:50%; +} + +/* active state */ +.inputMaterial:focus ~ .bar:before, .inputMaterial:focus ~ .bar:after { + width:50%; +} + + +/* active state */ +.inputMaterial:focus ~ .highlight { + -webkit-animation:inputHighlighter 0.3s ease; + -moz-animation:inputHighlighter 0.3s ease; + animation:inputHighlighter 0.3s ease; +} + +/* ANIMATIONS ================ */ +@-webkit-keyframes inputHighlighter { + from { background:$riptide; } + to { width:0; background:transparent; } +} +@-moz-keyframes inputHighlighter { + from { background:$riptide; } + to { width:0; background:transparent; } +} +@keyframes inputHighlighter { + from { background:$riptide; } + to { width:0; background:transparent; } +} \ No newline at end of file diff --git a/assets/scss/components/cartao/index.scss b/assets/scss/components/cartao/index.scss new file mode 100644 index 00000000..15740f17 --- /dev/null +++ b/assets/scss/components/cartao/index.scss @@ -0,0 +1,2 @@ +@import './novo'; +@import './list'; \ No newline at end of file diff --git a/assets/scss/components/cartao/list.scss b/assets/scss/components/cartao/list.scss new file mode 100644 index 00000000..8e3dd746 --- /dev/null +++ b/assets/scss/components/cartao/list.scss @@ -0,0 +1,85 @@ +.cartao-list { + text-align: center; + + h5 { + font-family: roboto-regular; + font-size: 10px; + color: $white; + } + + ul { + display: block; + padding: inherit; + margin-top: 0; + margin-bottom: 0; + + .active { + background-color: $white10; + } + + li { + display: flex; + padding: 12px 16px; + + .img { + flex: 1; + max-width: 14px; + + img { + width: 14px; + height: 14px; + margin-top: 1px; + } + } + + .data { + flex: 1; + text-align: left; + + span { + margin-left: 20px; + font-family: roboto-bold; + font-size: 10px; + font-weight: 500; + color: $white; + } + } + + .check { + flex: 1; + max-width: 12px; + + img { + width: 12px; + height: 12px; + margin-top: 3px; + } + } + } + } + + .plus { + display: flex; + margin: 0 16px; + padding-top: 12px; + text-align: center; + border-top: solid 1px $white10; + + .s-plus { + flex: 1; + max-width: 14px; + img { + width: 14px; + height: 14px; + } + } + + .text { + flex: 1; + color: $white; + font-family: roboto-bold; + font-size: 10px; + margin-top: 2px; + } + } +} \ No newline at end of file diff --git a/assets/scss/components/cartao/novo.scss b/assets/scss/components/cartao/novo.scss new file mode 100644 index 00000000..cbef972c --- /dev/null +++ b/assets/scss/components/cartao/novo.scss @@ -0,0 +1,25 @@ +.cartao-novo { + //padding: 10px 22px; + position: relative; + margin: auto; + display: table; +} + +.botton { + position: fixed; + bottom: 10px; + width: 100%; + text-align: center; + + .btn { + width: 182px; + background-image: linear-gradient(to bottom, $duckEggBlue, #7de6c6); + border: inherit; + border-radius: 12px; + font-family: roboto-bold; + font-size: 7px; + color: $duskTwo; + text-align: center; + padding: 8px 0; + } +} \ No newline at end of file diff --git a/assets/scss/components/index.scss b/assets/scss/components/index.scss new file mode 100644 index 00000000..2a2b22dc --- /dev/null +++ b/assets/scss/components/index.scss @@ -0,0 +1,7 @@ +@import './header'; +@import './lists/index'; +@import './base/index'; +@import './person/index'; +@import './pagar/index'; +@import './cartao/index'; +@import './transaction/index'; \ No newline at end of file diff --git a/assets/scss/components/lists/_persons.scss b/assets/scss/components/lists/_persons.scss new file mode 100644 index 00000000..f98ed1f7 --- /dev/null +++ b/assets/scss/components/lists/_persons.scss @@ -0,0 +1,69 @@ +.list-persons { + display: block; + padding: inherit; + margin-top: 0; + margin-bottom: 0; + + li { + display: flex; + border-bottom: solid 1px $white; + padding: 5px 8px; + background-image: linear-gradient(259deg, $dusk, $das); + + .img { + flex: 1; + max-width: 30px; + display: flex; + img { + margin: auto; + width: 26px; + height: 26px; + border-radius: 50%; + border: solid 1px $white; + } + } + + .data { + flex: 1; + padding: 0px 8px; + + .title { + color: $white; + font-family: roboto-bold; + font-size: 8px; + display: block; + line-height: 2px; + margin-top: 8px; + } + + .subtitle { + color: $white; + font-family: roboto-regular; + font-size: 6px; + + .nick { + margin-left: 4px; + } + } + } + + .actions { + max-width: 60px; + padding: 4px 0; + + .pagar { + display: inline-block; + width: 14px; + vertical-align: -webkit-baseline-middle; + cursor: pointer; + } + + .next { + display: inline-block; + width: 12px; + vertical-align: -webkit-baseline-middle; + cursor: pointer; + } + } + } +} \ No newline at end of file diff --git a/assets/scss/components/lists/index.scss b/assets/scss/components/lists/index.scss new file mode 100644 index 00000000..4939c735 --- /dev/null +++ b/assets/scss/components/lists/index.scss @@ -0,0 +1 @@ +@import './persons'; \ No newline at end of file diff --git a/assets/scss/components/pagar/_actionPagar.scss b/assets/scss/components/pagar/_actionPagar.scss new file mode 100644 index 00000000..7eb78995 --- /dev/null +++ b/assets/scss/components/pagar/_actionPagar.scss @@ -0,0 +1,91 @@ +.action-pagar { + position: fixed; + bottom: 0; + width: 100%; + + .container { + border-top: solid 1px $white24; + margin: 10px 22px; + padding-top: 10px; + } + + button { + background-image: linear-gradient(to bottom, $duckEggBlue, #7de6c6); + border: inherit; + width: 100%; + border-radius: 12px; + font-family: roboto-bold; + font-size: 7px; + color: $duskTwo; + text-align: center; + padding: 8px 0; + } + + .alert-pagar { + display: flex; + margin: 0 10px 10px 10px; + + .img { + flex: 1; + max-width: 10px; + + img { + width: 10px; + height: 10px; + } + } + + .data { + flex: 1; + margin-left: 10px; + + span { + width: 100%; + display: block; + font-family: roboto-regular; + font-size: 7px; + color: $mediumPink; + } + + a { + width: 100%; + display: block; + font-family: roboto-bold; + font-size: 7px; + color: $mediumPink; + } + } + } + + .card-check { + display: flex; + margin: 0 10px 10px 10px; + + .img { + flex: 1; + max-width: 14px; + + img { + width: 14px; + height: 14px; + } + } + + .data { + flex: 1; + margin-left: 10px; + + span { + width: 100%; + display: block; + font-family: roboto-regular; + font-size: 7px; + color: $white; + } + + .bold { + font-family: roboto-bold; + } + } + } +} \ No newline at end of file diff --git a/assets/scss/components/pagar/_inputPagar.scss b/assets/scss/components/pagar/_inputPagar.scss new file mode 100644 index 00000000..3a5397e5 --- /dev/null +++ b/assets/scss/components/pagar/_inputPagar.scss @@ -0,0 +1,17 @@ +.input-pagar { + padding: 8px 22px; + margin: auto; + text-align: center; + + input { + width: 70%; + max-width: 130px; + background-color: inherit; + border: inherit; + border-bottom: solid 1px $white24; + font-family: roboto-regular; + font-size: 24px; + text-align: center; + color: $whiteTwo; + } +} \ No newline at end of file diff --git a/assets/scss/components/pagar/index.scss b/assets/scss/components/pagar/index.scss new file mode 100644 index 00000000..8123f859 --- /dev/null +++ b/assets/scss/components/pagar/index.scss @@ -0,0 +1,2 @@ +@import 'inputPagar'; +@import 'actionPagar'; \ No newline at end of file diff --git a/assets/scss/components/person/card.scss b/assets/scss/components/person/card.scss new file mode 100644 index 00000000..80146781 --- /dev/null +++ b/assets/scss/components/person/card.scss @@ -0,0 +1,38 @@ +.person-card-header { + display: flex; + padding: 8px 22px; + + .img { + flex: 1; + max-width: 40px; + + img { + width: 40px; + border-radius: 50%; + border: solid 1px $white; + } + } + + .data { + flex: 1; + margin-left: 12px; + padding-top: 6px; + + .title { + font-family: roboto-bold; + font-size: 12px; + color: $white; + display: block; + } + + .subtitle { + font-family: roboto-regular; + font-size: 7px; + color: $white; + + .nick { + margin-left: 6px; + } + } + } +} \ No newline at end of file diff --git a/assets/scss/components/person/index.scss b/assets/scss/components/person/index.scss new file mode 100644 index 00000000..78a1c065 --- /dev/null +++ b/assets/scss/components/person/index.scss @@ -0,0 +1 @@ +@import './card' \ No newline at end of file diff --git a/assets/scss/components/transaction/index.scss b/assets/scss/components/transaction/index.scss new file mode 100644 index 00000000..6afe535a --- /dev/null +++ b/assets/scss/components/transaction/index.scss @@ -0,0 +1 @@ +@import './transaction'; \ No newline at end of file diff --git a/assets/scss/components/transaction/transaction.scss b/assets/scss/components/transaction/transaction.scss new file mode 100644 index 00000000..532b8858 --- /dev/null +++ b/assets/scss/components/transaction/transaction.scss @@ -0,0 +1,38 @@ +.transaction { + text-align: center; + h5 { + color: $white; + font-family: roboto-bold; + font-size: 10px; + } + + ul { + display: block; + padding: inherit; + margin: auto; + max-width: 148px; + + li { + display: flex; + border-bottom: solid 1px $white24; + padding-bottom: 4px; + margin-bottom: 8px; + + .title { + flex: 1; + font-family: roboto-regular; + font-size: 7px; + color: $white; + text-align: left; + } + + .value { + flex: 1; + font-family: roboto-regular; + font-size: 7px; + color: $riptide; + text-align: right; + } + } + } +} \ No newline at end of file diff --git a/assets/scss/fonts.scss b/assets/scss/fonts.scss new file mode 100644 index 00000000..9954129e --- /dev/null +++ b/assets/scss/fonts.scss @@ -0,0 +1,33 @@ +// --- Roboto Family --- + +@font-face { + font-family: roboto-black; + src: url("/fonts/Roboto-Black/Roboto-Black.eot"); + src: url("/fonts/Roboto-Black/Roboto-Black.svg"); + src: url("/fonts/Roboto-Black/Roboto-Black.ttf"); + src: url("/fonts/Roboto-Black/Roboto-Black.woff"); +} + +@font-face { + font-family: roboto-bold; + src: url("/fonts/Roboto-Bold/Roboto-Bold.eot"); + src: url("/fonts/Roboto-Bold/Roboto-Bold.svg"); + src: url("/fonts/Roboto-Bold/Roboto-Bold.ttf"); + src: url("/fonts/Roboto-Bold/Roboto-Bold.woff"); +} + +@font-face { + font-family: roboto-italic; + src: url("/fonts/Roboto-Italic/Roboto-Italic.eot"); + src: url("/fonts/Roboto-Italic/Roboto-Italic.svg"); + src: url("/fonts/Roboto-Italic/Roboto-Italic.ttf"); + src: url("/fonts/Roboto-Italic/Roboto-Italic.woff"); +} + +@font-face { + font-family: roboto-regular; + src: url("/fonts/Roboto-Regular/Roboto-Regular.eot"); + src: url("/fonts/Roboto-Regular/Roboto-Regular.svg"); + src: url("/fonts/Roboto-Regular/Roboto-Regular.ttf"); + src: url("/fonts/Roboto-Regular/Roboto-Regular.woff"); +} diff --git a/assets/scss/style.scss b/assets/scss/style.scss new file mode 100644 index 00000000..d23f5952 --- /dev/null +++ b/assets/scss/style.scss @@ -0,0 +1,4 @@ +@import './variables'; +@import './fonts'; +@import 'base'; +@import './components/index'; \ No newline at end of file diff --git a/assets/scss/variables.scss b/assets/scss/variables.scss new file mode 100644 index 00000000..4051a6b0 --- /dev/null +++ b/assets/scss/variables.scss @@ -0,0 +1,17 @@ +// colors +$duckEggBlue: #b4f4e5; +$whiteTwo: #d8d8d8; +$mediumPink: #ef5778; +$duskTwo24: rgba(71, 73, 113, 0.24); +$coolGrey: #acb1bd; +$black: #000000; +$pineGreen: #05181c; +$white10: rgba(255, 255, 255, 0.1); +$white24: rgba(255, 255, 255, 0.24); +$lightTealTwo: #a1f0da; +$das: #1d1e2a; +$duskTwo: #474971; +$dusk: #3c3e64; +$lightTeal24: rgba(125, 230, 198, 0.24); +$riptide: #7de6c6; +$white: #ffffff; \ No newline at end of file diff --git a/components/Logo.vue b/components/Logo.vue new file mode 100644 index 00000000..6c728541 --- /dev/null +++ b/components/Logo.vue @@ -0,0 +1,79 @@ + + + diff --git a/components/README.md b/components/README.md new file mode 100644 index 00000000..a079f106 --- /dev/null +++ b/components/README.md @@ -0,0 +1,7 @@ +# COMPONENTS + +**This directory is not required, you can delete it if you don't want to use it.** + +The components directory contains your Vue.js Components. + +_Nuxt.js doesn't supercharge these components._ diff --git a/components/base/voltar.vue b/components/base/voltar.vue new file mode 100644 index 00000000..900a0214 --- /dev/null +++ b/components/base/voltar.vue @@ -0,0 +1,5 @@ + diff --git a/components/layout/header.vue b/components/layout/header.vue new file mode 100644 index 00000000..25e234ce --- /dev/null +++ b/components/layout/header.vue @@ -0,0 +1,5 @@ + diff --git a/components/lists/persons/index.vue b/components/lists/persons/index.vue new file mode 100644 index 00000000..84379f48 --- /dev/null +++ b/components/lists/persons/index.vue @@ -0,0 +1,47 @@ + + + diff --git a/components/pagar/actionPagar.vue b/components/pagar/actionPagar.vue new file mode 100644 index 00000000..dae273a3 --- /dev/null +++ b/components/pagar/actionPagar.vue @@ -0,0 +1,79 @@ + + + diff --git a/components/pagar/inputPagar.vue b/components/pagar/inputPagar.vue new file mode 100644 index 00000000..7c9c8129 --- /dev/null +++ b/components/pagar/inputPagar.vue @@ -0,0 +1,26 @@ + + + diff --git a/components/person/cardHeader.vue b/components/person/cardHeader.vue new file mode 100644 index 00000000..db2dbe20 --- /dev/null +++ b/components/person/cardHeader.vue @@ -0,0 +1,25 @@ + + + diff --git a/components/transaction/index.vue b/components/transaction/index.vue new file mode 100644 index 00000000..f571f4cc --- /dev/null +++ b/components/transaction/index.vue @@ -0,0 +1,49 @@ + + + diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..0d34485f --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,11 @@ +version: "3" + +services: + nuxt: + build: . + container_name: nuxt + restart: always + ports: + - "3000:3000" + command: + "npm run start" \ No newline at end of file diff --git a/layouts/README.md b/layouts/README.md new file mode 100644 index 00000000..cad1ad57 --- /dev/null +++ b/layouts/README.md @@ -0,0 +1,7 @@ +# LAYOUTS + +**This directory is not required, you can delete it if you don't want to use it.** + +This directory contains your Application Layouts. + +More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/views#layouts). diff --git a/layouts/default.vue b/layouts/default.vue new file mode 100644 index 00000000..27fe96e4 --- /dev/null +++ b/layouts/default.vue @@ -0,0 +1,16 @@ + + + diff --git a/middleware/README.md b/middleware/README.md new file mode 100644 index 00000000..01595ded --- /dev/null +++ b/middleware/README.md @@ -0,0 +1,8 @@ +# MIDDLEWARE + +**This directory is not required, you can delete it if you don't want to use it.** + +This directory contains your application middleware. +Middleware let you define custom functions that can be run before rendering either a page or a group of pages. + +More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware). diff --git a/nuxt.config.js b/nuxt.config.js new file mode 100644 index 00000000..5245cec4 --- /dev/null +++ b/nuxt.config.js @@ -0,0 +1,73 @@ +import pkg from './package' + +export default { + mode: 'universal', + + /* + ** Headers of the page + */ + head: { + title: pkg.name, + meta: [ + { charset: 'utf-8' }, + { name: 'viewport', content: 'width=device-width, initial-scale=1' }, + { hid: 'description', name: 'description', content: pkg.description } + ], + link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }] + }, + + /* + ** Customize the progress-bar color + */ + loading: { color: '#fff' }, + + /* + ** Global CSS + */ + css: [ + '~/assets/scss/style.scss' + ], + + /* + ** Plugins to load before mounting the App + */ + plugins: [ + { src: '~/plugins/localStorage', ssr: false }, + { src: '~/plugins/v-mask', ssr: false }, + { src: '~/plugins/v-money', ssr: false } + ], + + /* + ** Nuxt.js modules + */ + modules: [ + // Doc: https://axios.nuxtjs.org/usage + '@nuxtjs/axios' + ], + /* + ** Axios module configuration + */ + axios: { + // See https://github.com/nuxt-community/axios-module#options + }, + + /* + ** Build configuration + */ + build: { + /* + ** You can extend webpack config here + */ + extend(config, ctx) { + // Run ESLint on save + if (ctx.isDev && ctx.isClient) { + config.module.rules.push({ + enforce: 'pre', + test: /\.(js|vue)$/, + loader: 'eslint-loader', + exclude: /(node_modules)/ + }) + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..cfaa4a24 --- /dev/null +++ b/package.json @@ -0,0 +1,47 @@ +{ + "name": "trabalhe-conosco-frontend-dev", + "version": "1.0.0", + "description": "My dazzling Nuxt.js project", + "author": "Carlos Azevedo", + "private": true, + "scripts": { + "dev": "nuxt", + "build": "nuxt build", + "start": "nuxt start", + "generate": "nuxt generate", + "lint": "eslint --ext .js,.vue --ignore-path .gitignore .", + "precommit": "npm run lint" + }, + "dependencies": { + "@nuxtjs/axios": "^5.3.6", + "cross-env": "^5.2.0", + "nuxt": "^2.4.0", + "v-mask": "^1.3.3", + "v-money": "^0.8.1", + "vuex-persistedstate": "^2.5.4" + }, + "devDependencies": { + "@nuxtjs/eslint-config": "^0.0.1", + "babel-eslint": "^10.0.1", + "coffee-loader": "^0.9.0", + "coffeescript": "^2.4.0", + "eslint": "^5.15.1", + "eslint-config-prettier": "^4.1.0", + "eslint-config-standard": ">=12.0.0", + "eslint-loader": "^2.1.2", + "eslint-plugin-import": ">=2.16.0", + "eslint-plugin-jest": ">=22.3.0", + "eslint-plugin-node": ">=8.0.1", + "eslint-plugin-nuxt": ">=0.4.2", + "eslint-plugin-prettier": "^3.0.1", + "eslint-plugin-promise": ">=4.0.1", + "eslint-plugin-standard": ">=4.0.0", + "eslint-plugin-vue": "^5.2.2", + "node-sass": "^4.11.0", + "nodemon": "^1.18.9", + "prettier": "^1.16.4", + "pug": "^2.0.3", + "pug-plain-loader": "^1.0.0", + "sass-loader": "^7.1.0" + } +} diff --git a/pages/README.md b/pages/README.md new file mode 100644 index 00000000..1d5d48b2 --- /dev/null +++ b/pages/README.md @@ -0,0 +1,6 @@ +# PAGES + +This directory contains your Application Views and Routes. +The framework reads all the `*.vue` files inside this directory and creates the router of your application. + +More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing). diff --git a/pages/cartao/form/_id.vue b/pages/cartao/form/_id.vue new file mode 100644 index 00000000..16af6d24 --- /dev/null +++ b/pages/cartao/form/_id.vue @@ -0,0 +1,100 @@ + + + diff --git a/pages/cartao/list.vue b/pages/cartao/list.vue new file mode 100644 index 00000000..80b221ba --- /dev/null +++ b/pages/cartao/list.vue @@ -0,0 +1,62 @@ + + + diff --git a/pages/index.vue b/pages/index.vue new file mode 100644 index 00000000..b1173712 --- /dev/null +++ b/pages/index.vue @@ -0,0 +1,13 @@ + + + diff --git a/pages/pagar/_id.vue b/pages/pagar/_id.vue new file mode 100644 index 00000000..ebc56caa --- /dev/null +++ b/pages/pagar/_id.vue @@ -0,0 +1,43 @@ + + + diff --git a/pages/transaction/_id.vue b/pages/transaction/_id.vue new file mode 100644 index 00000000..8ed8ffcb --- /dev/null +++ b/pages/transaction/_id.vue @@ -0,0 +1,39 @@ + + + diff --git a/plugins/README.md b/plugins/README.md new file mode 100644 index 00000000..ca1f9d8a --- /dev/null +++ b/plugins/README.md @@ -0,0 +1,7 @@ +# PLUGINS + +**This directory is not required, you can delete it if you don't want to use it.** + +This directory contains Javascript plugins that you want to run before mounting the root Vue.js application. + +More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/plugins). diff --git a/plugins/localStorage.js b/plugins/localStorage.js new file mode 100644 index 00000000..2d0ae87c --- /dev/null +++ b/plugins/localStorage.js @@ -0,0 +1,5 @@ +import createPersistedState from 'vuex-persistedstate' + +export default ({ store }) => { + createPersistedState()(store) +} diff --git a/plugins/v-mask.js b/plugins/v-mask.js new file mode 100644 index 00000000..177279da --- /dev/null +++ b/plugins/v-mask.js @@ -0,0 +1,5 @@ +import Vue from 'vue' +import VueMask from 'v-mask' + +Vue.use(VueMask) +Vue.directive('mask', VueMask.VueMaskDirective) diff --git a/plugins/v-money.js b/plugins/v-money.js new file mode 100644 index 00000000..32bdf358 --- /dev/null +++ b/plugins/v-money.js @@ -0,0 +1,4 @@ +import Vue from 'vue' +import VueMoney from 'v-money' + +Vue.use(VueMoney) diff --git a/services/map.js b/services/map.js new file mode 100644 index 00000000..9c570cf7 --- /dev/null +++ b/services/map.js @@ -0,0 +1,26 @@ +import axios from 'axios' + +const instance = { + users: { + list: axios.create({ + baseURL: 'http://careers.picpay.com/', + url: 'tests/mobdev/users', + method: 'get', + headers: { + 'Content-Type': 'application/json' + } + }) + }, + transaction: { + create: axios.create({ + baseURL: 'http://careers.picpay.com/', + url: 'tests/mobdev/transaction', + method: 'post', + headers: { + 'Content-Type': 'application/json' + } + }) + } +} + +export default instance diff --git a/services/transaction.js b/services/transaction.js new file mode 100644 index 00000000..028cee59 --- /dev/null +++ b/services/transaction.js @@ -0,0 +1,14 @@ +import map from './map' + +const create = params => { + return map.transaction + .create({ + data: params + }) + .then(response => response) + .catch(response => response.response) +} + +export default { + create +} diff --git a/services/users.js b/services/users.js new file mode 100644 index 00000000..b22afb8f --- /dev/null +++ b/services/users.js @@ -0,0 +1,12 @@ +import map from './map' + +const list = params => { + return map.users + .list() + .then(response => response) + .catch(response => response.response) +} + +export default { + list +} diff --git a/static/README.md b/static/README.md new file mode 100644 index 00000000..cf004353 --- /dev/null +++ b/static/README.md @@ -0,0 +1,11 @@ +# STATIC + +**This directory is not required, you can delete it if you don't want to use it.** + +This directory contains your static files. +Each file inside this directory is mapped to `/`. +Thus you'd want to delete this README.md before deploying to production. + +Example: `/static/robots.txt` is mapped as `/robots.txt`. + +More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#static). diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 00000000..382fecbb Binary files /dev/null and b/static/favicon.ico differ diff --git a/static/fonts/Roboto-Black/Roboto-Black.eot b/static/fonts/Roboto-Black/Roboto-Black.eot new file mode 100644 index 00000000..0a116c43 Binary files /dev/null and b/static/fonts/Roboto-Black/Roboto-Black.eot differ diff --git a/static/fonts/Roboto-Black/Roboto-Black.svg b/static/fonts/Roboto-Black/Roboto-Black.svg new file mode 100644 index 00000000..8b4809c2 --- /dev/null +++ b/static/fonts/Roboto-Black/Roboto-Black.svg @@ -0,0 +1,687 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/fonts/Roboto-Black/Roboto-Black.ttf b/static/fonts/Roboto-Black/Roboto-Black.ttf new file mode 100644 index 00000000..9879d5b6 Binary files /dev/null and b/static/fonts/Roboto-Black/Roboto-Black.ttf differ diff --git a/static/fonts/Roboto-Black/Roboto-Black.woff b/static/fonts/Roboto-Black/Roboto-Black.woff new file mode 100644 index 00000000..379896a6 Binary files /dev/null and b/static/fonts/Roboto-Black/Roboto-Black.woff differ diff --git a/static/fonts/Roboto-Bold/Roboto-Bold.eot b/static/fonts/Roboto-Bold/Roboto-Bold.eot new file mode 100644 index 00000000..a4defea4 Binary files /dev/null and b/static/fonts/Roboto-Bold/Roboto-Bold.eot differ diff --git a/static/fonts/Roboto-Bold/Roboto-Bold.svg b/static/fonts/Roboto-Bold/Roboto-Bold.svg new file mode 100644 index 00000000..5d90c427 --- /dev/null +++ b/static/fonts/Roboto-Bold/Roboto-Bold.svg @@ -0,0 +1,12465 @@ + + + + +Created by FontForge 20090914 at Thu May 17 17:10:21 2018 + By www-data +Copyright 2011 Google Inc. All Rights Reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/fonts/Roboto-Bold/Roboto-Bold.ttf b/static/fonts/Roboto-Bold/Roboto-Bold.ttf new file mode 100644 index 00000000..d3f01ad2 Binary files /dev/null and b/static/fonts/Roboto-Bold/Roboto-Bold.ttf differ diff --git a/static/fonts/Roboto-Bold/Roboto-Bold.woff b/static/fonts/Roboto-Bold/Roboto-Bold.woff new file mode 100644 index 00000000..43b71ba8 Binary files /dev/null and b/static/fonts/Roboto-Bold/Roboto-Bold.woff differ diff --git a/static/fonts/Roboto-Italic/Roboto-Italic.eot b/static/fonts/Roboto-Italic/Roboto-Italic.eot new file mode 100644 index 00000000..7f6bb63b Binary files /dev/null and b/static/fonts/Roboto-Italic/Roboto-Italic.eot differ diff --git a/static/fonts/Roboto-Italic/Roboto-Italic.svg b/static/fonts/Roboto-Italic/Roboto-Italic.svg new file mode 100644 index 00000000..c534f653 --- /dev/null +++ b/static/fonts/Roboto-Italic/Roboto-Italic.svg @@ -0,0 +1,677 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/fonts/Roboto-Italic/Roboto-Italic.ttf b/static/fonts/Roboto-Italic/Roboto-Italic.ttf new file mode 100644 index 00000000..d9652ad0 Binary files /dev/null and b/static/fonts/Roboto-Italic/Roboto-Italic.ttf differ diff --git a/static/fonts/Roboto-Italic/Roboto-Italic.woff b/static/fonts/Roboto-Italic/Roboto-Italic.woff new file mode 100644 index 00000000..a40892a4 Binary files /dev/null and b/static/fonts/Roboto-Italic/Roboto-Italic.woff differ diff --git a/static/fonts/Roboto-Regular/Roboto-Regular.eot b/static/fonts/Roboto-Regular/Roboto-Regular.eot new file mode 100644 index 00000000..b96a731f Binary files /dev/null and b/static/fonts/Roboto-Regular/Roboto-Regular.eot differ diff --git a/static/fonts/Roboto-Regular/Roboto-Regular.svg b/static/fonts/Roboto-Regular/Roboto-Regular.svg new file mode 100644 index 00000000..341255c4 --- /dev/null +++ b/static/fonts/Roboto-Regular/Roboto-Regular.svg @@ -0,0 +1,11993 @@ + + + + +Created by FontForge 20090914 at Thu May 17 17:15:32 2018 + By www-data +Copyright 2011 Google Inc. All Rights Reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/fonts/Roboto-Regular/Roboto-Regular.ttf b/static/fonts/Roboto-Regular/Roboto-Regular.ttf new file mode 100644 index 00000000..2c97eead Binary files /dev/null and b/static/fonts/Roboto-Regular/Roboto-Regular.ttf differ diff --git a/static/fonts/Roboto-Regular/Roboto-Regular.woff b/static/fonts/Roboto-Regular/Roboto-Regular.woff new file mode 100644 index 00000000..9b82e64f Binary files /dev/null and b/static/fonts/Roboto-Regular/Roboto-Regular.woff differ diff --git a/static/images/alert.png b/static/images/alert.png new file mode 100644 index 00000000..a63ee13b Binary files /dev/null and b/static/images/alert.png differ diff --git a/static/images/alert@2x.png b/static/images/alert@2x.png new file mode 100644 index 00000000..f12a39d6 Binary files /dev/null and b/static/images/alert@2x.png differ diff --git a/static/images/alert@3x.png b/static/images/alert@3x.png new file mode 100644 index 00000000..5d1b7e0a Binary files /dev/null and b/static/images/alert@3x.png differ diff --git a/static/images/angle-left-solid.svg b/static/images/angle-left-solid.svg new file mode 100644 index 00000000..a7d74cd6 --- /dev/null +++ b/static/images/angle-left-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/check-mark.png b/static/images/check-mark.png new file mode 100644 index 00000000..1391417e Binary files /dev/null and b/static/images/check-mark.png differ diff --git a/static/images/check-mark@2x.png b/static/images/check-mark@2x.png new file mode 100644 index 00000000..652e7eaf Binary files /dev/null and b/static/images/check-mark@2x.png differ diff --git a/static/images/check-mark@3x.png b/static/images/check-mark@3x.png new file mode 100644 index 00000000..5ac5276d Binary files /dev/null and b/static/images/check-mark@3x.png differ diff --git a/static/images/down.png b/static/images/down.png new file mode 100644 index 00000000..159c3ac6 Binary files /dev/null and b/static/images/down.png differ diff --git a/static/images/down@2x.png b/static/images/down@2x.png new file mode 100644 index 00000000..942e438f Binary files /dev/null and b/static/images/down@2x.png differ diff --git a/static/images/down@3x.png b/static/images/down@3x.png new file mode 100644 index 00000000..f58bacaa Binary files /dev/null and b/static/images/down@3x.png differ diff --git a/static/images/green.png b/static/images/green.png new file mode 100644 index 00000000..91467106 Binary files /dev/null and b/static/images/green.png differ diff --git a/static/images/green@2x.png b/static/images/green@2x.png new file mode 100644 index 00000000..aa234088 Binary files /dev/null and b/static/images/green@2x.png differ diff --git a/static/images/green@3x.png b/static/images/green@3x.png new file mode 100644 index 00000000..63b38e1b Binary files /dev/null and b/static/images/green@3x.png differ diff --git a/static/images/group-4.svg b/static/images/group-4.svg new file mode 100644 index 00000000..dfdca27c --- /dev/null +++ b/static/images/group-4.svg @@ -0,0 +1,9 @@ + + + + Front-End Test + + + + + diff --git a/static/images/group-copy.png b/static/images/group-copy.png new file mode 100644 index 00000000..1add74bc Binary files /dev/null and b/static/images/group-copy.png differ diff --git a/static/images/group-copy@2x.png b/static/images/group-copy@2x.png new file mode 100644 index 00000000..f00dc4e0 Binary files /dev/null and b/static/images/group-copy@2x.png differ diff --git a/static/images/group-copy@3x.png b/static/images/group-copy@3x.png new file mode 100644 index 00000000..8c33191c Binary files /dev/null and b/static/images/group-copy@3x.png differ diff --git a/static/images/pagar.png b/static/images/pagar.png new file mode 100644 index 00000000..1415f04a Binary files /dev/null and b/static/images/pagar.png differ diff --git a/static/images/pagar@2x.png b/static/images/pagar@2x.png new file mode 100644 index 00000000..ba53185d Binary files /dev/null and b/static/images/pagar@2x.png differ diff --git a/static/images/pagar@3x.png b/static/images/pagar@3x.png new file mode 100644 index 00000000..700a880d Binary files /dev/null and b/static/images/pagar@3x.png differ diff --git a/static/images/plus.png b/static/images/plus.png new file mode 100644 index 00000000..ed146d2b Binary files /dev/null and b/static/images/plus.png differ diff --git a/store/README.md b/store/README.md new file mode 100644 index 00000000..1972d277 --- /dev/null +++ b/store/README.md @@ -0,0 +1,10 @@ +# STORE + +**This directory is not required, you can delete it if you don't want to use it.** + +This directory contains your Vuex Store files. +Vuex Store option is implemented in the Nuxt.js framework. + +Creating a file in this directory automatically activates the option in the framework. + +More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/vuex-store). diff --git a/store/index.js b/store/index.js new file mode 100644 index 00000000..df473a1b --- /dev/null +++ b/store/index.js @@ -0,0 +1,43 @@ +import Vuex from 'vuex' + +const store = () => { + return new Vuex.Store({ + state: () => ({ + persons: {}, + transactions: {}, + cards: [], + cardActive: 0 + }), + mutations: { + addPerson(state, person) { + state.persons[person.id] = person + }, + addCard(state, card) { + const active = state.cards.length + state.cards.push(card) + state.cardActive = active + }, + updateCard(state, obj) { + state.cards[obj.index] = obj.card + state.cardActive = obj.index + }, + addTransaction(state, t) { + state.transactions[t.id] = t + } + }, + getters: { + cardActive: state => { + return state.cards[state.cardActive] + }, + cardHelp: state => { + if (!state.cards.length) { + return '' + } + + return state.cards[state.cardActive].card_number.split(' ')[3] + } + } + }) +} + +export default store