richie-education 3.1.3-dev12 → 3.1.3-dev17

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.
Files changed (73) hide show
  1. package/js/api/joanie.ts +8 -8
  2. package/js/components/ContractFrame/OrganizationContractFrame.spec.tsx +12 -11
  3. package/js/components/ContractFrame/OrganizationContractFrame.tsx +4 -4
  4. package/js/components/CourseGlimpse/utils.ts +28 -22
  5. package/js/components/CourseGlimpseList/utils.ts +2 -2
  6. package/js/components/PurchaseButton/index.tsx +3 -3
  7. package/js/components/SaleTunnel/GenericSaleTunnel.tsx +3 -3
  8. package/js/components/SaleTunnel/SaleTunnelInformation/index.tsx +5 -3
  9. package/js/components/SaleTunnel/index.full-process.spec.tsx +3 -3
  10. package/js/components/SaleTunnel/index.spec.tsx +76 -63
  11. package/js/components/SaleTunnel/index.tsx +2 -2
  12. package/js/components/TeacherDashboardCourseList/index.spec.tsx +3 -3
  13. package/js/components/TeacherDashboardCourseList/index.tsx +2 -2
  14. package/js/hooks/useContractArchive/index.ts +3 -3
  15. package/js/hooks/useCourseProductUnion/index.spec.tsx +16 -16
  16. package/js/hooks/useCourseProductUnion/index.ts +7 -7
  17. package/js/hooks/useCourseProducts.ts +4 -4
  18. package/js/hooks/useDefaultOrganizationId/index.tsx +4 -4
  19. package/js/hooks/useOffering/index.ts +32 -0
  20. package/js/hooks/useTeacherCoursesSearch/index.tsx +4 -4
  21. package/js/hooks/useTeacherPendingContractsCount/index.ts +4 -4
  22. package/js/pages/DashboardCourses/index.spec.tsx +17 -14
  23. package/js/pages/TeacherDashboardContractsLayout/TeacherDashboardContracts/index.spec.tsx +11 -8
  24. package/js/pages/TeacherDashboardContractsLayout/TeacherDashboardContracts/index.tsx +6 -3
  25. package/js/pages/TeacherDashboardContractsLayout/components/BulkDownloadContractButton/index.spec.tsx +11 -11
  26. package/js/pages/TeacherDashboardContractsLayout/components/BulkDownloadContractButton/index.timer.spec.tsx +10 -10
  27. package/js/pages/TeacherDashboardContractsLayout/components/BulkDownloadContractButton/index.tsx +4 -4
  28. package/js/pages/TeacherDashboardContractsLayout/components/ContractActionsBar/index.spec.tsx +5 -5
  29. package/js/pages/TeacherDashboardContractsLayout/components/ContractActionsBar/index.tsx +8 -8
  30. package/js/pages/TeacherDashboardContractsLayout/components/SignOrganizationContractButton/index.spec.tsx +6 -6
  31. package/js/pages/TeacherDashboardContractsLayout/components/SignOrganizationContractButton/index.tsx +4 -4
  32. package/js/pages/TeacherDashboardContractsLayout/hooks/useCheckContractArchiveExists/index.spec.tsx +7 -7
  33. package/js/pages/TeacherDashboardContractsLayout/hooks/useCheckContractArchiveExists/index.tsx +5 -5
  34. package/js/pages/TeacherDashboardContractsLayout/hooks/useDownloadContractArchive/contractArchiveLocalStorage.spec.ts +21 -21
  35. package/js/pages/TeacherDashboardContractsLayout/hooks/useDownloadContractArchive/contractArchiveLocalStorage.ts +19 -13
  36. package/js/pages/TeacherDashboardContractsLayout/hooks/useDownloadContractArchive/index.spec.tsx +11 -11
  37. package/js/pages/TeacherDashboardContractsLayout/hooks/useDownloadContractArchive/index.tsx +6 -6
  38. package/js/pages/TeacherDashboardContractsLayout/hooks/useHasContractToDownload/index.tsx +6 -3
  39. package/js/pages/TeacherDashboardContractsLayout/hooks/useTeacherContractFilters/index.spec.tsx +16 -16
  40. package/js/pages/TeacherDashboardContractsLayout/hooks/useTeacherContractFilters/index.tsx +4 -4
  41. package/js/pages/TeacherDashboardContractsLayout/hooks/useTeacherContractsToSign.tsx +7 -4
  42. package/js/pages/TeacherDashboardCourseLearnersLayout/hooks/useCourseLearnersFilters/index.spec.tsx +21 -21
  43. package/js/pages/TeacherDashboardCourseLearnersLayout/hooks/useCourseLearnersFilters/index.ts +5 -5
  44. package/js/pages/TeacherDashboardCourseLearnersLayout/index.spec.tsx +55 -55
  45. package/js/pages/TeacherDashboardCourseLearnersLayout/index.tsx +1 -1
  46. package/js/pages/TeacherDashboardCoursesLoader/index.spec.tsx +11 -11
  47. package/js/pages/TeacherDashboardOrganizationCourseLoader/index.spec.tsx +11 -11
  48. package/js/pages/TeacherDashboardTraining/TeacherDashboardTrainingLoader.tsx +7 -7
  49. package/js/pages/TeacherDashboardTraining/index.spec.tsx +25 -25
  50. package/js/pages/TeacherDashboardTraining/index.tsx +16 -12
  51. package/js/types/Joanie.ts +27 -20
  52. package/js/utils/test/factories/joanie.ts +14 -11
  53. package/js/utils/test/mockCourseProductWithOrder.ts +4 -4
  54. package/js/widgets/Dashboard/components/DashboardItem/Enrollment/DashboardItemEnrollment.tsx +1 -1
  55. package/js/widgets/Dashboard/components/DashboardItem/Enrollment/ProductCertificateFooter/index.spec.tsx +1 -1
  56. package/js/widgets/Dashboard/components/DashboardItem/Order/DashboardItemOrder.tsx +3 -3
  57. package/js/widgets/Dashboard/components/DashboardItem/Order/DashboardItemOrderContract.useUnionResource.cache.spec.tsx +1 -1
  58. package/js/widgets/Dashboard/components/DashboardItem/Order/Installment/index.tsx +4 -4
  59. package/js/widgets/Dashboard/components/DashboardItem/stories.mock.ts +1 -1
  60. package/js/widgets/Dashboard/components/DashboardSidebar/components/ContractNavLink/index.spec.tsx +23 -23
  61. package/js/widgets/Dashboard/components/DashboardSidebar/components/ContractNavLink/index.tsx +4 -4
  62. package/js/widgets/Dashboard/components/TeacherDashboardCourseSidebar/index.spec.tsx +20 -17
  63. package/js/widgets/Dashboard/components/TeacherDashboardCourseSidebar/index.tsx +22 -16
  64. package/js/widgets/Dashboard/components/TeacherDashboardCourseSidebar/utils.ts +4 -4
  65. package/js/widgets/Dashboard/components/TeacherDashboardOrganizationSidebar/index.tsx +3 -3
  66. package/js/widgets/Dashboard/utils/teacherDashboardPaths.tsx +4 -4
  67. package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/CourseProductItemFooter/index.tsx +14 -14
  68. package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/index.spec.tsx +105 -75
  69. package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/index.stories.tsx +6 -4
  70. package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/index.tsx +27 -20
  71. package/js/widgets/SyllabusCourseRunsList/index.spec.tsx +8 -8
  72. package/package.json +1 -1
  73. package/js/hooks/useOffer/index.ts +0 -32
