Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import { useTemplateContext } from "../../contexts/TemplateContext";
import { Input, Slider, Switch } from "@nextui-org/react";
export const TemplateSettings = () => {
const {
enable,
setEnable,
url,
setURL,
width,
setWidth,
x,
setX,
y,
setY,
opacity,
setOpacity,
} = useTemplateContext();
return (
<>
<header>
<Switch size="sm" isSelected={enable} onValueChange={setEnable} />
<h2>Template</h2>
</header>
<section>
<Input
label="Template URL"
size="sm"
value={url}
onValueChange={setURL}
/>
<Input
label="Template Width"
size="sm"
type="number"
min="1"
max={10_000}
value={width?.toString()}
onValueChange={(v) => setWidth(parseInt(v))}
/>
<div className="flex flex-row gap-1">
<Input
label="Template X"
size="sm"
type="number"
value={x.toString()}
onValueChange={(v) => setX(parseInt(v))}
/>
<Input
label="Template Y"
size="sm"
type="number"
value={y.toString()}
onValueChange={(v) => setY(parseInt(v))}
/>
</div>
<Slider
label="Template Opacity"
step={1}
minValue={0}
maxValue={100}
value={opacity}
onChange={(v) => setOpacity(v as number)}
getValue={(v) => v + "%"}
/>
</section>
</>
);
};