Skip to content

Commit

Permalink
feat: Add helpers to generate paper expiration date message
Browse files Browse the repository at this point in the history
  • Loading branch information
zatteo committed Apr 24, 2024
1 parent a88cef3 commit b3a5a30
Show file tree
Hide file tree
Showing 5 changed files with 150 additions and 21 deletions.
107 changes: 86 additions & 21 deletions docs/api/cozy-client/modules/models.paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

*Defined in*

[packages/cozy-client/src/models/paper.js:8](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L8)
[packages/cozy-client/src/models/paper.js:10](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L10)

***

Expand All @@ -22,7 +22,7 @@

*Defined in*

[packages/cozy-client/src/models/paper.js:271](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L271)
[packages/cozy-client/src/models/paper.js:273](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L273)

## Variables

Expand All @@ -32,7 +32,7 @@

*Defined in*

[packages/cozy-client/src/models/paper.js:21](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L21)
[packages/cozy-client/src/models/paper.js:23](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L23)

***

Expand All @@ -42,7 +42,7 @@

*Defined in*

[packages/cozy-client/src/models/paper.js:34](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L34)
[packages/cozy-client/src/models/paper.js:36](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L36)

***

Expand All @@ -52,7 +52,7 @@

*Defined in*

[packages/cozy-client/src/models/paper.js:46](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L46)
[packages/cozy-client/src/models/paper.js:48](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L48)

## Functions

Expand All @@ -76,7 +76,7 @@ Expiration date

*Defined in*

[packages/cozy-client/src/models/paper.js:121](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L121)
[packages/cozy-client/src/models/paper.js:123](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L123)

***

Expand All @@ -100,7 +100,7 @@ Expiration notice date

*Defined in*

[packages/cozy-client/src/models/paper.js:157](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L157)
[packages/cozy-client/src/models/paper.js:159](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L159)

***

Expand All @@ -124,7 +124,7 @@ Expiration notice link

*Defined in*

[packages/cozy-client/src/models/paper.js:176](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L176)
[packages/cozy-client/src/models/paper.js:178](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L178)

***

Expand All @@ -146,7 +146,7 @@ Formatted and translated value of an array of contact

*Defined in*

[packages/cozy-client/src/models/paper.js:433](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L433)
[packages/cozy-client/src/models/paper.js:435](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L435)

***

Expand All @@ -171,7 +171,7 @@ Formatted and translated value for the metadata

*Defined in*

[packages/cozy-client/src/models/paper.js:317](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L317)
[packages/cozy-client/src/models/paper.js:319](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L319)

***

Expand All @@ -197,7 +197,7 @@ Formatted and translated value for the metadata

*Defined in*

[packages/cozy-client/src/models/paper.js:360](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L360)
[packages/cozy-client/src/models/paper.js:362](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L362)

***

Expand All @@ -221,7 +221,7 @@ Formatted and translated value for the metadata

*Defined in*

[packages/cozy-client/src/models/paper.js:240](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L240)
[packages/cozy-client/src/models/paper.js:242](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L242)

***

Expand All @@ -246,7 +246,7 @@ Formatted and translated value for the metadata

*Defined in*

[packages/cozy-client/src/models/paper.js:408](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L408)
[packages/cozy-client/src/models/paper.js:410](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L410)

***

Expand All @@ -270,7 +270,7 @@ The type of the metadata

*Defined in*

[packages/cozy-client/src/models/paper.js:279](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L279)
[packages/cozy-client/src/models/paper.js:281](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L281)

***

Expand All @@ -293,7 +293,7 @@ Translated name for contact

*Defined in*

[packages/cozy-client/src/models/paper.js:423](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L423)
[packages/cozy-client/src/models/paper.js:425](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L425)

***

Expand All @@ -317,7 +317,7 @@ Translated name for the metadata

*Defined in*

[packages/cozy-client/src/models/paper.js:304](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L304)
[packages/cozy-client/src/models/paper.js:306](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L306)

***

Expand All @@ -342,7 +342,7 @@ Translated name for the metadata

*Defined in*

[packages/cozy-client/src/models/paper.js:337](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L337)
[packages/cozy-client/src/models/paper.js:339](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L339)

***

Expand All @@ -366,7 +366,7 @@ Translated name for the metadata

*Defined in*

[packages/cozy-client/src/models/paper.js:395](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L395)
[packages/cozy-client/src/models/paper.js:397](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L397)

***

Expand All @@ -388,7 +388,7 @@ Translated name for the metadata

*Defined in*

[packages/cozy-client/src/models/paper.js:188](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L188)
[packages/cozy-client/src/models/paper.js:190](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L190)

***

Expand All @@ -410,7 +410,7 @@ Translated name for the metadata

*Defined in*

[packages/cozy-client/src/models/paper.js:103](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L103)
[packages/cozy-client/src/models/paper.js:105](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L105)

***