@@ -7,7 +7,7 @@ import { MemoryRouter, Route, Routes } from 'react-router';
7
7
  import { RichieContextFactory as mockRichieContextFactory } from 'utils/test/factories/richie';
8
8
  import { createTestQueryClient } from 'utils/test/createTestQueryClient';
9
9
  import JoanieSessionProvider from 'contexts/SessionContext/JoanieSessionProvider';
10
- import { OfferFactory, OrganizationFactory } from 'utils/test/factories/joanie';
10
+ import { OfferingFactory, OrganizationFactory } from 'utils/test/factories/joanie';
11
11
  import { ContractState } from 'types/Joanie';
12
12
  import useTeacherContractFilters from '.';
13
13
 
@@ -67,13 +67,13 @@ describe('useTeacherContractFilters', () => {
67
67
  expect(result.current.initialFilters).toStrictEqual({
68
68
  contract_ids: [],
69
69
  organization_id: defaultOrganization.id,
70
- offer_id: undefined,
70
+ offering_id: undefined,
71
71
  signature_state: ContractState.SIGNED,
72
72
  });
73
73
  expect(result.current.filters).toStrictEqual({
74
74
  contract_ids: [],
75
75
  organization_id: defaultOrganization.id,
76
- offer_id: undefined,
76
+ offering_id: undefined,
77
77
  signature_state: ContractState.SIGNED,
78
78
  });
79
79
  });
