@scalant/career-hub 4.0.0 → 4.0.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -52891,43 +52891,45 @@ const jobPreviewApi = careerHubApi.injectEndpoints({
52891
52891
  country: $ = "IN",
52892
52892
  jobId: F,
52893
52893
  currentTab: V,
52894
- openMockInterviewModal: K = (ne, re) => {
52895
- console.log("Method not implemented. We should get it from MIT"), console.log(ne, re);
52894
+ openMockInterviewModal: K = (re, ae) => {
52895
+ console.log("Method not implemented. We should get it from MIT"), console.log(re, ae);
52896
52896
  },
52897
52897
  openResume: J = () => {
52898
52898
  console.log("Method not implemented. We should get it from MIT");
52899
52899
  },
52900
52900
  skip: ee = !1,
52901
- children: te
52901
+ onCloseResumeBuilder: te,
52902
+ children: ne
52902
52903
  }) => {
52903
- const { data: ne, isLoading: re, error: ae, refetch: oe } = useGetJobPreviewQuery(F, {
52904
+ const { data: re, isLoading: ae, error: oe, refetch: ie } = useGetJobPreviewQuery(F, {
52904
52905
  skip: !F || ee
52905
- }), [ie, le] = useState(), [ue, de] = useState(null), ve = {
52906
+ }), [le, ue] = useState(), [de, se] = useState(null), me = {
52906
52907
  analytics: C,
52907
- activeApplicationId: ue,
52908
- setActiveApplicationId: de,
52909
- activeTab: ie,
52910
- setActiveTab: (me) => {
52911
- le(me), C == null || C.click("Job Preview - Active Tab Changed", "Jobs Page V2", {
52912
- tab: me,
52908
+ activeApplicationId: de,
52909
+ setActiveApplicationId: se,
52910
+ activeTab: le,
52911
+ setActiveTab: (he) => {
52912
+ ue(he), C == null || C.click("Job Preview - Active Tab Changed", "Jobs Page V2", {
52913
+ tab: he,
52913
52914
  jobId: F
52914
52915
  });
52915
52916
  },
52916
52917
  country: $,
52917
52918
  jobId: F,
52918
- data: ne,
52919
- isLoading: re,
52920
- error: ae,
52921
- refetch: oe,
52919
+ data: re,
52920
+ isLoading: ae,
52921
+ error: oe,
52922
+ refetch: ie,
52922
52923
  openMockInterviewModal: K,
52923
52924
  openResume: J,
52924
- jobData: ne == null ? void 0 : ne.jobData,
52925
- companyData: ne == null ? void 0 : ne.companyData,
52926
- highlights: ne == null ? void 0 : ne.highlights,
52927
- eligibilityCriteria: ne == null ? void 0 : ne.eligibilityCriteria,
52928
- currentTab: V
52925
+ jobData: re == null ? void 0 : re.jobData,
52926
+ companyData: re == null ? void 0 : re.companyData,
52927
+ highlights: re == null ? void 0 : re.highlights,
52928
+ eligibilityCriteria: re == null ? void 0 : re.eligibilityCriteria,
52929
+ currentTab: V,
52930
+ onCloseResumeBuilder: te
52929
52931
  };
52930
- return /* @__PURE__ */ React__default.createElement(JobPreviewContext.Provider, { value: ve }, te);
52932
+ return /* @__PURE__ */ React__default.createElement(JobPreviewContext.Provider, { value: me }, ne);
52931
52933
  }, useJobPreview = () => {
52932
52934
  const C = useContext$1(JobPreviewContext);
52933
52935
  if (!C)
@@ -74104,39 +74106,46 @@ function ResumeFitmentCheck() {
74104
74106
  /* @__PURE__ */ React__default.createElement(Typography$1.Text, { className: styles$k.description }, "Receive instant insights and a fitment score to know which resume works best. Fix key gaps and boost your chances of getting noticed by top companies")
74105
74107
  );
74106
74108
  }
74107
- const container$2 = "_container_fpxq0_1", footer = "_footer_fpxq0_8", footerText = "_footerText_fpxq0_12", styles$j = {
74109
+ const container$2 = "_container_12cd3_1", footer = "_footer_12cd3_8", text = "_text_12cd3_12", heading$1 = "_heading_12cd3_16", styles$j = {
74108
74110
  container: container$2,
74109
74111
  footer,
74110
- footerText
74111
- }, NOTIFICATION_KEY = "resume-fitment-checklist", Description = () => {
74112
+ text,
74113
+ heading: heading$1
74114
+ }, NOTIFICATION_KEY = "resume-fitment-checklist", MAX_CHECKLIST_ITEMS = 5, Description = () => {
74112
74115
  const { activeResumeChecklist: C } = useSelector(($) => $.scalantCareerHub.resumeFitment) || {};
74113
- return /* @__PURE__ */ React__default.createElement(Flex$1, { vertical: !0, gap: 8 }, C.map(($, F) => /* @__PURE__ */ React__default.createElement(Checkbox$1, null, /* @__PURE__ */ React__default.createElement(Typography$1.Text, { key: F }, $))));
74114
- }, Footer = ({ closeNotification: C }) => /* @__PURE__ */ React__default.createElement(Flex$1, { justify: "space-between", className: styles$j.footer }, /* @__PURE__ */ React__default.createElement(Flex$1, { gap: 4, align: "center" }, /* @__PURE__ */ React__default.createElement(CheckCircleFilled$1, { style: { color: "#20A164" } }), /* @__PURE__ */ React__default.createElement(Typography$1.Text, { className: styles$j.footerText }, "When your resume is ready")), /* @__PURE__ */ React__default.createElement(Button$2, { type: "primary", onClick: C }, "Proceed to Apply"));
74116
+ return /* @__PURE__ */ React__default.createElement(Flex$1, { vertical: !0, gap: 8 }, /* @__PURE__ */ React__default.createElement(Typography$1.Text, { className: styles$j.text }, "Please update the remaining sections as per the feedback to boost hiring chances"), /* @__PURE__ */ React__default.createElement(Typography$1.Text, { strong: !0, className: styles$j.heading }, "Improvements to be made"), C.slice(0, MAX_CHECKLIST_ITEMS).map(($, F) => /* @__PURE__ */ React__default.createElement(Checkbox$1, null, /* @__PURE__ */ React__default.createElement(Typography$1.Text, { className: styles$j.text, key: F }, $))));
74117
+ }, Footer = ({ closeNotification: C }) => /* @__PURE__ */ React__default.createElement(Flex$1, { justify: "space-between", className: styles$j.footer }, /* @__PURE__ */ React__default.createElement(Flex$1, { gap: 4, align: "center" }, /* @__PURE__ */ React__default.createElement(CheckCircleFilled$1, { style: { color: "#20A164" } }), /* @__PURE__ */ React__default.createElement(Typography$1.Text, { className: styles$j.text }, "When your resume is ready")), /* @__PURE__ */ React__default.createElement(Button$2, { type: "primary", onClick: C }, "Proceed to Apply"));
74115
74118
  function ResumeFitmentChecklist() {
74116
- const C = useDispatch(), [$, F] = notification$1.useNotification(), { activeResumeChecklist: V, activeResumeName: K, isChecklistOpen: J } = useSelector((oe) => oe.scalantCareerHub.resumeFitment) || {}, { setActiveApplicationId: ee, jobId: te, analytics: ne } = useJobPreview(), re = useCallback(() => {
74119
+ const C = useDispatch(), [$, F] = notification$1.useNotification(), { activeResumeChecklist: V, activeResumeName: K, isChecklistOpen: J } = useSelector((le) => le.scalantCareerHub.resumeFitment) || {}, { setActiveApplicationId: ee, jobId: te, analytics: ne, onCloseResumeBuilder: re } = useJobPreview(), ae = useCallback(() => {
74117
74120
  $.destroy(NOTIFICATION_KEY), ee(te), C(setChecklistOpen({ isOpen: !1 })), ne == null || ne.click("Resume Fitment Checklist - Close", PRODUCT_NAME);
74118
- }, [ne, C, te, ee, $]), ae = useCallback(() => {
74121
+ }, [ne, C, te, ee, $]), oe = useCallback(() => {
74122
+ ae(), re(), ne == null || ne.click(
74123
+ "Resume Fitment Checklist - Proceed to Apply",
74124
+ PRODUCT_NAME
74125
+ );
74126
+ }, [ne, ae, re]), ie = useCallback(() => {
74119
74127
  !K || !(V != null && V.length) || ($.warning({
74120
74128
  key: NOTIFICATION_KEY,
74121
74129
  message: K,
74122
74130
  placement: "bottomRight",
74123
74131
  description: /* @__PURE__ */ React__default.createElement(Description, null),
74124
- onClose: re,
74132
+ onClose: ae,
74125
74133
  closeIcon: null,
74126
74134
  duration: null,
74127
- btn: /* @__PURE__ */ React__default.createElement(Footer, { closeNotification: re }),
74135
+ btn: /* @__PURE__ */ React__default.createElement(Footer, { closeNotification: oe }),
74128
74136
  className: styles$j.container
74129
74137
  }), ne == null || ne.click("Resume Fitment Checklist - Open", PRODUCT_NAME));
74130
74138
  }, [
74131
- V,
74132
74139
  K,
74140
+ V,
74133
74141
  $,
74134
- re,
74142
+ ae,
74143
+ oe,
74135
74144
  ne
74136
74145
  ]);
74137
74146
  return useEffect(() => {
74138
- J ? ae() : re();
74139
- }, [J, ae, re]), F;
74147
+ J ? ie() : ae();
74148
+ }, [J, ie, ae]), F;
74140
74149
  }
74141
74150
  const screeningCallService = careerHubApi.injectEndpoints({
74142
74151
  endpoints: (C) => ({
@@ -74385,21 +74394,22 @@ const JobApplicationForm = ({
74385
74394
  currentTab: ee,
74386
74395
  onUploadFile: te,
74387
74396
  onEditResume: ne,
74388
- onAddResume: re
74397
+ onAddResume: re,
74398
+ onCloseResumeBuilder: ae
74389
74399
  }) => {
74390
- var ue;
74391
- const { data: ae, isLoading: oe, isFetching: ie, error: le } = useGetJobPreviewQuery(K, {
74400
+ var de;
74401
+ const { data: oe, isLoading: ie, isFetching: le, error: ue } = useGetJobPreviewQuery(K, {
74392
74402
  skip: !K || !J
74393
74403
  });
74394
- return !J || !K ? null : oe || ie ? /* @__PURE__ */ React__default.createElement(Card$1, { className: `${styles$f.expandedJobView} ${styles$f.loadingCard}` }, /* @__PURE__ */ React__default.createElement(Spin$1, { size: "large" })) : le ? /* @__PURE__ */ React__default.createElement(Card$1, { className: styles$f.expandedJobView }, /* @__PURE__ */ React__default.createElement(
74404
+ return !J || !K ? null : ie || le ? /* @__PURE__ */ React__default.createElement(Card$1, { className: `${styles$f.expandedJobView} ${styles$f.loadingCard}` }, /* @__PURE__ */ React__default.createElement(Spin$1, { size: "large" })) : ue ? /* @__PURE__ */ React__default.createElement(Card$1, { className: styles$f.expandedJobView }, /* @__PURE__ */ React__default.createElement(
74395
74405
  Alert$1,
74396
74406
  {
74397
74407
  type: "error",
74398
74408
  message: "Failed to load job details",
74399
- description: ((ue = le == null ? void 0 : le.data) == null ? void 0 : ue.message) || (le == null ? void 0 : le.message) || "Please try again later",
74409
+ description: ((de = ue == null ? void 0 : ue.data) == null ? void 0 : de.message) || (ue == null ? void 0 : ue.message) || "Please try again later",
74400
74410
  showIcon: !0
74401
74411
  }
74402
- )) : ae ? /* @__PURE__ */ React__default.createElement(App$1, null, /* @__PURE__ */ React__default.createElement(
74412
+ )) : oe ? /* @__PURE__ */ React__default.createElement(App$1, null, /* @__PURE__ */ React__default.createElement(
74403
74413
  JobPreviewProvider,
74404
74414
  {
74405
74415
  analytics: C,
@@ -74408,7 +74418,8 @@ const JobApplicationForm = ({
74408
74418
  openResume: V,
74409
74419
  jobId: K,
74410
74420
  skip: !J,
74411
- currentTab: ee
74421
+ currentTab: ee,
74422
+ onCloseResumeBuilder: ae
74412
74423
  },
74413
74424
  /* @__PURE__ */ React__default.createElement(ExpandedJobViewContent, null),
74414
74425
  /* @__PURE__ */ React__default.createElement(
@@ -74434,7 +74445,8 @@ function JobDetails({
74434
74445
  onUploadFile: ee,
74435
74446
  currentTab: te,
74436
74447
  onEditResume: ne,
74437
- onAddResume: re
74448
+ onAddResume: re,
74449
+ onCloseResumeBuilder: ae
74438
74450
  }) {
74439
74451
  return useEffect(() => {
74440
74452
  K && (C == null || C.view("Job Details - Render", PRODUCT_NAME, {
@@ -74453,7 +74465,8 @@ function JobDetails({
74453
74465
  isActive: !!K,
74454
74466
  currentTab: te,
74455
74467
  onEditResume: ne,
74456
- onAddResume: re
74468
+ onAddResume: re,
74469
+ onCloseResumeBuilder: ae
74457
74470
  }
74458
74471
  )) : null;
74459
74472
  }
@@ -76034,40 +76047,42 @@ function JobsPage({
76034
76047
  onViewResume: te,
76035
76048
  onEditPreferences: ne,
76036
76049
  onEditResume: re,
76037
- onAddResume: ae
76050
+ onAddResume: ae,
76051
+ onCloseResumeBuilder: oe
76038
76052
  }) {
76039
- const oe = useDispatch(), ie = useSelector(
76040
- (he) => {
76041
- var pe, ce;
76042
- return ((ce = (pe = he.scalantCareerHub) == null ? void 0 : pe.filter) == null ? void 0 : ce.tab) || TAG_TO_TAB_MAPPING.relevant;
76053
+ const ie = useDispatch(), le = useSelector(
76054
+ (pe) => {
76055
+ var ce, fe;
76056
+ return ((fe = (ce = pe.scalantCareerHub) == null ? void 0 : ce.filter) == null ? void 0 : fe.tab) || TAG_TO_TAB_MAPPING.relevant;
76043
76057
  }
76044
- ), le = useRef(!1), { selectedJobId: ue } = useJobQueryParams({
76058
+ ), ue = useRef(!1), { selectedJobId: de } = useJobQueryParams({
76045
76059
  syncToURL: !0,
76046
76060
  syncFromURL: !0
76047
76061
  // Read from URL on mount
76048
76062
  });
76049
76063
  useLayoutEffect$2(() => {
76050
- if (!le.current) {
76051
- const he = getFiltersFromURL(), pe = Hn({}, he), fe = new URLSearchParams(window.location.search).get("job_ids");
76052
- fe && (pe.job_ids = [fe]), Object.keys(pe).length > 0 && oe(updateFiltersFromForm(pe)), le.current = !0;
76053
- }
76054
- }, [oe]), useEffect(() => {
76055
- oe(setProcessCounts(K));
76056
- }, [K, oe]), useEffect(() => {
76057
- J && oe(setUserProfileData(J));
76058
- }, [J, oe]);
76059
- const de = /* @__PURE__ */ React__default.createElement(JobsHeader, { analytics: C }), se = ue ? /* @__PURE__ */ React__default.createElement(
76064
+ if (!ue.current) {
76065
+ const pe = getFiltersFromURL(), ce = Hn({}, pe), ye = new URLSearchParams(window.location.search).get("job_ids");
76066
+ ye && (ce.job_ids = [ye]), Object.keys(ce).length > 0 && ie(updateFiltersFromForm(ce)), ue.current = !0;
76067
+ }
76068
+ }, [ie]), useEffect(() => {
76069
+ ie(setProcessCounts(K));
76070
+ }, [K, ie]), useEffect(() => {
76071
+ J && ie(setUserProfileData(J));
76072
+ }, [J, ie]);
76073
+ const se = /* @__PURE__ */ React__default.createElement(JobsHeader, { analytics: C }), ve = de ? /* @__PURE__ */ React__default.createElement(
76060
76074
  JobDetails,
76061
76075
  {
76062
76076
  analytics: C,
76063
- currentTab: ie,
76077
+ currentTab: le,
76064
76078
  onUploadFile: ee,
76065
76079
  country: $,
76066
76080
  openMockInterviewModal: F,
76067
76081
  openResume: V,
76068
- jobId: ue,
76082
+ jobId: de,
76069
76083
  onEditResume: re,
76070
- onAddResume: ae
76084
+ onAddResume: ae,
76085
+ onCloseResumeBuilder: oe
76071
76086
  }
76072
76087
  ) : /* @__PURE__ */ React__default.createElement(
76073
76088
  ProfileDetails,
@@ -76076,14 +76091,14 @@ function JobsPage({
76076
76091
  onViewResume: te,
76077
76092
  onEditPreferences: ne
76078
76093
  }
76079
- ), ve = ue ? SIDER_WIDTH.JOB_DETAILS : SIDER_WIDTH.PROFILE_DETAILS;
76094
+ ), me = de ? SIDER_WIDTH.JOB_DETAILS : SIDER_WIDTH.PROFILE_DETAILS;
76080
76095
  useEffect(() => {
76081
76096
  C && C.view("Jobs Page - Tab Rendered", PRODUCT_NAME, {
76082
- currentTab: ie
76097
+ currentTab: le
76083
76098
  });
76084
- }, [C, ie]);
76085
- const me = () => {
76086
- switch (ie) {
76099
+ }, [C, le]);
76100
+ const he = () => {
76101
+ switch (le) {
76087
76102
  case TAG_TO_TAB_MAPPING.relevant:
76088
76103
  return /* @__PURE__ */ React__default.createElement(RelevantJobsPage, { analytics: C });
76089
76104
  case TAG_TO_TAB_MAPPING.saved:
@@ -76099,12 +76114,12 @@ function JobsPage({
76099
76114
  JobsLayout,
76100
76115
  {
76101
76116
  analytics: C,
76102
- header: de,
76103
- sider: se,
76104
- siderWidth: ve,
76117
+ header: se,
76118
+ sider: ve,
76119
+ siderWidth: me,
76105
76120
  className: styles.jobsPage
76106
76121
  },
76107
- me()
76122
+ he()
76108
76123
  ), /* @__PURE__ */ React__default.createElement(FilterDrawer, { analytics: C }), /* @__PURE__ */ React__default.createElement(JobAlertModal, { analytics: C }));
76109
76124
  }
76110
76125
  JobsPage.propTypes = {