Skip to content

Commit

Permalink
Merge pull request #155 from KUSITMS-29th-TEAM-B/feat/#101
Browse files Browse the repository at this point in the history
Feat/#101
  • Loading branch information
hyo-4 committed May 23, 2024
2 parents 4ce89dc + 59966de commit f56f891
Show file tree
Hide file tree
Showing 7 changed files with 116 additions and 57 deletions.
3 changes: 2 additions & 1 deletion src/components/JD/ExperienceList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ const ExperienceList: React.FC<ExperienceListProps> = ({
const getExperienceList = async (jdId: string, token: string) => {
try {
const response = await getAllExperienceList(jdId, token);
console.log(response);
//console.log(response);
setExperienceData(response.data.experiences);
} catch (error) {
console.error(error);
Expand Down Expand Up @@ -418,6 +418,7 @@ const ExperienceList: React.FC<ExperienceListProps> = ({
{keywordTabOption === "basic"
? currentBasicKeywords.map((item) => (
<Checkbox
key={item.id}
value={item.id}
label={item.name}
checked={isKeywordChecked(item)}
Expand Down
11 changes: 7 additions & 4 deletions src/components/common/Navbar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,14 @@ const Navbar = () => {
}
alt="profile"
style={{
width: "32px",
height: "32px",
width: "40px",
height: "40px",
borderRadius: "50%",
}}
onError={handleImgError}
/>
<UserInfo onClick={() => navigate(`/profile`)}>
{userData?.nickName}
<span className="username">{userData?.nickName + " "}</span>
</UserInfo>
</>
) : (
Expand Down Expand Up @@ -118,9 +118,12 @@ const MenuItem = styled.div`
`;

const UserInfo = styled.div`
${(props) => props.theme.fonts.cap2}
${(props) => props.theme.fonts.cap4}
color: ${(props) => props.theme.colors.neutral800};
flex-shrink: 0;
.username{
${(props) => props.theme.fonts.subtitle5}
}
`;

const LoginButton = styled.div`
Expand Down
2 changes: 0 additions & 2 deletions src/pages/JDDetailPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,6 @@ const JDDetailPage: React.FC = () => {
endedAt: response.data.endedAt,
};
setJdData(jdApiData);
console.log(jdData);
} catch (error) {
console.error(error);
alert(JSON.stringify(error));
Expand All @@ -119,7 +118,6 @@ const JDDetailPage: React.FC = () => {
const handleJDDelete = async (jobId: string, token: string) => {
try {
const response = await jobdelete(jobId, token);
console.log(response);
nav("/jd");
} catch (error) {
console.error(error);
Expand Down
44 changes: 30 additions & 14 deletions src/pages/JDEditPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,18 @@ import AirplaneToggle from "../components/JD/AirplaneToggle";
import BundleEditor from "../components/editor/BundleEditor";
import TimeSelector from "../components/common/TimePicker";
import OneDatePick from "../components/common/DatePicker";
import { useNavigate, useParams } from "react-router-dom";
import { useLocation, useNavigate, useParams } from "react-router-dom";
import Modal from "../components/JD/JDEditModal";
import ClockIcon from "../assets/icons/icon_clock_net600.svg";
import { jobdescriptionget, jobpatch, jobpost } from "../services/JD/jdApi";
import { JobAPI, JobDescriptionAPI } from "../types/type";
import { getCookie } from "../services/cookie";

const JDEditPage: React.FC = () => {
const [selectedTime, setSelectedTime] = useState<string>("10:00");
const [selectedTime, setSelectedTime] = useState<string | null>(null);
const [isModalOpen, setIsModalOpen] = useState(false);
const nav = useNavigate();
const location = useLocation();
const user = getCookie("user");
const [jdData, setJdData] = useState<JobDescriptionAPI>({
enterpriseName: "",
Expand All @@ -30,6 +31,18 @@ const JDEditPage: React.FC = () => {
const jdId = useParams().jdId;
const [isLoading, setIsLoading] = useState(true);

useEffect(() => {
const handleBackNavigation = () => {
openModal();
};

window.history.pushState(null, document.title, location.pathname);
window.addEventListener("popstate", handleBackNavigation);
return () => {
window.removeEventListener("popstate", handleBackNavigation);
};
}, [location.pathname]);

useEffect(() => {
window.scrollTo({
top: 0,
Expand All @@ -42,17 +55,21 @@ const JDEditPage: React.FC = () => {

// endTime 계산
const getEndTime = () => {
if (!jdData.endedAt) return null; // endDate가 null이면 null 반환

const hours = parseInt(selectedTime.split(":")[0]);
const minutes = parseInt(selectedTime.split(":")[1]);

const endTime = new Date(jdData.endedAt); // endDate를 기반으로 새 Date 객체 생성
endTime.setHours(hours, minutes, 0); // 시간과 분 설정
console.log("최종시간은", endTime);
return endTime;
if (!jdData.endedAt) return null;
if (selectedTime) {
const endTime = new Date(jdData.endedAt);
let [hours, minutes] = selectedTime.split(":");
endTime.setHours(parseInt(hours, 10) + 9, parseInt(minutes, 10), 0, 0);
setJdData({ ...jdData, endedAt: endTime });
}
};
const endTime = getEndTime();

useEffect(() => {
if (jdData.startAt && jdData.endedAt && selectedTime !== null) {
getEndTime();
}
console.log(selectedTime);
}, [selectedTime]);

const openModal = () => {
setIsModalOpen(true);
Expand Down Expand Up @@ -131,15 +148,14 @@ const JDEditPage: React.FC = () => {
enterpriseName: response.data.enterpriseName,
title: response.data.title,
remainingDate: response.data.remainingDate,
content: response.data.link,
content: response.data.content,
writeStatus: response.data.writeStatus,
link: response.data.link,
createdAt: response.data.createdAt,
startAt: response.data.startedAt,
endedAt: response.data.endedAt,
};
setJdData(jdApiData);
setSelectedTime(response.data.endedAt);
console.log(jdData);
} catch (error) {
console.error(error);
Expand Down
4 changes: 2 additions & 2 deletions src/pages/JDListPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ const JDListPage: React.FC = () => {
} else {
setpageTotal(1);
}
console.log(jobsData);

setIsLoading(false);
} catch (error) {
console.error(error);
Expand Down Expand Up @@ -205,7 +205,7 @@ const JDListPage: React.FC = () => {
}));
setJobsData(mappedData);
setpageTotal(response.data.totalPage);
console.log(jobsData);

setIsLoading(false);
} catch (error) {
console.error(error);
Expand Down
Loading

0 comments on commit f56f891

Please sign in to comment.