@@ -83,7 +83,7 @@ describe('useTeacherContractFilters', () => {
83
83
  const defaultOrganization = OrganizationFactory({ id: 'default' }).one();
84
84
  const filteredOrganization = OrganizationFactory({ id: 'filtered' }).one();
85
85
  const routeOrganization = OrganizationFactory({ id: 'route' }).one();
86
- const routeOffer = OfferFactory().one();
86
+ const routeOffering = OfferingFactory().one();
87
87
  // fetching user's organizations to initialize default organizationId.
88
88
  fetchMock.get('https://joanie.test/api/v1.0/organizations/', [
89
89
  defaultOrganization,
@@ -92,8 +92,8 @@ describe('useTeacherContractFilters', () => {
92
92
  const { result } = renderHook(useTeacherContractFilters, {
93
93
  wrapper: ({ children }) => (
94
94
  <Wrapper
95
- routePath="/:organizationId/:offerId"
96
- initialEntry={`/${routeOrganization.id}/${routeOffer.id}?organization_id=${filteredOrganization.id}&signature_state=${ContractState?.UNSIGNED}&contract_ids=1&contract_ids=2`}
95
+ routePath="/:organizationId/:offeringId"
96
+ initialEntry={`/${routeOrganization.id}/${routeOffering.id}?organization_id=${filteredOrganization.id}&signature_state=${ContractState?.UNSIGNED}&contract_ids=1&contract_ids=2`}
97
97
  >
98
98
  {children}
99
99
  </Wrapper>
@@ -104,13 +104,13 @@ describe('useTeacherContractFilters', () => {
104
104
  expect(result.current.initialFilters).toStrictEqual({
105
105
  contract_ids: ['1', '2'],
106
106
  organization_id: routeOrganization.id,
107
- offer_id: routeOffer.id,
107
+ offering_id: routeOffering.id,
108
108
  signature_state: ContractState.UNSIGNED,
109
109
  });
110
110
  expect(result.current.filters).toStrictEqual({
111
111
  contract_ids: ['1', '2'],
112
112
  organization_id: routeOrganization.id,
113
- offer_id: routeOffer.id,
113
+ offering_id: routeOffering.id,
114
114
  signature_state: ContractState.UNSIGNED,
115
115
  });
116
116
  });
@@ -119,7 +119,7 @@ describe('useTeacherContractFilters', () => {
119
119
  it("should use organizationId from query parameters when it's not in route params", async () => {
120
120
  const defaultOrganization = OrganizationFactory({ id: 'default' }).one();
121
121
  const filteredOrganization = OrganizationFactory({ id: 'filtered' }).one();
122
- const routeOffer = OfferFactory({ id: 'route' }).one();
122
+ const routeOffering = OfferingFactory({ id: 'route' }).one();
123
123
  // fetching user's organizations to initialize default organizationId.
124
124
  fetchMock.get('https://joanie.test/api/v1.0/organizations/', [
125
125
  defaultOrganization,
@@ -128,8 +128,8 @@ describe('useTeacherContractFilters', () => {
128
128
  const { result } = renderHook(useTeacherContractFilters, {
129
129
  wrapper: ({ children }) => (
130
130
  <Wrapper
131
- routePath="/:offerId"
132
- initialEntry={`/${routeOffer.id}/?organization_id=${filteredOrganization.id}&signature_state=${ContractState?.UNSIGNED}&contract_ids=1&contract_ids=2`}
131
+ routePath="/:offeringId"
132
+ initialEntry={`/${routeOffering.id}/?organization_id=${filteredOrganization.id}&signature_state=${ContractState?.UNSIGNED}&contract_ids=1&contract_ids=2`}
133
133
  >
134
134
  {children}
135
135
  </Wrapper>
@@ -140,13 +140,13 @@ describe('useTeacherContractFilters', () => {
140
140
  expect(result.current.initialFilters).toStrictEqual({
141
141
  contract_ids: ['1', '2'],
142
142
  organization_id: filteredOrganization.id,
143
- offer_id: routeOffer.id,
143
+ offering_id: routeOffering.id,
144
144
  signature_state: ContractState.UNSIGNED,
145
145
  });
146
146
  expect(result.current.filters).toStrictEqual({
147
147
  contract_ids: ['1', '2'],
148
148
  organization_id: filteredOrganization.id,
149
- offer_id: routeOffer.id,
149
+ offering_id: routeOffering.id,
150
150
  signature_state: ContractState.UNSIGNED,
151
151
  });
152
152
  });
@@ -155,7 +155,7 @@ describe('useTeacherContractFilters', () => {
155
155
  it('setFilters should update filter state', async () => {
156
156
  const defaultOrganization = OrganizationFactory({ id: 'default' }).one();
157
157
  const routeOrganization = OrganizationFactory({ id: 'route' }).one();
158
- const routeOffer = OfferFactory().one();
158
+ const routeOffering = OfferingFactory().one();
159
159
  // fetching user's organizations to initialize default organizationId.
160
160
  fetchMock.get('https://joanie.test/api/v1.0/organizations/', [defaultOrganization]);
161
161
  const { result } = renderHook(useTeacherContractFilters, {
@@ -169,7 +169,7 @@ describe('useTeacherContractFilters', () => {
169
169
  const expectedInitialFilters = {
170
170
  contract_ids: [],
171
171
  organization_id: defaultOrganization.id,
172
- offer_id: undefined,
172
+ offering_id: undefined,
173
173
  signature_state: ContractState.SIGNED,
174
174
  };
175
175
  await waitFor(() => {
@@ -179,7 +179,7 @@ describe('useTeacherContractFilters', () => {
179
179
  const newFilters = {
180
180
  contract_ids: ['1', '2'],
181
181
  organization_id: routeOrganization.id,
182
- offer_id: routeOffer.id,
182
+ offering_id: routeOffering.id,
183
183
  signature_state: ContractState.UNSIGNED,
184
184
  };
185
185
  act(() => {
@@ -5,16 +5,16 @@ import { ContractResourceQuery, ContractState } from 'types/Joanie';
5
5
 
6
6
  export type TeacherDashboardContractsParams = {
7
7
  organizationId?: string;
8
- offerId?: string;
8
+ offeringId?: string;
9
9
  };
10
10
 
11
11
  const useTeacherContractFilters = () => {
12
- const { offerId } = useParams<TeacherDashboardContractsParams>();
12
+ const { offeringId } = useParams<TeacherDashboardContractsParams>();
13
13
  const [searchParams] = useSearchParams();
14
14
  const searchFilters: ContractResourceQuery = useMemo(() => {
15
15
  return {
16
16
  organization_id: searchParams.get('organization_id') || undefined,
17
- offer_id: searchParams.get('offer_id') || undefined,
17
+ offering_id: searchParams.get('offering_id') || undefined,
18
18
  contract_ids: searchParams.getAll('contract_ids') || undefined,
19
19
  signature_state:
20
20
  (searchParams.get('signature_state') as ContractState) || ContractState.SIGNED,
@@ -28,7 +28,7 @@ const useTeacherContractFilters = () => {
28
28
  return {
29
29
  ...searchFilters,
30
30
  organization_id: defaultOrganizationId,
31
- offer_id: offerId,
31
+ offering_id: offeringId,
32
32
  };
33
33
  }, [defaultOrganizationId]);
34
34
  const [filters, setFilters] = useState<ContractResourceQuery>(initialFilters);
@@ -1,19 +1,22 @@
1
1
  import useContractAbilities from 'hooks/useContractAbilities';
2
2
  import { useOrganizationContracts } from 'hooks/useContracts';
3
- import { ContractState, Organization, Offer } from 'types/Joanie';
3
+ import { ContractState, Organization, Offering } from 'types/Joanie';
4
4
  import { ContractActions } from 'utils/AbilitiesHelper/types';
5
5
 
6
6
  interface UseTeacherContractsToSignProps {
7
7
  organizationId?: Organization['id'];
8
- offerId?: Offer['id'];
8
+ offeringId?: Offering['id'];
9
9
  }
10
10
 
11
- const useTeacherContractsToSign = ({ organizationId, offerId }: UseTeacherContractsToSignProps) => {
11
+ const useTeacherContractsToSign = ({
12
+ organizationId,
13
+ offeringId,
14
+ }: UseTeacherContractsToSignProps) => {
12
15
  const { items: contractsToSign, meta: contractsToSignMeta } = useOrganizationContracts(
13
16
  {
14
17
  signature_state: ContractState.LEARNER_SIGNED,
15
18
  organization_id: organizationId,
16
- offer_id: offerId,
19
+ offering_id: offeringId,
17
20
  },
18
21
  { enabled: !!organizationId },
19
22
  );
@@ -1,7 +1,7 @@
1
1
  import fetchMock from 'fetch-mock';
2
2
  import { renderHook, waitFor, act } from '@testing-library/react';
3
3
  import { RichieContextFactory as mockRichieContextFactory } from 'utils/test/factories/richie';
4
- import { OfferFactory, OrganizationFactory } from 'utils/test/factories/joanie';
4
+ import { OfferingFactory, OrganizationFactory } from 'utils/test/factories/joanie';
5
5
  import { JoanieAppWrapper, setupJoanieSession } from 'utils/test/wrappers/JoanieAppWrapper';
6
6
  import useCourseLearnersFilters from '.';
7
7
 
@@ -32,12 +32,12 @@ describe('useCourseLearnersFilters', () => {
32
32
  expect(result.current.initialFilters).toStrictEqual({
33
33
  organization_id: undefined,
34
34
  course_id: undefined,
35
- offer_id: undefined,
35
+ offering_id: undefined,
36
36
  });
37
37
  expect(result.current.filters).toStrictEqual({
38
38
  organization_id: undefined,
39
39
  course_id: undefined,
40
- offer_id: undefined,
40
+ offering_id: undefined,
41
41
  });
42
42
  });
43
43
  });
@@ -46,7 +46,7 @@ describe('useCourseLearnersFilters', () => {
46
46
  const defaultOrganization = OrganizationFactory().one();
47
47
  const filteredOrganization = OrganizationFactory({ id: 'filtered' }).one();
48
48
  const routeOrganization = OrganizationFactory({ id: 'route' }).one();
49
- const routeOffer = OfferFactory().one();
49
+ const routeOffering = OfferingFactory().one();
50
50
  // fetching user's organizations to initialize default organizationId.
51
51
  fetchMock.get('https://joanie.endpoint/api/v1.0/organizations/', [
52
52
  defaultOrganization,
@@ -56,9 +56,9 @@ describe('useCourseLearnersFilters', () => {
56
56
  wrapper: ({ children }) => (
57
57
  <JoanieAppWrapper
58
58
  routerOptions={{
59
- path: '/:organizationId/:courseId/:offerId',
59
+ path: '/:organizationId/:courseId/:offeringId',
60
60
  initialEntries: [
61
- `/${routeOrganization.id}/${routeOffer.course.id}/${routeOffer.id}?organization_id=${filteredOrganization.id}`,
61
+ `/${routeOrganization.id}/${routeOffering.course.id}/${routeOffering.id}?organization_id=${filteredOrganization.id}`,
62
62
  ],
63
63
  }}
64
64
  >
@@ -70,13 +70,13 @@ describe('useCourseLearnersFilters', () => {
70
70
  await waitFor(() => {
71
71
  expect(result.current.initialFilters).toStrictEqual({
72
72
  organization_id: routeOrganization.id,
73
- course_id: routeOffer.course.id,
74
- offer_id: routeOffer.id,
73
+ course_id: routeOffering.course.id,
74
+ offering_id: routeOffering.id,
75
75
  });
76
76
  expect(result.current.filters).toStrictEqual({
77
77
  organization_id: routeOrganization.id,
78
- course_id: routeOffer.course.id,
79
- offer_id: routeOffer.id,
78
+ course_id: routeOffering.course.id,
79
+ offering_id: routeOffering.id,
80
80
  });
81
81
  });
82
82
  });
@@ -84,7 +84,7 @@ describe('useCourseLearnersFilters', () => {
84
84
  it("should use organizationId from query parameters when it's not in route params", async () => {
85
85
  const defaultOrganization = OrganizationFactory().one();
86
86
  const filteredOrganization = OrganizationFactory({ id: 'filtered' }).one();
87
- const routeOffer = OfferFactory({ id: 'route' }).one();
87
+ const routeOffering = OfferingFactory({ id: 'route' }).one();
88
88
  // fetching user's organizations to initialize default organizationId.
89
89
  fetchMock.get('https://joanie.endpoint/api/v1.0/organizations/', [
90
90
  defaultOrganization,
@@ -94,9 +94,9 @@ describe('useCourseLearnersFilters', () => {
94
94
  wrapper: ({ children }) => (
95
95
  <JoanieAppWrapper
96
96
  routerOptions={{
97
- path: '/:courseId/:offerId',
97
+ path: '/:courseId/:offeringId',
98
98
  initialEntries: [
99
- `/${routeOffer.course.id}/${routeOffer.id}/?organization_id=${filteredOrganization.id}`,
99
+ `/${routeOffering.course.id}/${routeOffering.id}/?organization_id=${filteredOrganization.id}`,
100
100
  ],
101
101
  }}
102
102
  >
@@ -108,13 +108,13 @@ describe('useCourseLearnersFilters', () => {
108
108
  await waitFor(() => {
109
109
  expect(result.current.initialFilters).toStrictEqual({
110
110
  organization_id: filteredOrganization.id,
111
- course_id: routeOffer.course.id,
112
- offer_id: routeOffer.id,
111
+ course_id: routeOffering.course.id,
112
+ offering_id: routeOffering.id,
113
113
  });
114
114
  expect(result.current.filters).toStrictEqual({
115
115
  organization_id: filteredOrganization.id,
116
- course_id: routeOffer.course.id,
117
- offer_id: routeOffer.id,
116
+ course_id: routeOffering.course.id,
117
+ offering_id: routeOffering.id,
118
118
  });
119
119
  });
120
120
  });
@@ -122,7 +122,7 @@ describe('useCourseLearnersFilters', () => {
122
122
  it('setFilters should update filter state', async () => {
123
123
  const defaultOrganization = OrganizationFactory({ id: 'all' }).one();
124
124
  const routeOrganization = OrganizationFactory({ id: 'route' }).one();
125
- const routeOffer = OfferFactory().one();
125
+ const routeOffering = OfferingFactory().one();
126
126
  // fetching user's organizations to initialize default organizationId.
127
127
  fetchMock.get('https://joanie.endpoint/api/v1.0/organizations/', [defaultOrganization]);
128
128
  const { result } = renderHook(useCourseLearnersFilters, {
@@ -136,7 +136,7 @@ describe('useCourseLearnersFilters', () => {
136
136
  const expectedInitialFilters = {
137
137
  organization_id: defaultOrganization.id,
138
138
  course_id: undefined,
139
- offer_id: undefined,
139
+ offering_id: undefined,
140
140
  };
141
141
  await waitFor(() => {
142
142
  expect(result.current.initialFilters).toStrictEqual(expectedInitialFilters);
@@ -144,8 +144,8 @@ describe('useCourseLearnersFilters', () => {
144
144
 
145
145
  const newFilters = {
146
146
  organization_id: routeOrganization.id,
147
- course_id: routeOffer.course.id,
148
- offer_id: routeOffer.id,
147
+ course_id: routeOffering.course.id,
148
+ offering_id: routeOffering.id,
149
149
  };
150
150
  act(() => {
151
151
  result.current.setFilters(newFilters);
@@ -1,22 +1,22 @@
1
1
  import { useEffect, useMemo, useState } from 'react';
2
2
  import { useParams, useSearchParams } from 'react-router';
3
3
  import useDefaultOrganizationId from 'hooks/useDefaultOrganizationId';
4
- import { CourseListItem, CourseOrderResourceQuery, Offer, Organization } from 'types/Joanie';
4
+ import { CourseListItem, CourseOrderResourceQuery, Offering, Organization } from 'types/Joanie';
5
5
 
6
6
  export type CourseLearnersParams = {
7
7
  courseId: CourseListItem['id'];
8
- offerId?: Offer['id'];
8
+ offeringId?: Offering['id'];
9
9
  organizationId?: Organization['id'];
10
10
  };
11
11
 
12
12
  const useCourseLearnersFilters = () => {
13
- const { courseId, offerId } = useParams<CourseLearnersParams>();
13
+ const { courseId, offeringId } = useParams<CourseLearnersParams>();
14
14
  const [searchParams] = useSearchParams();
15
15
  const searchFilters: CourseOrderResourceQuery = useMemo(() => {
16
16
  return {
17
17
  course_id: courseId,
18
18
  organization_id: searchParams.get('organization_id') || undefined,
19
- offer_id: searchParams.get('offer_id') || undefined,
19
+ offering_id: searchParams.get('offering_id') || undefined,
20
20
  };
21
21
  }, Array.from(searchParams.entries()));
22
22
 
@@ -27,7 +27,7 @@ const useCourseLearnersFilters = () => {
27
27
  return {
28
28
  ...searchFilters,
29
29
  organization_id: defaultOrganizationId,
30
- offer_id: offerId,
30
+ offering_id: offeringId,
31
31
  };
32
32
  }, [defaultOrganizationId]);
33
33
  const [filters, setFilters] = useState<CourseOrderResourceQuery>(initialFilters);