@jjlmoya/utils-babies 1.1.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.
- package/package.json +69 -0
- package/src/category/i18n/en.ts +48 -0
- package/src/category/i18n/es.ts +48 -0
- package/src/category/i18n/fr.ts +48 -0
- package/src/category/index.ts +24 -0
- package/src/category/seo.astro +15 -0
- package/src/components/PreviewNavSidebar.astro +116 -0
- package/src/components/PreviewToolbar.astro +143 -0
- package/src/data.ts +30 -0
- package/src/env.d.ts +5 -0
- package/src/index.ts +19 -0
- package/src/layouts/PreviewLayout.astro +117 -0
- package/src/pages/[locale]/[slug].astro +146 -0
- package/src/pages/[locale].astro +251 -0
- package/src/pages/index.astro +4 -0
- package/src/tests/faq_count.test.ts +19 -0
- package/src/tests/locale_completeness.test.ts +42 -0
- package/src/tests/mocks/astro_mock.js +2 -0
- package/src/tests/no_h1_in_components.test.ts +48 -0
- package/src/tests/seo_length.test.ts +23 -0
- package/src/tests/tool_validation.test.ts +17 -0
- package/src/tool/baby-feeding-calculator/bibliography.astro +7 -0
- package/src/tool/baby-feeding-calculator/component.astro +210 -0
- package/src/tool/baby-feeding-calculator/i18n/en.ts +162 -0
- package/src/tool/baby-feeding-calculator/i18n/es.ts +162 -0
- package/src/tool/baby-feeding-calculator/i18n/fr.ts +162 -0
- package/src/tool/baby-feeding-calculator/index.ts +47 -0
- package/src/tool/baby-feeding-calculator/logic.ts +85 -0
- package/src/tool/baby-feeding-calculator/seo.astro +58 -0
- package/src/tool/baby-feeding-calculator/style.css +329 -0
- package/src/tool/baby-percentile-calculator/bibliography.astro +7 -0
- package/src/tool/baby-percentile-calculator/component.astro +388 -0
- package/src/tool/baby-percentile-calculator/i18n/en.ts +244 -0
- package/src/tool/baby-percentile-calculator/i18n/es.ts +244 -0
- package/src/tool/baby-percentile-calculator/i18n/fr.ts +244 -0
- package/src/tool/baby-percentile-calculator/index.ts +54 -0
- package/src/tool/baby-percentile-calculator/lmsData.ts +80 -0
- package/src/tool/baby-percentile-calculator/logic.ts +85 -0
- package/src/tool/baby-percentile-calculator/seo.astro +36 -0
- package/src/tool/baby-percentile-calculator/style.css +393 -0
- package/src/tool/baby-size-converter/bibliography.astro +7 -0
- package/src/tool/baby-size-converter/component.astro +289 -0
- package/src/tool/baby-size-converter/data.json +11 -0
- package/src/tool/baby-size-converter/i18n/en.ts +203 -0
- package/src/tool/baby-size-converter/i18n/es.ts +203 -0
- package/src/tool/baby-size-converter/i18n/fr.ts +203 -0
- package/src/tool/baby-size-converter/index.ts +53 -0
- package/src/tool/baby-size-converter/logic.ts +44 -0
- package/src/tool/baby-size-converter/seo.astro +36 -0
- package/src/tool/baby-size-converter/style.css +394 -0
- package/src/tool/fertile-days-estimator/bibliography.astro +7 -0
- package/src/tool/fertile-days-estimator/component.astro +265 -0
- package/src/tool/fertile-days-estimator/i18n/en.ts +258 -0
- package/src/tool/fertile-days-estimator/i18n/es.ts +262 -0
- package/src/tool/fertile-days-estimator/i18n/fr.ts +258 -0
- package/src/tool/fertile-days-estimator/index.ts +47 -0
- package/src/tool/fertile-days-estimator/logic.ts +58 -0
- package/src/tool/fertile-days-estimator/seo.astro +36 -0
- package/src/tool/fertile-days-estimator/style.css +419 -0
- package/src/tool/pregnancy-calculator/bibliography.astro +7 -0
- package/src/tool/pregnancy-calculator/calculator.ts +41 -0
- package/src/tool/pregnancy-calculator/component.astro +432 -0
- package/src/tool/pregnancy-calculator/i18n/en.ts +315 -0
- package/src/tool/pregnancy-calculator/i18n/es.ts +319 -0
- package/src/tool/pregnancy-calculator/i18n/fr.ts +315 -0
- package/src/tool/pregnancy-calculator/index.ts +55 -0
- package/src/tool/pregnancy-calculator/milestones.ts +153 -0
- package/src/tool/pregnancy-calculator/seo.astro +36 -0
- package/src/tool/pregnancy-calculator/store.ts +60 -0
- package/src/tool/pregnancy-calculator/style.css +807 -0
- package/src/tool/vaccination-calendar/bibliography.astro +7 -0
- package/src/tool/vaccination-calendar/component.astro +286 -0
- package/src/tool/vaccination-calendar/i18n/en.ts +170 -0
- package/src/tool/vaccination-calendar/i18n/es.ts +174 -0
- package/src/tool/vaccination-calendar/i18n/fr.ts +170 -0
- package/src/tool/vaccination-calendar/index.ts +47 -0
- package/src/tool/vaccination-calendar/logic.ts +59 -0
- package/src/tool/vaccination-calendar/seo.astro +36 -0
- package/src/tool/vaccination-calendar/style.css +316 -0
- package/src/tool/vaccination-calendar/vaccinationData.ts +21 -0
- package/src/tools.ts +17 -0
- package/src/types.ts +72 -0
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
import type { PregnancyCalculatorLocaleContent } from '../index';
|
|
2
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
3
|
+
|
|
4
|
+
const slug = 'pregnancy-weeks-calculator';
|
|
5
|
+
const title = 'Pregnancy Weeks Calculator';
|
|
6
|
+
const description = 'Calculate exactly which week of pregnancy you are in, your trimester, and your estimated due date.';
|
|
7
|
+
const faq = [
|
|
8
|
+
{
|
|
9
|
+
question: 'How is the pregnancy week calculated?',
|
|
10
|
+
answer: 'It is counted from the first day of your last period. 280 days are added to that date to get the estimated due date. If your cycle differs from 28 days, the calculation adjusts automatically.',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
question: 'What is the difference between LMP and conception date?',
|
|
14
|
+
answer: 'LMP (Last Menstrual Period) is the standard method used by doctors. The conception date is more accurate if you know it, as it avoids the 14-day ovulation estimate. Both methods give very similar results for regular cycles.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Why is my doctor\'s due date different from this calculator?',
|
|
18
|
+
answer: 'Your doctor may have corrected the date based on a first-trimester ultrasound, which is the most accurate method. Irregular cycles can also justify differences.',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
question: 'When does the second trimester start?',
|
|
22
|
+
answer: 'The second trimester starts at week 13 and ends at the end of week 26. Most mothers feel more energetic during this period and the baby bump becomes visible.',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
question: 'What is the EDD and how accurate is it?',
|
|
26
|
+
answer: 'The Estimated Due Date (EDD) is a statistical estimate. Only 3–5% of babies are born exactly on that day. Most babies are born between weeks 38 and 42.',
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
const howTo = [
|
|
30
|
+
{
|
|
31
|
+
name: 'Select the calculation method',
|
|
32
|
+
text: 'Choose whether to calculate from your last menstrual period or from your conception date.',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: 'Enter the date',
|
|
36
|
+
text: 'Select the day, month and year using the dropdown menus.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Adjust cycle length',
|
|
40
|
+
text: 'If your cycle is not 28 days, move the slider to get a more accurate estimate.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Check the week and trimester',
|
|
44
|
+
text: 'The result shows the exact week, trimester and estimated due date.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Explore weekly milestones',
|
|
48
|
+
text: 'Discover the baby\'s size, biological changes and personalised tips for each week.',
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
53
|
+
'@context': 'https://schema.org',
|
|
54
|
+
'@type': 'FAQPage',
|
|
55
|
+
mainEntity: faq.map((item) => ({
|
|
56
|
+
'@type': 'Question',
|
|
57
|
+
name: item.question,
|
|
58
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
59
|
+
})),
|
|
60
|
+
};
|
|
61
|
+
const howToSchema: WithContext<HowTo> = {
|
|
62
|
+
'@context': 'https://schema.org',
|
|
63
|
+
'@type': 'HowTo',
|
|
64
|
+
name: title,
|
|
65
|
+
description,
|
|
66
|
+
step: howTo.map((step) => ({
|
|
67
|
+
'@type': 'HowToStep',
|
|
68
|
+
name: step.name,
|
|
69
|
+
text: step.text,
|
|
70
|
+
})),
|
|
71
|
+
};
|
|
72
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
73
|
+
'@context': 'https://schema.org',
|
|
74
|
+
'@type': 'SoftwareApplication',
|
|
75
|
+
name: title,
|
|
76
|
+
description,
|
|
77
|
+
applicationCategory: 'UtilitiesApplication',
|
|
78
|
+
operatingSystem: 'Web',
|
|
79
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
80
|
+
inLanguage: 'en',
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
export const content: PregnancyCalculatorLocaleContent = {
|
|
84
|
+
slug,
|
|
85
|
+
title,
|
|
86
|
+
description,
|
|
87
|
+
ui: {
|
|
88
|
+
btnFUR: 'Last Period',
|
|
89
|
+
btnConception: 'Conception Date',
|
|
90
|
+
labelPartnerMode: 'Partner mode',
|
|
91
|
+
labelFUR: 'Last menstrual period',
|
|
92
|
+
labelConception: 'Conception date',
|
|
93
|
+
labelCycleLength: 'Cycle length',
|
|
94
|
+
unitDays: 'days',
|
|
95
|
+
labelWeeks: 'Weeks',
|
|
96
|
+
labelTrimester: 'Trimester',
|
|
97
|
+
labelEDD: 'Estimated Due Date',
|
|
98
|
+
eddPlaceholder: 'Enter your date',
|
|
99
|
+
eddNote: 'Only 3–5% of babies are born on this exact day',
|
|
100
|
+
btnCalendar: 'Save to Calendar',
|
|
101
|
+
labelFruits: 'Fruits',
|
|
102
|
+
labelGeek: 'Geek',
|
|
103
|
+
labelSweets: 'Sweets',
|
|
104
|
+
labelBioLabel: 'Biological development',
|
|
105
|
+
labelMomKey: 'Your body today',
|
|
106
|
+
labelPartnerKey: 'How to support her today',
|
|
107
|
+
labelNormalMolestias: 'Normal discomforts',
|
|
108
|
+
labelAlert: 'Consult if you have...',
|
|
109
|
+
labelTimeline: 'Timeline',
|
|
110
|
+
labelStartHere: 'Start here',
|
|
111
|
+
labelStartBody: 'Select the date of your last period to discover which week you are in.',
|
|
112
|
+
faqTitle: 'Frequently asked questions',
|
|
113
|
+
bibliographyTitle: 'References',
|
|
114
|
+
},
|
|
115
|
+
seo: [
|
|
116
|
+
{
|
|
117
|
+
type: 'summary',
|
|
118
|
+
title: 'Key takeaways',
|
|
119
|
+
items: [
|
|
120
|
+
'Calculate your pregnancy week from your LMP or your conception date.',
|
|
121
|
+
'The EDD is an estimate — only 3–5% of babies are born on that exact day.',
|
|
122
|
+
'Each trimester has its own biological milestones and typical discomforts.',
|
|
123
|
+
'Contact your doctor or midwife immediately if you notice any warning signs.',
|
|
124
|
+
'Partner mode shows how to support your partner week by week.',
|
|
125
|
+
],
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'title',
|
|
129
|
+
text: 'Pregnancy Weeks Calculator: More Than Just a Due Date',
|
|
130
|
+
level: 2,
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'stats',
|
|
134
|
+
columns: 3,
|
|
135
|
+
items: [
|
|
136
|
+
{ value: '40 weeks', label: 'Average pregnancy duration' },
|
|
137
|
+
{ value: '280 days', label: 'Days of gestation' },
|
|
138
|
+
{ value: '±14 days', label: 'EDD margin of error' },
|
|
139
|
+
],
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
type: 'title',
|
|
143
|
+
text: 'How is the pregnancy week calculated?',
|
|
144
|
+
level: 3,
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
type: 'list',
|
|
148
|
+
items: [
|
|
149
|
+
'The most common method uses the first day of your last menstrual period (LMP) as the starting point.',
|
|
150
|
+
'280 days are added to the LMP to obtain the estimated due date (EDD).',
|
|
151
|
+
'If your cycle differs from 28 days, the EDD is adjusted automatically.',
|
|
152
|
+
'The conception method subtracts 14 days from the count to approximate the EDD from fertilisation.',
|
|
153
|
+
'A first-trimester ultrasound can correct gestational age with greater precision.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'tip',
|
|
158
|
+
html: 'If your doctor gives a different date from the one calculated here, it is most likely due to an irregular cycle or a first-trimester ultrasound correction. Both dates are valid.',
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'title',
|
|
162
|
+
text: 'The three trimesters of pregnancy',
|
|
163
|
+
level: 3,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
type: 'table',
|
|
167
|
+
headers: ['Trimester', 'Weeks', 'Key milestone', 'Mother\'s body'],
|
|
168
|
+
rows: [
|
|
169
|
+
['1st', '1 – 12', 'Organ formation', 'Nausea, fatigue, implantation'],
|
|
170
|
+
['2nd', '13 – 26', 'Foetal movements, morphology scan', 'Energy restored, bump visible'],
|
|
171
|
+
['3rd', '27 – 40', 'Lung maturation, engagement', 'Pelvic pressure, birth preparation'],
|
|
172
|
+
],
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
type: 'title',
|
|
176
|
+
text: 'Biological milestones week by week',
|
|
177
|
+
level: 3,
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
type: 'table',
|
|
181
|
+
headers: ['Week', 'Approx. size', 'Biological milestone', 'What the mother feels'],
|
|
182
|
+
rows: [
|
|
183
|
+
['4', '~1 mm', 'Implantation in the endometrium', 'Light spotting possible'],
|
|
184
|
+
['8', '~18 mm', 'Heart beats 150–170 times/min', 'Nausea at its peak'],
|
|
185
|
+
['12', '~55 mm', 'Main organs formed', 'Miscarriage risk drops sharply'],
|
|
186
|
+
['20', '~25 cm', 'Baby can hear voices clearly', 'Morphology ultrasound'],
|
|
187
|
+
['28', '~37 cm', 'Sleep and wake cycles', 'Third trimester begins'],
|
|
188
|
+
['36', '~47 cm', 'Lungs nearly mature', 'Head engages in pelvis'],
|
|
189
|
+
['40', '~50 cm', 'Ready to be born', 'EDD: estimated due date'],
|
|
190
|
+
],
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
type: 'title',
|
|
194
|
+
text: 'Common symptoms by trimester',
|
|
195
|
+
level: 3,
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
type: 'comparative',
|
|
199
|
+
columns: 2,
|
|
200
|
+
items: [
|
|
201
|
+
{
|
|
202
|
+
title: 'First trimester (wks 1–12)',
|
|
203
|
+
description: 'The phase of greatest hormonal change.',
|
|
204
|
+
points: [
|
|
205
|
+
'Nausea and vomiting, especially in the mornings',
|
|
206
|
+
'Extreme fatigue and drowsiness',
|
|
207
|
+
'Breast tenderness',
|
|
208
|
+
'Frequent urination',
|
|
209
|
+
'Mood swings',
|
|
210
|
+
],
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
title: 'Second trimester (wks 13–26)',
|
|
214
|
+
description: 'The trimester most mothers feel best in.',
|
|
215
|
+
points: [
|
|
216
|
+
'Nausea subsides',
|
|
217
|
+
'Energy levels improve',
|
|
218
|
+
'Visible bump from around week 18–20',
|
|
219
|
+
'First foetal movements (wks 18–22)',
|
|
220
|
+
'Increasing heartburn',
|
|
221
|
+
],
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
title: 'Third trimester (wks 27–40)',
|
|
225
|
+
description: 'Preparation for birth.',
|
|
226
|
+
points: [
|
|
227
|
+
'Pelvic pressure and back pain',
|
|
228
|
+
'Braxton Hicks contractions',
|
|
229
|
+
'Swollen feet and ankles',
|
|
230
|
+
'Difficulty sleeping',
|
|
231
|
+
'Baby engagement (wks 36–38)',
|
|
232
|
+
],
|
|
233
|
+
},
|
|
234
|
+
],
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
type: 'title',
|
|
238
|
+
text: 'Warning signs that require immediate medical attention',
|
|
239
|
+
level: 3,
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
type: 'list',
|
|
243
|
+
items: [
|
|
244
|
+
'Heavy vaginal bleeding at any week: seek medical attention immediately.',
|
|
245
|
+
'Regular contractions before week 37: risk of preterm labour.',
|
|
246
|
+
'Loss of amniotic fluid: ruptured membranes — go to the emergency room.',
|
|
247
|
+
'Severe headache with blurred vision: possible pre-eclampsia.',
|
|
248
|
+
'No foetal movements after week 20: an urgent warning sign.',
|
|
249
|
+
],
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
type: 'title',
|
|
253
|
+
text: 'Essential medical appointments',
|
|
254
|
+
level: 3,
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
type: 'list',
|
|
258
|
+
items: [
|
|
259
|
+
'Week 8–12: first ultrasound and first-trimester blood tests.',
|
|
260
|
+
'Week 12: first-trimester combined screening (nuchal translucency + blood panel).',
|
|
261
|
+
'Week 18–22: morphology scan (20-week scan).',
|
|
262
|
+
'Week 24–28: glucose tolerance test (GCT / O\'Sullivan).',
|
|
263
|
+
'Week 36: growth scan and Group B Streptococcus culture.',
|
|
264
|
+
],
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
type: 'glossary',
|
|
268
|
+
items: [
|
|
269
|
+
{
|
|
270
|
+
term: 'LMP (Last Menstrual Period)',
|
|
271
|
+
definition: 'The first day of your last period. Used as the reference point for calculating gestational age.',
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
term: 'EDD (Estimated Due Date)',
|
|
275
|
+
definition: 'The expected delivery date, calculated by adding 280 days to the LMP.',
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
term: 'Amniotic Fluid',
|
|
279
|
+
definition: 'The fluid surrounding the baby in the uterus. It protects the foetus, regulates temperature and allows movement.',
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
term: 'Mucus Plug',
|
|
283
|
+
definition: 'A thick secretion that seals the cervix during pregnancy. Losing it indicates labour is approaching.',
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
term: 'Pre-eclampsia',
|
|
287
|
+
definition: 'A pregnancy complication characterised by high blood pressure and organ damage. Requires urgent medical attention.',
|
|
288
|
+
},
|
|
289
|
+
],
|
|
290
|
+
},
|
|
291
|
+
],
|
|
292
|
+
faqTitle: "Frequently asked questions",
|
|
293
|
+
faq,
|
|
294
|
+
bibliographyTitle: "References",
|
|
295
|
+
bibliography: [
|
|
296
|
+
{
|
|
297
|
+
name: 'WHO – Antenatal care',
|
|
298
|
+
url: 'https://www.who.int/news-room/fact-sheets/detail/maternal-mortality',
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
name: 'ACOG – Methods for Estimating the Due Date',
|
|
302
|
+
url: 'https://www.acog.org/clinical/clinical-guidance/committee-opinion/articles/2017/05/methods-for-estimating-the-due-date',
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
name: 'UpToDate – Prenatal care: Initial assessment',
|
|
306
|
+
url: 'https://www.uptodate.com/contents/prenatal-care-initial-assessment',
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
name: 'Naegele\'s rule – Dugoff L. et al., Obstetrics & Gynecology',
|
|
310
|
+
url: 'https://journals.lww.com/greenjournal/fulltext/2017/05000/methods_for_estimating_the_due_date.43.aspx',
|
|
311
|
+
},
|
|
312
|
+
],
|
|
313
|
+
howTo,
|
|
314
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
315
|
+
};
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
import type { PregnancyCalculatorLocaleContent } from '../index';
|
|
2
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
3
|
+
|
|
4
|
+
const slug = 'calculadora-semanas-embarazo';
|
|
5
|
+
const title = 'Calculadora de Semanas de Embarazo';
|
|
6
|
+
const description = 'Calcula exactamente en qué semana de embarazo estás, el trimestre y tu fecha probable de parto.';
|
|
7
|
+
const faq = [
|
|
8
|
+
{
|
|
9
|
+
question: '¿Cómo se calcula la semana de embarazo?',
|
|
10
|
+
answer: 'Se cuenta desde el primer día de tu última regla. A esa fecha se suman 280 días para obtener la fecha probable de parto. Si tu ciclo es diferente a 28 días, el cálculo se ajusta automáticamente.',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
question: '¿Qué diferencia hay entre usar la FUR y la fecha de concepción?',
|
|
14
|
+
answer: 'La FUR es el método estándar usado por los médicos. La fecha de concepción es más exacta si la conoces, ya que evita la estimación de los 14 días de ovulación. Ambos métodos dan resultados muy similares en ciclos regulares.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: '¿Por qué la fecha de parto de mi médico es diferente?',
|
|
18
|
+
answer: 'Tu médico puede haber corregido la fecha a partir de la ecografía del primer trimestre, que es el método más preciso. Ciclos irregulares también pueden justificar diferencias.',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
question: '¿Cuándo empieza el segundo trimestre?',
|
|
22
|
+
answer: 'El segundo trimestre empieza en la semana 13 y termina al final de la semana 26. Es el periodo en el que la mayoría de las madres se sienten con más energía y donde la barriga se hace visible.',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
question: '¿Qué es la FPP y qué exactitud tiene?',
|
|
26
|
+
answer: 'La Fecha Probable de Parto (FPP) es una estimación estadística. Solo el 3–5% de los bebés nace exactamente ese día. La mayoría nacen entre la semana 38 y la 42.',
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
const howTo = [
|
|
30
|
+
{
|
|
31
|
+
name: 'Selecciona el método de cálculo',
|
|
32
|
+
text: 'Elige si quieres calcular desde la fecha de tu última regla o desde la fecha de concepción.',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: 'Introduce la fecha',
|
|
36
|
+
text: 'Selecciona el día, mes y año usando los menús desplegables.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Ajusta la duración del ciclo',
|
|
40
|
+
text: 'Si tu ciclo no es de 28 días, mueve el control deslizante para obtener una estimación más precisa.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Consulta la semana y el trimestre',
|
|
44
|
+
text: 'El resultado muestra la semana exacta, el trimestre y la fecha probable de parto.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Explora los hitos semanales',
|
|
48
|
+
text: 'Descubre el tamaño del bebé, los cambios biológicos y consejos personalizados para cada semana.',
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
53
|
+
'@context': 'https://schema.org',
|
|
54
|
+
'@type': 'FAQPage',
|
|
55
|
+
mainEntity: faq.map((item) => ({
|
|
56
|
+
'@type': 'Question',
|
|
57
|
+
name: item.question,
|
|
58
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
59
|
+
})),
|
|
60
|
+
};
|
|
61
|
+
const howToSchema: WithContext<HowTo> = {
|
|
62
|
+
'@context': 'https://schema.org',
|
|
63
|
+
'@type': 'HowTo',
|
|
64
|
+
name: title,
|
|
65
|
+
description,
|
|
66
|
+
step: howTo.map((step) => ({
|
|
67
|
+
'@type': 'HowToStep',
|
|
68
|
+
name: step.name,
|
|
69
|
+
text: step.text,
|
|
70
|
+
})),
|
|
71
|
+
};
|
|
72
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
73
|
+
'@context': 'https://schema.org',
|
|
74
|
+
'@type': 'SoftwareApplication',
|
|
75
|
+
name: title,
|
|
76
|
+
description,
|
|
77
|
+
applicationCategory: 'UtilitiesApplication',
|
|
78
|
+
operatingSystem: 'Web',
|
|
79
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
80
|
+
inLanguage: 'es',
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
export const content: PregnancyCalculatorLocaleContent = {
|
|
84
|
+
slug,
|
|
85
|
+
title,
|
|
86
|
+
description,
|
|
87
|
+
ui: {
|
|
88
|
+
btnFUR: 'Última Regla',
|
|
89
|
+
btnConception: 'Fecha de Concepción',
|
|
90
|
+
labelPartnerMode: 'Modo pareja',
|
|
91
|
+
labelFUR: 'Fecha de última regla',
|
|
92
|
+
labelConception: 'Fecha de concepción',
|
|
93
|
+
labelCycleLength: 'Duración del ciclo',
|
|
94
|
+
unitDays: 'días',
|
|
95
|
+
labelWeeks: 'Semanas',
|
|
96
|
+
labelTrimester: 'Trimestre',
|
|
97
|
+
labelEDD: 'Fecha Probable de Parto',
|
|
98
|
+
eddPlaceholder: 'Introduce tu fecha',
|
|
99
|
+
eddNote: 'Solo el 3–5% de los bebés nace ese día exacto',
|
|
100
|
+
btnCalendar: 'Guardar en Calendario',
|
|
101
|
+
labelFruits: 'Frutas',
|
|
102
|
+
labelGeek: 'Geek',
|
|
103
|
+
labelSweets: 'Dulces',
|
|
104
|
+
labelBioLabel: 'Formación biológica',
|
|
105
|
+
labelMomKey: 'Tu cuerpo hoy',
|
|
106
|
+
labelPartnerKey: 'Como apoyarla hoy',
|
|
107
|
+
labelNormalMolestias: 'Molestias normales',
|
|
108
|
+
labelAlert: 'Consultar si hay...',
|
|
109
|
+
labelTimeline: 'Línea de tiempo',
|
|
110
|
+
labelStartHere: 'Empieza aquí',
|
|
111
|
+
labelStartBody: 'Selecciona la fecha de tu última regla y descubre en qué semana estás.',
|
|
112
|
+
faqTitle: 'Preguntas frecuentes',
|
|
113
|
+
bibliographyTitle: 'Referencias',
|
|
114
|
+
},
|
|
115
|
+
seo: [
|
|
116
|
+
{
|
|
117
|
+
type: 'summary',
|
|
118
|
+
title: 'Lo que debes recordar',
|
|
119
|
+
items: [
|
|
120
|
+
'Calcula tu semana de embarazo a partir de la FUR o la fecha de concepción.',
|
|
121
|
+
'La FPP es una estimación: solo el 3–5% de los bebés nace exactamente ese día.',
|
|
122
|
+
'Cada trimestre tiene sus propios hitos biológicos y molestias características.',
|
|
123
|
+
'Ante cualquier señal de alarma, consulta con tu médico o matrona sin esperar.',
|
|
124
|
+
'El modo pareja te muestra cómo apoyar a tu compañera semana a semana.',
|
|
125
|
+
],
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'title',
|
|
129
|
+
text: 'Calculadora de Semanas de Embarazo: Mucho más que una fecha de parto',
|
|
130
|
+
level: 2,
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'stats',
|
|
134
|
+
columns: 3,
|
|
135
|
+
items: [
|
|
136
|
+
{ value: '40 semanas', label: 'Duración media del embarazo' },
|
|
137
|
+
{ value: '280 días', label: 'Días de gestación' },
|
|
138
|
+
{ value: '±14 días', label: 'Margen de error de la FPP' },
|
|
139
|
+
],
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
type: 'title',
|
|
143
|
+
text: 'Cómo se calcula la semana de embarazo',
|
|
144
|
+
level: 3,
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
type: 'list',
|
|
148
|
+
items: [
|
|
149
|
+
'El método más habitual usa la fecha de la última regla (FUR) como punto de partida.',
|
|
150
|
+
'Se suman 280 días a la FUR para obtener la fecha probable de parto (FPP).',
|
|
151
|
+
'Si tu ciclo es diferente a 28 días, la FPP se ajusta automáticamente.',
|
|
152
|
+
'El método de concepción resta 14 días al cómputo para aproximar la FPP desde la fecundación.',
|
|
153
|
+
'La ecografía del primer trimestre puede corregir la edad gestacional con mayor precisión.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'tip',
|
|
158
|
+
html: 'Si tu médico indica una fecha diferente a la calculada aquí, lo más probable es que se deba a un ciclo irregular o a la corrección ecográfica del primer trimestre. Ambas fechas son válidas.',
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'title',
|
|
162
|
+
text: 'Los tres trimestres del embarazo',
|
|
163
|
+
level: 3,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
type: 'table',
|
|
167
|
+
headers: ['Trimestre', 'Semanas', 'Hito principal', 'Cuerpo de la madre'],
|
|
168
|
+
rows: [
|
|
169
|
+
['1.º', '1 – 12', 'Formación de órganos', 'Náuseas, cansancio, implantación'],
|
|
170
|
+
['2.º', '13 – 26', 'Movimientos fetales, eco morfológica', 'Energía recuperada, barriga visible'],
|
|
171
|
+
['3.º', '27 – 40', 'Maduración pulmonar, encajamiento', 'Presión pélvica, preparación al parto'],
|
|
172
|
+
],
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
type: 'title',
|
|
176
|
+
text: 'Hitos biológicos semana a semana',
|
|
177
|
+
level: 3,
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
type: 'table',
|
|
181
|
+
headers: ['Semana', 'Tamaño aprox.', 'Hito biológico', 'Qué siente la madre'],
|
|
182
|
+
rows: [
|
|
183
|
+
['4', '~1 mm', 'Implantación en el endometrio', 'Sangrado leve posible'],
|
|
184
|
+
['8', '~18 mm', 'Corazón late 150–170 veces/min', 'Náuseas en su punto álgido'],
|
|
185
|
+
['12', '~55 mm', 'Órganos principales formados', 'Riesgo de aborto cae drásticamente'],
|
|
186
|
+
['20', '~25 cm', 'Oye voces con claridad', 'Ecografía morfológica'],
|
|
187
|
+
['28', '~37 cm', 'Ciclos de sueño y vigilia', 'Inicio del tercer trimestre'],
|
|
188
|
+
['36', '~47 cm', 'Pulmones casi maduros', 'Encajamiento en pelvis'],
|
|
189
|
+
['40', '~50 cm', 'Todo listo para nacer', 'FPP: fecha probable de parto'],
|
|
190
|
+
],
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
type: 'title',
|
|
194
|
+
text: 'Síntomas habituales por trimestre',
|
|
195
|
+
level: 3,
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
type: 'comparative',
|
|
199
|
+
columns: 2,
|
|
200
|
+
items: [
|
|
201
|
+
{
|
|
202
|
+
title: 'Primer trimestre (sem. 1–12)',
|
|
203
|
+
description: 'La fase de mayor cambio hormonal.',
|
|
204
|
+
points: [
|
|
205
|
+
'Náuseas y vómitos, especialmente por las mañanas',
|
|
206
|
+
'Cansancio extremo y somnolencia',
|
|
207
|
+
'Sensibilidad en los pechos',
|
|
208
|
+
'Micción frecuente',
|
|
209
|
+
'Cambios de humor',
|
|
210
|
+
],
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
title: 'Segundo trimestre (sem. 13–26)',
|
|
214
|
+
description: 'El trimestre de mayor bienestar para la mayoría.',
|
|
215
|
+
points: [
|
|
216
|
+
'Desaparición de las náuseas',
|
|
217
|
+
'Energía recuperada',
|
|
218
|
+
'Barriga visible desde la semana 18–20',
|
|
219
|
+
'Primeros movimientos fetales (sem. 18–22)',
|
|
220
|
+
'Ardor de estómago creciente',
|
|
221
|
+
],
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
title: 'Tercer trimestre (sem. 27–40)',
|
|
225
|
+
description: 'Preparación para el parto.',
|
|
226
|
+
points: [
|
|
227
|
+
'Presión pélvica y dolor de espalda',
|
|
228
|
+
'Contracciones Braxton Hicks',
|
|
229
|
+
'Hinchazón de pies y tobillos',
|
|
230
|
+
'Dificultad para dormir',
|
|
231
|
+
'Encajamiento del bebé (sem. 36–38)',
|
|
232
|
+
],
|
|
233
|
+
},
|
|
234
|
+
],
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
type: 'title',
|
|
238
|
+
text: 'Señales de alarma que requieren consulta inmediata',
|
|
239
|
+
level: 3,
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
type: 'list',
|
|
243
|
+
items: [
|
|
244
|
+
'Sangrado vaginal abundante en cualquier semana: consultar de inmediato.',
|
|
245
|
+
'Contracciones regulares antes de la semana 37: riesgo de parto pretérmino.',
|
|
246
|
+
'Pérdida de líquido amniótico: rotura de bolsa, acudir a urgencias.',
|
|
247
|
+
'Dolor de cabeza intenso con visión borrosa: posible preeclampsia.',
|
|
248
|
+
'Ausencia de movimientos fetales después de la semana 20: señal de alarma.',
|
|
249
|
+
],
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
type: 'title',
|
|
253
|
+
text: 'Citas médicas imprescindibles',
|
|
254
|
+
level: 3,
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
type: 'list',
|
|
258
|
+
items: [
|
|
259
|
+
'Semana 8–12: primera ecografía y análisis de sangre del primer trimestre.',
|
|
260
|
+
'Semana 12: cribado combinado de primer trimestre (translucencia nucal + analítica).',
|
|
261
|
+
'Semana 18–22: ecografía morfológica o de la semana 20.',
|
|
262
|
+
'Semana 24–28: prueba de tolerancia a la glucosa (O\'Sullivan).',
|
|
263
|
+
'Semana 36: ecografía de control, cultivo de estreptococo grupo B.',
|
|
264
|
+
],
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
type: 'glossary',
|
|
268
|
+
items: [
|
|
269
|
+
{
|
|
270
|
+
term: 'FUR / LMP',
|
|
271
|
+
definition: 'Fecha de la Última Regla (Last Menstrual Period). Punto de referencia para calcular la edad gestacional.',
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
term: 'FPP / EDD',
|
|
275
|
+
definition: 'Fecha Probable de Parto (Estimated Due Date). Se calcula sumando 280 días a la FUR.',
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
term: 'Líquido Amniótico',
|
|
279
|
+
definition: 'Fluido que rodea al bebé en el útero. Protege al feto, regula la temperatura y permite el movimiento.',
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
term: 'Tapón Mucoso',
|
|
283
|
+
definition: 'Secreción espesa que sella el cuello uterino durante el embarazo. Su pérdida indica que el parto se aproxima.',
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
term: 'Preeclampsia',
|
|
287
|
+
definition: 'Complicación del embarazo caracterizada por presión arterial alta y daño a órganos. Requiere control médico urgente.',
|
|
288
|
+
},
|
|
289
|
+
],
|
|
290
|
+
},
|
|
291
|
+
],
|
|
292
|
+
faqTitle: "Preguntas frecuentes",
|
|
293
|
+
faq,
|
|
294
|
+
bibliographyTitle: "Referencias",
|
|
295
|
+
bibliography: [
|
|
296
|
+
{
|
|
297
|
+
name: 'OMS – Cuidados en el embarazo',
|
|
298
|
+
url: 'https://www.who.int/es/news-room/fact-sheets/detail/maternal-mortality',
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
name: 'ACOG – Gestational Age and Due Date Calculation',
|
|
302
|
+
url: 'https://www.acog.org/clinical/clinical-guidance/committee-opinion/articles/2017/05/methods-for-estimating-the-due-date',
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
name: 'Sociedad Española de Ginecología y Obstetricia (SEGO)',
|
|
306
|
+
url: 'https://www.sego.es',
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
name: 'Naegele\'s rule – Dugoff L. et al., Obstetrics & Gynecology',
|
|
310
|
+
url: 'https://journals.lww.com/greenjournal/fulltext/2017/05000/methods_for_estimating_the_due_date.43.aspx',
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
name: 'UpToDate – Prenatal care: Initial assessment',
|
|
314
|
+
url: 'https://www.uptodate.com/contents/prenatal-care-initial-assessment',
|
|
315
|
+
},
|
|
316
|
+
],
|
|
317
|
+
howTo,
|
|
318
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
319
|
+
};
|