Newer
Older
FanFarm / system / V3fanfarm-ubuntu-local / V3fanfarm-frontend / node_modules / .cache / babel-loader / 96a9bf344e4d79879a3e942809f2fc5ac1c8cb6bc4d7122dfb5ab1204c96968b.json
@Fanfarm User Fanfarm User on 18 Dec 51 KB add all
{"ast":null,"code":"var _jsxFileName = \"/home/fanfarm/FanFarm/system/V3fanfarm-ubuntu-local/V3fanfarm-frontend/src/components/job/JobDetail.js\",\n  _s = $RefreshSig$();\n// src/components/job/JobDetail.js - 新フィールド表示対応版\nimport React, { useState, useEffect, useContext, useCallback } from 'react';\nimport { useParams, useNavigate } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { JobPostings, Applications } from '../../api/api';\nimport { AuthContext } from '../../context/AuthContext';\nimport Button from '../common/Button';\nimport Card from '../common/Card';\nimport JobLocationMap from '../map/JobLocationMap';\n\n// スタイルコンポーネント(既存のものをそのまま使用)\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst JobDetailContainer = styled.div`\n  max-width: 800px;\n  margin: 40px auto;\n  padding: 0 24px;\n`;\n_c = JobDetailContainer;\nconst JobTitle = styled.h1`\n  text-align: center;\n  margin-bottom: 24px;\n  color: var(--primary-color);\n`;\n_c2 = JobTitle;\nconst JobContent = styled.div`\n  margin-top: 32px;\n`;\n_c3 = JobContent;\nconst JobSection = styled.div`\n  margin-bottom: 24px;\n`;\n_c4 = JobSection;\nconst SectionTitle = styled.h2`\n  font-size: 22px;\n  margin-bottom: 16px;\n  color: var(--secondary-color);\n`;\n_c5 = SectionTitle;\nconst JobDetailItem = styled.p`\n  margin-bottom: 12px;\n  font-size: 18px;\n  line-height: 1.6;\n`;\n_c6 = JobDetailItem;\nconst JobLabel = styled.span`\n  font-weight: 700;\n  margin-right: 8px;\n`;\n\n// 新規: 日付表示用のスタイル\n_c7 = JobLabel;\nconst DateChipsContainer = styled.div`\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  margin-top: 8px;\n`;\n_c8 = DateChipsContainer;\nconst DateChip = styled.span`\n  background: #e8f5e9;\n  color: #1b5e20;\n  padding: 6px 12px;\n  border-radius: 16px;\n  font-size: 14px;\n  display: inline-block;\n`;\n_c9 = DateChip;\nconst RemarksSection = styled.div`\n  background: #fffef7;\n  border: 1px solid #fff3cd;\n  border-radius: var(--border-radius);\n  padding: 16px;\n  margin-top: 16px;\n`;\n_c0 = RemarksSection;\nconst ButtonGroup = styled.div`\n  display: flex;\n  justify-content: center;\n  gap: 16px;\n  margin-top: 32px;\n\n  @media (max-width: 768px) {\n    flex-direction: column;\n    gap: 8px;\n  }\n`;\n\n// その他のスタイルコンポーネント(既存のまま)\n_c1 = ButtonGroup;\nconst ErrorMessage = styled.p`\n  color: var(--error-color);\n  font-size: 16px;\n  margin-top: 16px;\n  text-align: center;\n`;\n_c10 = 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_c11 = SuccessMessage;\nconst Loading = styled.p`\n  text-align: center;\n  font-size: 18px;\n  color: var(--text-light);\n  margin: 48px 0;\n`;\n_c12 = Loading;\nconst Error = styled.p`\n  text-align: center;\n  font-size: 18px;\n  color: var(--error-color);\n  margin: 48px 0;\n`;\n_c13 = Error;\nconst Modal = styled.div`\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  background-color: rgba(0, 0, 0, 0.5);\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  z-index: 1000;\n`;\n_c14 = Modal;\nconst ModalContent = styled(Card)`\n  width: 90%;\n  max-width: 500px;\n  padding: 32px;\n  text-align: center;\n`;\n_c15 = ModalContent;\nconst ModalTitle = styled.h2`\n  margin-bottom: 24px;\n  color: var(--primary-color);\n`;\n_c16 = ModalTitle;\nconst ModalText = styled.p`\n  font-size: 18px;\n  margin-bottom: 24px;\n`;\n_c17 = ModalText;\nconst MapSection = styled(JobSection)`\n  border: 1px solid #e0e0e0;\n  border-radius: var(--border-radius);\n  padding: 20px;\n  background: #fafafa;\n`;\n_c18 = MapSection;\nconst LocationInfo = styled.div`\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  margin-bottom: 16px;\n  font-size: 16px;\n  color: var(--text-color);\n`;\n_c19 = LocationInfo;\nconst JobDetail = () => {\n  _s();\n  const {\n    id\n  } = useParams();\n  const {\n    currentUser\n  } = useContext(AuthContext);\n  const navigate = useNavigate();\n  const [job, setJob] = useState(null);\n  const [loading, setLoading] = useState(true);\n  const [error, setError] = useState('');\n  const [successMessage, setSuccessMessage] = useState('');\n  const [errorMessage, setErrorMessage] = useState('');\n  const [showConfirmModal, setShowConfirmModal] = useState(false);\n  const [locationData, setLocationData] = useState(null);\n  useEffect(() => {\n    const fetchJobDetail = async () => {\n      try {\n        const response = await JobPostings.getById(id);\n        setJob(response.data);\n        setLoading(false);\n      } catch (err) {\n        setError('求人情報の取得に失敗しました');\n        setLoading(false);\n      }\n    };\n    fetchJobDetail();\n  }, [id]);\n  const handleApply = () => {\n    if (!currentUser) {\n      navigate('/login');\n      return;\n    }\n    if (currentUser.user_type === 'farmer') {\n      setErrorMessage('農家ユーザーは求人に応募できません');\n      return;\n    }\n    setShowConfirmModal(true);\n  };\n  const handleConfirmApply = async () => {\n    try {\n      await Applications.apply({\n        job_posting_id: job.id,\n        applicant_id: currentUser.id\n      });\n      setSuccessMessage('応募が完了しました!');\n      setShowConfirmModal(false);\n      setTimeout(() => {\n        navigate('/profile');\n      }, 2000);\n    } catch (err) {\n      var _err$response, _err$response$data;\n      setErrorMessage(((_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      setShowConfirmModal(false);\n    }\n  };\n  const handleCancelApply = () => {\n    setShowConfirmModal(false);\n  };\n  const handleBack = () => {\n    navigate('/jobs');\n  };\n  const handleLocationFound = useCallback(result => {\n    setLocationData(result);\n    console.log('📍 求人地の位置情報を取得:', result);\n  }, []);\n  const handleLocationError = useCallback(error => {\n    console.warn('📍 求人地の位置情報取得エラー:', error);\n  }, []);\n  if (loading) {\n    return /*#__PURE__*/_jsxDEV(JobDetailContainer, {\n      children: /*#__PURE__*/_jsxDEV(Loading, {\n        children: \"\\u8AAD\\u307F\\u8FBC\\u307F\\u4E2D...\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 242,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 241,\n      columnNumber: 7\n    }, this);\n  }\n  if (error) {\n    return /*#__PURE__*/_jsxDEV(JobDetailContainer, {\n      children: [/*#__PURE__*/_jsxDEV(Error, {\n        children: error\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 250,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(ButtonGroup, {\n        children: /*#__PURE__*/_jsxDEV(Button, {\n          onClick: handleBack,\n          children: \"\\u6C42\\u4EBA\\u4E00\\u89A7\\u306B\\u623B\\u308B\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 252,\n          columnNumber: 11\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 251,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 249,\n      columnNumber: 7\n    }, this);\n  }\n  if (!job) {\n    return /*#__PURE__*/_jsxDEV(JobDetailContainer, {\n      children: [/*#__PURE__*/_jsxDEV(Error, {\n        children: \"\\u6C42\\u4EBA\\u60C5\\u5831\\u304C\\u898B\\u3064\\u304B\\u308A\\u307E\\u305B\\u3093\\u3067\\u3057\\u305F\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 261,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(ButtonGroup, {\n        children: /*#__PURE__*/_jsxDEV(Button, {\n          onClick: handleBack,\n          children: \"\\u6C42\\u4EBA\\u4E00\\u89A7\\u306B\\u623B\\u308B\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 263,\n          columnNumber: 11\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 262,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 260,\n      columnNumber: 7\n    }, this);\n  }\n\n  // 勤務日の配列化処理\n  const workDatesArray = job.work_dates ? job.work_dates.split(',').map(date => date.trim()) : [];\n  return /*#__PURE__*/_jsxDEV(JobDetailContainer, {\n    children: [/*#__PURE__*/_jsxDEV(Card, {\n      children: [/*#__PURE__*/_jsxDEV(JobTitle, {\n        children: job.company_name\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 275,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(JobContent, {\n        children: [/*#__PURE__*/_jsxDEV(JobSection, {\n          children: [/*#__PURE__*/_jsxDEV(SectionTitle, {\n            children: \"\\u52E4\\u52D9\\u60C5\\u5831\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 280,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(JobDetailItem, {\n            children: [/*#__PURE__*/_jsxDEV(JobLabel, {\n              children: \"\\u52E4\\u52D9\\u5730:\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 282,\n              columnNumber: 15\n            }, this), job.location]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 281,\n            columnNumber: 13\n          }, this), job.meeting_place && /*#__PURE__*/_jsxDEV(JobDetailItem, {\n            children: [/*#__PURE__*/_jsxDEV(JobLabel, {\n              children: \"\\u96C6\\u5408\\u5834\\u6240:\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 289,\n              columnNumber: 17\n            }, this), job.meeting_place]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 288,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(JobDetailItem, {\n            children: [/*#__PURE__*/_jsxDEV(JobLabel, {\n              children: \"\\u6642\\u7D66:\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 295,\n              columnNumber: 15\n            }, this), job.hourly_wage, \"\\u5186\"]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 294,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(JobDetailItem, {\n            children: [/*#__PURE__*/_jsxDEV(JobLabel, {\n              children: \"\\u52E4\\u52D9\\u66DC\\u65E5:\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 300,\n              columnNumber: 15\n            }, this), job.work_days]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 299,\n            columnNumber: 13\n          }, this), workDatesArray.length > 0 && /*#__PURE__*/_jsxDEV(JobDetailItem, {\n            children: [/*#__PURE__*/_jsxDEV(JobLabel, {\n              children: \"\\u52E4\\u52D9\\u65E5:\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 307,\n              columnNumber: 17\n            }, this), /*#__PURE__*/_jsxDEV(DateChipsContainer, {\n              children: workDatesArray.map((date, index) => /*#__PURE__*/_jsxDEV(DateChip, {\n                children: [\"\\uD83D\\uDCC5 \", new Date(date).toLocaleDateString('ja-JP')]\n              }, index, true, {\n                fileName: _jsxFileName,\n                lineNumber: 310,\n                columnNumber: 21\n              }, this))\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 308,\n              columnNumber: 17\n            }, this)]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 306,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(JobDetailItem, {\n            children: [/*#__PURE__*/_jsxDEV(JobLabel, {\n              children: \"\\u52E4\\u52D9\\u6642\\u9593:\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 319,\n              columnNumber: 15\n            }, this), job.work_hours]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 318,\n            columnNumber: 13\n          }, this), job.seasonal_vegetables && /*#__PURE__*/_jsxDEV(JobDetailItem, {\n            children: [/*#__PURE__*/_jsxDEV(JobLabel, {\n              children: \"\\u65EC\\u306E\\u91CE\\u83DC:\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 325,\n              columnNumber: 17\n            }, this), job.seasonal_vegetables]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 324,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(JobDetailItem, {\n            children: [/*#__PURE__*/_jsxDEV(JobLabel, {\n              children: \"\\u52DF\\u96C6\\u4EBA\\u6570:\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 331,\n              columnNumber: 15\n            }, this), job.positions_available, \"\\u4EBA \\uFF08\\u6B8B\\u308A\", job.positions_available - job.positions_filled, \"\\u4EBA\\uFF09\"]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 330,\n            columnNumber: 13\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 279,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(MapSection, {\n          children: [/*#__PURE__*/_jsxDEV(SectionTitle, {\n            children: \"\\uD83D\\uDCCD \\u52E4\\u52D9\\u5730\\u30DE\\u30C3\\u30D7\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 338,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(LocationInfo, {\n            children: [/*#__PURE__*/_jsxDEV(\"span\", {\n              children: \"\\uD83C\\uDFE0\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 340,\n              columnNumber: 15\n            }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n              children: job.location\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 341,\n              columnNumber: 15\n            }, this), locationData && /*#__PURE__*/_jsxDEV(\"span\", {\n              style: {\n                color: '#666',\n                fontSize: '14px'\n              },\n              children: [\"\\uFF08\\u7CBE\\u5EA6: \", Math.round(locationData.accuracy), \"%\\uFF09\"]\n            }, void 0, true, {\n              fileName: _jsxFileName,\n              lineNumber: 343,\n              columnNumber: 17\n            }, this)]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 339,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(JobLocationMap, {\n            address: job.location,\n            height: \"350px\",\n            zoom: 15,\n            showAccuracy: true,\n            enableRetry: true,\n            onLocationFound: handleLocationFound,\n            onLocationError: handleLocationError\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 348,\n            columnNumber: 13\n          }, this), locationData && locationData.note && /*#__PURE__*/_jsxDEV(\"div\", {\n            style: {\n              fontSize: '14px',\n              color: '#666',\n              marginTop: '8px',\n              fontStyle: 'italic'\n            },\n            children: [\"\\u2139\\uFE0F \", locationData.note]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 358,\n            columnNumber: 15\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 337,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(JobSection, {\n          children: [/*#__PURE__*/_jsxDEV(SectionTitle, {\n            children: \"\\u696D\\u52D9\\u5185\\u5BB9\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 371,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(JobDetailItem, {\n            children: job.job_description\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 372,\n            columnNumber: 13\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 370,\n          columnNumber: 11\n        }, this), job.belongings && /*#__PURE__*/_jsxDEV(JobSection, {\n          children: [/*#__PURE__*/_jsxDEV(SectionTitle, {\n            children: \"\\u6301\\u3061\\u7269\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 378,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(JobDetailItem, {\n            children: job.belongings\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 379,\n            columnNumber: 15\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 377,\n          columnNumber: 13\n        }, this), job.remarks && /*#__PURE__*/_jsxDEV(RemarksSection, {\n          children: [/*#__PURE__*/_jsxDEV(SectionTitle, {\n            children: \"\\uD83D\\uDCCC \\u5099\\u8003\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 386,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(JobDetailItem, {\n            style: {\n              marginBottom: 0\n            },\n            children: job.remarks\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 387,\n            columnNumber: 15\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 385,\n          columnNumber: 13\n        }, this), /*#__PURE__*/_jsxDEV(JobSection, {\n          children: [/*#__PURE__*/_jsxDEV(SectionTitle, {\n            children: \"\\u9023\\u7D61\\u5148\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 395,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(JobDetailItem, {\n            children: [/*#__PURE__*/_jsxDEV(JobLabel, {\n              children: \"\\u9023\\u7D61\\u5148:\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 397,\n              columnNumber: 15\n            }, this), job.contact]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 396,\n            columnNumber: 13\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 394,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(ButtonGroup, {\n          children: [/*#__PURE__*/_jsxDEV(Button, {\n            onClick: handleApply,\n            disabled: job.positions_filled >= job.positions_available,\n            children: job.positions_filled >= job.positions_available ? '募集終了' : '応募する'\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 403,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Button, {\n            $secondary: true,\n            onClick: handleBack,\n            children: \"\\u6C42\\u4EBA\\u4E00\\u89A7\\u306B\\u623B\\u308B\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 406,\n            columnNumber: 13\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 402,\n          columnNumber: 11\n        }, this), errorMessage && /*#__PURE__*/_jsxDEV(ErrorMessage, {\n          children: errorMessage\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 411,\n          columnNumber: 28\n        }, this), successMessage && /*#__PURE__*/_jsxDEV(SuccessMessage, {\n          children: successMessage\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 412,\n          columnNumber: 30\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 277,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 274,\n      columnNumber: 7\n    }, this), showConfirmModal && /*#__PURE__*/_jsxDEV(Modal, {\n      children: /*#__PURE__*/_jsxDEV(ModalContent, {\n        children: [/*#__PURE__*/_jsxDEV(ModalTitle, {\n          children: \"\\u5FDC\\u52DF\\u306E\\u78BA\\u8A8D\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 419,\n          columnNumber: 13\n        }, this), /*#__PURE__*/_jsxDEV(ModalText, {\n          children: [job.company_name, \"\\u306E\\u6C42\\u4EBA\\u306B\\u5FDC\\u52DF\\u3057\\u307E\\u3059\\u3002\\u3088\\u308D\\u3057\\u3044\\u3067\\u3059\\u304B\\uFF1F\"]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 420,\n          columnNumber: 13\n        }, this), /*#__PURE__*/_jsxDEV(ButtonGroup, {\n          children: [/*#__PURE__*/_jsxDEV(Button, {\n            onClick: handleConfirmApply,\n            children: \"\\u5FDC\\u52DF\\u3059\\u308B\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 424,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(Button, {\n            $secondary: true,\n            onClick: handleCancelApply,\n            children: \"\\u30AD\\u30E3\\u30F3\\u30BB\\u30EB\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 425,\n            columnNumber: 15\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 423,\n          columnNumber: 13\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 418,\n        columnNumber: 11\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 417,\n      columnNumber: 9\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 273,\n    columnNumber: 5\n  }, this);\n};\n_s(JobDetail, \"1yH3Z+iwynwzsHuqokvBRRF1TnM=\", false, function () {\n  return [useParams, useNavigate];\n});\n_c20 = JobDetail;\nexport default JobDetail;\nvar _c, _c2, _c3, _c4, _c5, _c6, _c7, _c8, _c9, _c0, _c1, _c10, _c11, _c12, _c13, _c14, _c15, _c16, _c17, _c18, _c19, _c20;\n$RefreshReg$(_c, \"JobDetailContainer\");\n$RefreshReg$(_c2, \"JobTitle\");\n$RefreshReg$(_c3, \"JobContent\");\n$RefreshReg$(_c4, \"JobSection\");\n$RefreshReg$(_c5, \"SectionTitle\");\n$RefreshReg$(_c6, \"JobDetailItem\");\n$RefreshReg$(_c7, \"JobLabel\");\n$RefreshReg$(_c8, \"DateChipsContainer\");\n$RefreshReg$(_c9, \"DateChip\");\n$RefreshReg$(_c0, \"RemarksSection\");\n$RefreshReg$(_c1, \"ButtonGroup\");\n$RefreshReg$(_c10, \"ErrorMessage\");\n$RefreshReg$(_c11, \"SuccessMessage\");\n$RefreshReg$(_c12, \"Loading\");\n$RefreshReg$(_c13, \"Error\");\n$RefreshReg$(_c14, \"Modal\");\n$RefreshReg$(_c15, \"ModalContent\");\n$RefreshReg$(_c16, \"ModalTitle\");\n$RefreshReg$(_c17, \"ModalText\");\n$RefreshReg$(_c18, \"MapSection\");\n$RefreshReg$(_c19, \"LocationInfo\");\n$RefreshReg$(_c20, \"JobDetail\");","map":{"version":3,"names":["React","useState","useEffect","useContext","useCallback","useParams","useNavigate","styled","JobPostings","Applications","AuthContext","Button","Card","JobLocationMap","jsxDEV","_jsxDEV","JobDetailContainer","div","_c","JobTitle","h1","_c2","JobContent","_c3","JobSection","_c4","SectionTitle","h2","_c5","JobDetailItem","p","_c6","JobLabel","span","_c7","DateChipsContainer","_c8","DateChip","_c9","RemarksSection","_c0","ButtonGroup","_c1","ErrorMessage","_c10","SuccessMessage","_c11","Loading","_c12","Error","_c13","Modal","_c14","ModalContent","_c15","ModalTitle","_c16","ModalText","_c17","MapSection","_c18","LocationInfo","_c19","JobDetail","_s","id","currentUser","navigate","job","setJob","loading","setLoading","error","setError","successMessage","setSuccessMessage","errorMessage","setErrorMessage","showConfirmModal","setShowConfirmModal","locationData","setLocationData","fetchJobDetail","response","getById","data","err","handleApply","user_type","handleConfirmApply","apply","job_posting_id","applicant_id","setTimeout","_err$response","_err$response$data","handleCancelApply","handleBack","handleLocationFound","result","console","log","handleLocationError","warn","children","fileName","_jsxFileName","lineNumber","columnNumber","onClick","workDatesArray","work_dates","split","map","date","trim","company_name","location","meeting_place","hourly_wage","work_days","length","index","Date","toLocaleDateString","work_hours","seasonal_vegetables","positions_available","positions_filled","style","color","fontSize","Math","round","accuracy","address","height","zoom","showAccuracy","enableRetry","onLocationFound","onLocationError","note","marginTop","fontStyle","job_description","belongings","remarks","marginBottom","contact","disabled","$secondary","_c20","$RefreshReg$"],"sources":["/home/fanfarm/FanFarm/system/V3fanfarm-ubuntu-local/V3fanfarm-frontend/src/components/job/JobDetail.js"],"sourcesContent":["// src/components/job/JobDetail.js - 新フィールド表示対応版\nimport React, { useState, useEffect, useContext, useCallback } from 'react';\nimport { useParams, useNavigate } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { JobPostings, Applications } from '../../api/api';\nimport { AuthContext } from '../../context/AuthContext';\nimport Button from '../common/Button';\nimport Card from '../common/Card';\nimport JobLocationMap from '../map/JobLocationMap';\n\n// スタイルコンポーネント(既存のものをそのまま使用)\nconst JobDetailContainer = styled.div`\n  max-width: 800px;\n  margin: 40px auto;\n  padding: 0 24px;\n`;\n\nconst JobTitle = styled.h1`\n  text-align: center;\n  margin-bottom: 24px;\n  color: var(--primary-color);\n`;\n\nconst JobContent = styled.div`\n  margin-top: 32px;\n`;\n\nconst JobSection = styled.div`\n  margin-bottom: 24px;\n`;\n\nconst SectionTitle = styled.h2`\n  font-size: 22px;\n  margin-bottom: 16px;\n  color: var(--secondary-color);\n`;\n\nconst JobDetailItem = styled.p`\n  margin-bottom: 12px;\n  font-size: 18px;\n  line-height: 1.6;\n`;\n\nconst JobLabel = styled.span`\n  font-weight: 700;\n  margin-right: 8px;\n`;\n\n// 新規: 日付表示用のスタイル\nconst DateChipsContainer = styled.div`\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  margin-top: 8px;\n`;\n\nconst DateChip = styled.span`\n  background: #e8f5e9;\n  color: #1b5e20;\n  padding: 6px 12px;\n  border-radius: 16px;\n  font-size: 14px;\n  display: inline-block;\n`;\n\nconst RemarksSection = styled.div`\n  background: #fffef7;\n  border: 1px solid #fff3cd;\n  border-radius: var(--border-radius);\n  padding: 16px;\n  margin-top: 16px;\n`;\n\nconst ButtonGroup = styled.div`\n  display: flex;\n  justify-content: center;\n  gap: 16px;\n  margin-top: 32px;\n\n  @media (max-width: 768px) {\n    flex-direction: column;\n    gap: 8px;\n  }\n`;\n\n// その他のスタイルコンポーネント(既存のまま)\nconst ErrorMessage = styled.p`\n  color: var(--error-color);\n  font-size: 16px;\n  margin-top: 16px;\n  text-align: center;\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 Loading = styled.p`\n  text-align: center;\n  font-size: 18px;\n  color: var(--text-light);\n  margin: 48px 0;\n`;\n\nconst Error = styled.p`\n  text-align: center;\n  font-size: 18px;\n  color: var(--error-color);\n  margin: 48px 0;\n`;\n\nconst Modal = styled.div`\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  background-color: rgba(0, 0, 0, 0.5);\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  z-index: 1000;\n`;\n\nconst ModalContent = styled(Card)`\n  width: 90%;\n  max-width: 500px;\n  padding: 32px;\n  text-align: center;\n`;\n\nconst ModalTitle = styled.h2`\n  margin-bottom: 24px;\n  color: var(--primary-color);\n`;\n\nconst ModalText = styled.p`\n  font-size: 18px;\n  margin-bottom: 24px;\n`;\n\nconst MapSection = styled(JobSection)`\n  border: 1px solid #e0e0e0;\n  border-radius: var(--border-radius);\n  padding: 20px;\n  background: #fafafa;\n`;\n\nconst LocationInfo = styled.div`\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  margin-bottom: 16px;\n  font-size: 16px;\n  color: var(--text-color);\n`;\n\nconst JobDetail = () => {\n  const { id } = useParams();\n  const { currentUser } = useContext(AuthContext);\n  const navigate = useNavigate();\n  const [job, setJob] = useState(null);\n  const [loading, setLoading] = useState(true);\n  const [error, setError] = useState('');\n  const [successMessage, setSuccessMessage] = useState('');\n  const [errorMessage, setErrorMessage] = useState('');\n  const [showConfirmModal, setShowConfirmModal] = useState(false);\n  const [locationData, setLocationData] = useState(null);\n\n  useEffect(() => {\n    const fetchJobDetail = async () => {\n      try {\n        const response = await JobPostings.getById(id);\n        setJob(response.data);\n        setLoading(false);\n      } catch (err) {\n        setError('求人情報の取得に失敗しました');\n        setLoading(false);\n      }\n    };\n\n    fetchJobDetail();\n  }, [id]);\n\n  const handleApply = () => {\n    if (!currentUser) {\n      navigate('/login');\n      return;\n    }\n\n    if (currentUser.user_type === 'farmer') {\n      setErrorMessage('農家ユーザーは求人に応募できません');\n      return;\n    }\n\n    setShowConfirmModal(true);\n  };\n\n  const handleConfirmApply = async () => {\n    try {\n      await Applications.apply({\n        job_posting_id: job.id,\n        applicant_id: currentUser.id\n      });\n      \n      setSuccessMessage('応募が完了しました!');\n      setShowConfirmModal(false);\n      \n      setTimeout(() => {\n        navigate('/profile');\n      }, 2000);\n    } catch (err) {\n      setErrorMessage(err.response?.data?.error || '応募に失敗しました');\n      setShowConfirmModal(false);\n    }\n  };\n\n  const handleCancelApply = () => {\n    setShowConfirmModal(false);\n  };\n\n  const handleBack = () => {\n    navigate('/jobs');\n  };\n\n  const handleLocationFound = useCallback((result) => {\n    setLocationData(result);\n    console.log('📍 求人地の位置情報を取得:', result);\n  }, []);\n\n  const handleLocationError = useCallback((error) => {\n    console.warn('📍 求人地の位置情報取得エラー:', error);\n  }, []);\n\n  if (loading) {\n    return (\n      <JobDetailContainer>\n        <Loading>読み込み中...</Loading>\n      </JobDetailContainer>\n    );\n  }\n\n  if (error) {\n    return (\n      <JobDetailContainer>\n        <Error>{error}</Error>\n        <ButtonGroup>\n          <Button onClick={handleBack}>求人一覧に戻る</Button>\n        </ButtonGroup>\n      </JobDetailContainer>\n    );\n  }\n\n  if (!job) {\n    return (\n      <JobDetailContainer>\n        <Error>求人情報が見つかりませんでした</Error>\n        <ButtonGroup>\n          <Button onClick={handleBack}>求人一覧に戻る</Button>\n        </ButtonGroup>\n      </JobDetailContainer>\n    );\n  }\n\n  // 勤務日の配列化処理\n  const workDatesArray = job.work_dates ? job.work_dates.split(',').map(date => date.trim()) : [];\n\n  return (\n    <JobDetailContainer>\n      <Card>\n        <JobTitle>{job.company_name}</JobTitle>\n        \n        <JobContent>\n          {/* 勤務情報セクション */}\n          <JobSection>\n            <SectionTitle>勤務情報</SectionTitle>\n            <JobDetailItem>\n              <JobLabel>勤務地:</JobLabel>\n              {job.location}\n            </JobDetailItem>\n            \n            {/* 新規: 集合場所 */}\n            {job.meeting_place && (\n              <JobDetailItem>\n                <JobLabel>集合場所:</JobLabel>\n                {job.meeting_place}\n              </JobDetailItem>\n            )}\n            \n            <JobDetailItem>\n              <JobLabel>時給:</JobLabel>\n              {job.hourly_wage}円\n            </JobDetailItem>\n            \n            <JobDetailItem>\n              <JobLabel>勤務曜日:</JobLabel>\n              {job.work_days}\n            </JobDetailItem>\n            \n            {/* 新規: 具体的な勤務日 */}\n            {workDatesArray.length > 0 && (\n              <JobDetailItem>\n                <JobLabel>勤務日:</JobLabel>\n                <DateChipsContainer>\n                  {workDatesArray.map((date, index) => (\n                    <DateChip key={index}>\n                      📅 {new Date(date).toLocaleDateString('ja-JP')}\n                    </DateChip>\n                  ))}\n                </DateChipsContainer>\n              </JobDetailItem>\n            )}\n            \n            <JobDetailItem>\n              <JobLabel>勤務時間:</JobLabel>\n              {job.work_hours}\n            </JobDetailItem>\n            \n            {job.seasonal_vegetables && (\n              <JobDetailItem>\n                <JobLabel>旬の野菜:</JobLabel>\n                {job.seasonal_vegetables}\n              </JobDetailItem>\n            )}\n            \n            <JobDetailItem>\n              <JobLabel>募集人数:</JobLabel>\n              {job.positions_available}人 (残り{job.positions_available - job.positions_filled}人)\n            </JobDetailItem>\n          </JobSection>\n\n          {/* マップセクション(既存) */}\n          <MapSection>\n            <SectionTitle>📍 勤務地マップ</SectionTitle>\n            <LocationInfo>\n              <span>🏠</span>\n              <span>{job.location}</span>\n              {locationData && (\n                <span style={{ color: '#666', fontSize: '14px' }}>\n                  (精度: {Math.round(locationData.accuracy)}%)\n                </span>\n              )}\n            </LocationInfo>\n            <JobLocationMap \n              address={job.location} \n              height=\"350px\"\n              zoom={15}\n              showAccuracy={true}\n              enableRetry={true}\n              onLocationFound={handleLocationFound}\n              onLocationError={handleLocationError}\n            />\n            {locationData && locationData.note && (\n              <div style={{ \n                fontSize: '14px', \n                color: '#666', \n                marginTop: '8px',\n                fontStyle: 'italic'\n              }}>\n                ℹ️ {locationData.note}\n              </div>\n            )}\n          </MapSection>\n          \n          {/* 業務内容セクション */}\n          <JobSection>\n            <SectionTitle>業務内容</SectionTitle>\n            <JobDetailItem>{job.job_description}</JobDetailItem>\n          </JobSection>\n          \n          {/* 新規: 持ち物セクション */}\n          {job.belongings && (\n            <JobSection>\n              <SectionTitle>持ち物</SectionTitle>\n              <JobDetailItem>{job.belongings}</JobDetailItem>\n            </JobSection>\n          )}\n          \n          {/* 新規: 備考セクション */}\n          {job.remarks && (\n            <RemarksSection>\n              <SectionTitle>📌 備考</SectionTitle>\n              <JobDetailItem style={{ marginBottom: 0 }}>\n                {job.remarks}\n              </JobDetailItem>\n            </RemarksSection>\n          )}\n          \n          {/* 連絡先セクション */}\n          <JobSection>\n            <SectionTitle>連絡先</SectionTitle>\n            <JobDetailItem>\n              <JobLabel>連絡先:</JobLabel>\n              {job.contact}\n            </JobDetailItem>\n          </JobSection>\n          \n          <ButtonGroup>\n            <Button onClick={handleApply} disabled={job.positions_filled >= job.positions_available}>\n              {job.positions_filled >= job.positions_available ? '募集終了' : '応募する'}\n            </Button>\n            <Button $secondary onClick={handleBack}>\n              求人一覧に戻る\n            </Button>\n          </ButtonGroup>\n          \n          {errorMessage && <ErrorMessage>{errorMessage}</ErrorMessage>}\n          {successMessage && <SuccessMessage>{successMessage}</SuccessMessage>}\n        </JobContent>\n      </Card>\n      \n      {showConfirmModal && (\n        <Modal>\n          <ModalContent>\n            <ModalTitle>応募の確認</ModalTitle>\n            <ModalText>\n              {job.company_name}の求人に応募します。よろしいですか?\n            </ModalText>\n            <ButtonGroup>\n              <Button onClick={handleConfirmApply}>応募する</Button>\n              <Button $secondary onClick={handleCancelApply}>キャンセル</Button>\n            </ButtonGroup>\n          </ModalContent>\n        </Modal>\n      )}\n    </JobDetailContainer>\n  );\n};\n\nexport default JobDetail;\n"],"mappings":";;AAAA;AACA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,EAAEC,UAAU,EAAEC,WAAW,QAAQ,OAAO;AAC3E,SAASC,SAAS,EAAEC,WAAW,QAAQ,kBAAkB;AACzD,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAASC,WAAW,EAAEC,YAAY,QAAQ,eAAe;AACzD,SAASC,WAAW,QAAQ,2BAA2B;AACvD,OAAOC,MAAM,MAAM,kBAAkB;AACrC,OAAOC,IAAI,MAAM,gBAAgB;AACjC,OAAOC,cAAc,MAAM,uBAAuB;;AAElD;AAAA,SAAAC,MAAA,IAAAC,OAAA;AACA,MAAMC,kBAAkB,GAAGT,MAAM,CAACU,GAAG;AACrC;AACA;AACA;AACA,CAAC;AAACC,EAAA,GAJIF,kBAAkB;AAMxB,MAAMG,QAAQ,GAAGZ,MAAM,CAACa,EAAE;AAC1B;AACA;AACA;AACA,CAAC;AAACC,GAAA,GAJIF,QAAQ;AAMd,MAAMG,UAAU,GAAGf,MAAM,CAACU,GAAG;AAC7B;AACA,CAAC;AAACM,GAAA,GAFID,UAAU;AAIhB,MAAME,UAAU,GAAGjB,MAAM,CAACU,GAAG;AAC7B;AACA,CAAC;AAACQ,GAAA,GAFID,UAAU;AAIhB,MAAME,YAAY,GAAGnB,MAAM,CAACoB,EAAE;AAC9B;AACA;AACA;AACA,CAAC;AAACC,GAAA,GAJIF,YAAY;AAMlB,MAAMG,aAAa,GAAGtB,MAAM,CAACuB,CAAC;AAC9B;AACA;AACA;AACA,CAAC;AAACC,GAAA,GAJIF,aAAa;AAMnB,MAAMG,QAAQ,GAAGzB,MAAM,CAAC0B,IAAI;AAC5B;AACA;AACA,CAAC;;AAED;AAAAC,GAAA,GALMF,QAAQ;AAMd,MAAMG,kBAAkB,GAAG5B,MAAM,CAACU,GAAG;AACrC;AACA;AACA;AACA;AACA,CAAC;AAACmB,GAAA,GALID,kBAAkB;AAOxB,MAAME,QAAQ,GAAG9B,MAAM,CAAC0B,IAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAACK,GAAA,GAPID,QAAQ;AASd,MAAME,cAAc,GAAGhC,MAAM,CAACU,GAAG;AACjC;AACA;AACA;AACA;AACA;AACA,CAAC;AAACuB,GAAA,GANID,cAAc;AAQpB,MAAME,WAAW,GAAGlC,MAAM,CAACU,GAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AAAAyB,GAAA,GAZMD,WAAW;AAajB,MAAME,YAAY,GAAGpC,MAAM,CAACuB,CAAC;AAC7B;AACA;AACA;AACA;AACA,CAAC;AAACc,IAAA,GALID,YAAY;AAOlB,MAAME,cAAc,GAAGtC,MAAM,CAACuB,CAAC;AAC/B;AACA;AACA;AACA;AACA;AACA,CAAC;AAACgB,IAAA,GANID,cAAc;AAQpB,MAAME,OAAO,GAAGxC,MAAM,CAACuB,CAAC;AACxB;AACA;AACA;AACA;AACA,CAAC;AAACkB,IAAA,GALID,OAAO;AAOb,MAAME,KAAK,GAAG1C,MAAM,CAACuB,CAAC;AACtB;AACA;AACA;AACA;AACA,CAAC;AAACoB,IAAA,GALID,KAAK;AAOX,MAAME,KAAK,GAAG5C,MAAM,CAACU,GAAG;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAACmC,IAAA,GAXID,KAAK;AAaX,MAAME,YAAY,GAAG9C,MAAM,CAACK,IAAI,CAAC;AACjC;AACA;AACA;AACA;AACA,CAAC;AAAC0C,IAAA,GALID,YAAY;AAOlB,MAAME,UAAU,GAAGhD,MAAM,CAACoB,EAAE;AAC5B;AACA;AACA,CAAC;AAAC6B,IAAA,GAHID,UAAU;AAKhB,MAAME,SAAS,GAAGlD,MAAM,CAACuB,CAAC;AAC1B;AACA;AACA,CAAC;AAAC4B,IAAA,GAHID,SAAS;AAKf,MAAME,UAAU,GAAGpD,MAAM,CAACiB,UAAU,CAAC;AACrC;AACA;AACA;AACA;AACA,CAAC;AAACoC,IAAA,GALID,UAAU;AAOhB,MAAME,YAAY,GAAGtD,MAAM,CAACU,GAAG;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAAC6C,IAAA,GAPID,YAAY;AASlB,MAAME,SAAS,GAAGA,CAAA,KAAM;EAAAC,EAAA;EACtB,MAAM;IAAEC;EAAG,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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}