Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

replace moment with helpers based on date-fns #223

Merged
merged 6 commits into from
Jan 14, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions app/components/administrative-body-select.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
as |administrativeBody|
>
{{administrativeBody.isTijdsspecialisatieVan.naam}}
(periode: {{moment-format administrativeBody.bindingStart "MM/DD/YYYY"}} -
(periode: {{plain-date administrativeBody.bindingStart}} -
{{#if administrativeBody.bindingEinde~}}
{{moment-format administrativeBody.bindingEinde "MM/DD/YYYY"}}
{{~else~}}
{{plain-date administrativeBody.bindingEinde}}
{{else}}
nvt.
{{~/if}})
{{/if}})
</PowerSelect>
</div>
</div>
6 changes: 4 additions & 2 deletions app/components/administrative-body-select.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ import { inject as service } from '@ember/service';
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { task } from 'ember-concurrency';
import moment from 'moment';
import sub from 'date-fns/sub';
import isAfter from 'date-fns/isAfter';

const VALID_ADMINISTRATIVE_BODY_CLASSIFICATIONS = [
"http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/5ab0e9b8a3b2ca7c5e000005", // "Gemeenteraad"
Expand Down Expand Up @@ -76,7 +77,8 @@ export default class AdministrativeBodySelectComponent extends Component {
if(!endDate) {
return true;
}
return moment(endDate).isAfter(moment().subtract(2, 'months'));
const twoMonthsAgo = sub(new Date(), {months: 2});
return isAfter(endDate,twoMonthsAgo);
}
);
}
Expand Down
2 changes: 1 addition & 1 deletion app/components/app-chrome.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
{{#if @editorDocument.updatedOn}}
<li class="au-c-list-horizontal__item">
<span class="au-c-app-chrome__status">
Bewaard op {{moment-calendar @editorDocument.updatedOn}}
Bewaard op {{human-friendly-date @editorDocument.updatedOn}}
Windvis marked this conversation as resolved.
Show resolved Hide resolved
</span>
</li>
{{else}}
Expand Down
2 changes: 1 addition & 1 deletion app/components/extracts/print-view.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<br>
{{meeting.bestuursorgaan.isTijdsspecialisatieVan.naam}}
<br>
zitting van {{moment-format meeting.geplandeStart 'L LT'}}
zitting van {{detailed-date meeting.geplandeStart}}
</AuHeading>
<p class="au-u-margin-top-small au-u-margin-bottom">Het document slaat op de situatie zoals gekend bij het
afleveren.</p>
Expand Down
11 changes: 5 additions & 6 deletions app/components/manage-intermissions/index.hbs
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

<div class="au-c-meeting-chrome-card au-u-margin-bottom-none">
<AuHeading @level="3" @skin="6" class="au-c-meeting-chrome-card__title">{{t "manageIntermissions.title"}}</AuHeading>
<table class="au-c-meeting-chrome-table">
Expand Down Expand Up @@ -34,18 +33,18 @@
{{#if this.fetchIntermissions.lastSuccessful}}
{{#each this.intermissions as |intermission|}}
<tr>
<td>{{moment-format intermission.startedAt "DD/MM/YYYY HH:mm"}}</td>
<td>{{moment-format intermission.endedAt "DD/MM/YYYY HH:mm"}}</td>
<td>{{detailed-date intermission.startedAt}}</td>
<td>{{detailed-date intermission.endedAt}}</td>
<td>
{{#if intermission.agendaPosition}}
{{#if (eq intermission.agendaPosition.position.label "during")}}
{{t "manageIntermissions.duringAp"}}:
{{t "manageIntermissions.duringAp"}}:
{{/if}}
{{#if (eq intermission.agendaPosition.position.label "before")}}
{{t "manageIntermissions.beforeAp"}}:
{{t "manageIntermissions.beforeAp"}}:
{{/if}}
{{#if (eq intermission.agendaPosition.position.label "after")}}
{{t "manageIntermissions.afterAp"}}:
{{t "manageIntermissions.afterAp"}}:
{{/if}}
<a href="#behandeling-{{intermission.agendaPosition.agendapoint.behandeling.id}}" class="au-c-link au-c-link--secondary">
{{intermission.agendaPosition.agendapoint.titel}}
Expand Down
4 changes: 2 additions & 2 deletions app/components/meeting-form.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
</AuToolbar>
<AuToolbar @size="small" class="au-u-padding-top-none">
<AuToolbarGroup>
<h1 class="au-c-app-chrome__title">{{t "meetingForm.scheduledText"}} {{moment-format @zitting.geplandeStart "DD/MM/YYYY"}}</h1>
<h1 class="au-c-app-chrome__title">{{t "meetingForm.scheduledText"}} {{plain-date @zitting.geplandeStart}}</h1>
</AuToolbarGroup>
<AuToolbarGroup class="au-c-toolbar__group--actions">
{{#if this.isComplete}}
Expand Down Expand Up @@ -94,7 +94,7 @@
{{!-- Meeting title --}}
<AuHeading>
{{t "meetingForm.meetingHeadingPartOne"}} {{t this.headerArticleTranslationString}} <span class="au-c-meeting-chrome__highlight">{{@zitting.bestuursorgaan.isTijdsspecialisatieVan.naam}},</span>
{{t "meetingForm.meetingHeadingPartTwo"}} <span class="au-c-meeting-chrome__highlight">{{moment-format @zitting.geplandeStart "DD/MM/YYYY HH:mm"}}</span>
{{t "meetingForm.meetingHeadingPartTwo"}} <span class="au-c-meeting-chrome__highlight">{{detailed-date @zitting.geplandeStart}}</span>
</AuHeading>
<AuHr @size="large"/>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
@onChange={{@onSelect}}
as |functionaris| >
{{functionaris.isBestuurlijkeAliasVan.gebruikteVoornaam}} {{functionaris.isBestuurlijkeAliasVan.achternaam}},
{{functionaris.bekleedt.rol.label}} (periode {{moment-format functionaris.start "MM/DD/YYYY"}} - {{moment-format functionaris.einde "MM/DD/YYYY"}})
{{functionaris.bekleedt.rol.label}} (periode {{plain-date functionaris.start}} - {{plain-date functionaris.einde}})
</PowerSelect>
{{/if}}
2 changes: 1 addition & 1 deletion app/components/participation-list/mandataris-row.hbs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<tr>
<td>{{@mandataris.isBestuurlijkeAliasVan.gebruikteVoornaam}} {{@mandataris.isBestuurlijkeAliasVan.achternaam}}</td>
<td>{{@mandataris.bekleedt.bestuursfunctie.label}}</td>
<td>{{moment-format @mandataris.isBestuurlijkeAliasVan.geboorte.datum 'DD/MM/YYYY'}}</td>
<td>{{plain-date @mandataris.isBestuurlijkeAliasVan.geboorte.datum}}</td>
<td>
<label class="checkbox checkbox--block">
<input class="checkbox__toggle" type="checkbox" checked={{@selected}} {{on "input" (fn @toggle @mandataris @selected)}} />
Expand Down
2 changes: 1 addition & 1 deletion app/components/print-view/signature.hbs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<div class="au-o-grid__item au-u-1-2@medium">
<AuHeading @level="3" @skin="6" class="au-u-margin-bottom-tiny">Ondertekend door</AuHeading>
<p>{{@fullName}} <br> {{moment-format @createdOn 'L LT'}}</p>
<p>{{@fullName}} <br> {{detailed-date @createdOn}}</p>
<p>{{@hashValue}}</p>
</div>
4 changes: 2 additions & 2 deletions app/components/signatures/published-resource.hbs
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<AuHeading @level="3" @skin="6" class="au-u-margin-bottom-tiny">{{t "publishedResource.publishedByLabel"}}</AuHeading>
<p>{{@publication.gebruiker.voornaam}} {{@publication.gebruiker.achternaam}} <br> {{moment-format @publication.createdOn 'L LT'}}</p>
<p>{{@publication.gebruiker.voornaam}} {{@publication.gebruiker.achternaam}} <br> {{detailed-date @publication.createdOn}}</p>

{{#if this.submissionSucceeded}}
<AuHeading @level="3" @skin="6" class="au-u-margin-bottom-tiny au-u-margin-top">{{t "publishedResource.reportLabel"}}</AuHeading>
<p>{{t "publishedResource.reportText"}} <br> {{@publication.gebruiker.voornaam}} {{@publication.gebruiker.achternaam}} <br> {{moment-format @publication.createdOn 'L LT'}}</p>
<p>{{t "publishedResource.reportText"}} <br> {{@publication.gebruiker.voornaam}} {{@publication.gebruiker.achternaam}} <br> {{detailed-date @publication.createdOn 'L LT'}}</p>
<p class="u-spacer--bottom--small text-fade smaller">{{t "publishedResource.notificationText"}} <a href="https://loket.lokaalbestuur.vlaanderen.be/" target="_blank" rel="noopener noreferrer">Loket voor Lokale Besturen</a>.</p>
{{else if this.submissionFailed}}
<AuHeading @level="3" @skin="6" class="au-u-margin-bottom-tiny au-u-margin-top">{{t "publishedResource.reportLabel"}}</AuHeading>
Expand Down
2 changes: 1 addition & 1 deletion app/components/signatures/signed-resource.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
{{@signature.gebruiker.voornaam}} {{@signature.gebruiker.achternaam}} <br>
<AuHelpText @size="large" @skin="secondary" class="au-u-margin-top-none">
<AuIcon @icon="calendar" />
{{moment-format @signature.createdOn 'L LT'}}
{{detailed-date @signature.createdOn}}
</AuHelpText>
</p>
<p class="au-u-margin-top-tiny">
Expand Down
2 changes: 1 addition & 1 deletion app/components/zitting-link.hbs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{{#if this.meeting.id}}
<LinkTo @route="meetings.edit" @model={{this.meeting.id}} class="au-c-link">
Zitting van {{this.meeting.bestuursorgaan.isTijdsspecialisatieVan.naam}} op {{moment-format this.meeting.geplandeStart "DD/MM/YYYY HH:mm"}}
Zitting van {{this.meeting.bestuursorgaan.isTijdsspecialisatieVan.naam}} op {{detailed-date this.meeting.geplandeStart}}
</LinkTo>
{{/if}}
12 changes: 6 additions & 6 deletions app/components/zitting/manage-zittingsdata.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@
{{t "manageZittingsData.bestuursorganLabel"}} <strong>{{this.bestuursorgaan.isTijdsspecialisatieVan.naam}}</strong>
</li>
<li class="au-c-list-divider__item">
{{t "manageZittingsData.geplandeStartLabel"}} <strong>{{moment-format this.geplandeStart "DD/MM/YYYY HH:mm"}}</strong>
{{t "manageZittingsData.geplandeStartLabel"}} <strong>{{detailed-date this.geplandeStart}}</strong>
</li>
<li class="au-c-list-divider__item">
{{t "manageZittingsData.opLocatieLabel"}} <strong>{{this.opLocatie}}</strong>
</li>
<li class="au-c-list-divider__item">
{{t "manageZittingsData.gestartOpTijdstipLabel"}} <strong>{{moment-format this.gestartOpTijdstip "DD/MM/YYYY HH:mm"}}</strong>
{{t "manageZittingsData.gestartOpTijdstipLabel"}} <strong>{{detailed-date this.gestartOpTijdstip}}</strong>
</li>
<li class="au-c-list-divider__item">
{{t "manageZittingsData.geeindigdOpTijdstipLabel"}} <strong>{{moment-format this.geeindigdOpTijdstip "DD/MM/YYYY HH:mm"}}</strong>
{{t "manageZittingsData.geeindigdOpTijdstipLabel"}} <strong>{{detailed-date this.geeindigdOpTijdstip}}</strong>
</li>
</ul>
{{#unless @readOnly}}
Expand All @@ -31,8 +31,8 @@
<div>
<AuLabel>{{t "manageZittingsData.bestuursorganLabel"}}</AuLabel>
{{this.bestuursorgaan.isTijdsspecialisatieVan.naam}}
(periode: {{moment-format this.bestuursorgaan.bindingStart "MM/DD/YYYY"}} -
{{#if this.bestuursorgaan.bindingEinde}}{{moment-format this.bestuursorgaan.bindingEinde "MM/DD/YYYY"}}{{else}}nvt.{{/if}})
(periode: {{plain-date this.bestuursorgaan.bindingStart}} -
{{#if this.bestuursorgaan.bindingEinde}}{{plain-date this.bestuursorgaan.bindingEinde}}{{else}}nvt.{{/if}})
</div>
<div>
{{#let (unique-id) as |id|}}
Expand Down Expand Up @@ -65,4 +65,4 @@
</AuButtonGroup>
</Modal.Footer>
</AuModal>
{{/if}}
{{/if}}
12 changes: 12 additions & 0 deletions app/helpers/detailed-date.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { helper } from '@ember/component/helper';
import lightFormat from 'date-fns/lightFormat';

export default helper(function detailedDate([datetime]/*, hash*/) {
try {
return lightFormat(datetime, 'dd/MM/yyyy HH:mm');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this can be achieved with Intl.Datetimeformat as well by using some of the options:

console.log(new Intl.DateTimeFormat('nl-BE', { dateStyle: 'short', timeStyle: 'short' }).format(date));

}
catch(e) {
console.error(e);
return "";
}
});
14 changes: 14 additions & 0 deletions app/helpers/human-friendly-date.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { helper } from '@ember/component/helper';
import formatRelative from 'date-fns/formatRelative';
import { nl } from 'date-fns/locale';

// this is a helper to mimic the moment-calendar behaviour
export default helper(function humanFriendlyDate([referenceDatetime]/*, hash*/) {
try {
return formatRelative(referenceDatetime, new Date(), { locale: nl });
}
catch(e) {
console.error(e);
return "";
}
});
12 changes: 12 additions & 0 deletions app/helpers/plain-date.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { helper } from '@ember/component/helper';
import lightFormat from 'date-fns/lightFormat';

export default helper(function plainDate([datetime]/*, hash*/) {
try {
return lightFormat(datetime, 'dd/MM/yyyy');
Copy link
Contributor

@Windvis Windvis Jan 13, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In OP we created a helper that uses Intl.Datetimeformat (with hardcoded country since we didn't have other requirements).
Maybe something similar can be done here? Or do you prefer providing the format manually?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

on testing I ended up with a different separator (I think -) and / was preferred here. I can recheck with customer if that's still important

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The helper I linked has the following output:
image

In any case, it works as intended at the moment so this remark isn't really a blocker.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not entirely: formatting as 'dd/MM/yyyy' would give '21/01/2022' and Intl gives '21/1/2022', unless you use Intl.DateTimeFormat("nl-BE", { dateStyle: "short" }).format(datetime);. Weird, but consistent across browsers.

}
catch(e){
console.error(e);
return "";
}
});
3 changes: 0 additions & 3 deletions app/instance-initializers/intl.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,9 @@
// to set the locale
export function initialize(appInstance) {
const intl = appInstance.lookup('service:intl');
const moment = appInstance.lookup('service:moment');
const userLocale = ( navigator.language || navigator.languages[0] );
intl.setLocale([userLocale, 'nl-BE']);
flatpickr.localize(flatpickr.l10ns.nl);
moment.setTimeZone('Europe/Brussels');
moment.setLocale('nl');
}

export default {
Expand Down
6 changes: 3 additions & 3 deletions app/templates/agendapoints/revisions.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<div class="grid">
<div class="col--6-12 col--8-12--m col--12-12--s">
<h1 class="h4 u-spacer--tiny">Versiegeschiedenis {{this.model.editorDocument.title}}</h1>
<p class="small text-fade u-spacer--tiny">Laatst opgeslagen: {{moment-calendar this.model.editorDocument.updatedOn}} ({{this.model.editorDocument.updatedOn}})</p>
<p class="small text-fade u-spacer--tiny">Laatst opgeslagen: {{human-friendly-date this.model.editorDocument.updatedOn}} ({{this.model.editorDocument.updatedOn}})</p>
</div>
</div>
</div>
Expand All @@ -21,7 +21,7 @@
{{!-- <h3 class="title--alt small u-spacer--none">Opgeslagen documentversies</h3> --}}
{{#each this.orderedRevisions as |revision|}}
<div class="u-hr u-padding--bottom--small u-spacer--small">
<h4 class="h5 u-spacer--tiny">Versie van {{moment-calendar revision.updatedOn}}</h4>
<h4 class="h5 u-spacer--tiny">Versie van {{human-friendly-date revision.updatedOn}}</h4>
<p class="small text-fade u-spacer--small">{{revision.updatedOn}}</p>
<AuButtonGroup>
<AuButton @icon="eye" {{on "click" (fn this.details revision)}}>
Expand Down Expand Up @@ -68,7 +68,7 @@
<ul class="numbered-list">
{{#each this.revisionsToRemove as |revision|}}
<li class="u-hr u-padding--bottom--small">
Versie van {{moment-calendar revision.updatedOn}}
Versie van {{human-friendly-date revision.updatedOn}}
<p class="text-fade">{{revision.title}}</p>
</li>
{{/each}}
Expand Down
4 changes: 1 addition & 3 deletions app/templates/inbox/agendapoints.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@
<AgendaPuntLink @documentContainer={{container}} @readOnly={{this.readOnly}}/>
</td>
<td>
{{moment-calendar row.updatedOn}}
<br>
<AuHelpText @skin="secondary">{{moment-from-now this.document.currentVersion.updatedOn}}</AuHelpText>
{{human-friendly-date row.updatedOn}}
</td>
<td>
<EditorStatusPill @status={{container.status}} />
Expand Down
2 changes: 1 addition & 1 deletion app/templates/inbox/imported.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
</c.header>
<c.body as |container|>
<td><LinkTo @route="editor-documents.show" @model={{row.id}} class="au-c-link">{{container.currentVersion.title}}</LinkTo></td>
<td>{{moment-calendar container.currentVersion.createdOn}}</td>
<td>{{human-friendly-date container.currentVersion.createdOn}}</td>
<td><EditorStatusPill @status={{container.status}} /></td>
</c.body>
</t.content>
Expand Down
4 changes: 2 additions & 2 deletions app/templates/inbox/meetings.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@
</c.header>
<c.body as |meeting|>
<td>
<LinkTo @route="meetings.edit" @model={{meeting.id}} class="au-c-link">Zitting van {{meeting.bestuursorgaan.isTijdsspecialisatieVan.naam}} op {{moment-format meeting.geplandeStart "DD/MM/YYYY HH:mm"}}</LinkTo>
<LinkTo @route="meetings.edit" @model={{meeting.id}} class="au-c-link">Zitting van {{meeting.bestuursorgaan.isTijdsspecialisatieVan.naam}} op {{detailed-date meeting.geplandeStart}}</LinkTo>
</td>
<td>{{meeting.bestuursorgaan.isTijdsspecialisatieVan.naam}}</td>
<td>{{moment-format meeting.geplandeStart "DD/MM/YYYY HH:mm"}}</td>
<td>{{detailed-date meeting.geplandeStart}}</td>
<td>
{{meeting.opLocatie}}
</td>
Expand Down
4 changes: 2 additions & 2 deletions app/templates/inbox/trash.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@
<c.body as |container|>
{{#with container.currentVersion as |row|}}
<td>{{row.title}}</td>
<td>{{moment-calendar row.updatedOn}}</td>
<td>{{moment-calendar row.createdOn}}</td>
<td>{{human-friendly-date row.updatedOn}}</td>
<td>{{human-friendly-date row.createdOn}}</td>
{{/with}}
</c.body>
</t.content>
Expand Down
2 changes: 1 addition & 1 deletion app/templates/meetings/publish.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<AuLink @linkRoute="meetings.edit" @model={{@model.id}} @skin="secondary" @icon="arrow-left" @iconAlignment="left">
{{t "publish.backToMeeting"}}
</AuLink>
<span class="au-c-app-chrome__entity">{{t "publish.headingPartOne"}} {{moment-format this.model.geplandeStart "DD/MM/YYYY HH:mm"}}</span>
<span class="au-c-app-chrome__entity">{{t "publish.headingPartOne"}} {{detailed-date this.model.geplandeStart}}</span>
</AuToolbarGroup>
<AuDropdown @dropdownTitle="{{this.currentSession.user.voornaam}} {{this.currentSession.user.achternaam}} - {{this.currentSession.group.classificatie.label}} {{this.currentSession.group.naam}}" @dropdownButtonLabel="Account settings" @alignment="right">
<AcmidmLogout @class="au-c-button au-c-button--tertiary" role="menuitem">
Expand Down
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@
"ember-cli-deploy-ssh-index": "^1.0.0",
"ember-cli-htmlbars": "^5.3.1",
"ember-cli-inject-live-reload": "^2.0.2",
"ember-cli-moment-shim": "^3.7.1",
"ember-cli-sass": "^7.1.4",
"ember-cli-sri": "^2.1.1",
"ember-cli-string-helpers": "^5.0.0",
Expand All @@ -82,7 +81,6 @@
"ember-load-initializers": "^2.1.2",
"ember-maybe-import-regenerator": "^0.1.6",
"ember-modifier": "^1.0.3",
"ember-moment": "^8.0.1",
"ember-page-title": "^6.0.3",
"ember-power-select": "^4.1.4",
"ember-promise-helpers": "^1.0.9",
Expand Down Expand Up @@ -111,7 +109,6 @@
"tracked-toolbox": "^1.2.3",
"webpack": "^5.55.1"
},
"dependencies": {},
"engines": {
"node": "10.* || >= 12"
},
Expand All @@ -126,5 +123,8 @@
"last 1 Safari version",
"last 1 iOS version",
"last 1 Edge version"
]
],
"dependencies": {
"date-fns": "^2.28.0"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nitpick: I would move it to devDeps for consistency.

}
}