From bf37db99852b20f7477c1913ba8a0ee8542d182c Mon Sep 17 00:00:00 2001 From: Sander Hahn Date: Mon, 19 Aug 2019 16:37:20 +0200 Subject: [PATCH 1/2] fix offset --- site/src/routes/apps/index.json.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/src/routes/apps/index.json.js b/site/src/routes/apps/index.json.js index dcc2205ee9..4c6faa0699 100644 --- a/site/src/routes/apps/index.json.js +++ b/site/src/routes/apps/index.json.js @@ -3,7 +3,7 @@ import { query } from '../../utils/db'; export async function get(req, res) { if (req.user) { - const offset = req.params.offset || 0; + const offset = req.query.offset || 0; const rows = await query(` select g.uid, g.name, coalesce(g.updated_at, g.created_at) as updated_at from gists g From e72fa3bf9ea399e1624e2e821b48a74930c5f45a Mon Sep 17 00:00:00 2001 From: Sander Hahn Date: Mon, 19 Aug 2019 18:01:53 +0200 Subject: [PATCH 2/2] next page link for apps --- site/src/routes/apps/index.json.js | 10 ++++++---- site/src/routes/apps/index.svelte | 20 +++++++++++++++----- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/site/src/routes/apps/index.json.js b/site/src/routes/apps/index.json.js index 4c6faa0699..e6a09d52c5 100644 --- a/site/src/routes/apps/index.json.js +++ b/site/src/routes/apps/index.json.js @@ -3,13 +3,14 @@ import { query } from '../../utils/db'; export async function get(req, res) { if (req.user) { - const offset = req.query.offset || 0; + const page_size = 100; + const offset = req.query.offset ? parseInt(req.query.offset) : 0; const rows = await query(` select g.uid, g.name, coalesce(g.updated_at, g.created_at) as updated_at from gists g where g.user_id = $1 - order by updated_at desc - limit 100 + order by id desc + limit ${page_size + 1} offset $2 `, [req.user.id, offset]); @@ -17,7 +18,8 @@ export async function get(req, res) { row.uid = row.uid.replace(/-/g, ''); }); - send(res, 200, rows); + const more = rows.length > page_size; + send(res, 200, { apps: rows.slice(0, page_size), offset: more ? offset + page_size : null }); } else { send(res, 401); } diff --git a/site/src/routes/apps/index.svelte b/site/src/routes/apps/index.svelte index bbbe7d6391..d85f5681f8 100644 --- a/site/src/routes/apps/index.svelte +++ b/site/src/routes/apps/index.svelte @@ -1,17 +1,22 @@ @@ -20,6 +25,7 @@ export let user; export let apps; + export let offset; const { login, logout } = getContext('app'); @@ -62,6 +68,10 @@ {/each} + + {#if offset !== null} +
Next page...
+ {/if} {:else}

Please log in to see your saved apps.

{/if} @@ -127,4 +137,4 @@ font-size: 14px; color: #999; } - \ No newline at end of file +