waha-shared 1.0.254 → 1.0.255
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.
- package/dist/data/releaseNotes/releaseNotes.json +91 -2
- package/dist/data/translationsApp/index.d.ts +33 -12
- package/dist/data/translationsApp/translationsApp.json +29 -281
- package/dist/data/translationsApp/translationsApp.schema.json +68 -0
- package/dist/data/translationsApp/translationsApp.zod.d.ts +33 -12
- package/dist/data/translationsApp/translationsApp.zod.js +38 -12
- package/dist/data/translationsQuestion/translationsQuestion.json +2 -2
- package/dist/data/translationsSpokenQuestion/translationsSpokenQuestion.json +3 -3
- package/dist/functions/scripturePassages.d.ts +24 -0
- package/dist/functions/scripturePassages.js +29 -4
- package/dist/types/analytics.d.ts +7 -21
- package/dist/types/articles.d.ts +4 -0
- package/dist/types/articles.js +4 -1
- package/dist/types/microLessons.js +47 -15
- package/dist/types/users.d.ts +34 -41
- package/dist/types/users.js +3 -19
- package/dist/types/webContent.js +2 -0
- package/package.json +1 -1
|
@@ -22,6 +22,10 @@
|
|
|
22
22
|
"type": "string",
|
|
23
23
|
"minLength": 1
|
|
24
24
|
},
|
|
25
|
+
"question_placeholder": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"minLength": 1
|
|
28
|
+
},
|
|
25
29
|
"a11y_add_secondary_language_hint": {
|
|
26
30
|
"type": "string",
|
|
27
31
|
"minLength": 1
|
|
@@ -1276,6 +1280,70 @@
|
|
|
1276
1280
|
"no_notes": {
|
|
1277
1281
|
"type": "string",
|
|
1278
1282
|
"minLength": 1
|
|
1283
|
+
},
|
|
1284
|
+
"micro_lesson": {
|
|
1285
|
+
"type": "string",
|
|
1286
|
+
"minLength": 1
|
|
1287
|
+
},
|
|
1288
|
+
"micro_lessons": {
|
|
1289
|
+
"type": "string",
|
|
1290
|
+
"minLength": 1
|
|
1291
|
+
},
|
|
1292
|
+
"filter_micro_lessons": {
|
|
1293
|
+
"type": "string",
|
|
1294
|
+
"minLength": 1
|
|
1295
|
+
},
|
|
1296
|
+
"people_shared_last_week": {
|
|
1297
|
+
"type": "string",
|
|
1298
|
+
"minLength": 1
|
|
1299
|
+
},
|
|
1300
|
+
"onboarding_dbs_intro_heading": {
|
|
1301
|
+
"type": "string",
|
|
1302
|
+
"minLength": 1
|
|
1303
|
+
},
|
|
1304
|
+
"onboarding_dbs_intro_body": {
|
|
1305
|
+
"type": "string",
|
|
1306
|
+
"minLength": 1
|
|
1307
|
+
},
|
|
1308
|
+
"onboarding_invite_group_heading": {
|
|
1309
|
+
"type": "string",
|
|
1310
|
+
"minLength": 1
|
|
1311
|
+
},
|
|
1312
|
+
"popups_need_help_with_group_title": {
|
|
1313
|
+
"type": "string",
|
|
1314
|
+
"minLength": 1
|
|
1315
|
+
},
|
|
1316
|
+
"popups_need_help_with_group_message": {
|
|
1317
|
+
"type": "string",
|
|
1318
|
+
"minLength": 1
|
|
1319
|
+
},
|
|
1320
|
+
"popups_micro_lessons": {
|
|
1321
|
+
"type": "string",
|
|
1322
|
+
"minLength": 1
|
|
1323
|
+
},
|
|
1324
|
+
"question_what_brings_you_question": {
|
|
1325
|
+
"type": "string",
|
|
1326
|
+
"minLength": 1
|
|
1327
|
+
},
|
|
1328
|
+
"question_what_brings_you_option_1": {
|
|
1329
|
+
"type": "string",
|
|
1330
|
+
"minLength": 1
|
|
1331
|
+
},
|
|
1332
|
+
"question_what_brings_you_option_2": {
|
|
1333
|
+
"type": "string",
|
|
1334
|
+
"minLength": 1
|
|
1335
|
+
},
|
|
1336
|
+
"question_what_brings_you_option_3": {
|
|
1337
|
+
"type": "string",
|
|
1338
|
+
"minLength": 1
|
|
1339
|
+
},
|
|
1340
|
+
"question_what_brings_you_option_4": {
|
|
1341
|
+
"type": "string",
|
|
1342
|
+
"minLength": 1
|
|
1343
|
+
},
|
|
1344
|
+
"question_what_brings_you_option_5": {
|
|
1345
|
+
"type": "string",
|
|
1346
|
+
"minLength": 1
|
|
1279
1347
|
}
|
|
1280
1348
|
},
|
|
1281
1349
|
"required": [
|
|
@@ -65,12 +65,6 @@ export declare const TranslationsApp: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
|
65
65
|
app_store_listing_title: z.ZodString;
|
|
66
66
|
appearance: z.ZodString;
|
|
67
67
|
application: z.ZodString;
|
|
68
|
-
article_categories_65004e85fba2e8c9d281a73e: z.ZodString;
|
|
69
|
-
article_categories_65004e8eaf7c1d3f8289315a: z.ZodString;
|
|
70
|
-
article_categories_65004f8eead7951cf3c33243: z.ZodString;
|
|
71
|
-
article_categories_65005061a72598db83565c66: z.ZodString;
|
|
72
|
-
article_categories_65400527806b42d2e6ae4fd0: z.ZodString;
|
|
73
|
-
article_categories_65ca47557375e35a56523645: z.ZodString;
|
|
74
68
|
article_cta_body: z.ZodString;
|
|
75
69
|
article_cta_header: z.ZodString;
|
|
76
70
|
articles: z.ZodString;
|
|
@@ -127,7 +121,7 @@ export declare const TranslationsApp: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
|
127
121
|
fetch_bible_error: z.ZodString;
|
|
128
122
|
fetch_bible_no_internet: z.ZodString;
|
|
129
123
|
filter_articles: z.ZodString;
|
|
130
|
-
finish: z.
|
|
124
|
+
finish: z.ZodString;
|
|
131
125
|
font_size: z.ZodString;
|
|
132
126
|
foundations: z.ZodString;
|
|
133
127
|
get_started_foundations: z.ZodString;
|
|
@@ -150,7 +144,6 @@ export declare const TranslationsApp: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
|
150
144
|
language_types_meet_primary: z.ZodString;
|
|
151
145
|
language_types_meet_secondary: z.ZodString;
|
|
152
146
|
language_types_video_bridge: z.ZodString;
|
|
153
|
-
later: z.ZodOptional<z.ZodString>;
|
|
154
147
|
learn: z.ZodString;
|
|
155
148
|
learn_more: z.ZodString;
|
|
156
149
|
light: z.ZodString;
|
|
@@ -173,11 +166,11 @@ export declare const TranslationsApp: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
|
173
166
|
note_placeholder: z.ZodString;
|
|
174
167
|
note_saved: z.ZodString;
|
|
175
168
|
notes_view: z.ZodString;
|
|
176
|
-
notifications: z.
|
|
169
|
+
notifications: z.ZodString;
|
|
177
170
|
notifications_enable: z.ZodString;
|
|
178
171
|
ok: z.ZodString;
|
|
179
172
|
passcode_set: z.ZodString;
|
|
180
|
-
percent_available: z.
|
|
173
|
+
percent_available: z.ZodString;
|
|
181
174
|
piano: z.ZodString;
|
|
182
175
|
piano_description: z.ZodString;
|
|
183
176
|
playback_speed: z.ZodString;
|
|
@@ -312,7 +305,35 @@ export declare const TranslationsApp: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
|
312
305
|
lesson: z.ZodString;
|
|
313
306
|
lessons: z.ZodString;
|
|
314
307
|
article: z.ZodString;
|
|
315
|
-
no_results: z.
|
|
316
|
-
no_notes: z.
|
|
308
|
+
no_results: z.ZodString;
|
|
309
|
+
no_notes: z.ZodString;
|
|
310
|
+
not_yet: z.ZodOptional<z.ZodString>;
|
|
311
|
+
micro_lesson: z.ZodOptional<z.ZodString>;
|
|
312
|
+
micro_lessons: z.ZodOptional<z.ZodString>;
|
|
313
|
+
filter_micro_lessons: z.ZodOptional<z.ZodString>;
|
|
314
|
+
content_categories_case_studies: z.ZodOptional<z.ZodString>;
|
|
315
|
+
content_categories_product_updates: z.ZodOptional<z.ZodString>;
|
|
316
|
+
content_categories_disciple_making_secrets: z.ZodOptional<z.ZodString>;
|
|
317
|
+
content_categories_discovering_god: z.ZodOptional<z.ZodString>;
|
|
318
|
+
content_categories_books: z.ZodOptional<z.ZodString>;
|
|
319
|
+
content_categories_films: z.ZodOptional<z.ZodString>;
|
|
320
|
+
content_categories_how_tos: z.ZodOptional<z.ZodString>;
|
|
321
|
+
join_others_discovering: z.ZodOptional<z.ZodString>;
|
|
322
|
+
people_shared_last_week: z.ZodOptional<z.ZodString>;
|
|
323
|
+
question_placeholder: z.ZodOptional<z.ZodString>;
|
|
324
|
+
onboarding_dbs_intro_heading: z.ZodOptional<z.ZodString>;
|
|
325
|
+
onboarding_dbs_intro_body: z.ZodOptional<z.ZodString>;
|
|
326
|
+
onboarding_invite_group_heading: z.ZodOptional<z.ZodString>;
|
|
327
|
+
onboarding_invite_group_body: z.ZodOptional<z.ZodString>;
|
|
328
|
+
popups_need_help_with_group_title: z.ZodOptional<z.ZodString>;
|
|
329
|
+
popups_need_help_with_group_message: z.ZodOptional<z.ZodString>;
|
|
330
|
+
popups_micro_lessons_banner: z.ZodOptional<z.ZodString>;
|
|
331
|
+
question_in_a_group: z.ZodOptional<z.ZodString>;
|
|
332
|
+
question_what_brings_you_question: z.ZodOptional<z.ZodString>;
|
|
333
|
+
question_what_brings_you_body: z.ZodOptional<z.ZodString>;
|
|
334
|
+
question_what_brings_you_option_1: z.ZodOptional<z.ZodString>;
|
|
335
|
+
question_what_brings_you_option_2: z.ZodOptional<z.ZodString>;
|
|
336
|
+
question_what_brings_you_option_3: z.ZodOptional<z.ZodString>;
|
|
337
|
+
question_what_brings_you_option_4: z.ZodOptional<z.ZodString>;
|
|
317
338
|
}, z.core.$strip>>;
|
|
318
339
|
export type TranslationsApp = z.infer<typeof TranslationsApp>;
|
|
@@ -70,12 +70,6 @@ exports.TranslationsApp = zod_1.z
|
|
|
70
70
|
app_store_listing_title: zod_1.z.string().min(1),
|
|
71
71
|
appearance: zod_1.z.string().min(1),
|
|
72
72
|
application: zod_1.z.string().min(1),
|
|
73
|
-
article_categories_65004e85fba2e8c9d281a73e: zod_1.z.string().min(1),
|
|
74
|
-
article_categories_65004e8eaf7c1d3f8289315a: zod_1.z.string().min(1),
|
|
75
|
-
article_categories_65004f8eead7951cf3c33243: zod_1.z.string().min(1),
|
|
76
|
-
article_categories_65005061a72598db83565c66: zod_1.z.string().min(1),
|
|
77
|
-
article_categories_65400527806b42d2e6ae4fd0: zod_1.z.string().min(1),
|
|
78
|
-
article_categories_65ca47557375e35a56523645: zod_1.z.string().min(1),
|
|
79
73
|
article_cta_body: zod_1.z.string().min(1),
|
|
80
74
|
article_cta_header: zod_1.z.string().min(1),
|
|
81
75
|
articles: zod_1.z.string().min(1),
|
|
@@ -132,7 +126,7 @@ exports.TranslationsApp = zod_1.z
|
|
|
132
126
|
fetch_bible_error: zod_1.z.string().min(1),
|
|
133
127
|
fetch_bible_no_internet: zod_1.z.string().min(1),
|
|
134
128
|
filter_articles: zod_1.z.string().min(1),
|
|
135
|
-
finish: zod_1.z.string().min(1)
|
|
129
|
+
finish: zod_1.z.string().min(1),
|
|
136
130
|
font_size: zod_1.z.string().min(1),
|
|
137
131
|
foundations: zod_1.z.string().min(1),
|
|
138
132
|
get_started_foundations: zod_1.z.string().min(1),
|
|
@@ -157,7 +151,6 @@ exports.TranslationsApp = zod_1.z
|
|
|
157
151
|
language_types_meet_primary: zod_1.z.string().min(1),
|
|
158
152
|
language_types_meet_secondary: zod_1.z.string().min(1),
|
|
159
153
|
language_types_video_bridge: zod_1.z.string().min(1),
|
|
160
|
-
later: zod_1.z.string().min(1).optional(),
|
|
161
154
|
learn: zod_1.z.string().min(1),
|
|
162
155
|
learn_more: zod_1.z.string().min(1),
|
|
163
156
|
light: zod_1.z.string().min(1),
|
|
@@ -180,11 +173,11 @@ exports.TranslationsApp = zod_1.z
|
|
|
180
173
|
note_placeholder: zod_1.z.string().min(1),
|
|
181
174
|
note_saved: zod_1.z.string().min(1),
|
|
182
175
|
notes_view: zod_1.z.string().min(1),
|
|
183
|
-
notifications: zod_1.z.string().min(1)
|
|
176
|
+
notifications: zod_1.z.string().min(1),
|
|
184
177
|
notifications_enable: zod_1.z.string().min(1),
|
|
185
178
|
ok: zod_1.z.string().min(1),
|
|
186
179
|
passcode_set: zod_1.z.string().min(1),
|
|
187
|
-
percent_available: zod_1.z.string().min(1)
|
|
180
|
+
percent_available: zod_1.z.string().min(1),
|
|
188
181
|
piano: zod_1.z.string().min(1),
|
|
189
182
|
piano_description: zod_1.z.string().min(1),
|
|
190
183
|
playback_speed: zod_1.z.string().min(1),
|
|
@@ -319,8 +312,41 @@ exports.TranslationsApp = zod_1.z
|
|
|
319
312
|
lesson: zod_1.z.string().min(1),
|
|
320
313
|
lessons: zod_1.z.string().min(1),
|
|
321
314
|
article: zod_1.z.string().min(1),
|
|
322
|
-
no_results: zod_1.z.string().min(1)
|
|
323
|
-
no_notes: zod_1.z.string().min(1)
|
|
315
|
+
no_results: zod_1.z.string().min(1),
|
|
316
|
+
no_notes: zod_1.z.string().min(1),
|
|
317
|
+
// Will remove optional soon.
|
|
318
|
+
not_yet: zod_1.z.string().min(1).optional(),
|
|
319
|
+
micro_lesson: zod_1.z.string().min(1).optional(),
|
|
320
|
+
micro_lessons: zod_1.z.string().min(1).optional(),
|
|
321
|
+
filter_micro_lessons: zod_1.z.string().min(1).optional(),
|
|
322
|
+
content_categories_case_studies: zod_1.z.string().min(1).optional(),
|
|
323
|
+
content_categories_product_updates: zod_1.z.string().min(1).optional(),
|
|
324
|
+
content_categories_disciple_making_secrets: zod_1.z
|
|
325
|
+
.string()
|
|
326
|
+
.min(1)
|
|
327
|
+
.optional(),
|
|
328
|
+
content_categories_discovering_god: zod_1.z.string().min(1).optional(),
|
|
329
|
+
content_categories_books: zod_1.z.string().min(1).optional(),
|
|
330
|
+
content_categories_films: zod_1.z.string().min(1).optional(),
|
|
331
|
+
content_categories_how_tos: zod_1.z.string().min(1).optional(),
|
|
332
|
+
// These are trickier strings and will take some time to localize. onboarding.tsx is set up to default to the old onboarding if strings for the new onboarding are not localized.
|
|
333
|
+
join_others_discovering: zod_1.z.string().min(1).optional(),
|
|
334
|
+
people_shared_last_week: zod_1.z.string().min(1).optional(),
|
|
335
|
+
question_placeholder: zod_1.z.string().min(1).optional(),
|
|
336
|
+
onboarding_dbs_intro_heading: zod_1.z.string().min(1).optional(),
|
|
337
|
+
onboarding_dbs_intro_body: zod_1.z.string().min(1).optional(),
|
|
338
|
+
onboarding_invite_group_heading: zod_1.z.string().min(1).optional(),
|
|
339
|
+
onboarding_invite_group_body: zod_1.z.string().min(1).optional(),
|
|
340
|
+
popups_need_help_with_group_title: zod_1.z.string().min(1).optional(),
|
|
341
|
+
popups_need_help_with_group_message: zod_1.z.string().min(1).optional(),
|
|
342
|
+
popups_micro_lessons_banner: zod_1.z.string().min(1).optional(),
|
|
343
|
+
question_in_a_group: zod_1.z.string().min(1).optional(),
|
|
344
|
+
question_what_brings_you_question: zod_1.z.string().min(1).optional(),
|
|
345
|
+
question_what_brings_you_body: zod_1.z.string().min(1).optional(),
|
|
346
|
+
question_what_brings_you_option_1: zod_1.z.string().min(1).optional(),
|
|
347
|
+
question_what_brings_you_option_2: zod_1.z.string().min(1).optional(),
|
|
348
|
+
question_what_brings_you_option_3: zod_1.z.string().min(1).optional(),
|
|
349
|
+
question_what_brings_you_option_4: zod_1.z.string().min(1).optional(),
|
|
324
350
|
})
|
|
325
351
|
.describe('Translations for a single language (identified by a 3-letter code)_'))
|
|
326
352
|
.describe('Schema for appTranslations_json_ Root keys are 3-letter language identifiers (ISO-639 style)_ Each language object contains well-defined translation collections_');
|
|
@@ -2086,7 +2086,7 @@
|
|
|
2086
2086
|
"a.004": "كىيىنكى ھەپتە بۇ ئايەتلەردىن ئۆگەنگەن ھەقىقەتلەرنى ئۆز ھاياتىمىزغا قانداق ئۆزلەشتۈرمەكچىمىز؟ بىز قىلالايدىغان كونكرېت ئىش-ھەرىكەت بارمۇ؟",
|
|
2087
2087
|
"a.005": "بىز قايتا يىغىلىشتىن بۇرۇن، بۈگۈنكى ئايەتلەردىن كىم بىلەن بىرەر ھەقىقەتنى ئورتاقلاشماچىمىز؟",
|
|
2088
2088
|
"a.006": "بۇ ۋاقتىمىز ئاخىرلىشىشتىن بۇرۇن، كېلەركى يىغىلىشىمىزنىڭ ۋاقتى، ئورنى ۋە كىمنىڭ ئۆتكۈزىدىغانلىقىنى بېكىتەيلى.",
|
|
2089
|
-
"a.007": "بىز
|
|
2089
|
+
"a.007": "بىز نېمە ئىش-ھەرىكەت قىلماقچى بولغانلىقىمىزنى خاتىرىلەيلى، ۋە قايتا يىغىلىشتىن بۇرۇن بۈگۈن ئۆگەنگەن ئايەتلەرنى تەكرار ئوقۇپ چىقايلى. بىزنى باشلاپ قىلغان ئادەم ئايەتلەر ۋە ئاۋازنى بىز بىلەن ئورتاقلىشالايدۇ. مېڭىشتىن بۇرۇن خۇدادىن ياردەم تىلەيلى.",
|
|
2090
2090
|
"a.008": "بۇ ئايەتلەردىن خۇدانىڭ يولىدا مېڭىش ھەققىدە نېمىلەرنى ئۆگىنىشكە بولىدۇ؟",
|
|
2091
2091
|
"a.009": "بۇ ئايەتلەردىن ئېتىقادچىلار جامائەتچىلىكى ھەققىدە نېمىلەرنى ئۆگىنىشكە بولىدۇ؟",
|
|
2092
2092
|
"a.010": "بۇ ئايەتلەردىن يېتەكچى بولۇش ھەققىدە نېمىلەرنى ئۆگىنىشكە بولىدۇ؟",
|
|
@@ -2103,7 +2103,7 @@
|
|
|
2103
2103
|
"f.004": "ئاخىرقى يىغىلىشىمىزدىكى ئوقۇغان ئايەتلەر نېمە ھەققىدە ئىدى؟ بىز خۇدا ۋە ئىنسانلار ھەققىدە نېمىلەرنى ئۆگەندۇق؟",
|
|
2104
2104
|
"f.005": "ئاخىرقى يىغىلىشىمىزدە ئۆگەنگەنلىرىمىزنى ھاياتلىرىمىزغا ئۆزلەشتۈرمەكچى ئىدۇق. نېمە ئىش-ھەرىكەت قىلدۇق؟ قانداق بولدى؟",
|
|
2105
2105
|
"f.006": "ئاخىرقى يىغىلىشىمىزدىكى ئايەتلەرنى كىم بىلەن ئورتاقلاشتۇق؟ ئۇلار قانداق ئىپادە كۆرسەتتى؟",
|
|
2106
|
-
"f.007": "ئاخىرقى
|
|
2106
|
+
"f.007": "بىز ئاخىرقى يىغىلىشىمىزدە بەزى ئېھتىياجلارنىڭ بارلىقىنى بايقاپ ئۇلارنى تەمىنلەشنى پىلانلىغان ئىدۇق. ئۇ ئىشلار قانداق بولدى؟",
|
|
2107
2107
|
"f.008": "ئەمدى، بۈگۈنكى ئايەتلەرنى مۇقەددەس كىتابتىن ئوقۇيلى ...",
|
|
2108
2108
|
"f.009": "ئاخىرقى يىغىلىشىمىزدىن ھازىرغىچە يۈز بەرگەن ئىشلاردا بىز نېمىدىن مىننەتدارمىز؟",
|
|
2109
2109
|
"f.010": "بىز تونۇدىغان خۇدانىڭ يولىدا ماڭمىغانلارنىڭ ئېھتىياجىلىرى نېمە؟ بىز بۇ ئېھتىياجلارغا قانداق ياردەم بېرەلەيمىز؟",
|
|
@@ -944,7 +944,7 @@
|
|
|
944
944
|
"f.004": "Apa cerita dari pertemuan kita sebelumnya? Apa yang kita pelajari tentang Allah dan manusia?",
|
|
945
945
|
"f.005": "Di pertemuan kita sebelumnya, Anda memutuskan untuk menerapkan apa yang telah Anda pelajari. Apa yang telah Anda lakukan, dan bagaimana hasilnya?",
|
|
946
946
|
"f.006": "Dengan siapa Anda berbagi sesuatu dari cerita dari pertemuan kita sebelumnya? Bagaimana tanggapan mereka?",
|
|
947
|
-
"f.007": "Di pertemuan kita sebelumnya, kita
|
|
947
|
+
"f.007": "Di pertemuan kita sebelumnya, kita sudah menyebutkan beberapa kebutuhan dan merencanakan untuk memenuhi kebutuhan tersebut. Bagaimana hasilnya?",
|
|
948
948
|
"f.008": "Sekarang, mari kita mendengar sebuah kisah baru dari Allah...",
|
|
949
949
|
"f.009": "Selamat datang di sesi baru Komunitas Menjadikan Murid. Mari kita mulai dengan menanyakan kabar kita. Berdasarkan apa yang telah terjadi dengan Anda sejak pertemuan kita sebelumnya, hal apa yang Anda syukuri?",
|
|
950
950
|
"f.010": "Apa kebutuhan orang-orang yang belum kenal Isa al Masih di komunitas Anda, dan bagaimana kita dapat saling membantu untuk memenuhi kebutuhan yang sudah kita diskusikan?",
|
|
@@ -2086,7 +2086,7 @@
|
|
|
2086
2086
|
"a.004": "كىيىنكى ھەپتە بۇ ئايەتلەردىن ئۆگەنگەن ھەقىقەتلەرنى ئۆز ھاياتىمىزغا قانداق ئۆزلەشتۈرمەكچىمىز؟ بىز قىلالايدىغان كونكرېت ئىش-ھەرىكەت بارمۇ؟",
|
|
2087
2087
|
"a.005": "بىز قايتا يىغىلىشتىن بۇرۇن، بۈگۈنكى ئايەتلەردىن كىم بىلەن بىرەر ھەقىقەتنى ئورتاقلاشماچىمىز؟",
|
|
2088
2088
|
"a.006": "بۇ ۋاقتىمىز ئاخىرلىشىشتىن بۇرۇن، كېلەركى يىغىلىشىمىزنىڭ ۋاقتى، ئورنى ۋە كىمنىڭ ئۆتكۈزىدىغانلىقىنى بېكىتەيلى.",
|
|
2089
|
-
"a.007": "بۇ ۋاقتىمىز ياخشى بولدى. نېمە ئىش-ھەرىكەت قىلماقچى بولغانلىقىمىزنى
|
|
2089
|
+
"a.007": "بۇ ۋاقتىمىز ياخشى بولدى. بىز نېمە ئىش-ھەرىكەت قىلماقچى بولغانلىقىمىزنى خاتىرىلەيلى، ۋە قايتا يىغىلىشتىن بۇرۇن بۈگۈن ئۆگەنگەن ئايەتلەرنى تەكرار ئوقۇپ چىقايلى. بىزنى باشلاپ قىلغان ئادەم ئايەتلەر ۋە ئاۋازنى بىز بىلەن ئورتاقلىشالايدۇ. مېڭىشتىن بۇرۇن خۇدادىن ياردەم تىلەيلى.",
|
|
2090
2090
|
"a.008": "بۇ ئايەتلەردىن خۇدانىڭ يولىدا مېڭىش ھەققىدە نېمىلەرنى ئۆگىنىشكە بولىدۇ؟",
|
|
2091
2091
|
"a.009": "بۇ ئايەتلەردىن ئېتىقادچىلار جامائەتچىلىكى ھەققىدە نېمىلەرنى ئۆگىنىشكە بولىدۇ؟",
|
|
2092
2092
|
"a.010": "بۇ ئايەتلەردىن يېتەكچى بولۇش ھەققىدە نېمىلەرنى ئۆگىنىشكە بولىدۇ؟",
|
|
@@ -2100,7 +2100,7 @@
|
|
|
2100
2100
|
"f.001": "خۇش كەپسىز. قانداق ئەھۋالىڭىز؟ ئالدى بىلەن ئۆز-ئارا ئەھۋالىشەيلى. ئاخىرقى يىغىلىشتىن ھازىرغىچە يۈز بەرگەن ئىشلاردا بىز نېمىدىن مىننەتدارمىز؟ كېلىڭلار، ھەممىمىز نېمىدىن مىننەتدار ئىكەنلىكىمىزنى ئورتاقلىشايلى.",
|
|
2101
2101
|
"f.002": "بۇ ھەپتە نېمە ئىشلار بىزگە بېسىم سالدى؟ ئەھۋالىمىزنىڭ ياخشىلىنىشى ئۈچۈن نېمىلەر بولۇشى كېرەك؟",
|
|
2102
2102
|
"f.003": "تونۇشلىرىمىزنىڭ ياكى مەھەللىمىزدىكى كىشىلەرنىڭ ئېھتىياجىلىرى نېمە؟ بىز بۇ ئېھتىياجلارنى قاندۇرۇش ئۈچۈن نېمە قىلالايمىز؟",
|
|
2103
|
-
"f.004": "ئاخىرقى
|
|
2103
|
+
"f.004": "ئاخىرقى يىغىلىشىمىزدە بىز بىللە ئۆگەنگەن ئايەتلەر نېمە ھەققىدە ئىدى؟ بىز خۇدا ۋە ئىنسانلار ھەققىدە نېمىلەرنى ئۆگەندۇق؟",
|
|
2104
2104
|
"f.005": "ئاخىرقى يىغىلىشىمىزدە ئۆگەنگەنلىرىمىزنى ھاياتلىرىمىزغا ئۆزلەشتۈرمەكچى ئىدۇق. نېمە ئىش-ھەرىكەت قىلدۇق؟ قانداق بولدى؟",
|
|
2105
2105
|
"f.006": "ئاخىرقى ھەپتىدىكى ئايەتلەرنىڭ مەزمۇنىنى كىم بىلەن ئورتاقلاشتۇق؟ ئۇلار قانداق ئىپادە كۆرسەتتى؟",
|
|
2106
2106
|
"f.007": "بىز ئاخىرقى يىغىلىشىمىزدە بەزى ئېھتىياجلارنىڭ بارلىقىنى بايقاپ ئۇلارنى تەمىنلەشنى پىلانلىغان ئىدۇق. ئۇ ئىشلار قانداق بولدى؟",
|
|
@@ -1,6 +1,30 @@
|
|
|
1
1
|
import { BibleChapter, BibleChapters } from '../types/bibleChapters';
|
|
2
2
|
import type { LanguageInfo } from '../types/languages';
|
|
3
3
|
import { ScripturePassage } from '../types/scripturePassages';
|
|
4
|
+
export interface VerseRangeInfo {
|
|
5
|
+
startBook: string;
|
|
6
|
+
startChapter: string;
|
|
7
|
+
startVerse: string;
|
|
8
|
+
endBook: string;
|
|
9
|
+
endChapter: string;
|
|
10
|
+
endVerse: string;
|
|
11
|
+
startChapterId: string;
|
|
12
|
+
endChapterId: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Parses a verse range string like "GEN.1.1-GEN.1.25" or "JHN.3.16" or "REV.22"
|
|
16
|
+
* Returns the start and end verse IDs
|
|
17
|
+
*/
|
|
18
|
+
export declare function parseVerseRange(passageId: string): VerseRangeInfo;
|
|
19
|
+
type GetChapterUrlParams = {
|
|
20
|
+
bibleAudioId: string;
|
|
21
|
+
passageId: string;
|
|
22
|
+
} | {
|
|
23
|
+
startBook: string;
|
|
24
|
+
startChapter: string;
|
|
25
|
+
bibleAudioId: string;
|
|
26
|
+
};
|
|
27
|
+
export declare function getChapterUrl(params: GetChapterUrlParams): string;
|
|
4
28
|
/**
|
|
5
29
|
* Condenses a list of USFM passage IDs into a readable string format. Groups
|
|
6
30
|
* consecutive passages from the same book together.
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseVerseRange = parseVerseRange;
|
|
4
|
+
exports.getChapterUrl = getChapterUrl;
|
|
3
5
|
exports.getPassagesString = getPassagesString;
|
|
4
6
|
exports.getScripturePassage = getScripturePassage;
|
|
5
7
|
exports.getLessonScripture = getLessonScripture;
|
|
@@ -8,17 +10,24 @@ exports.verseToSuperscript = verseToSuperscript;
|
|
|
8
10
|
const bibleStatuses_1 = require("../data/bibleStatuses");
|
|
9
11
|
const languages_1 = require("../functions/languages");
|
|
10
12
|
const bibleChapters_1 = require("../types/bibleChapters");
|
|
13
|
+
const sets_1 = require("./sets");
|
|
11
14
|
/**
|
|
12
|
-
* Parses a verse range string like "GEN.1.1-GEN.1.25" or "JHN.3.16"
|
|
13
|
-
* start and end verse IDs
|
|
15
|
+
* Parses a verse range string like "GEN.1.1-GEN.1.25" or "JHN.3.16" or "REV.22"
|
|
16
|
+
* Returns the start and end verse IDs
|
|
14
17
|
*/
|
|
15
18
|
function parseVerseRange(passageId) {
|
|
16
19
|
// Handle single verse: "GEN.1.1" -> "GEN.1.1-GEN.1.1"
|
|
17
20
|
const parts = passageId.includes('-')
|
|
18
21
|
? passageId.split('-')
|
|
19
22
|
: [passageId, passageId];
|
|
20
|
-
const
|
|
21
|
-
const
|
|
23
|
+
const startParts = parts[0].split('.');
|
|
24
|
+
const endParts = parts[1].split('.');
|
|
25
|
+
const startBook = startParts[0];
|
|
26
|
+
const startChapter = startParts[1];
|
|
27
|
+
const startVerse = startParts.length > 2 ? startParts[2] : '1';
|
|
28
|
+
const endBook = endParts[0];
|
|
29
|
+
const endChapter = endParts[1];
|
|
30
|
+
const endVerse = endParts.length > 2 ? endParts[2] : '1';
|
|
22
31
|
return {
|
|
23
32
|
startBook,
|
|
24
33
|
startChapter,
|
|
@@ -26,8 +35,24 @@ function parseVerseRange(passageId) {
|
|
|
26
35
|
endBook,
|
|
27
36
|
endChapter,
|
|
28
37
|
endVerse,
|
|
38
|
+
startChapterId: `${startBook}.${startChapter}`,
|
|
39
|
+
endChapterId: `${endBook}.${endChapter}`,
|
|
29
40
|
};
|
|
30
41
|
}
|
|
42
|
+
function getChapterUrl(params) {
|
|
43
|
+
const startBook = 'startBook' in params
|
|
44
|
+
? params.startBook
|
|
45
|
+
: parseVerseRange(params.passageId).startBook;
|
|
46
|
+
const startChapter = 'startChapter' in params
|
|
47
|
+
? params.startChapter
|
|
48
|
+
: parseVerseRange(params.passageId).startChapter;
|
|
49
|
+
return (sets_1.firebaseUrl +
|
|
50
|
+
encodeURIComponent('audio_bibles' +
|
|
51
|
+
`/${params.bibleAudioId}` +
|
|
52
|
+
`/${startBook}` +
|
|
53
|
+
`/${startBook}_${startChapter.padStart(3, '0')}.mp3`) +
|
|
54
|
+
`?alt=media`);
|
|
55
|
+
}
|
|
31
56
|
/** Extracts verses from a chapter based on verse numbers */
|
|
32
57
|
function extractVersesFromChapter(chapter, startVerse, endVerse) {
|
|
33
58
|
const verses = chapter.verses.filter((verse) => {
|
|
@@ -1,24 +1,4 @@
|
|
|
1
1
|
import type { ArticleSession, BibleSession, WahaShareContent } from './users';
|
|
2
|
-
export interface BaseEventParams {
|
|
3
|
-
meetLanguageId: string;
|
|
4
|
-
appInterfaceLanguageId: string;
|
|
5
|
-
favorites: string;
|
|
6
|
-
pathname: string;
|
|
7
|
-
bible: string;
|
|
8
|
-
trainingUnlocked: boolean;
|
|
9
|
-
firestoreUserId?: string;
|
|
10
|
-
groupID?: string;
|
|
11
|
-
lessonID?: string;
|
|
12
|
-
setID?: string;
|
|
13
|
-
articleId?: string;
|
|
14
|
-
sessionID?: string;
|
|
15
|
-
clone?: string;
|
|
16
|
-
utm_campaign?: string;
|
|
17
|
-
utm_source?: string;
|
|
18
|
-
utm_content?: string;
|
|
19
|
-
utm_medium?: string;
|
|
20
|
-
utm_term?: string;
|
|
21
|
-
}
|
|
22
2
|
type Meeting = {
|
|
23
3
|
name: 'OpenPlayScreen';
|
|
24
4
|
payload: {
|
|
@@ -78,10 +58,16 @@ type Misc = {
|
|
|
78
58
|
payload: {
|
|
79
59
|
enabled: boolean;
|
|
80
60
|
};
|
|
61
|
+
} | {
|
|
62
|
+
name: 'StartOnboarding';
|
|
63
|
+
payload: {
|
|
64
|
+
usedOldOnboarding?: boolean;
|
|
65
|
+
};
|
|
81
66
|
} | {
|
|
82
67
|
name: 'FinishOnboarding';
|
|
83
68
|
payload: {
|
|
84
|
-
|
|
69
|
+
skippedFromPage: number | undefined;
|
|
70
|
+
usedOldOnboarding?: boolean;
|
|
85
71
|
};
|
|
86
72
|
} | {
|
|
87
73
|
name: 'ClickNotification';
|
package/dist/types/articles.d.ts
CHANGED
|
@@ -146,3 +146,7 @@ export declare const ArticlesResponseSchema: z.ZodObject<{
|
|
|
146
146
|
body: z.ZodString;
|
|
147
147
|
}, z.core.$strip>>;
|
|
148
148
|
}, z.core.$strip>;
|
|
149
|
+
export declare const ArticleLanguagesResponseSchema: z.ZodObject<{
|
|
150
|
+
data: z.ZodArray<z.ZodString>;
|
|
151
|
+
}, z.core.$strip>;
|
|
152
|
+
export type ArticleCategory = z.infer<typeof ArticleSchema>['category'];
|
package/dist/types/articles.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ArticlesResponseSchema = exports.ResponseArticleSchema = exports.ArticleSchema = void 0;
|
|
6
|
+
exports.ArticleLanguagesResponseSchema = exports.ArticlesResponseSchema = exports.ResponseArticleSchema = exports.ArticleSchema = void 0;
|
|
7
7
|
const v4_1 = __importDefault(require("zod/v4"));
|
|
8
8
|
const webContent_1 = require("./webContent");
|
|
9
9
|
exports.ArticleSchema = v4_1.default.object({
|
|
@@ -50,3 +50,6 @@ exports.ResponseArticleSchema = v4_1.default.object({
|
|
|
50
50
|
exports.ArticlesResponseSchema = v4_1.default.object({
|
|
51
51
|
data: v4_1.default.array(exports.ResponseArticleSchema),
|
|
52
52
|
});
|
|
53
|
+
exports.ArticleLanguagesResponseSchema = v4_1.default.object({
|
|
54
|
+
data: v4_1.default.array(v4_1.default.string()),
|
|
55
|
+
});
|
|
@@ -7,15 +7,19 @@ exports.MicroLessonLanguagesResponseSchema = exports.MicroLessonSubmissionSchema
|
|
|
7
7
|
const v4_1 = __importDefault(require("zod/v4"));
|
|
8
8
|
const users_1 = require("./users");
|
|
9
9
|
const webContent_1 = require("./webContent");
|
|
10
|
-
exports.MicroLessonRadioButtonSchema = v4_1.default
|
|
10
|
+
exports.MicroLessonRadioButtonSchema = v4_1.default
|
|
11
|
+
.object({
|
|
11
12
|
heading: v4_1.default.string().optional(),
|
|
12
13
|
body: v4_1.default.string().optional(),
|
|
13
|
-
})
|
|
14
|
-
|
|
14
|
+
})
|
|
15
|
+
.describe('A single radio button option for a micro lesson page. Heading will show in bold and body will show in regular, gray text.');
|
|
16
|
+
exports.MicroLessonCtaButtonSchema = v4_1.default
|
|
17
|
+
.object({
|
|
15
18
|
show: v4_1.default.boolean(),
|
|
16
19
|
label: v4_1.default.string(),
|
|
17
20
|
href: v4_1.default.string(),
|
|
18
|
-
})
|
|
21
|
+
})
|
|
22
|
+
.describe('A call-to-action button that will appear at the bottom of a micro lesson page.');
|
|
19
23
|
exports.MicroLessonSchema = v4_1.default.object({
|
|
20
24
|
title: v4_1.default.string(),
|
|
21
25
|
subtitle: v4_1.default.string().optional(),
|
|
@@ -23,27 +27,54 @@ exports.MicroLessonSchema = v4_1.default.object({
|
|
|
23
27
|
isDraft: webContent_1.IsDraftSchema,
|
|
24
28
|
seekerFriendly: webContent_1.SeekerFriendlySchema,
|
|
25
29
|
platform: webContent_1.PlatformSchema,
|
|
26
|
-
image: v4_1.default
|
|
30
|
+
image: v4_1.default
|
|
31
|
+
.string()
|
|
32
|
+
.optional()
|
|
33
|
+
.describe("Cover image for the micro lesson. Will display on the micro lesson's card."),
|
|
27
34
|
category: v4_1.default.enum(['Case Studies', 'How Tos']),
|
|
28
35
|
campaign: v4_1.default
|
|
29
36
|
.string()
|
|
30
37
|
.optional()
|
|
31
38
|
.describe('Optional campaign identifier for tracking purposes.'),
|
|
32
|
-
pages: v4_1.default
|
|
39
|
+
pages: v4_1.default
|
|
40
|
+
.array(v4_1.default
|
|
33
41
|
.object({
|
|
34
|
-
heading: v4_1.default
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
42
|
+
heading: v4_1.default
|
|
43
|
+
.string()
|
|
44
|
+
.describe('The heading of the page. Will appear in large, bold text.'),
|
|
45
|
+
body: v4_1.default
|
|
46
|
+
.string()
|
|
47
|
+
.optional()
|
|
48
|
+
.describe('The body text of the page. Will appear below the heading in regular, gray text.'),
|
|
49
|
+
icon: v4_1.default
|
|
50
|
+
.string()
|
|
51
|
+
.optional()
|
|
52
|
+
.describe('An svg icon to display on the page. This will appear fairly small, left-aligned above the heading.'),
|
|
53
|
+
image: v4_1.default
|
|
54
|
+
.string()
|
|
55
|
+
.optional()
|
|
56
|
+
.describe('The image to display on the page. This will appear full width and below the heading.'),
|
|
38
57
|
audio: webContent_1.AudioSchema,
|
|
39
58
|
video: webContent_1.VideoSchema,
|
|
40
59
|
textInput: v4_1.default
|
|
41
60
|
.object({
|
|
42
|
-
show: v4_1.default
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
61
|
+
show: v4_1.default
|
|
62
|
+
.boolean()
|
|
63
|
+
.describe('Whether or not the page should show a text input field or not.'),
|
|
64
|
+
placeholder: v4_1.default
|
|
65
|
+
.string()
|
|
66
|
+
.optional()
|
|
67
|
+
.describe('The placeholder text that will appear in the text input field before the user starts typing.'),
|
|
68
|
+
showCopyButton: v4_1.default
|
|
69
|
+
.boolean()
|
|
70
|
+
.optional()
|
|
71
|
+
.describe('Whether or not there should be a copy/share button below the text input field. Button will say "Share" on the mobile app version of the micro lesson and will open the share sheet. Button will say "Copy to Clipboard" on the web version and will copy the text to the user\'s clipboard.'),
|
|
72
|
+
prefilledText: v4_1.default
|
|
73
|
+
.string()
|
|
74
|
+
.optional()
|
|
75
|
+
.describe('The prefilled text that will auto-populate the text input field of the page. Useful if you want to prefill a share message that the user can edit and send.'),
|
|
46
76
|
})
|
|
77
|
+
.describe('Options for the text input field of the page.')
|
|
47
78
|
.optional(),
|
|
48
79
|
ctaButton: exports.MicroLessonCtaButtonSchema.optional(),
|
|
49
80
|
radioButtons: v4_1.default.array(exports.MicroLessonRadioButtonSchema).optional(),
|
|
@@ -59,7 +90,8 @@ exports.MicroLessonSchema = v4_1.default.object({
|
|
|
59
90
|
.optional()
|
|
60
91
|
.describe('Optional notification to send after the lesson is completed.'),
|
|
61
92
|
})
|
|
62
|
-
.describe('
|
|
93
|
+
.describe('A single page of the micro lesson.'))
|
|
94
|
+
.describe('The pages that make up the micro lesson. The last page is the completion page and will always have a button redirecting the user back.'),
|
|
63
95
|
});
|
|
64
96
|
exports.ResponseMicroLessonSchema = v4_1.default.object({
|
|
65
97
|
id: v4_1.default.string(),
|