diff --git a/site/src/routes/_layout.svelte b/site/src/routes/_layout.svelte index 4adbb9b0dc..55f4861880 100644 --- a/site/src/routes/_layout.svelte +++ b/site/src/routes/_layout.svelte @@ -1,11 +1,32 @@ diff --git a/site/src/routes/apps/index.json.js b/site/src/routes/apps/index.json.js new file mode 100644 index 0000000000..dcc2205ee9 --- /dev/null +++ b/site/src/routes/apps/index.json.js @@ -0,0 +1,24 @@ +import send from '@polka/send'; +import { query } from '../../utils/db'; + +export async function get(req, res) { + if (req.user) { + const offset = req.params.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 + offset $2 + `, [req.user.id, offset]); + + rows.forEach(row => { + row.uid = row.uid.replace(/-/g, ''); + }); + + send(res, 200, rows); + } else { + send(res, 401); + } +} diff --git a/site/src/routes/apps/index.svelte b/site/src/routes/apps/index.svelte new file mode 100644 index 0000000000..bbbe7d6391 --- /dev/null +++ b/site/src/routes/apps/index.svelte @@ -0,0 +1,130 @@ + + + + + + Your apps • Svelte + + +
+ {#if user} +
+

Your apps

+ +
+ {user.name} avatar + + {user.name} + (log out) + +
+
+ + + {:else} +

Please log in to see your saved apps.

+ {/if} +
+ + \ No newline at end of file diff --git a/site/src/routes/repl/[id]/_components/AppControls/UserMenu.svelte b/site/src/routes/repl/[id]/_components/AppControls/UserMenu.svelte index 9b54e80f92..de400cbf29 100644 --- a/site/src/routes/repl/[id]/_components/AppControls/UserMenu.svelte +++ b/site/src/routes/repl/[id]/_components/AppControls/UserMenu.svelte @@ -1,14 +1,9 @@