Expand All @@ -432,4 +432,69 @@ Translated name for the metadata

*Defined in*

[packages/cozy-client/src/models/paper.js:200](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L200)
[packages/cozy-client/src/models/paper.js:202](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L202)

***

### makeExpirationDescription

**makeExpirationDescription**(`expirationDate`, `options`): `string`

*Parameters*

| Name | Type | Description |
| :------ | :------ | :------ |
| `expirationDate` | `string` | Expiration date |
| `options` | `Object` | Options |
| `options.lang` | `string` | Lang requested for the translation |

*Returns*

`string`

*Defined in*

[packages/cozy-client/src/models/paper.js:474](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L474)

***

### makeExpiredMessage

**makeExpiredMessage**(`options`): `string`

*Parameters*

| Name | Type | Description |
| :------ | :------ | :------ |
| `options` | `Object` | Options |
| `options.lang` | `string` | Lang requested for the translation |

*Returns*

`string`

*Defined in*

[packages/cozy-client/src/models/paper.js:446](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L446)

***

### makeExpiresInMessage

**makeExpiresInMessage**(`expirationDate`, `options`): `string`

*Parameters*

| Name | Type | Description |
| :------ | :------ | :------ |
| `expirationDate` | `string` | Expiration date |
| `options` | `Object` | Options |
| `options.lang` | `string` | Lang requested for the translation |

*Returns*

`string`

*Defined in*

[packages/cozy-client/src/models/paper.js:458](https://github.com/cozy/cozy-client/blob/master/packages/cozy-client/src/models/paper.js#L458)
5 changes: 5 additions & 0 deletions packages/cozy-client/src/models/document/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,11 @@
"undefined": "Undefined",
"work_study": "Work & Study"
},
"expiration": {
"expired": "Expired",
"expiresIn": "Expires in %{duration}",
"description": "This document expires in %{duration}, consider renewing it"
},
"qualification": {
"date": {
"title": {
Expand Down
5 changes: 5 additions & 0 deletions packages/cozy-client/src/models/document/locales/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,11 @@
"undefined": "Indéfini",
"work_study": "Travail & Études"
},
"expiration": {
"expired": "Expiré",
"expiresIn": "Expire dans %{duration}",
"description": "Ce document expire dans %{duration}, pensez à le renouveler"
},
"qualification": {
"date": {
"title": {
Expand Down
45 changes: 45 additions & 0 deletions packages/cozy-client/src/models/paper.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import add from 'date-fns/add'
import sub from 'date-fns/sub'
import formatDistanceToNowStrict from 'date-fns/formatDistanceToNowStrict'
import fr from 'date-fns/locale/fr'
import { getLocalizer } from './document/locales'
import { getDisplayName } from './contact'
import get from 'lodash/get'
Expand Down Expand Up @@ -435,3 +437,46 @@ export const formatContactValue = contacts => {
? contacts.map(contact => `${getDisplayName(contact)}`).join(', ')
: ''
}

/**
* @param {Object} options - Options
* @param {string} options.lang - Lang requested for the translation
* @returns {string}
*/
export const makeExpiredMessage = ({ lang }) => {
const t = getLocalizer(lang)

return t('Scan.expiration.expired')
}

/**
* @param {string} expirationDate - Expiration date
* @param {Object} options - Options
* @param {string} options.lang - Lang requested for the translation
* @returns {string}
*/
export const makeExpiresInMessage = (expirationDate, { lang }) => {
const t = getLocalizer(lang)

const distance = formatDistanceToNowStrict(new Date(expirationDate), {
locale: lang === 'fr' ? fr : undefined // fallbacks to english if undefined
})

return t('Scan.expiration.expiresIn', { duration: distance })
}

/**
* @param {string} expirationDate - Expiration date
* @param {Object} options - Options
* @param {string} options.lang - Lang requested for the translation
* @returns {string}
*/
export const makeExpirationDescription = (expirationDate, { lang }) => {
const t = getLocalizer(lang)

const distance = formatDistanceToNowStrict(new Date(expirationDate), {
locale: lang === 'fr' ? fr : undefined // fallbacks to english if undefined
})

return t('Scan.expiration.description', { duration: distance })
}
9 changes: 9 additions & 0 deletions packages/cozy-client/types/models/paper.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,14 @@ export function getTranslatedNameForContact({ lang }: {
lang: string;
}): string;
export function formatContactValue(contacts: object[]): string;
export function makeExpiredMessage({ lang }: {
lang: string;
}): string;
export function makeExpiresInMessage(expirationDate: string, { lang }: {
lang: string;
}): string;
export function makeExpirationDescription(expirationDate: string, { lang }: {
lang: string;
}): string;
export type IOCozyFile = import("../types").CozyClientDocument & import("../types").FileDocument;
export type MetadataQualificationType = "other" | "date" | "contact" | "information";

0 comments on commit b3a5a30

Please sign in to comment.