{"ast":null,"code":"var _jsxFileName = \"D:\\\\LDT\\\\000 Project\\\\LDT\\\\Client\\\\src\\\\pages\\\\Register.js\",\n  _s = $RefreshSig$();\nimport React, { useState } from \"react\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport default function Register({\n  onClose\n}) {\n  _s();\n  const [form, setForm] = useState({\n    username: '',\n    password: '',\n    role: 'user'\n  });\n  const [msg, setMsg] = useState('');\n  const handleChange = e => setForm({\n    ...form,\n    [e.target.name]: e.target.value\n  });\n  const handleSubmit = async e => {\n    e.preventDefault();\n    const res = await fetch('http://localhost:4000/api/auth/register', {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify(form)\n    });\n    const data = await res.json();\n    setMsg(data.msg);\n  };\n  return /*#__PURE__*/_jsxDEV(\"form\", {\n    onSubmit: handleSubmit,\n    children: [/*#__PURE__*/_jsxDEV(\"input\", {\n      name: \"username\",\n      placeholder: \"ID\",\n      onChange: handleChange,\n      required: true\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 21,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"input\", {\n      name: \"password\",\n      type: \"password\",\n      placeholder: \"\\uBE44\\uBC00\\uBC88\\uD638\",\n      onChange: handleChange,\n      required: true\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 22,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"select\", {\n      name: \"role\",\n      onChange: handleChange,\n      value: form.role,\n      children: [/*#__PURE__*/_jsxDEV(\"option\", {\n        value: \"user\",\n        children: \"\\uC77C\\uBC18 \\uC0AC\\uC6A9\\uC790\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 24,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(\"option\", {\n        value: \"admin\",\n        children: \"\\uAD00\\uB9AC\\uC790\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 25,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 23,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n      type: \"submit\",\n      children: \"\\uD68C\\uC6D0\\uAC00\\uC785\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 27,\n      columnNumber: 7\n    }, this), msg && /*#__PURE__*/_jsxDEV(\"div\", {\n      children: msg\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 28,\n      columnNumber: 15\n    }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n      type: \"button\",\n      onClick: onClose,\n      children: \"\\uB2EB\\uAE30\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 29,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 20,\n    columnNumber: 5\n  }, this);\n}\n_s(Register, \"jOhgR2l6HNzD4dqVQ8X9mQBfAp8=\");\n_c = Register;\nvar _c;\n$RefreshReg$(_c, \"Register\");","map":{"version":3,"names":["React","useState","jsxDEV","_jsxDEV","Register","onClose","_s","form","setForm","username","password","role","msg","setMsg","handleChange","e","target","name","value","handleSubmit","preventDefault","res","fetch","method","headers","body","JSON","stringify","data","json","onSubmit","children","placeholder","onChange","required","fileName","_jsxFileName","lineNumber","columnNumber","type","onClick","_c","$RefreshReg$"],"sources":["D:/LDT/000 Project/LDT/Client/src/pages/Register.js"],"sourcesContent":["import React, { useState } from \"react\";\r\n\r\nexport default function Register({ onClose }) {\r\n  const [form, setForm] = useState({ username: '', password: '', role: 'user' });\r\n  const [msg, setMsg] = useState('');\r\n\r\n  const handleChange = e => setForm({ ...form, [e.target.name]: e.target.value });\r\n\r\n  const handleSubmit = async (e) => {\r\n    e.preventDefault();\r\n    const res = await fetch('http://localhost:4000/api/auth/register', {\r\n      method: 'POST', headers: { 'Content-Type': 'application/json' },\r\n      body: JSON.stringify(form)\r\n    });\r\n    const data = await res.json();\r\n    setMsg(data.msg);\r\n  };\r\n\r\n  return (\r\n    <form onSubmit={handleSubmit}>\r\n      <input name=\"username\" placeholder=\"ID\" onChange={handleChange} required />\r\n      <input name=\"password\" type=\"password\" placeholder=\"비밀번호\" onChange={handleChange} required />\r\n      <select name=\"role\" onChange={handleChange} value={form.role}>\r\n        <option value=\"user\">일반 사용자</option>\r\n        <option value=\"admin\">관리자</option>\r\n      </select>\r\n      <button type=\"submit\">회원가입</button>\r\n      {msg && <div>{msg}</div>}\r\n      <button type=\"button\" onClick={onClose}>닫기</button>\r\n    </form>\r\n  );\r\n}\r\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}