diff --git a/src/convex/_generated/api.d.ts b/src/convex/_generated/api.d.ts
index 48d2562..ff729f9 100644
--- a/src/convex/_generated/api.d.ts
+++ b/src/convex/_generated/api.d.ts
@@ -14,6 +14,7 @@ import type {
FunctionReference,
} from "convex/server";
import type * as messages from "../messages.js";
+import type * as numbers from "../numbers.js";
import type * as seed_messages from "../seed_messages.js";
/**
@@ -26,6 +27,7 @@ import type * as seed_messages from "../seed_messages.js";
*/
declare const fullApi: ApiFromModules<{
messages: typeof messages;
+ numbers: typeof numbers;
seed_messages: typeof seed_messages;
}>;
export declare const api: FilterApi<
diff --git a/src/convex/numbers.ts b/src/convex/numbers.ts
new file mode 100644
index 0000000..8a1165e
--- /dev/null
+++ b/src/convex/numbers.ts
@@ -0,0 +1,27 @@
+import { v } from 'convex/values';
+import { query, mutation } from './_generated/server.js';
+
+export const get = query(async (ctx) => {
+ const numbers = await ctx.db.query('numbers').first();
+ return {
+ a: numbers?.a || 0,
+ b: numbers?.b || 0,
+ c: numbers?.c || 0
+ };
+});
+
+export const update = mutation({
+ args: {
+ a: v.number(),
+ b: v.number(),
+ c: v.number()
+ },
+ handler: async (ctx, { a, b, c }) => {
+ const existing = await ctx.db.query('numbers').first();
+ let id = existing?._id;
+ if (!id) {
+ id = await ctx.db.insert('numbers', { a: 0, b: 0, c: 0 });
+ }
+ await ctx.db.replace(id, { a, b, c });
+ }
+});
diff --git a/src/convex/schema.ts b/src/convex/schema.ts
index 5cf71ae..1eb587d 100644
--- a/src/convex/schema.ts
+++ b/src/convex/schema.ts
@@ -5,5 +5,10 @@ export default defineSchema({
messages: defineTable({
author: v.string(),
body: v.string()
+ }),
+ numbers: defineTable({
+ a: v.number(),
+ b: v.number(),
+ c: v.number()
})
});
diff --git a/src/routes/inputs/+page.svelte b/src/routes/inputs/+page.svelte
new file mode 100644
index 0000000..d6bb792
--- /dev/null
+++ b/src/routes/inputs/+page.svelte
@@ -0,0 +1,29 @@
+
+
+ Any user have complete control over these inputs but might change them quickly.Modifying several inputs
+
Loading values...
+Current values:
+