Compare commits
2 commits
5a49648e64
...
9e09e144b5
Author | SHA1 | Date | |
---|---|---|---|
![]() |
9e09e144b5 | ||
![]() |
943fba32c3 |
2 changed files with 15 additions and 5 deletions
|
@ -1,6 +1,7 @@
|
||||||
import { createDropzone, createFileUploader } from "@solid-primitives/upload";
|
import { createDropzone, createFileUploader } from "@solid-primitives/upload";
|
||||||
import { Title } from "@solidjs/meta";
|
import { Title } from "@solidjs/meta";
|
||||||
import { type RouteSectionProps, useNavigate } from "@solidjs/router";
|
import { type RouteSectionProps, useNavigate } from "@solidjs/router";
|
||||||
|
import { Eye, EyeClosed } from "lucide-solid";
|
||||||
import { type Component, type JSX, Show, createSignal } from "solid-js";
|
import { type Component, type JSX, Show, createSignal } from "solid-js";
|
||||||
import { Portal } from "solid-js/web";
|
import { Portal } from "solid-js/web";
|
||||||
import { Button } from "~/components/ui/button";
|
import { Button } from "~/components/ui/button";
|
||||||
|
@ -66,6 +67,8 @@ export const Home: Component<RouteSectionProps> = () => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const [showPassphrase, setShowPassphrase] = createSignal(false);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Portal>
|
<Portal>
|
||||||
|
@ -113,10 +116,17 @@ export const Home: Component<RouteSectionProps> = () => {
|
||||||
</Portal>
|
</Portal>
|
||||||
<Title>Signal stats</Title>
|
<Title>Signal stats</Title>
|
||||||
<form class="mx-auto flex w-full flex-col gap-y-8 p-8 md:w-fit" onSubmit={onSubmit}>
|
<form class="mx-auto flex w-full flex-col gap-y-8 p-8 md:w-fit" onSubmit={onSubmit}>
|
||||||
<TextField onChange={(value) => setPassphrase(value)}>
|
<Flex flexDirection="row" class="w-full gap-x-2 md:w-sm" alignItems="end">
|
||||||
|
<TextField onChange={(value) => setPassphrase(value)} class="grow">
|
||||||
<TextFieldLabel>Passphrase</TextFieldLabel>
|
<TextFieldLabel>Passphrase</TextFieldLabel>
|
||||||
<TextFieldInput type="password" class="w-full md:w-sm" />
|
<TextFieldInput type={showPassphrase() ? "text" : "password"} />
|
||||||
</TextField>
|
</TextField>
|
||||||
|
<Button variant="ghost" onClick={() => setShowPassphrase((oldValue) => !oldValue)}>
|
||||||
|
<Show when={showPassphrase()} fallback={<EyeClosed />}>
|
||||||
|
<Eye />
|
||||||
|
</Show>
|
||||||
|
</Button>
|
||||||
|
</Flex>
|
||||||
<Flex
|
<Flex
|
||||||
ref={dropzone.setRef}
|
ref={dropzone.setRef}
|
||||||
justifyContent="center"
|
justifyContent="center"
|
||||||
|
|
|
@ -80,7 +80,7 @@ export const Privacy: Component<RouteSectionProps> = () => {
|
||||||
I run this website as an individual. If you have any questions or complaints regarding my privacy and data
|
I run this website as an individual. If you have any questions or complaints regarding my privacy and data
|
||||||
practices, you can reach out to the data controller:
|
practices, you can reach out to the data controller:
|
||||||
</p>
|
</p>
|
||||||
<p class="bg-info p-4">
|
<p class="bg-info p-4 text-info-foreground">
|
||||||
duskflower
|
duskflower
|
||||||
<br />
|
<br />
|
||||||
privacy(at)duskflower.dev
|
privacy(at)duskflower.dev
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue