@tietokilta/ilmomasiina-client 2.0.0-alpha42

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 (58) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +19 -0
  3. package/dist/api.d.ts +17 -0
  4. package/dist/api.d.ts.map +1 -0
  5. package/dist/api.js +63 -0
  6. package/dist/index.d.ts +8 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +23 -0
  9. package/dist/locales/en.json +132 -0
  10. package/dist/locales/fi.json +132 -0
  11. package/dist/locales/index.d.ts +267 -0
  12. package/dist/locales/index.d.ts.map +1 -0
  13. package/dist/locales/index.js +14 -0
  14. package/dist/modules/editSignup/actions.d.ts +13 -0
  15. package/dist/modules/editSignup/actions.d.ts.map +1 -0
  16. package/dist/modules/editSignup/actions.js +23 -0
  17. package/dist/modules/editSignup/index.d.ts +13 -0
  18. package/dist/modules/editSignup/index.d.ts.map +1 -0
  19. package/dist/modules/editSignup/index.js +82 -0
  20. package/dist/modules/editSignup/state.d.ts +19 -0
  21. package/dist/modules/editSignup/state.d.ts.map +1 -0
  22. package/dist/modules/editSignup/state.js +6 -0
  23. package/dist/modules/eventList/index.d.ts +18 -0
  24. package/dist/modules/eventList/index.d.ts.map +1 -0
  25. package/dist/modules/eventList/index.js +59 -0
  26. package/dist/modules/singleEvent/actions.d.ts +6 -0
  27. package/dist/modules/singleEvent/actions.d.ts.map +1 -0
  28. package/dist/modules/singleEvent/actions.js +11 -0
  29. package/dist/modules/singleEvent/index.d.ts +26 -0
  30. package/dist/modules/singleEvent/index.d.ts.map +1 -0
  31. package/dist/modules/singleEvent/index.js +60 -0
  32. package/dist/utils/abortable.d.ts +29 -0
  33. package/dist/utils/abortable.d.ts.map +1 -0
  34. package/dist/utils/abortable.js +85 -0
  35. package/dist/utils/errorMessage.d.ts +16 -0
  36. package/dist/utils/errorMessage.d.ts.map +1 -0
  37. package/dist/utils/errorMessage.js +45 -0
  38. package/dist/utils/eventListUtils.d.ts +31 -0
  39. package/dist/utils/eventListUtils.d.ts.map +1 -0
  40. package/dist/utils/eventListUtils.js +68 -0
  41. package/dist/utils/localizedEvent.d.ts +10 -0
  42. package/dist/utils/localizedEvent.d.ts.map +1 -0
  43. package/dist/utils/localizedEvent.js +58 -0
  44. package/dist/utils/signupState.d.ts +20 -0
  45. package/dist/utils/signupState.d.ts.map +1 -0
  46. package/dist/utils/signupState.js +26 -0
  47. package/dist/utils/signupUtils.d.ts +26 -0
  48. package/dist/utils/signupUtils.d.ts.map +1 -0
  49. package/dist/utils/signupUtils.js +81 -0
  50. package/dist/utils/stateContext.d.ts +10 -0
  51. package/dist/utils/stateContext.d.ts.map +1 -0
  52. package/dist/utils/stateContext.js +30 -0
  53. package/dist/utils/useShallowMemo.d.ts +3 -0
  54. package/dist/utils/useShallowMemo.d.ts.map +1 -0
  55. package/dist/utils/useShallowMemo.js +32 -0
  56. package/package.json +46 -0
  57. package/src/locales/en.json +132 -0
  58. package/src/locales/fi.json +132 -0
@@ -0,0 +1,267 @@
1
+ export declare const i18nResources: {
2
+ readonly fi: {
3
+ public: {
4
+ "dateFormat.locale": string;
5
+ "duration.days_one": string;
6
+ "duration.days_other": string;
7
+ "duration.hours_one": string;
8
+ "duration.hours_other": string;
9
+ "duration.mins_one": string;
10
+ "duration.mins_other": string;
11
+ "duration.secs_one": string;
12
+ "duration.secs_other": string;
13
+ "editSignup.backToEvent": string;
14
+ "editSignup.action.cancel": string;
15
+ "editSignup.action.edit": string;
16
+ "editSignup.action.save": string;
17
+ "editSignup.action.back": string;
18
+ "editSignup.delete.action": string;
19
+ "editSignup.delete.action.confirm": string;
20
+ "editSignup.delete.info1": string;
21
+ "editSignup.delete.info2": string;
22
+ "editSignup.delete.info3": string;
23
+ "editSignup.editInstructions.email": string;
24
+ "editSignup.editInstructions": string;
25
+ "editSignup.loadError.BadEditToken.title": string;
26
+ "editSignup.loadError.BadEditToken.description": string;
27
+ "editSignup.loadError.404.title": string;
28
+ "editSignup.loadError.404.description": string;
29
+ "editSignup.loadError.default.description": string;
30
+ "editSignup.fields.email": string;
31
+ "editSignup.fields.email.placeholder": string;
32
+ "editSignup.fields.firstName": string;
33
+ "editSignup.fields.firstName.placeholder": string;
34
+ "editSignup.fields.lastName": string;
35
+ "editSignup.fields.lastName.placeholder": string;
36
+ "editSignup.fields.select.placeholder": string;
37
+ "editSignup.namePublic": string;
38
+ "editSignup.position.openQuota": string;
39
+ "editSignup.position.queue": string;
40
+ "editSignup.position.quota": string;
41
+ "editSignup.editable.unconfirmed": string;
42
+ "editSignup.editable.confirmed": string;
43
+ "editSignup.editable.closed": string;
44
+ "editSignup.publicQuestion": string;
45
+ "editSignup.status.delete": string;
46
+ "editSignup.status.deleteSuccess": string;
47
+ "editSignup.status.edit": string;
48
+ "editSignup.status.editSuccess": string;
49
+ "editSignup.status.signup": string;
50
+ "editSignup.status.signupSuccess": string;
51
+ "editSignup.deleteError.SignupsClosed.description": string;
52
+ "editSignup.deleteError.NoSuchSignup.description": string;
53
+ "editSignup.deleteError.default.description": string;
54
+ "editSignup.editError.SignupsClosed.description": string;
55
+ "editSignup.editError.NoSuchSignup.description": string;
56
+ "editSignup.editError.400.description": string;
57
+ "editSignup.editError.default.description": string;
58
+ "editSignup.signupError.SignupsClosed.description": string;
59
+ "editSignup.signupError.NoSuchSignup.description": string;
60
+ "editSignup.signupError.400.description": string;
61
+ "editSignup.signupError.default.description": string;
62
+ "editSignup.fieldError.missing": string;
63
+ "editSignup.fieldError.wrongType": string;
64
+ "editSignup.fieldError.tooLong": string;
65
+ "editSignup.fieldError.invalidEmail": string;
66
+ "editSignup.fieldError.notANumber": string;
67
+ "editSignup.fieldError.notAnOption": string;
68
+ "editSignup.fieldError": string;
69
+ "editSignup.title.edit": string;
70
+ "editSignup.title.signup": string;
71
+ "editSignup.title.preview": string;
72
+ "errors.returnToEvents": string;
73
+ "errors.contactAdmin": string;
74
+ "errors.default.title": string;
75
+ "errors.default.description": string;
76
+ "errors.InitialSetupNeeded.title": string;
77
+ "errors.InitialSetupNeeded.description": string;
78
+ "errors.500.description": string;
79
+ "errors.502.description": string;
80
+ "errors.503.description": string;
81
+ "errors.504.description": string;
82
+ "events.column.date": string;
83
+ "events.column.name": string;
84
+ "events.column.signupCount": string;
85
+ "events.column.signupStatus": string;
86
+ "events.loadError.default.description": string;
87
+ "events.openQuota": string;
88
+ "events.signupCount": string;
89
+ "events.title": string;
90
+ "signupState.disabled": string;
91
+ "signupState.notOpened": string;
92
+ "signupState.notOpened.short": string;
93
+ "signupState.open": string;
94
+ "signupState.open.short": string;
95
+ "signupState.closed": string;
96
+ "signupState.closed.short": string;
97
+ "singleEvent.editEvent": string;
98
+ "singleEvent.info.category": string;
99
+ "singleEvent.info.date": string;
100
+ "singleEvent.info.endDate": string;
101
+ "singleEvent.info.facebookEvent": string;
102
+ "singleEvent.info.location": string;
103
+ "singleEvent.info.price": string;
104
+ "singleEvent.info.startDate": string;
105
+ "singleEvent.info.website": string;
106
+ "singleEvent.loadError.404.title": string;
107
+ "singleEvent.loadError.404.description": string;
108
+ "singleEvent.loadError.default.description": string;
109
+ "singleEvent.quotaCounts.openQuota": string;
110
+ "singleEvent.quotaCounts.queue": string;
111
+ "singleEvent.quotaCounts.title": string;
112
+ "singleEvent.quotaCounts.unlimited": string;
113
+ "singleEvent.returnToEvents": string;
114
+ "singleEvent.signupButton.singleQuota": string;
115
+ "singleEvent.signupButton": string;
116
+ "singleEvent.signupButton.preview": string;
117
+ "singleEvent.signupButtons.title": string;
118
+ "singleEvent.signups.emptyQuota": string;
119
+ "singleEvent.signups.quotaTitle.in-open": string;
120
+ "singleEvent.signups.quotaTitle.in-queue": string;
121
+ "singleEvent.signups.nameHidden": string;
122
+ "singleEvent.signups.position": string;
123
+ "singleEvent.signups.name": string;
124
+ "singleEvent.signups.quota": string;
125
+ "singleEvent.signups.signupTime": string;
126
+ "singleEvent.signups.title": string;
127
+ "singleEvent.signups.unconfirmed": string;
128
+ "singleEvent.signupInProgress": string;
129
+ "singleEvent.signupError.NoSuchQuota.description": string;
130
+ "singleEvent.signupError.SignupsClosed.description": string;
131
+ "singleEvent.signupError.default.description": string;
132
+ };
133
+ };
134
+ readonly en: {
135
+ public: {
136
+ "dateFormat.locale": string;
137
+ "duration.days_one": string;
138
+ "duration.days_other": string;
139
+ "duration.hours_one": string;
140
+ "duration.hours_other": string;
141
+ "duration.mins_one": string;
142
+ "duration.mins_other": string;
143
+ "duration.secs_one": string;
144
+ "duration.secs_other": string;
145
+ "editSignup.backToEvent": string;
146
+ "editSignup.action.cancel": string;
147
+ "editSignup.action.edit": string;
148
+ "editSignup.action.save": string;
149
+ "editSignup.action.back": string;
150
+ "editSignup.delete.action": string;
151
+ "editSignup.delete.action.confirm": string;
152
+ "editSignup.delete.info1": string;
153
+ "editSignup.delete.info2": string;
154
+ "editSignup.delete.info3": string;
155
+ "editSignup.editInstructions.email": string;
156
+ "editSignup.editInstructions": string;
157
+ "editSignup.loadError.BadEditToken.title": string;
158
+ "editSignup.loadError.BadEditToken.description": string;
159
+ "editSignup.loadError.404.title": string;
160
+ "editSignup.loadError.404.description": string;
161
+ "editSignup.loadError.default.description": string;
162
+ "editSignup.fields.email": string;
163
+ "editSignup.fields.email.placeholder": string;
164
+ "editSignup.fields.firstName": string;
165
+ "editSignup.fields.firstName.placeholder": string;
166
+ "editSignup.fields.lastName": string;
167
+ "editSignup.fields.lastName.placeholder": string;
168
+ "editSignup.fields.select.placeholder": string;
169
+ "editSignup.namePublic": string;
170
+ "editSignup.position.openQuota": string;
171
+ "editSignup.position.queue": string;
172
+ "editSignup.position.quota": string;
173
+ "editSignup.editable.unconfirmed": string;
174
+ "editSignup.editable.confirmed": string;
175
+ "editSignup.editable.closed": string;
176
+ "editSignup.publicQuestion": string;
177
+ "editSignup.status.delete": string;
178
+ "editSignup.status.deleteSuccess": string;
179
+ "editSignup.status.edit": string;
180
+ "editSignup.status.editSuccess": string;
181
+ "editSignup.status.signup": string;
182
+ "editSignup.status.signupSuccess": string;
183
+ "editSignup.deleteError.SignupsClosed.description": string;
184
+ "editSignup.deleteError.NoSuchSignup.description": string;
185
+ "editSignup.deleteError.default.description": string;
186
+ "editSignup.editError.SignupsClosed.description": string;
187
+ "editSignup.editError.NoSuchSignup.description": string;
188
+ "editSignup.editError.400.description": string;
189
+ "editSignup.editError.default.description": string;
190
+ "editSignup.signupError.SignupsClosed.description": string;
191
+ "editSignup.signupError.NoSuchSignup.description": string;
192
+ "editSignup.signupError.400.description": string;
193
+ "editSignup.signupError.default.description": string;
194
+ "editSignup.fieldError.missing": string;
195
+ "editSignup.fieldError.wrongType": string;
196
+ "editSignup.fieldError.tooLong": string;
197
+ "editSignup.fieldError.invalidEmail": string;
198
+ "editSignup.fieldError.notANumber": string;
199
+ "editSignup.fieldError.notAnOption": string;
200
+ "editSignup.fieldError": string;
201
+ "editSignup.title.edit": string;
202
+ "editSignup.title.signup": string;
203
+ "editSignup.title.preview": string;
204
+ "errors.returnToEvents": string;
205
+ "errors.contactAdmin": string;
206
+ "errors.default.title": string;
207
+ "errors.InitialSetupNeeded.title": string;
208
+ "errors.InitialSetupNeeded.description": string;
209
+ "errors.500.description": string;
210
+ "errors.502.description": string;
211
+ "errors.503.description": string;
212
+ "errors.504.description": string;
213
+ "errors.default.description": string;
214
+ "events.column.date": string;
215
+ "events.column.name": string;
216
+ "events.column.signupCount": string;
217
+ "events.column.signupStatus": string;
218
+ "events.loadError.default.description": string;
219
+ "events.openQuota": string;
220
+ "events.signupCount": string;
221
+ "events.title": string;
222
+ "signupState.disabled": string;
223
+ "signupState.notOpened": string;
224
+ "signupState.notOpened.short": string;
225
+ "signupState.open": string;
226
+ "signupState.open.short": string;
227
+ "signupState.closed": string;
228
+ "signupState.closed.short": string;
229
+ "singleEvent.editEvent": string;
230
+ "singleEvent.info.category": string;
231
+ "singleEvent.info.date": string;
232
+ "singleEvent.info.endDate": string;
233
+ "singleEvent.info.facebookEvent": string;
234
+ "singleEvent.info.location": string;
235
+ "singleEvent.info.price": string;
236
+ "singleEvent.info.startDate": string;
237
+ "singleEvent.info.website": string;
238
+ "singleEvent.loadError.404.title": string;
239
+ "singleEvent.loadError.404.description": string;
240
+ "singleEvent.loadError.default.description": string;
241
+ "singleEvent.quotaCounts.openQuota": string;
242
+ "singleEvent.quotaCounts.queue": string;
243
+ "singleEvent.quotaCounts.title": string;
244
+ "singleEvent.quotaCounts.unlimited": string;
245
+ "singleEvent.returnToEvents": string;
246
+ "singleEvent.signupButton.singleQuota": string;
247
+ "singleEvent.signupButton": string;
248
+ "singleEvent.signupButton.preview": string;
249
+ "singleEvent.signupButtons.title": string;
250
+ "singleEvent.signups.emptyQuota": string;
251
+ "singleEvent.signups.quotaTitle.in-open": string;
252
+ "singleEvent.signups.quotaTitle.in-queue": string;
253
+ "singleEvent.signups.nameHidden": string;
254
+ "singleEvent.signups.position": string;
255
+ "singleEvent.signups.name": string;
256
+ "singleEvent.signups.quota": string;
257
+ "singleEvent.signups.signupTime": string;
258
+ "singleEvent.signups.title": string;
259
+ "singleEvent.signups.unconfirmed": string;
260
+ "singleEvent.signupInProgress": string;
261
+ "singleEvent.signupError.NoSuchQuota.description": string;
262
+ "singleEvent.signupError.SignupsClosed.description": string;
263
+ "singleEvent.signupError.default.description": string;
264
+ };
265
+ };
266
+ };
267
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/locales/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIhB,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.i18nResources = void 0;
7
+ const en_json_1 = __importDefault(require("./en.json"));
8
+ const fi_json_1 = __importDefault(require("./fi.json"));
9
+ // eslint-disable-next-line import/prefer-default-export
10
+ exports.i18nResources = {
11
+ // this way we generate typescript errors if not exact match
12
+ fi: fi_json_1.default,
13
+ en: en_json_1.default,
14
+ };
@@ -0,0 +1,13 @@
1
+ export declare const useUpdateSignup: () => (answers: {
2
+ email?: string | null | undefined;
3
+ firstName?: string | null | undefined;
4
+ lastName?: string | null | undefined;
5
+ answers?: {
6
+ questionId: string;
7
+ answer: string | string[];
8
+ }[] | undefined;
9
+ namePublic?: boolean | undefined;
10
+ language?: string | null | undefined;
11
+ }) => Promise<void>;
12
+ export declare const useDeleteSignup: () => () => Promise<void>;
13
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/modules/editSignup/actions.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe;;;;;;;;;;mBAQ1B,CAAC;AAEH,eAAO,MAAM,eAAe,2BAO1B,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useDeleteSignup = exports.useUpdateSignup = void 0;
4
+ const ilmomasiina_models_1 = require("@tietokilta/ilmomasiina-models");
5
+ const api_1 = require("../../api");
6
+ const state_1 = require("./state");
7
+ exports.useUpdateSignup = (0, state_1.createThunk)(({ signup, editToken }) => async (answers) => {
8
+ await (0, api_1.apiFetch)(`signups/${signup.id}`, {
9
+ method: "PATCH",
10
+ body: answers,
11
+ headers: {
12
+ [ilmomasiina_models_1.EDIT_TOKEN_HEADER]: editToken,
13
+ },
14
+ });
15
+ });
16
+ exports.useDeleteSignup = (0, state_1.createThunk)(({ signup, editToken }) => async () => {
17
+ await (0, api_1.apiFetch)(`signups/${signup.id}`, {
18
+ method: "DELETE",
19
+ headers: {
20
+ [ilmomasiina_models_1.EDIT_TOKEN_HEADER]: editToken,
21
+ },
22
+ });
23
+ });
@@ -0,0 +1,13 @@
1
+ import React, { PropsWithChildren } from "react";
2
+ import { State } from "./state";
3
+ export interface EditSignupProps {
4
+ id: string;
5
+ editToken: string;
6
+ language?: string;
7
+ }
8
+ export { useStateContext as useEditSignupContext, Provider as EditSignupContextProvider } from "./state";
9
+ export type { State as EditSignupState } from "./state";
10
+ export { useDeleteSignup, useUpdateSignup } from "./actions";
11
+ export declare function useEditSignupState({ id, editToken, language }: EditSignupProps): State;
12
+ export declare function EditSignupProvider({ id, editToken, language, children }: PropsWithChildren<EditSignupProps>): React.JSX.Element;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/editSignup/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAC;AAQ1D,OAAO,EAAY,KAAK,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,OAAO,EAAE,eAAe,IAAI,oBAAoB,EAAE,QAAQ,IAAI,yBAAyB,EAAE,MAAM,SAAS,CAAC;AACzG,YAAY,EAAE,KAAK,IAAI,eAAe,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE7D,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,eAAe,SA0C9E;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,iBAAiB,CAAC,eAAe,CAAC,qBAG3G"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.EditSignupProvider = exports.useEditSignupState = exports.useUpdateSignup = exports.useDeleteSignup = exports.EditSignupContextProvider = exports.useEditSignupContext = void 0;
30
+ const react_1 = __importStar(require("react"));
31
+ const ilmomasiina_models_1 = require("@tietokilta/ilmomasiina-models");
32
+ const api_1 = require("../../api");
33
+ const abortable_1 = require("../../utils/abortable");
34
+ const localizedEvent_1 = require("../../utils/localizedEvent");
35
+ const useShallowMemo_1 = __importDefault(require("../../utils/useShallowMemo"));
36
+ const state_1 = require("./state");
37
+ var state_2 = require("./state");
38
+ Object.defineProperty(exports, "useEditSignupContext", { enumerable: true, get: function () { return state_2.useStateContext; } });
39
+ Object.defineProperty(exports, "EditSignupContextProvider", { enumerable: true, get: function () { return state_2.Provider; } });
40
+ var actions_1 = require("./actions");
41
+ Object.defineProperty(exports, "useDeleteSignup", { enumerable: true, get: function () { return actions_1.useDeleteSignup; } });
42
+ Object.defineProperty(exports, "useUpdateSignup", { enumerable: true, get: function () { return actions_1.useUpdateSignup; } });
43
+ function useEditSignupState({ id, editToken, language }) {
44
+ const fetchSignup = (0, abortable_1.useAbortablePromise)(async (signal) => {
45
+ const response = await (0, api_1.apiFetch)(`signups/${id}`, {
46
+ signal,
47
+ headers: {
48
+ [ilmomasiina_models_1.EDIT_TOKEN_HEADER]: editToken,
49
+ },
50
+ });
51
+ const now = Date.now();
52
+ return {
53
+ ...response,
54
+ signup: {
55
+ ...response.signup,
56
+ firstName: response.signup.firstName || "",
57
+ lastName: response.signup.lastName || "",
58
+ email: response.signup.email || "",
59
+ },
60
+ // Compute these once when the response arrives.
61
+ editingClosedOnLoad: response.signup.editableForMillis === 0,
62
+ confirmableUntil: now + response.signup.confirmableForMillis,
63
+ editableUntil: now + response.signup.editableForMillis,
64
+ };
65
+ }, [id, editToken]);
66
+ const event = fetchSignup.result?.event;
67
+ const localizedEvent = (0, react_1.useMemo)(() => (event && language ? (0, localizedEvent_1.getLocalizedEvent)(event, language) : event), [event, language]);
68
+ return (0, useShallowMemo_1.default)({
69
+ editToken,
70
+ pending: fetchSignup.pending,
71
+ error: fetchSignup.error,
72
+ ...fetchSignup.result,
73
+ localizedEvent,
74
+ isNew: fetchSignup.result && !fetchSignup.result.signup.confirmed,
75
+ });
76
+ }
77
+ exports.useEditSignupState = useEditSignupState;
78
+ function EditSignupProvider({ id, editToken, language, children }) {
79
+ const state = useEditSignupState({ id, editToken, language });
80
+ return react_1.default.createElement(state_1.Provider, { value: state }, children);
81
+ }
82
+ exports.EditSignupProvider = EditSignupProvider;
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ import type { SignupForEditResponse } from "@tietokilta/ilmomasiina-models";
3
+ import { ApiError } from "../../api";
4
+ export type State = Partial<SignupForEditResponse> & {
5
+ localizedEvent?: SignupForEditResponse["event"];
6
+ isNew?: boolean;
7
+ pending: boolean;
8
+ error?: ApiError;
9
+ editToken: string;
10
+ editingClosedOnLoad?: boolean;
11
+ confirmableUntil?: number;
12
+ editableUntil?: number;
13
+ preview?: {
14
+ setPreviewingForm: (form: boolean) => void;
15
+ };
16
+ admin?: boolean;
17
+ };
18
+ export declare const Provider: import("react").Provider<typeof import("../../utils/stateContext").MISSING | State>, useStateContext: () => State, createThunk: <A extends any[], R>(action: (state: State) => (...args: A) => R) => () => (...args: A) => R;
19
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/modules/editSignup/state.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG;IACnD,cAAc,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE;QAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,CAAC;IACzD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,eAAO,MAAQ,QAAQ,uFAAE,eAAe,eAAE,WAAW,8FAAgC,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.createThunk = exports.useStateContext = exports.Provider = void 0;
5
+ const stateContext_1 = require("../../utils/stateContext");
6
+ _a = (0, stateContext_1.createStateContext)(), exports.Provider = _a.Provider, exports.useStateContext = _a.useStateContext, exports.createThunk = _a.createThunk;
@@ -0,0 +1,18 @@
1
+ import React, { PropsWithChildren } from "react";
2
+ import type { UserEventListResponse } from "@tietokilta/ilmomasiina-models";
3
+ import { ApiError } from "../../api";
4
+ export type EventListProps = {
5
+ category?: string;
6
+ language?: string;
7
+ };
8
+ type State = {
9
+ events?: UserEventListResponse;
10
+ localizedEvents?: UserEventListResponse;
11
+ pending: boolean;
12
+ error?: ApiError;
13
+ };
14
+ declare const useStateContext: () => State;
15
+ export { useStateContext as useEventListContext };
16
+ export declare function useEventListState({ category, language }?: EventListProps): State;
17
+ export declare function EventListProvider({ category, language, children }: PropsWithChildren<EventListProps>): React.JSX.Element;
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/eventList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAY,MAAM,WAAW,CAAC;AAM/C,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF,QAAA,MAAkB,eAAe,aAAgC,CAAC;AAClE,OAAO,EAAE,eAAe,IAAI,mBAAmB,EAAE,CAAC;AAElD,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAE,cAAmB,SAwB5E;AAED,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,iBAAiB,CAAC,cAAc,CAAC,qBAGpG"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.EventListProvider = exports.useEventListState = exports.useEventListContext = void 0;
30
+ const react_1 = __importStar(require("react"));
31
+ const api_1 = require("../../api");
32
+ const abortable_1 = require("../../utils/abortable");
33
+ const localizedEvent_1 = require("../../utils/localizedEvent");
34
+ const stateContext_1 = require("../../utils/stateContext");
35
+ const useShallowMemo_1 = __importDefault(require("../../utils/useShallowMemo"));
36
+ const { Provider, useStateContext } = (0, stateContext_1.createStateContext)();
37
+ exports.useEventListContext = useStateContext;
38
+ function useEventListState({ category, language } = {}) {
39
+ const fetchEvents = (0, abortable_1.useAbortablePromise)((signal) => {
40
+ const query = category === undefined ? "" : `?${new URLSearchParams({ category })}`;
41
+ return (0, api_1.apiFetch)(`events${query}`, {
42
+ signal,
43
+ });
44
+ }, [category]);
45
+ const events = fetchEvents.result;
46
+ const localizedEvents = (0, react_1.useMemo)(() => (events && language ? events.map((event) => (0, localizedEvent_1.getLocalizedEventListItem)(event, language)) : events), [events, language]);
47
+ return (0, useShallowMemo_1.default)({
48
+ events: fetchEvents.result,
49
+ localizedEvents,
50
+ pending: fetchEvents.pending,
51
+ error: fetchEvents.error,
52
+ });
53
+ }
54
+ exports.useEventListState = useEventListState;
55
+ function EventListProvider({ category, language, children }) {
56
+ const state = useEventListState({ category, language });
57
+ return react_1.default.createElement(Provider, { value: state }, children);
58
+ }
59
+ exports.EventListProvider = EventListProvider;
@@ -0,0 +1,6 @@
1
+ import type { QuotaID } from "@tietokilta/ilmomasiina-models";
2
+ export declare function beginSignup(quotaId: QuotaID): Promise<{
3
+ id: string;
4
+ editToken: string;
5
+ }>;
6
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/modules/singleEvent/actions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAwB,MAAM,gCAAgC,CAAC;AAGpF,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO;;;GAK3C"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.beginSignup = void 0;
4
+ const api_1 = require("../../api");
5
+ function beginSignup(quotaId) {
6
+ return (0, api_1.apiFetch)("signups", {
7
+ method: "POST",
8
+ body: { quotaId },
9
+ });
10
+ }
11
+ exports.beginSignup = beginSignup;
@@ -0,0 +1,26 @@
1
+ import React, { PropsWithChildren } from "react";
2
+ import type { UserEventResponse } from "@tietokilta/ilmomasiina-models";
3
+ import { ApiError } from "../../api";
4
+ import { QuotaSignups } from "../../utils/signupUtils";
5
+ export interface SingleEventProps {
6
+ slug: string;
7
+ language?: string;
8
+ }
9
+ type State = {
10
+ event?: UserEventResponse;
11
+ localizedEvent?: UserEventResponse;
12
+ signupsByQuota?: QuotaSignups[];
13
+ pending: boolean;
14
+ error?: ApiError;
15
+ preview?: {
16
+ setPreviewingForm: (form: boolean) => void;
17
+ };
18
+ };
19
+ declare const Provider: React.Provider<typeof import("../../utils/stateContext").MISSING | State>, useStateContext: () => State;
20
+ export { useStateContext as useSingleEventContext };
21
+ export { beginSignup } from "./actions";
22
+ export type { State as SingleEventState };
23
+ export { Provider as SingleEventContextProvider };
24
+ export declare function useSingleEventState({ slug, language }: SingleEventProps): State;
25
+ export declare function SingleEventProvider({ slug, language, children }: PropsWithChildren<SingleEventProps>): React.JSX.Element;
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/singleEvent/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAC;AAE1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAY,MAAM,WAAW,CAAC;AAG/C,OAAO,EAAqB,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAI1E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,KAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,OAAO,CAAC,EAAE;QAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,CAAC;CAC1D,CAAC;AAEF,QAAA,MAAQ,QAAQ,6EAAE,eAAe,aAAgC,CAAC;AAClE,OAAO,EAAE,eAAe,IAAI,qBAAqB,EAAE,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,KAAK,IAAI,gBAAgB,EAAE,CAAC;AAC1C,OAAO,EAAE,QAAQ,IAAI,0BAA0B,EAAE,CAAC;AAElD,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,gBAAgB,SAmBvE;AAED,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,qBAGpG"}