{"ast":null,"code":"var _jsxFileName = \"/home/fanfarm/FanFarm/system/V3fanfarm-ubuntu-local/V3fanfarm-frontend/src/components/job/PostJob.js\",\n _s = $RefreshSig$();\n// src/components/job/PostJob.js - 新フィールド追加版\nimport React, { useState, useContext, useEffect } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { JobPostings } from '../../api/api';\nimport { AuthContext } from '../../context/AuthContext';\nimport Button from '../common/Button';\nimport Card from '../common/Card';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst PostJobContainer = styled.div`\n max-width: 800px;\n margin: 40px auto;\n padding: 0 24px;\n`;\n_c = PostJobContainer;\nconst Title = styled.h1`\n text-align: center;\n margin-bottom: 32px;\n color: var(--primary-color);\n`;\n_c2 = Title;\nconst Form = styled.form`\n display: flex;\n flex-direction: column;\n`;\n_c3 = Form;\nconst InputGroup = styled.div`\n margin-bottom: 24px;\n`;\n_c4 = InputGroup;\nconst Label = styled.label`\n display: block;\n font-size: 20px;\n font-weight: 700;\n margin-bottom: 8px;\n`;\n_c5 = Label;\nconst Input = styled.input`\n width: 100%;\n padding: 16px;\n font-size: 18px;\n border: 2px solid var(--border-color);\n border-radius: var(--border-radius);\n transition: border-color 0.3s;\n\n &:focus {\n outline: none;\n border-color: var(--primary-color);\n }\n`;\n_c6 = Input;\nconst TextArea = styled.textarea`\n width: 100%;\n padding: 16px;\n font-size: 18px;\n border: 2px solid var(--border-color);\n border-radius: var(--border-radius);\n transition: border-color 0.3s;\n min-height: 150px;\n\n &:focus {\n outline: none;\n border-color: var(--primary-color);\n }\n`;\n\n// カレンダー選択用のスタイル\n_c7 = TextArea;\nconst DatePickerGroup = styled.div`\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n margin-top: 8px;\n`;\n_c8 = DatePickerGroup;\nconst DateChip = styled.div`\n padding: 8px 12px;\n background: var(--primary-color);\n color: white;\n border-radius: 20px;\n font-size: 14px;\n display: flex;\n align-items: center;\n gap: 4px;\n`;\n_c9 = DateChip;\nconst RemoveDateButton = styled.button`\n background: none;\n border: none;\n color: white;\n cursor: pointer;\n padding: 0 4px;\n font-size: 16px;\n \n &:hover {\n opacity: 0.7;\n }\n`;\n_c0 = RemoveDateButton;\nconst DateInputContainer = styled.div`\n display: flex;\n gap: 12px;\n align-items: center;\n \n @media (max-width: 768px) {\n flex-direction: column;\n align-items: stretch;\n }\n`;\n_c1 = DateInputContainer;\nconst DateInput = styled(Input)`\n max-width: 200px;\n \n @media (max-width: 768px) {\n max-width: 100%;\n }\n`;\n_c10 = DateInput;\nconst AddDateButton = styled.button`\n padding: 12px 20px;\n background: var(--secondary-color);\n color: white;\n border: none;\n border-radius: var(--border-radius);\n cursor: pointer;\n font-size: 16px;\n font-weight: bold;\n white-space: nowrap;\n \n &:hover {\n background: var(--primary-color);\n }\n \n &:disabled {\n background: #ccc;\n cursor: not-allowed;\n }\n`;\n_c11 = AddDateButton;\nconst HelpText = styled.div`\n font-size: 14px;\n color: var(--text-light);\n margin-top: 4px;\n`;\n_c12 = HelpText;\nconst ErrorMessage = styled.p`\n color: var(--error-color);\n font-size: 16px;\n margin-top: 8px;\n`;\n_c13 = ErrorMessage;\nconst SuccessMessage = styled.p`\n color: var(--success-color);\n font-size: 18px;\n font-weight: 700;\n margin-top: 16px;\n text-align: center;\n`;\n_c14 = SuccessMessage;\nconst ButtonGroup = styled.div`\n display: flex;\n justify-content: center;\n gap: 16px;\n margin-top: 16px;\n\n @media (max-width: 768px) {\n flex-direction: column;\n gap: 8px;\n }\n`;\n_c15 = ButtonGroup;\nconst Loading = styled.p`\n text-align: center;\n font-size: 18px;\n color: var(--text-light);\n margin: 48px 0;\n`;\n_c16 = Loading;\nconst RequiredMark = styled.span`\n color: var(--error-color);\n margin-left: 4px;\n`;\n_c17 = RequiredMark;\nconst PostJob = () => {\n _s();\n const {\n currentUser\n } = useContext(AuthContext);\n const navigate = useNavigate();\n const [formData, setFormData] = useState({\n company_name: '',\n location: '',\n meeting_place: '',\n // 新規追加\n contact: '',\n hourly_wage: '',\n work_days: '',\n work_dates: '',\n // 新規追加(選択された日付の文字列)\n work_hours: '',\n seasonal_vegetables: '',\n belongings: '',\n // 新規追加\n job_description: '',\n remarks: '',\n // 新規追加\n positions_available: ''\n });\n\n // カレンダー選択用のstate\n const [selectedDates, setSelectedDates] = useState([]);\n const [currentDate, setCurrentDate] = useState('');\n const [error, setError] = useState('');\n const [success, setSuccess] = useState('');\n const [showConfirmation, setShowConfirmation] = useState(false);\n\n // ログインチェック\n useEffect(() => {\n if (!currentUser) {\n navigate('/login');\n } else if (currentUser.user_type !== 'farmer') {\n navigate('/');\n }\n }, [currentUser, navigate]);\n if (!currentUser || currentUser.user_type !== 'farmer') {\n return /*#__PURE__*/_jsxDEV(Loading, {\n children: \"\\u30ED\\u30B0\\u30A4\\u30F3\\u60C5\\u5831\\u3092\\u78BA\\u8A8D\\u4E2D...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 220,\n columnNumber: 12\n }, this);\n }\n const handleChange = e => {\n const value = e.target.type === 'number' ? parseInt(e.target.value, 10) : e.target.value;\n const fieldName = e.target.id;\n setFormData({\n ...formData,\n [fieldName]: value\n });\n };\n\n // 日付追加処理\n const handleAddDate = () => {\n if (currentDate && !selectedDates.includes(currentDate)) {\n const newDates = [...selectedDates, currentDate].sort();\n setSelectedDates(newDates);\n setFormData({\n ...formData,\n work_dates: newDates.join(', ')\n });\n setCurrentDate('');\n }\n };\n\n // 日付削除処理\n const handleRemoveDate = date => {\n const newDates = selectedDates.filter(d => d !== date);\n setSelectedDates(newDates);\n setFormData({\n ...formData,\n work_dates: newDates.join(', ')\n });\n };\n const handleSubmit = e => {\n e.preventDefault();\n setError('');\n\n // 必須フィールドの検証\n const requiredFields = ['company_name', 'location', 'contact', 'hourly_wage', 'work_days', 'work_hours', 'job_description', 'positions_available'];\n const missingFields = requiredFields.filter(field => !formData[field]);\n if (missingFields.length > 0) {\n setError('必須項目(*印)をすべて入力してください');\n return;\n }\n\n // 数値フィールドの検証\n if (isNaN(formData.hourly_wage) || formData.hourly_wage <= 0) {\n setError('時給は0より大きい数値を入力してください');\n return;\n }\n if (isNaN(formData.positions_available) || formData.positions_available <= 0) {\n setError('募集人数は0より大きい数値を入力してください');\n return;\n }\n\n // 確認画面を表示\n setShowConfirmation(true);\n };\n const handleConfirm = async () => {\n try {\n const jobData = {\n ...formData,\n user_id: currentUser.id\n };\n const response = await JobPostings.create(jobData);\n console.log('求人作成成功:', response);\n setSuccess('求人の掲載が完了しました!');\n setTimeout(() => {\n navigate('/profile');\n }, 2000);\n } catch (err) {\n var _err$response, _err$response$data;\n console.error('求人作成エラー:', err);\n setError(((_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.error) || '求人の掲載に失敗しました');\n setShowConfirmation(false);\n }\n };\n const handleCancel = () => {\n setShowConfirmation(false);\n };\n return /*#__PURE__*/_jsxDEV(PostJobContainer, {\n children: /*#__PURE__*/_jsxDEV(Card, {\n children: [/*#__PURE__*/_jsxDEV(Title, {\n children: \"\\u6C42\\u4EBA\\u3092\\u63B2\\u8F09\\u3059\\u308B\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 314,\n columnNumber: 9\n }, this), showConfirmation ? /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"\\u5165\\u529B\\u5185\\u5BB9\\u306E\\u78BA\\u8A8D\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 318,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"\\u4F1A\\u793E\\u540D:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 319,\n columnNumber: 16\n }, this), \" \", formData.company_name]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 319,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"\\u52E4\\u52D9\\u5730:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 320,\n columnNumber: 16\n }, this), \" \", formData.location]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 320,\n columnNumber: 13\n }, this), formData.meeting_place && /*#__PURE__*/_jsxDEV(\"p\", {\n children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"\\u96C6\\u5408\\u5834\\u6240:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 322,\n columnNumber: 18\n }, this), \" \", formData.meeting_place]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 322,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"\\u9023\\u7D61\\u5148:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 324,\n columnNumber: 16\n }, this), \" \", formData.contact]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 324,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"\\u6642\\u7D66:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 325,\n columnNumber: 16\n }, this), \" \", formData.hourly_wage, \"\\u5186\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 325,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"\\u52E4\\u52D9\\u66DC\\u65E5:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 326,\n columnNumber: 16\n }, this), \" \", formData.work_days]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 326,\n columnNumber: 13\n }, this), formData.work_dates && /*#__PURE__*/_jsxDEV(\"p\", {\n children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"\\u52E4\\u52D9\\u65E5:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 328,\n columnNumber: 18\n }, this), \" \", formData.work_dates]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 328,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"\\u52E4\\u52D9\\u6642\\u9593:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 330,\n columnNumber: 16\n }, this), \" \", formData.work_hours]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 330,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"\\u65EC\\u306E\\u91CE\\u83DC:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 331,\n columnNumber: 16\n }, this), \" \", formData.seasonal_vegetables || '記載なし']\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 331,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"\\u696D\\u52D9\\u5185\\u5BB9:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 332,\n columnNumber: 16\n }, this), \" \", formData.job_description]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 332,\n columnNumber: 13\n }, this), formData.belongings && /*#__PURE__*/_jsxDEV(\"p\", {\n children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"\\u6301\\u3061\\u7269:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 334,\n columnNumber: 18\n }, this), \" \", formData.belongings]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 334,\n columnNumber: 15\n }, this), formData.remarks && /*#__PURE__*/_jsxDEV(\"p\", {\n children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"\\u5099\\u8003:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 337,\n columnNumber: 18\n }, this), \" \", formData.remarks]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 337,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"\\u52DF\\u96C6\\u4EBA\\u6570:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 339,\n columnNumber: 16\n }, this), \" \", formData.positions_available, \"\\u4EBA\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 339,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(ButtonGroup, {\n children: [/*#__PURE__*/_jsxDEV(Button, {\n onClick: handleConfirm,\n children: \"\\u6C42\\u4EBA\\u3092\\u63B2\\u8F09\\u3059\\u308B\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 342,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(Button, {\n $secondary: true,\n onClick: handleCancel,\n children: \"\\u623B\\u308B\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 343,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 341,\n columnNumber: 13\n }, this), error && /*#__PURE__*/_jsxDEV(ErrorMessage, {\n children: error\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 346,\n columnNumber: 23\n }, this), success && /*#__PURE__*/_jsxDEV(SuccessMessage, {\n children: success\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 347,\n columnNumber: 25\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 317,\n columnNumber: 11\n }, this) : /*#__PURE__*/_jsxDEV(Form, {\n onSubmit: handleSubmit,\n children: [/*#__PURE__*/_jsxDEV(InputGroup, {\n children: [/*#__PURE__*/_jsxDEV(Label, {\n htmlFor: \"company_name\",\n children: [\"\\u4F1A\\u793E\\u540D\", /*#__PURE__*/_jsxDEV(RequiredMark, {\n children: \"*\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 353,\n columnNumber: 20\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 352,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(Input, {\n type: \"text\",\n id: \"company_name\",\n value: formData.company_name,\n onChange: handleChange,\n placeholder: \"\\u4F1A\\u793E\\u540D\\u307E\\u305F\\u306F\\u8FB2\\u5712\\u540D\\u3092\\u5165\\u529B\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 355,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 351,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(InputGroup, {\n children: [/*#__PURE__*/_jsxDEV(Label, {\n htmlFor: \"location\",\n children: [\"\\u52E4\\u52D9\\u5730\", /*#__PURE__*/_jsxDEV(RequiredMark, {\n children: \"*\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 366,\n columnNumber: 20\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 365,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(Input, {\n type: \"text\",\n id: \"location\",\n value: formData.location,\n onChange: handleChange,\n placeholder: \"\\u4F8B: \\u5C71\\u5F62\\u770C\\u9152\\u7530\\u5E02\\u25EF\\u25EF\\u753A1-2-3\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 368,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 364,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(InputGroup, {\n children: [/*#__PURE__*/_jsxDEV(Label, {\n htmlFor: \"meeting_place\",\n children: \"\\u96C6\\u5408\\u5834\\u6240\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 379,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(Input, {\n type: \"text\",\n id: \"meeting_place\",\n value: formData.meeting_place,\n onChange: handleChange,\n placeholder: \"\\u4F8B: JR\\u9152\\u7530\\u99C5\\u524D\\u3001\\u73FE\\u5730\\u96C6\\u5408\\u306A\\u3069\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 380,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(HelpText, {\n children: \"\\u52E4\\u52D9\\u5730\\u3068\\u7570\\u306A\\u308B\\u5834\\u5408\\u306F\\u5165\\u529B\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 387,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 378,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(InputGroup, {\n children: [/*#__PURE__*/_jsxDEV(Label, {\n htmlFor: \"contact\",\n children: [\"\\u9023\\u7D61\\u5148\", /*#__PURE__*/_jsxDEV(RequiredMark, {\n children: \"*\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 392,\n columnNumber: 20\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 391,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(Input, {\n type: \"text\",\n id: \"contact\",\n value: formData.contact,\n onChange: handleChange,\n placeholder: \"\\u96FB\\u8A71\\u756A\\u53F7\\u307E\\u305F\\u306F\\u30E1\\u30FC\\u30EB\\u30A2\\u30C9\\u30EC\\u30B9\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 394,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 390,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(InputGroup, {\n children: [/*#__PURE__*/_jsxDEV(Label, {\n htmlFor: \"hourly_wage\",\n children: [\"\\u6642\\u7D66\\uFF08\\u5186\\uFF09\", /*#__PURE__*/_jsxDEV(RequiredMark, {\n children: \"*\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 405,\n columnNumber: 22\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 404,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(Input, {\n type: \"number\",\n id: \"hourly_wage\",\n value: formData.hourly_wage,\n onChange: handleChange,\n placeholder: \"\\u6642\\u7D66\\u3092\\u5165\\u529B\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\",\n min: \"1\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 407,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 403,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(InputGroup, {\n children: [/*#__PURE__*/_jsxDEV(Label, {\n htmlFor: \"work_days\",\n children: [\"\\u52E4\\u52D9\\u66DC\\u65E5\", /*#__PURE__*/_jsxDEV(RequiredMark, {\n children: \"*\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 419,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 418,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(Input, {\n type: \"text\",\n id: \"work_days\",\n value: formData.work_days,\n onChange: handleChange,\n placeholder: \"\\u4F8B: \\u6708\\u66DC\\u65E5\\u301C\\u91D1\\u66DC\\u65E5\\u3001\\u571F\\u65E5\\u306E\\u307F \\u306A\\u3069\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 421,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 417,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(InputGroup, {\n children: [/*#__PURE__*/_jsxDEV(Label, {\n children: \"\\u52E4\\u52D9\\u65E5\\uFF08\\u5177\\u4F53\\u7684\\u306A\\u65E5\\u4ED8\\uFF09\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 432,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(DateInputContainer, {\n children: [/*#__PURE__*/_jsxDEV(DateInput, {\n type: \"date\",\n value: currentDate,\n onChange: e => setCurrentDate(e.target.value),\n min: new Date().toISOString().split('T')[0]\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 434,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(AddDateButton, {\n type: \"button\",\n onClick: handleAddDate,\n disabled: !currentDate,\n children: \"\\u65E5\\u4ED8\\u3092\\u8FFD\\u52A0\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 440,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 433,\n columnNumber: 15\n }, this), selectedDates.length > 0 && /*#__PURE__*/_jsxDEV(DatePickerGroup, {\n children: selectedDates.map(date => /*#__PURE__*/_jsxDEV(DateChip, {\n children: [\"\\uD83D\\uDCC5 \", new Date(date).toLocaleDateString('ja-JP'), /*#__PURE__*/_jsxDEV(RemoveDateButton, {\n type: \"button\",\n onClick: () => handleRemoveDate(date),\n children: \"\\xD7\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 453,\n columnNumber: 23\n }, this)]\n }, date, true, {\n fileName: _jsxFileName,\n lineNumber: 451,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 449,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(HelpText, {\n children: \"\\u7279\\u5B9A\\u306E\\u65E5\\u4ED8\\u304C\\u6C7A\\u307E\\u3063\\u3066\\u3044\\u308B\\u5834\\u5408\\u306F\\u9078\\u629E\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\\uFF08\\u4EFB\\u610F\\uFF09\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 463,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 431,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(InputGroup, {\n children: [/*#__PURE__*/_jsxDEV(Label, {\n htmlFor: \"work_hours\",\n children: [\"\\u52E4\\u52D9\\u6642\\u9593\", /*#__PURE__*/_jsxDEV(RequiredMark, {\n children: \"*\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 468,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 467,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(Input, {\n type: \"text\",\n id: \"work_hours\",\n value: formData.work_hours,\n onChange: handleChange,\n placeholder: \"\\u4F8B: 9:00\\u301C17:00\\u3001\\u5FDC\\u76F8\\u8AC7 \\u306A\\u3069\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 470,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 466,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(InputGroup, {\n children: [/*#__PURE__*/_jsxDEV(Label, {\n htmlFor: \"seasonal_vegetables\",\n children: \"\\u65EC\\u306E\\u91CE\\u83DC\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 480,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(Input, {\n type: \"text\",\n id: \"seasonal_vegetables\",\n value: formData.seasonal_vegetables,\n onChange: handleChange,\n placeholder: \"\\u73FE\\u5728\\u53CE\\u7A6B\\u4E2D\\u3084\\u683D\\u57F9\\u4E2D\\u306E\\u91CE\\u83DC\\u30FB\\u679C\\u7269\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 481,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 479,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(InputGroup, {\n children: [/*#__PURE__*/_jsxDEV(Label, {\n htmlFor: \"job_description\",\n children: [\"\\u696D\\u52D9\\u5185\\u5BB9\", /*#__PURE__*/_jsxDEV(RequiredMark, {\n children: \"*\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 492,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 491,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(TextArea, {\n id: \"job_description\",\n value: formData.job_description,\n onChange: handleChange,\n placeholder: \"\\u5177\\u4F53\\u7684\\u306A\\u4ED5\\u4E8B\\u5185\\u5BB9\\u3092\\u5165\\u529B\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 494,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 490,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(InputGroup, {\n children: [/*#__PURE__*/_jsxDEV(Label, {\n htmlFor: \"belongings\",\n children: \"\\u6301\\u3061\\u7269\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 504,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(TextArea, {\n id: \"belongings\",\n value: formData.belongings,\n onChange: handleChange,\n placeholder: \"\\u4F8B: \\u8ECD\\u624B\\u3001\\u9577\\u9774\\u3001\\u5E3D\\u5B50\\u3001\\u30BF\\u30AA\\u30EB\\u3001\\u98F2\\u307F\\u7269\\u306A\\u3069\",\n style: {\n minHeight: '100px'\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 505,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(HelpText, {\n children: \"\\u30A2\\u30EB\\u30D0\\u30A4\\u30C8\\u306E\\u65B9\\u306B\\u6301\\u53C2\\u3057\\u3066\\u3082\\u3089\\u3044\\u305F\\u3044\\u3082\\u306E\\u3092\\u8A18\\u8F09\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 512,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 503,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(InputGroup, {\n children: [/*#__PURE__*/_jsxDEV(Label, {\n htmlFor: \"remarks\",\n children: \"\\u5099\\u8003\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 517,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(TextArea, {\n id: \"remarks\",\n value: formData.remarks,\n onChange: handleChange,\n placeholder: \"\\u305D\\u306E\\u4ED6\\u306E\\u6CE8\\u610F\\u4E8B\\u9805\\u3084\\u88DC\\u8DB3\\u60C5\\u5831\\u304C\\u3042\\u308C\\u3070\\u5165\\u529B\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\",\n style: {\n minHeight: '100px'\n }\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 518,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 516,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(InputGroup, {\n children: [/*#__PURE__*/_jsxDEV(Label, {\n htmlFor: \"positions_available\",\n children: [\"\\u52DF\\u96C6\\u4EBA\\u6570\", /*#__PURE__*/_jsxDEV(RequiredMark, {\n children: \"*\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 529,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 528,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(Input, {\n type: \"number\",\n id: \"positions_available\",\n value: formData.positions_available,\n onChange: handleChange,\n placeholder: \"\\u52DF\\u96C6\\u4EBA\\u6570\\u3092\\u5165\\u529B\\u3057\\u3066\\u304F\\u3060\\u3055\\u3044\",\n min: \"1\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 531,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 527,\n columnNumber: 13\n }, this), error && /*#__PURE__*/_jsxDEV(ErrorMessage, {\n children: error\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 541,\n columnNumber: 23\n }, this), /*#__PURE__*/_jsxDEV(Button, {\n type: \"submit\",\n $fullWidth: true,\n children: \"\\u78BA\\u8A8D\\u753B\\u9762\\u3078\\u9032\\u3080\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 543,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 350,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 313,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 312,\n columnNumber: 5\n }, this);\n};\n_s(PostJob, \"PaiHhWYXj2ZEOLDpbW54znGt23w=\", false, function () {\n return [useNavigate];\n});\n_c18 = PostJob;\nexport default PostJob;\nvar _c, _c2, _c3, _c4, _c5, _c6, _c7, _c8, _c9, _c0, _c1, _c10, _c11, _c12, _c13, _c14, _c15, _c16, _c17, _c18;\n$RefreshReg$(_c, \"PostJobContainer\");\n$RefreshReg$(_c2, \"Title\");\n$RefreshReg$(_c3, \"Form\");\n$RefreshReg$(_c4, \"InputGroup\");\n$RefreshReg$(_c5, \"Label\");\n$RefreshReg$(_c6, \"Input\");\n$RefreshReg$(_c7, \"TextArea\");\n$RefreshReg$(_c8, \"DatePickerGroup\");\n$RefreshReg$(_c9, \"DateChip\");\n$RefreshReg$(_c0, \"RemoveDateButton\");\n$RefreshReg$(_c1, \"DateInputContainer\");\n$RefreshReg$(_c10, \"DateInput\");\n$RefreshReg$(_c11, \"AddDateButton\");\n$RefreshReg$(_c12, \"HelpText\");\n$RefreshReg$(_c13, \"ErrorMessage\");\n$RefreshReg$(_c14, \"SuccessMessage\");\n$RefreshReg$(_c15, \"ButtonGroup\");\n$RefreshReg$(_c16, \"Loading\");\n$RefreshReg$(_c17, \"RequiredMark\");\n$RefreshReg$(_c18, \"PostJob\");","map":{"version":3,"names":["React","useState","useContext","useEffect","useNavigate","styled","JobPostings","AuthContext","Button","Card","jsxDEV","_jsxDEV","PostJobContainer","div","_c","Title","h1","_c2","Form","form","_c3","InputGroup","_c4","Label","label","_c5","Input","input","_c6","TextArea","textarea","_c7","DatePickerGroup","_c8","DateChip","_c9","RemoveDateButton","button","_c0","DateInputContainer","_c1","DateInput","_c10","AddDateButton","_c11","HelpText","_c12","ErrorMessage","p","_c13","SuccessMessage","_c14","ButtonGroup","_c15","Loading","_c16","RequiredMark","span","_c17","PostJob","_s","currentUser","navigate","formData","setFormData","company_name","location","meeting_place","contact","hourly_wage","work_days","work_dates","work_hours","seasonal_vegetables","belongings","job_description","remarks","positions_available","selectedDates","setSelectedDates","currentDate","setCurrentDate","error","setError","success","setSuccess","showConfirmation","setShowConfirmation","user_type","children","fileName","_jsxFileName","lineNumber","columnNumber","handleChange","e","value","target","type","parseInt","fieldName","id","handleAddDate","includes","newDates","sort","join","handleRemoveDate","date","filter","d","handleSubmit","preventDefault","requiredFields","missingFields","field","length","isNaN","handleConfirm","jobData","user_id","response","create","console","log","setTimeout","err","_err$response","_err$response$data","data","handleCancel","onClick","$secondary","onSubmit","htmlFor","onChange","placeholder","min","Date","toISOString","split","disabled","map","toLocaleDateString","style","minHeight","$fullWidth","_c18","$RefreshReg$"],"sources":["/home/fanfarm/FanFarm/system/V3fanfarm-ubuntu-local/V3fanfarm-frontend/src/components/job/PostJob.js"],"sourcesContent":["// src/components/job/PostJob.js - 新フィールド追加版\nimport React, { useState, useContext, useEffect } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { JobPostings } from '../../api/api';\nimport { AuthContext } from '../../context/AuthContext';\nimport Button from '../common/Button';\nimport Card from '../common/Card';\n\nconst PostJobContainer = styled.div`\n max-width: 800px;\n margin: 40px auto;\n padding: 0 24px;\n`;\n\nconst Title = styled.h1`\n text-align: center;\n margin-bottom: 32px;\n color: var(--primary-color);\n`;\n\nconst Form = styled.form`\n display: flex;\n flex-direction: column;\n`;\n\nconst InputGroup = styled.div`\n margin-bottom: 24px;\n`;\n\nconst Label = styled.label`\n display: block;\n font-size: 20px;\n font-weight: 700;\n margin-bottom: 8px;\n`;\n\nconst Input = styled.input`\n width: 100%;\n padding: 16px;\n font-size: 18px;\n border: 2px solid var(--border-color);\n border-radius: var(--border-radius);\n transition: border-color 0.3s;\n\n &:focus {\n outline: none;\n border-color: var(--primary-color);\n }\n`;\n\nconst TextArea = styled.textarea`\n width: 100%;\n padding: 16px;\n font-size: 18px;\n border: 2px solid var(--border-color);\n border-radius: var(--border-radius);\n transition: border-color 0.3s;\n min-height: 150px;\n\n &:focus {\n outline: none;\n border-color: var(--primary-color);\n }\n`;\n\n// カレンダー選択用のスタイル\nconst DatePickerGroup = styled.div`\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n margin-top: 8px;\n`;\n\nconst DateChip = styled.div`\n padding: 8px 12px;\n background: var(--primary-color);\n color: white;\n border-radius: 20px;\n font-size: 14px;\n display: flex;\n align-items: center;\n gap: 4px;\n`;\n\nconst RemoveDateButton = styled.button`\n background: none;\n border: none;\n color: white;\n cursor: pointer;\n padding: 0 4px;\n font-size: 16px;\n \n &:hover {\n opacity: 0.7;\n }\n`;\n\nconst DateInputContainer = styled.div`\n display: flex;\n gap: 12px;\n align-items: center;\n \n @media (max-width: 768px) {\n flex-direction: column;\n align-items: stretch;\n }\n`;\n\nconst DateInput = styled(Input)`\n max-width: 200px;\n \n @media (max-width: 768px) {\n max-width: 100%;\n }\n`;\n\nconst AddDateButton = styled.button`\n padding: 12px 20px;\n background: var(--secondary-color);\n color: white;\n border: none;\n border-radius: var(--border-radius);\n cursor: pointer;\n font-size: 16px;\n font-weight: bold;\n white-space: nowrap;\n \n &:hover {\n background: var(--primary-color);\n }\n \n &:disabled {\n background: #ccc;\n cursor: not-allowed;\n }\n`;\n\nconst HelpText = styled.div`\n font-size: 14px;\n color: var(--text-light);\n margin-top: 4px;\n`;\n\nconst ErrorMessage = styled.p`\n color: var(--error-color);\n font-size: 16px;\n margin-top: 8px;\n`;\n\nconst SuccessMessage = styled.p`\n color: var(--success-color);\n font-size: 18px;\n font-weight: 700;\n margin-top: 16px;\n text-align: center;\n`;\n\nconst ButtonGroup = styled.div`\n display: flex;\n justify-content: center;\n gap: 16px;\n margin-top: 16px;\n\n @media (max-width: 768px) {\n flex-direction: column;\n gap: 8px;\n }\n`;\n\nconst Loading = styled.p`\n text-align: center;\n font-size: 18px;\n color: var(--text-light);\n margin: 48px 0;\n`;\n\nconst RequiredMark = styled.span`\n color: var(--error-color);\n margin-left: 4px;\n`;\n\nconst PostJob = () => {\n const { currentUser } = useContext(AuthContext);\n const navigate = useNavigate();\n const [formData, setFormData] = useState({\n company_name: '',\n location: '',\n meeting_place: '', // 新規追加\n contact: '',\n hourly_wage: '',\n work_days: '',\n work_dates: '', // 新規追加(選択された日付の文字列)\n work_hours: '',\n seasonal_vegetables: '',\n belongings: '', // 新規追加\n job_description: '',\n remarks: '', // 新規追加\n positions_available: ''\n });\n \n // カレンダー選択用のstate\n const [selectedDates, setSelectedDates] = useState([]);\n const [currentDate, setCurrentDate] = useState('');\n \n const [error, setError] = useState('');\n const [success, setSuccess] = useState('');\n const [showConfirmation, setShowConfirmation] = useState(false);\n \n // ログインチェック\n useEffect(() => {\n if (!currentUser) {\n navigate('/login');\n } else if (currentUser.user_type !== 'farmer') {\n navigate('/');\n }\n }, [currentUser, navigate]);\n\n if (!currentUser || currentUser.user_type !== 'farmer') {\n return <Loading>ログイン情報を確認中...</Loading>;\n }\n\n const handleChange = (e) => {\n const value = e.target.type === 'number' ? parseInt(e.target.value, 10) : e.target.value;\n const fieldName = e.target.id;\n \n setFormData({\n ...formData,\n [fieldName]: value\n });\n };\n \n // 日付追加処理\n const handleAddDate = () => {\n if (currentDate && !selectedDates.includes(currentDate)) {\n const newDates = [...selectedDates, currentDate].sort();\n setSelectedDates(newDates);\n setFormData({\n ...formData,\n work_dates: newDates.join(', ')\n });\n setCurrentDate('');\n }\n };\n \n // 日付削除処理\n const handleRemoveDate = (date) => {\n const newDates = selectedDates.filter(d => d !== date);\n setSelectedDates(newDates);\n setFormData({\n ...formData,\n work_dates: newDates.join(', ')\n });\n };\n\n const handleSubmit = (e) => {\n e.preventDefault();\n setError('');\n\n // 必須フィールドの検証\n const requiredFields = [\n 'company_name', 'location', 'contact', 'hourly_wage',\n 'work_days', 'work_hours', 'job_description', 'positions_available'\n ];\n const missingFields = requiredFields.filter(field => !formData[field]);\n\n if (missingFields.length > 0) {\n setError('必須項目(*印)をすべて入力してください');\n return;\n }\n\n // 数値フィールドの検証\n if (isNaN(formData.hourly_wage) || formData.hourly_wage <= 0) {\n setError('時給は0より大きい数値を入力してください');\n return;\n }\n\n if (isNaN(formData.positions_available) || formData.positions_available <= 0) {\n setError('募集人数は0より大きい数値を入力してください');\n return;\n }\n\n // 確認画面を表示\n setShowConfirmation(true);\n };\n\n const handleConfirm = async () => {\n try {\n const jobData = {\n ...formData,\n user_id: currentUser.id\n };\n\n const response = await JobPostings.create(jobData);\n console.log('求人作成成功:', response);\n setSuccess('求人の掲載が完了しました!');\n setTimeout(() => {\n navigate('/profile');\n }, 2000);\n } catch (err) {\n console.error('求人作成エラー:', err);\n setError(err.response?.data?.error || '求人の掲載に失敗しました');\n setShowConfirmation(false);\n }\n };\n\n const handleCancel = () => {\n setShowConfirmation(false);\n };\n\n return (\n <PostJobContainer>\n <Card>\n <Title>求人を掲載する</Title>\n \n {showConfirmation ? (\n <div>\n <h2>入力内容の確認</h2>\n <p><strong>会社名:</strong> {formData.company_name}</p>\n <p><strong>勤務地:</strong> {formData.location}</p>\n {formData.meeting_place && (\n <p><strong>集合場所:</strong> {formData.meeting_place}</p>\n )}\n <p><strong>連絡先:</strong> {formData.contact}</p>\n <p><strong>時給:</strong> {formData.hourly_wage}円</p>\n <p><strong>勤務曜日:</strong> {formData.work_days}</p>\n {formData.work_dates && (\n <p><strong>勤務日:</strong> {formData.work_dates}</p>\n )}\n <p><strong>勤務時間:</strong> {formData.work_hours}</p>\n <p><strong>旬の野菜:</strong> {formData.seasonal_vegetables || '記載なし'}</p>\n <p><strong>業務内容:</strong> {formData.job_description}</p>\n {formData.belongings && (\n <p><strong>持ち物:</strong> {formData.belongings}</p>\n )}\n {formData.remarks && (\n <p><strong>備考:</strong> {formData.remarks}</p>\n )}\n <p><strong>募集人数:</strong> {formData.positions_available}人</p>\n \n <ButtonGroup>\n <Button onClick={handleConfirm}>求人を掲載する</Button>\n <Button $secondary onClick={handleCancel}>戻る</Button>\n </ButtonGroup>\n \n {error && <ErrorMessage>{error}</ErrorMessage>}\n {success && <SuccessMessage>{success}</SuccessMessage>}\n </div>\n ) : (\n <Form onSubmit={handleSubmit}>\n <InputGroup>\n <Label htmlFor=\"company_name\">\n 会社名<RequiredMark>*</RequiredMark>\n </Label>\n <Input\n type=\"text\"\n id=\"company_name\"\n value={formData.company_name}\n onChange={handleChange}\n placeholder=\"会社名または農園名を入力してください\"\n />\n </InputGroup>\n \n <InputGroup>\n <Label htmlFor=\"location\">\n 勤務地<RequiredMark>*</RequiredMark>\n </Label>\n <Input\n type=\"text\"\n id=\"location\"\n value={formData.location}\n onChange={handleChange}\n placeholder=\"例: 山形県酒田市◯◯町1-2-3\"\n />\n </InputGroup>\n \n {/* 新規: 集合場所 */}\n <InputGroup>\n <Label htmlFor=\"meeting_place\">集合場所</Label>\n <Input\n type=\"text\"\n id=\"meeting_place\"\n value={formData.meeting_place}\n onChange={handleChange}\n placeholder=\"例: JR酒田駅前、現地集合など\"\n />\n <HelpText>勤務地と異なる場合は入力してください</HelpText>\n </InputGroup>\n \n <InputGroup>\n <Label htmlFor=\"contact\">\n 連絡先<RequiredMark>*</RequiredMark>\n </Label>\n <Input\n type=\"text\"\n id=\"contact\"\n value={formData.contact}\n onChange={handleChange}\n placeholder=\"電話番号またはメールアドレス\"\n />\n </InputGroup>\n \n <InputGroup>\n <Label htmlFor=\"hourly_wage\">\n 時給(円)<RequiredMark>*</RequiredMark>\n </Label>\n <Input\n type=\"number\"\n id=\"hourly_wage\"\n value={formData.hourly_wage}\n onChange={handleChange}\n placeholder=\"時給を入力してください\"\n min=\"1\"\n />\n </InputGroup>\n \n <InputGroup>\n <Label htmlFor=\"work_days\">\n 勤務曜日<RequiredMark>*</RequiredMark>\n </Label>\n <Input\n type=\"text\"\n id=\"work_days\"\n value={formData.work_days}\n onChange={handleChange}\n placeholder=\"例: 月曜日〜金曜日、土日のみ など\"\n />\n </InputGroup>\n \n {/* 新規: 勤務日カレンダー選択 */}\n <InputGroup>\n <Label>勤務日(具体的な日付)</Label>\n <DateInputContainer>\n <DateInput\n type=\"date\"\n value={currentDate}\n onChange={(e) => setCurrentDate(e.target.value)}\n min={new Date().toISOString().split('T')[0]}\n />\n <AddDateButton \n type=\"button\"\n onClick={handleAddDate}\n disabled={!currentDate}\n >\n 日付を追加\n </AddDateButton>\n </DateInputContainer>\n {selectedDates.length > 0 && (\n <DatePickerGroup>\n {selectedDates.map(date => (\n <DateChip key={date}>\n 📅 {new Date(date).toLocaleDateString('ja-JP')}\n <RemoveDateButton \n type=\"button\"\n onClick={() => handleRemoveDate(date)}\n >\n ×\n </RemoveDateButton>\n </DateChip>\n ))}\n </DatePickerGroup>\n )}\n <HelpText>特定の日付が決まっている場合は選択してください(任意)</HelpText>\n </InputGroup>\n \n <InputGroup>\n <Label htmlFor=\"work_hours\">\n 勤務時間<RequiredMark>*</RequiredMark>\n </Label>\n <Input\n type=\"text\"\n id=\"work_hours\"\n value={formData.work_hours}\n onChange={handleChange}\n placeholder=\"例: 9:00〜17:00、応相談 など\"\n />\n </InputGroup>\n \n <InputGroup>\n <Label htmlFor=\"seasonal_vegetables\">旬の野菜</Label>\n <Input\n type=\"text\"\n id=\"seasonal_vegetables\"\n value={formData.seasonal_vegetables}\n onChange={handleChange}\n placeholder=\"現在収穫中や栽培中の野菜・果物\"\n />\n </InputGroup>\n \n <InputGroup>\n <Label htmlFor=\"job_description\">\n 業務内容<RequiredMark>*</RequiredMark>\n </Label>\n <TextArea\n id=\"job_description\"\n value={formData.job_description}\n onChange={handleChange}\n placeholder=\"具体的な仕事内容を入力してください\"\n />\n </InputGroup>\n \n {/* 新規: 持ち物 */}\n <InputGroup>\n <Label htmlFor=\"belongings\">持ち物</Label>\n <TextArea\n id=\"belongings\"\n value={formData.belongings}\n onChange={handleChange}\n placeholder=\"例: 軍手、長靴、帽子、タオル、飲み物など\"\n style={{ minHeight: '100px' }}\n />\n <HelpText>アルバイトの方に持参してもらいたいものを記載してください</HelpText>\n </InputGroup>\n \n {/* 新規: 備考 */}\n <InputGroup>\n <Label htmlFor=\"remarks\">備考</Label>\n <TextArea\n id=\"remarks\"\n value={formData.remarks}\n onChange={handleChange}\n placeholder=\"その他の注意事項や補足情報があれば入力してください\"\n style={{ minHeight: '100px' }}\n />\n </InputGroup>\n \n <InputGroup>\n <Label htmlFor=\"positions_available\">\n 募集人数<RequiredMark>*</RequiredMark>\n </Label>\n <Input\n type=\"number\"\n id=\"positions_available\"\n value={formData.positions_available}\n onChange={handleChange}\n placeholder=\"募集人数を入力してください\"\n min=\"1\"\n />\n </InputGroup>\n \n {error && <ErrorMessage>{error}</ErrorMessage>}\n \n <Button type=\"submit\" $fullWidth>\n 確認画面へ進む\n </Button>\n </Form>\n )}\n </Card>\n </PostJobContainer>\n );\n};\n\nexport default PostJob;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}