+
+
+ {#if process.browser}
+
+
+
+
+ {#if mobile}
+
+ {/if}
+ {/if}
+
diff --git a/site/src/routes/gist/_utils.js b/site/src/routes/repl/_utils/body.js
similarity index 87%
rename from site/src/routes/gist/_utils.js
rename to site/src/routes/repl/_utils/body.js
index 8417031001..950208ab56 100644
--- a/site/src/routes/gist/_utils.js
+++ b/site/src/routes/repl/_utils/body.js
@@ -1,4 +1,4 @@
-export function body(req) {
+export default function body(req) {
return new Promise((fulfil, reject) => {
let str = '';
diff --git a/site/src/routes/gist/create.js b/site/src/routes/repl/create.json.js
similarity index 56%
rename from site/src/routes/gist/create.js
rename to site/src/routes/repl/create.json.js
index 82fe5a74cb..9a5b3398e5 100644
--- a/site/src/routes/gist/create.js
+++ b/site/src/routes/repl/create.json.js
@@ -1,5 +1,5 @@
import send from '@polka/send';
-import { body } from './_utils.js';
+import body from './_utils/body.js';
import { query } from '../../utils/db';
import { isUser } from '../../backend/auth';
@@ -8,21 +8,14 @@ export async function post(req, res) {
if (!user) return; // response already sent
try {
- const { name, components } = await body(req);
-
- const files = {};
- components.forEach(component => {
- const text = component.source.trim();
- if (!text.length) return; // skip empty file
- files[`${component.name}.${component.type}`] = text;
- });
+ const { name, files } = await body(req);
const [row] = await query(`
insert into gists(user_id, name, files)
- values ($1, $2, $3) returning *`, [user.id, name, files]);
+ values ($1, $2, $3) returning *`, [user.id, name, JSON.stringify(files)]);
send(res, 201, {
- uid: row.uid,
+ uid: row.uid.replace(/-/g, ''),
name: row.name,
files: row.files,
owner: user.uid,
diff --git a/site/src/routes/repl/index.svelte b/site/src/routes/repl/index.svelte
index d3b1e6bc01..0c7acfc9dc 100644
--- a/site/src/routes/repl/index.svelte
+++ b/site/src/routes/repl/index.svelte
@@ -1,238 +1,16 @@
-
-
-
-
-
-