2023-02-21 10:23:35 +00:00
|
|
|
import { createForm } from "@felte/solid";
|
2023-02-21 12:38:43 +00:00
|
|
|
import { Component, createUniqueId } from "solid-js";
|
2023-02-21 12:05:28 +00:00
|
|
|
import { TextField, Button } from "@kobalte/core";
|
|
|
|
|
|
|
|
import "./style.css";
|
2023-02-21 12:38:43 +00:00
|
|
|
import { createServerAction$ } from "solid-start/server";
|
|
|
|
import PouchDb from "pouchdb";
|
2023-02-21 10:23:35 +00:00
|
|
|
|
|
|
|
interface Props {}
|
|
|
|
|
|
|
|
const Invitation: Component<Props> = (props) => {
|
2023-02-21 12:38:43 +00:00
|
|
|
const [saving, save] = createServerAction$(async (values: any) => {
|
|
|
|
const db = new PouchDb(".db");
|
|
|
|
const uuid = createUniqueId();
|
|
|
|
await db.put({
|
|
|
|
_id: `invitation/${uuid}`,
|
|
|
|
type: "invitation",
|
|
|
|
doc: values,
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
2023-02-21 10:23:35 +00:00
|
|
|
const submitHandler = (values: any, context: any) => {
|
|
|
|
console.log({
|
|
|
|
caller: "Invitation / submitHandler",
|
|
|
|
props,
|
|
|
|
values,
|
|
|
|
context,
|
|
|
|
});
|
2023-02-21 12:38:43 +00:00
|
|
|
save(values);
|
2023-02-21 10:23:35 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
const { form } = createForm({ onSubmit: submitHandler });
|
|
|
|
|
|
|
|
return (
|
|
|
|
<form use:form>
|
2023-02-21 12:05:28 +00:00
|
|
|
<TextField.Root>
|
|
|
|
<TextField.Label>Database</TextField.Label>
|
|
|
|
<TextField.Input
|
|
|
|
type="url"
|
|
|
|
name="database"
|
|
|
|
required={true}
|
|
|
|
placeholder="Database URL"
|
|
|
|
/>
|
|
|
|
<TextField.ErrorMessage>
|
|
|
|
Please provide a valid URL
|
|
|
|
</TextField.ErrorMessage>
|
|
|
|
</TextField.Root>
|
|
|
|
<TextField.Root>
|
|
|
|
<TextField.Label>Password</TextField.Label>
|
|
|
|
<TextField.Input
|
|
|
|
type="text"
|
|
|
|
name="password"
|
|
|
|
required={true}
|
|
|
|
placeholder="Password"
|
|
|
|
autocomplete="off"
|
|
|
|
/>
|
|
|
|
<TextField.ErrorMessage>
|
|
|
|
Please provide a valid password
|
|
|
|
</TextField.ErrorMessage>
|
|
|
|
</TextField.Root>
|
|
|
|
<Button.Root type="submit">Create</Button.Root>
|
2023-02-21 10:23:35 +00:00
|
|
|
</form>
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
export default Invitation;
|