From 91f826819384345b38b991c25556e25fdd9cce66 Mon Sep 17 00:00:00 2001 From: Badri Sunderarajan Date: Mon, 9 Mar 2020 19:31:46 +0530 Subject: [PATCH] Implement "infinite scrolling" in the homepage! --- package.json | 3 ++- src/main.js | 2 ++ src/pages/Index.vue | 55 ++++++++++++++++++++++++++++++++++++++++++--- yarn.lock | 5 +++++ 4 files changed, 61 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 7c2f9ae..baca090 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "@gridsome/source-ghost": "^0.2.0", "@gridsome/transformer-remark": "^0.3.0", "@tryghost/helpers": "^1.1.20", - "gridsome": "^0.7.0" + "gridsome": "^0.7.0", + "vue-infinite-loading": "^2.4.5" }, "devDependencies": { "node-sass": "^4.12.0", diff --git a/src/main.js b/src/main.js index 46dfe11..21b1c2b 100644 --- a/src/main.js +++ b/src/main.js @@ -1,8 +1,10 @@ import '~/assets/css/style.scss' import DefaultLayout from '~/layouts/Default.vue' import moment from "vue-moment" +import InfiniteLoading from "vue-infinite-loading" export default Vue => { Vue.component('Layout', DefaultLayout) Vue.use(moment) + Vue.use(InfiniteLoading) } diff --git a/src/pages/Index.vue b/src/pages/Index.vue index 7c2d681..e1cd868 100644 --- a/src/pages/Index.vue +++ b/src/pages/Index.vue @@ -24,9 +24,22 @@
- + + + +
+ That's it! You've scrolled through all the articles. + Now, how about writing one yourself? +
+
+ Sorry, no posts yet :( +
+
+
+
-
@@ -47,6 +60,11 @@ background: black; } +.infinite-loading-container { + width: 100%; + padding: 2rem; +} + diff --git a/yarn.lock b/yarn.lock index 88e9616..9f705d0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9049,6 +9049,11 @@ vue-hot-reload-api@^2.3.0: resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== +vue-infinite-loading@^2.4.5: + version "2.4.5" + resolved "https://registry.yarnpkg.com/vue-infinite-loading/-/vue-infinite-loading-2.4.5.tgz#cc20fd40af7f20188006443c99b60470cf1de1b3" + integrity sha512-xhq95Mxun060bRnsOoLE2Be6BR7jYwuC89kDe18+GmCLVrRA/dU0jrGb12Xu6NjmKs+iTW0AA6saSEmEW4cR7g== + vue-loader@^15.7.1: version "15.7.2" resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.7.2.tgz#cc89e2716df87f70fe656c9da9d7f8bec06c73d6"