{"ast":null,"code":"var _jsxFileName = \"D:\\\\LDT\\\\000 Project\\\\LDT\\\\Client\\\\src\\\\components\\\\Login.js\",\n  _s = $RefreshSig$();\nimport React, { useState } from 'react';\nimport axios from 'axios';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction Login() {\n  _s();\n  const [form, setForm] = useState({\n    username: '',\n    password: ''\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    try {\n      const res = await axios.post('http://localhost:4000/api/auth/login', form);\n      localStorage.setItem('token', res.data.token); // 토큰 저장\n      setMsg('로그인 성공!');\n    } catch (err) {\n      var _err$response, _err$response$data;\n      setMsg(((_err$response = err.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.msg) || '오류');\n    }\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: 20,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"input\", {\n      name: \"password\",\n      type: \"password\",\n      placeholder: \"Password\",\n      onChange: handleChange,\n      required: true\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 21,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n      type: \"submit\",\n      children: \"\\uB85C\\uADF8\\uC778\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 22,\n      columnNumber: 7\n    }, this), msg && /*#__PURE__*/_jsxDEV(\"div\", {\n      children: msg\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 23,\n      columnNumber: 15\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 19,\n    columnNumber: 5\n  }, this);\n}\n_s(Login, \"MD+/RF9ha0xqVJupiDUS863wztE=\");\n_c = Login;\nexport default Login;\nvar _c;\n$RefreshReg$(_c, \"Login\");","map":{"version":3,"names":["React","useState","axios","jsxDEV","_jsxDEV","Login","_s","form","setForm","username","password","msg","setMsg","handleChange","e","target","name","value","handleSubmit","preventDefault","res","post","localStorage","setItem","data","token","err","_err$response","_err$response$data","response","onSubmit","children","placeholder","onChange","required","fileName","_jsxFileName","lineNumber","columnNumber","type","_c","$RefreshReg$"],"sources":["D:/LDT/000 Project/LDT/Client/src/components/Login.js"],"sourcesContent":["import React, { useState } from 'react';\r\nimport axios from 'axios';\r\n\r\nfunction Login() {\r\n  const [form, setForm] = useState({ username: '', password: '' });\r\n  const [msg, setMsg] = useState('');\r\n  const handleChange = e => setForm({ ...form, [e.target.name]: e.target.value });\r\n  const handleSubmit = async e => {\r\n    e.preventDefault();\r\n    try {\r\n      const res = await axios.post('http://localhost:4000/api/auth/login', form);\r\n      localStorage.setItem('token', res.data.token); // 토큰 저장\r\n      setMsg('로그인 성공!');\r\n    } catch (err) {\r\n      setMsg(err.response?.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=\"Password\" onChange={handleChange} required />\r\n      <button type=\"submit\">로그인</button>\r\n      {msg && <div>{msg}</div>}\r\n    </form>\r\n  );\r\n}\r\n\r\nexport default Login;"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,KAAK,MAAM,OAAO;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAE1B,SAASC,KAAKA,CAAA,EAAG;EAAAC,EAAA;EACf,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGP,QAAQ,CAAC;IAAEQ,QAAQ,EAAE,EAAE;IAAEC,QAAQ,EAAE;EAAG,CAAC,CAAC;EAChE,MAAM,CAACC,GAAG,EAAEC,MAAM,CAAC,GAAGX,QAAQ,CAAC,EAAE,CAAC;EAClC,MAAMY,YAAY,GAAGC,CAAC,IAAIN,OAAO,CAAC;IAAE,GAAGD,IAAI;IAAE,CAACO,CAAC,CAACC,MAAM,CAACC,IAAI,GAAGF,CAAC,CAACC,MAAM,CAACE;EAAM,CAAC,CAAC;EAC/E,MAAMC,YAAY,GAAG,MAAMJ,CAAC,IAAI;IAC9BA,CAAC,CAACK,cAAc,CAAC,CAAC;IAClB,IAAI;MACF,MAAMC,GAAG,GAAG,MAAMlB,KAAK,CAACmB,IAAI,CAAC,sCAAsC,EAAEd,IAAI,CAAC;MAC1Ee,YAAY,CAACC,OAAO,CAAC,OAAO,EAAEH,GAAG,CAACI,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC;MAC/Cb,MAAM,CAAC,SAAS,CAAC;IACnB,CAAC,CAAC,OAAOc,GAAG,EAAE;MAAA,IAAAC,aAAA,EAAAC,kBAAA;MACZhB,MAAM,CAAC,EAAAe,aAAA,GAAAD,GAAG,CAACG,QAAQ,cAAAF,aAAA,wBAAAC,kBAAA,GAAZD,aAAA,CAAcH,IAAI,cAAAI,kBAAA,uBAAlBA,kBAAA,CAAoBjB,GAAG,KAAI,IAAI,CAAC;IACzC;EACF,CAAC;EACD,oBACEP,OAAA;IAAM0B,QAAQ,EAAEZ,YAAa;IAAAa,QAAA,gBAC3B3B,OAAA;MAAOY,IAAI,EAAC,UAAU;MAACgB,WAAW,EAAC,IAAI;MAACC,QAAQ,EAAEpB,YAAa;MAACqB,QAAQ;IAAA;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAE,CAAC,eAC3ElC,OAAA;MAAOY,IAAI,EAAC,UAAU;MAACuB,IAAI,EAAC,UAAU;MAACP,WAAW,EAAC,UAAU;MAACC,QAAQ,EAAEpB,YAAa;MAACqB,QAAQ;IAAA;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAE,CAAC,eACjGlC,OAAA;MAAQmC,IAAI,EAAC,QAAQ;MAAAR,QAAA,EAAC;IAAG;MAAAI,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAQ,CAAC,EACjC3B,GAAG,iBAAIP,OAAA;MAAA2B,QAAA,EAAMpB;IAAG;MAAAwB,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAM,CAAC;EAAA;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OACpB,CAAC;AAEX;AAAChC,EAAA,CAtBQD,KAAK;AAAAmC,EAAA,GAALnC,KAAK;AAwBd,eAAeA,KAAK;AAAC,IAAAmC,EAAA;AAAAC,YAAA,CAAAD,EAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}