1
- import { NumberInput } from "@ark-ui/react" ;
1
+ import { Field , NumberInput } from "@ark-ui/react" ;
2
2
import { Icon } from "@iconify/react" ;
3
3
import { createFileRoute } from "@tanstack/react-router" ;
4
4
import { useSetAtom } from "jotai" ;
@@ -9,6 +9,7 @@ import { IconText } from "@/components/IconText";
9
9
import { Button } from "@/components/cva/Button" ;
10
10
import { Expanded } from "@/components/cva/Expanded" ;
11
11
import { svaNumberInput } from "@/components/sva/numberInput" ;
12
+ import { svaTextArea } from "@/components/sva/textArea" ;
12
13
import { User } from "@/lib/classes/user" ;
13
14
import { $redirectTo } from "@/lib/stores/redirect" ;
14
15
import { notifyTableErrorInToast } from "@/lib/utils/table" ;
@@ -37,7 +38,9 @@ export const Route = createFileRoute("/user/")({
37
38
function Authenticated ( { user } : { user : User } ) : ReactElement {
38
39
const [ selected , setSelected ] = useState < "sower" | "sponsor" | null > ( ) ;
39
40
const [ age , setAge ] = useState ( 0 ) ;
41
+ const [ description , setDescription ] = useState ( "" ) ;
40
42
const numberInput = svaNumberInput ( ) ;
43
+ const textArea = svaTextArea ( ) ;
41
44
42
45
return (
43
46
< Expanded items = "center" >
@@ -76,12 +79,6 @@ function Authenticated({ user }: { user: User }): ReactElement {
76
79
< Button
77
80
h = "300px"
78
81
onClick = { ( ) => {
79
- // void user.registerAsASponsor({
80
- // user_id: user.id,
81
- // name: user.metadata.name,
82
- // icon: user.metadata.picture,
83
- // description: `この企業は ${user.metadata.name} です`,
84
- // });
85
82
setSelected ( "sponsor" ) ;
86
83
} }
87
84
variant = "outlined"
@@ -104,7 +101,7 @@ function Authenticated({ user }: { user: User }): ReactElement {
104
101
{ selected === "sower" && (
105
102
< >
106
103
< p . span > 年齢を入力して下さい</ p . span >
107
- < p . div w = "300px" h = "100px ">
104
+ < p . div h = "100px" w = "300px ">
108
105
< NumberInput . Root
109
106
allowMouseWheel
110
107
className = { numberInput . root }
@@ -167,7 +164,41 @@ function Authenticated({ user }: { user: User }): ReactElement {
167
164
</ Button >
168
165
</ >
169
166
) }
170
- { selected === "sponsor" && < p . p > 企業としてログインしました!</ p . p > }
167
+ { selected === "sponsor" && (
168
+ < >
169
+ < p . span > 企業の説明を入力して下さい</ p . span >
170
+ < Field . Root className = { textArea . root } >
171
+ < Field . Textarea
172
+ className = { textArea . textarea }
173
+ onChange = { ( e ) => {
174
+ setDescription ( e . target . value ) ;
175
+ } }
176
+ value = { description }
177
+ />
178
+ </ Field . Root >
179
+ < Button
180
+ h = "100px"
181
+ onClick = { ( ) => {
182
+ void user . registerAsASponsor ( {
183
+ user_id : user . id ,
184
+ name : user . metadata . name ,
185
+ icon : user . metadata . picture ,
186
+ description,
187
+ } ) ;
188
+ } }
189
+ variant = "outlined"
190
+ w = "300px"
191
+ >
192
+ < VStack gap = "2" >
193
+ < IconText icon = "bi:building" iconProps = { { height : "3em" } } >
194
+ < p . p fontSize = "lg" fontWeight = "bold" >
195
+ 企業としてログイン
196
+ </ p . p >
197
+ </ IconText >
198
+ </ VStack >
199
+ </ Button >
200
+ </ >
201
+ ) }
171
202
</ VStack >
172
203
</ Expanded >
173
204
) ;
0 commit comments