diff --git a/.babelrc b/.babelrc index 41789cac..9fe4b349 100644 --- a/.babelrc +++ b/.babelrc @@ -1,5 +1,5 @@ { "presets": ["es2015", "stage-2"], - "plugins": ["transform-runtime"], + "plugins": ["transform-runtime", "lodash"], "comments": false } diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c05e34f4..1d3cba05 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,16 +23,16 @@ before_script: # This folder is cached between builds # http://docs.gitlab.com/ce/ci/yaml/README.html#cache -cache: - paths: - - node_modules/ +#cache: +# paths: +# - node_modules/ test: script: - npm install -g yarn - yarn - npm run unit - + build: script: - npm install -g yarn diff --git a/COFE_OF_CONDUCT.md b/COFE_OF_CONDUCT.md new file mode 100644 index 00000000..1ba85c5f --- /dev/null +++ b/COFE_OF_CONDUCT.md @@ -0,0 +1,49 @@ +``` + o$$$$$$oo + o$" "$oo + $ o""""$o "$o + "$ o "o "o $ + "$ $o $ $ o$ + "$ o$"$ o$ + "$ooooo$$ $ o$ + o$ """ $ " $$$ " $ + o$ $o $$" " " + $$ $ " $ $$$o"$ o o$" + $" o "" $ $" " o" $$ + $o " " $ o$" o" o$" + "$o $$ $ o" o$$" + ""o$o"$" $oo" o$" + o$$ $ $$$ o$$ + o" o oo"" "" "$o + o$o" "" $ + $" " o" " " " "o + $$ " " o$ o$o " $ + o$ $ $ o$$ " " "" + o $ $" " "o o$ + $ o $o$oo$"" + $o $ o o o"$$ + $o o $ $ "$o + $o $ o $ $ "o + $ $ "o $ "o"$o + $ " o $ o $$ + $o$o$o$o$$o$$$o$$o$o$$o$$o$$$o$o$o$o$o$o$o$o$o$ooo + $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o + $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ " $$$$$ + $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ "$$$$ + $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$ + $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$ + $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$ + $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ o$$$$" + $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ooooo$$$$ + $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" + $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$""""" + $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ + $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ + $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ + $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ + $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" +"$o$o$o$o$o$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" + "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" + "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$""" + """"""""""""""""""""""""""""""""""""""""""""""""""""" +``` \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index e93a8b66..1bfe3179 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -2,5 +2,8 @@ Contributors of this project. - Constance Variable (lambadalambda@social.heldscal.la): Code - Coco Snuss (cocosnuss@social.heldscal.la): Code -- wakarimasen (wakarimasen@soykaf.com): NSFW hiding image -- dtluna (dtluna@social.heldscal.la): Code \ No newline at end of file +- wakarimasen (wakarimasen@shitposter.club): NSFW hiding image +- dtluna (dtluna@social.heldscal.la): Code +- sonyam (sonyam@social.heldscal.la): Default background image +- hakui (hakui@freezepeach.xyz): CSS and styling +- shpuld (shpuld@shitposter.club): CSS and styling \ No newline at end of file diff --git a/README.md b/README.md index ee1e5ef1..bdab5251 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ > A Qvitter-style frontend for certain GS servers. +![screenshot](http://i.imgur.com/3q30Zxt.jpg) + # FOR ADMINS You don't need to build Pleroma yourself. Check out https://gitgud.io/lambadalambda/pleroma-fe/wikis/dual-boot-with-qvitter to see how to run Pleroma and Qvitter at the same time. @@ -10,7 +12,8 @@ You don't need to build Pleroma yourself. Check out https://gitgud.io/lambadalam ``` bash # install dependencies -npm install +npm install -g yarn +yarn # serve with hot reload at localhost:8080 npm run dev diff --git a/package.json b/package.json index 437ad57f..c23f001e 100644 --- a/package.json +++ b/package.json @@ -14,17 +14,19 @@ }, "dependencies": { "babel-plugin-add-module-exports": "^0.2.1", + "babel-plugin-lodash": "^3.2.11", "diff": "^3.0.1", "karma-mocha-reporter": "^2.2.1", "node-sass": "^3.10.1", + "object-path": "^0.11.3", + "pako": "^1.0.4", "sanitize-html": "^1.13.0", "sass-loader": "^4.0.2", "tributejs": "^2.1.0", - "vue": "^2.0.1", - "vue-router": "^2.0.1", + "vue": "^2.1.0", + "vue-router": "^2.2.0", "vue-timeago": "^3.1.2", - "vuex": "^2.0.0", - "vuex-persistedstate": "^1.1.0" + "vuex": "^2.1.0" }, "devDependencies": { "autoprefixer": "^6.4.0", diff --git a/src/App.js b/src/App.js index 4b0e81d0..2a00b369 100644 --- a/src/App.js +++ b/src/App.js @@ -24,6 +24,9 @@ export default { methods: { activatePanel (panelName) { this.mobileActivePanel = panelName + }, + scrollToTop () { + window.scrollTo(0, 0) } } } diff --git a/src/App.scss b/src/App.scss index 5c14c17b..431aeb32 100644 --- a/src/App.scss +++ b/src/App.scss @@ -29,6 +29,15 @@ a { text-decoration: none; } +button{ + border: none; + border-radius: 5px; + + &:hover { + background-color: white; + } +} + .container { display: flex; flex-wrap: wrap; @@ -63,7 +72,7 @@ nav { padding-right: 20px; display: flex; align-items: center; - flex-basis: 920px; + flex-basis: 970px; margin: auto; height: 50px; background-repeat: no-repeat; @@ -99,10 +108,10 @@ main-router { .panel-heading { border-radius: 0.5em 0.5em 0 0; background-size: cover; - padding-top: 0.3em; - padding-bottom: 0.3em; + padding: 0.6em 0; text-align: center; font-size: 1.3em; + line-height: 24px; } .panel-footer { @@ -110,6 +119,7 @@ main-router { } .panel-body > p { + line-height: 18px; padding: 1em; margin: 0; } @@ -117,7 +127,7 @@ main-router { #content { margin: auto; - max-width: 920px; + max-width: 980px; border-radius: 1em; padding-bottom: 1em; background-color: rgba(0,0,0,0.1); @@ -125,7 +135,7 @@ main-router { .media-body { flex: 1; - padding-left: 0.3em; + padding-left: 0.5em; } .container > * { @@ -133,28 +143,37 @@ main-router { } .user-info { + color: white; padding: 1em; img { - border: 3px solid; + border: 2px solid; border-radius: 0.5em } - + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5); + .user-name{ + margin-top: 0.2em; + } .user-screen-name { + margin-top: 0.3em; font-weight: lighter; + padding-right: 0.1em; } } .user-counts { display: flex; - padding: 1em 1em 0em 1em; + line-height:16px; + padding: 1em 1.5em 0em 1em; + text-align: center; } .user-count { flex: 1; h5 { - font-weight: lighter; - margin: 0; + font-size:1em; + font-weight: bolder; + margin: 0 0 0.25em; } } @@ -196,7 +215,7 @@ status-text-container { } .retweet-info { - padding: 0.3em; + padding: 0.7em 0 0 0.6em; .media-left { display: flex; @@ -214,6 +233,7 @@ status-text-container { small { font-weight: lighter; } + margin-bottom: 0.3em; } } nav { @@ -228,13 +248,13 @@ nav { } .main { - flex: 2; - flex-basis: 500px; + flex: 1; + flex-basis: 65%; } .sidebar { flex: 1; - flex-basis: 300px; + flex-basis: 35%; } .mobile-shown { @@ -261,6 +281,14 @@ nav { .panel-switcher { display: flex; } + + .container { + padding: 0 0 0 0; + } + + .panel { + margin: 0.5em 0 0.5em 0; + } } .item.right { diff --git a/src/App.vue b/src/App.vue index d8e1d3e8..c4b3cb13 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,6 +1,6 @@