diff --git a/src/cats/CatsPage.js b/src/cats/CatsPage.js index 3a2d338..4674799 100644 --- a/src/cats/CatsPage.js +++ b/src/cats/CatsPage.js @@ -1,66 +1,49 @@ // @flow -import { MissingData, Table } from '@adeira/sx-design'; +import { LayoutBlock, Text } from '@adeira/sx-design'; import * as React from 'react'; import { graphql, useLazyLoadQuery } from '@adeira/relay'; import fbt from 'fbt'; import type { CatsPageQuery } from './__generated__/CatsPageQuery.graphql'; +import CatsTableAdopted from './CatsTableAdopted'; +import CatsTableCurrent from './CatsTableCurrent'; export default function CatsPage(): React.Node { const data = useLazyLoadQuery(graphql` query CatsPageQuery { cats { - listAllCats { - order - name - dateOfCastration - dateOfDeworming - dateOfAdoption - } + ...CatsTableCurrentFragment + ...CatsTableAdoptedFragment } } `); return ( - Order, - accessor: 'col1', - }, - { - Header: Name of the cat, - accessor: 'col2', - }, - { - Header: ( - - Date of castration - - ), - accessor: 'col3', - }, - { - Header: ( - Date of last deworming - ), - accessor: 'col4', - }, - { - Header: Date of adoption, - accessor: 'col5', - }, - ]} - data={data.cats.listAllCats.map((cat) => { - return { - col1: `#${cat.order}`, - col2: cat.name, - col3: cat.dateOfCastration ?? , // TODO: display with warning/error when around 4 months old - col4: cat.dateOfDeworming ?? , // TODO: display with warning/error - col5: cat.dateOfAdoption ?? , - }; - })} - /> + + + + Currently available cats + +

+ + List of cats currently living in KOCHKA Café. + +

+ +
+ + + + Adopted cats + +

+ + List of cats that are no longer in KOCHKA Café because they were adopted. + +

+ +
+
); } diff --git a/src/cats/CatsPageLayout.js b/src/cats/CatsPageLayout.js index 59435ff..0253db1 100644 --- a/src/cats/CatsPageLayout.js +++ b/src/cats/CatsPageLayout.js @@ -11,6 +11,11 @@ export default function CatsPageLayout(): React.Node { List of all our cats} + description={ + + Here you can find details about all the cats who every went through KOCHKA Café. + + } > diff --git a/src/cats/CatsTableAdopted.js b/src/cats/CatsTableAdopted.js new file mode 100644 index 0000000..b0773e1 --- /dev/null +++ b/src/cats/CatsTableAdopted.js @@ -0,0 +1,71 @@ +// @flow + +import { MissingData, Table } from '@adeira/sx-design'; +import fbt from 'fbt'; +import { type Node } from 'react'; +import { useFragment, graphql } from '@adeira/relay'; + +import type { CatsTableAdoptedFragment$key } from './__generated__/CatsTableAdoptedFragment.graphql'; + +type Props = { + +data: CatsTableAdoptedFragment$key, +}; + +export default function CatsTableAdopted(props: Props): Node { + const cats = useFragment( + graphql` + fragment CatsTableAdoptedFragment on CatsQuery { + adoptedCats: listAllCats(allCatsFilter: { adopted: true }) { + order + name + dateOfCastration + dateOfDeworming + dateOfAdoption + } + } + `, + props.data, + ); + + return ( +
Order, + accessor: 'col1', + }, + { + Header: Name of the cat, + accessor: 'col2', + }, + { + Header: ( + + Date of castration + + ), + accessor: 'col3', + }, + { + Header: ( + Date of last deworming + ), + accessor: 'col4', + }, + { + Header: Date of adoption, + accessor: 'col5', + }, + ]} + data={cats.adoptedCats.map((cat) => { + return { + col1: `#${cat.order}`, + col2: cat.name, + col3: cat.dateOfCastration ?? , + col4: cat.dateOfDeworming ?? , + col5: cat.dateOfAdoption ?? , + }; + })} + /> + ); +} diff --git a/src/cats/CatsTableCurrent.js b/src/cats/CatsTableCurrent.js new file mode 100644 index 0000000..1d2c1ce --- /dev/null +++ b/src/cats/CatsTableCurrent.js @@ -0,0 +1,65 @@ +// @flow + +import { graphql, useFragment } from '@adeira/relay'; +import { MissingData, Table } from '@adeira/sx-design'; +import fbt from 'fbt'; +import { type Node } from 'react'; + +import type { CatsTableCurrentFragment$key } from './__generated__/CatsTableCurrentFragment.graphql'; + +type Props = { + +data: CatsTableCurrentFragment$key, +}; + +export default function CatsTableCurrent(props: Props): Node { + const cats = useFragment( + graphql` + fragment CatsTableCurrentFragment on CatsQuery { + currentCats: listAllCats(allCatsFilter: { adopted: false }) { + order + name + dateOfCastration + dateOfDeworming + } + } + `, + props.data, + ); + + return ( +
Order, + accessor: 'col1', + }, + { + Header: Name of the cat, + accessor: 'col2', + }, + { + Header: ( + + Date of castration + + ), + accessor: 'col3', + }, + { + Header: ( + Date of last deworming + ), + accessor: 'col4', + }, + ]} + data={cats.currentCats.map((cat) => { + return { + col1: `#${cat.order}`, + col2: cat.name, + col3: cat.dateOfCastration ?? , // TODO: display with warning/error when around 4 months old + col4: cat.dateOfDeworming ?? , // TODO: display with warning/error + }; + })} + /> + ); +} diff --git a/src/cats/__generated__/CatsPageQuery.graphql.js b/src/cats/__generated__/CatsPageQuery.graphql.js index 5e68a9b..5629e6e 100644 --- a/src/cats/__generated__/CatsPageQuery.graphql.js +++ b/src/cats/__generated__/CatsPageQuery.graphql.js @@ -5,16 +5,12 @@ /* eslint-disable */ import type { ConcreteRequest } from 'relay-runtime'; +type CatsTableAdoptedFragment$ref = any; +type CatsTableCurrentFragment$ref = any; export type CatsPageQueryVariables = {||}; export type CatsPageQueryResponse = {| +cats: {| - +listAllCats: $ReadOnlyArray<{| - +order: number, - +name: string, - +dateOfCastration: ?string, - +dateOfDeworming: ?string, - +dateOfAdoption: ?string, - |}> + +$fragmentRefs: CatsTableCurrentFragment$ref & CatsTableAdoptedFragment$ref |} |}; export type CatsPageQuery = {| @@ -25,14 +21,29 @@ export type CatsPageQuery = {| /* query CatsPageQuery { cats { - listAllCats { - order - name - dateOfCastration - dateOfDeworming - dateOfAdoption - id - } + ...CatsTableCurrentFragment + ...CatsTableAdoptedFragment + } +} + +fragment CatsTableAdoptedFragment on CatsQuery { + adoptedCats: listAllCats(allCatsFilter: {adopted: true}) { + order + name + dateOfCastration + dateOfDeworming + dateOfAdoption + id + } +} + +fragment CatsTableCurrentFragment on CatsQuery { + currentCats: listAllCats(allCatsFilter: {adopted: false}) { + order + name + dateOfCastration + dateOfDeworming + id } } */ @@ -70,7 +81,7 @@ v4 = { "alias": null, "args": null, "kind": "ScalarField", - "name": "dateOfAdoption", + "name": "id", "storageKey": null }; return { @@ -89,20 +100,14 @@ return { "plural": false, "selections": [ { - "alias": null, "args": null, - "concreteType": "CatInfo", - "kind": "LinkedField", - "name": "listAllCats", - "plural": true, - "selections": [ - (v0/*: any*/), - (v1/*: any*/), - (v2/*: any*/), - (v3/*: any*/), - (v4/*: any*/) - ], - "storageKey": null + "kind": "FragmentSpread", + "name": "CatsTableCurrentFragment" + }, + { + "args": null, + "kind": "FragmentSpread", + "name": "CatsTableAdoptedFragment" } ], "storageKey": null @@ -126,8 +131,40 @@ return { "plural": false, "selections": [ { - "alias": null, - "args": null, + "alias": "currentCats", + "args": [ + { + "kind": "Literal", + "name": "allCatsFilter", + "value": { + "adopted": false + } + } + ], + "concreteType": "CatInfo", + "kind": "LinkedField", + "name": "listAllCats", + "plural": true, + "selections": [ + (v0/*: any*/), + (v1/*: any*/), + (v2/*: any*/), + (v3/*: any*/), + (v4/*: any*/) + ], + "storageKey": "listAllCats(allCatsFilter:{\"adopted\":false})" + }, + { + "alias": "adoptedCats", + "args": [ + { + "kind": "Literal", + "name": "allCatsFilter", + "value": { + "adopted": true + } + } + ], "concreteType": "CatInfo", "kind": "LinkedField", "name": "listAllCats", @@ -137,16 +174,16 @@ return { (v1/*: any*/), (v2/*: any*/), (v3/*: any*/), - (v4/*: any*/), { "alias": null, "args": null, "kind": "ScalarField", - "name": "id", + "name": "dateOfAdoption", "storageKey": null - } + }, + (v4/*: any*/) ], - "storageKey": null + "storageKey": "listAllCats(allCatsFilter:{\"adopted\":true})" } ], "storageKey": null @@ -154,15 +191,15 @@ return { ] }, "params": { - "cacheID": "fbffe788557ca6ae0b84bc899d2622de", + "cacheID": "0eac703b0d7d2b339dbd95f7cd1882ef", "id": null, "metadata": {}, "name": "CatsPageQuery", "operationKind": "query", - "text": "query CatsPageQuery {\n cats {\n listAllCats {\n order\n name\n dateOfCastration\n dateOfDeworming\n dateOfAdoption\n id\n }\n }\n}\n" + "text": "query CatsPageQuery {\n cats {\n ...CatsTableCurrentFragment\n ...CatsTableAdoptedFragment\n }\n}\n\nfragment CatsTableAdoptedFragment on CatsQuery {\n adoptedCats: listAllCats(allCatsFilter: {adopted: true}) {\n order\n name\n dateOfCastration\n dateOfDeworming\n dateOfAdoption\n id\n }\n}\n\nfragment CatsTableCurrentFragment on CatsQuery {\n currentCats: listAllCats(allCatsFilter: {adopted: false}) {\n order\n name\n dateOfCastration\n dateOfDeworming\n id\n }\n}\n" } }; })(); // prettier-ignore -(node: any).hash = '383f97dea5a84a25c83cfef0c74c51ac'; +(node: any).hash = 'd80b8aeae3eee43d423c79777e38c450'; export default node; diff --git a/src/cats/__generated__/CatsTableAdoptedFragment.graphql.js b/src/cats/__generated__/CatsTableAdoptedFragment.graphql.js new file mode 100644 index 0000000..7337241 --- /dev/null +++ b/src/cats/__generated__/CatsTableAdoptedFragment.graphql.js @@ -0,0 +1,95 @@ +/** + * @flow + */ + +/* eslint-disable */ + +import type { ReaderFragment } from 'relay-runtime'; +import type { FragmentReference } from "relay-runtime"; +declare export opaque type CatsTableAdoptedFragment$ref: FragmentReference; +declare export opaque type CatsTableAdoptedFragment$fragmentType: CatsTableAdoptedFragment$ref; +export type CatsTableAdoptedFragment = {| + +adoptedCats: $ReadOnlyArray<{| + +order: number, + +name: string, + +dateOfCastration: ?string, + +dateOfDeworming: ?string, + +dateOfAdoption: ?string, + |}>, + +$refType: CatsTableAdoptedFragment$ref, +|}; +export type CatsTableAdoptedFragment$data = CatsTableAdoptedFragment; +export type CatsTableAdoptedFragment$key = { + +$data?: CatsTableAdoptedFragment$data, + +$fragmentRefs: CatsTableAdoptedFragment$ref, + ... +}; + + +const node: ReaderFragment = { + "argumentDefinitions": [], + "kind": "Fragment", + "metadata": null, + "name": "CatsTableAdoptedFragment", + "selections": [ + { + "alias": "adoptedCats", + "args": [ + { + "kind": "Literal", + "name": "allCatsFilter", + "value": { + "adopted": true + } + } + ], + "concreteType": "CatInfo", + "kind": "LinkedField", + "name": "listAllCats", + "plural": true, + "selections": [ + { + "alias": null, + "args": null, + "kind": "ScalarField", + "name": "order", + "storageKey": null + }, + { + "alias": null, + "args": null, + "kind": "ScalarField", + "name": "name", + "storageKey": null + }, + { + "alias": null, + "args": null, + "kind": "ScalarField", + "name": "dateOfCastration", + "storageKey": null + }, + { + "alias": null, + "args": null, + "kind": "ScalarField", + "name": "dateOfDeworming", + "storageKey": null + }, + { + "alias": null, + "args": null, + "kind": "ScalarField", + "name": "dateOfAdoption", + "storageKey": null + } + ], + "storageKey": "listAllCats(allCatsFilter:{\"adopted\":true})" + } + ], + "type": "CatsQuery", + "abstractKey": null +}; +// prettier-ignore +(node: any).hash = '9c25db35b12efbb28dcd0e1aec208a4f'; +export default node; diff --git a/src/cats/__generated__/CatsTableCurrentFragment.graphql.js b/src/cats/__generated__/CatsTableCurrentFragment.graphql.js new file mode 100644 index 0000000..00bc7ef --- /dev/null +++ b/src/cats/__generated__/CatsTableCurrentFragment.graphql.js @@ -0,0 +1,87 @@ +/** + * @flow + */ + +/* eslint-disable */ + +import type { ReaderFragment } from 'relay-runtime'; +import type { FragmentReference } from "relay-runtime"; +declare export opaque type CatsTableCurrentFragment$ref: FragmentReference; +declare export opaque type CatsTableCurrentFragment$fragmentType: CatsTableCurrentFragment$ref; +export type CatsTableCurrentFragment = {| + +currentCats: $ReadOnlyArray<{| + +order: number, + +name: string, + +dateOfCastration: ?string, + +dateOfDeworming: ?string, + |}>, + +$refType: CatsTableCurrentFragment$ref, +|}; +export type CatsTableCurrentFragment$data = CatsTableCurrentFragment; +export type CatsTableCurrentFragment$key = { + +$data?: CatsTableCurrentFragment$data, + +$fragmentRefs: CatsTableCurrentFragment$ref, + ... +}; + + +const node: ReaderFragment = { + "argumentDefinitions": [], + "kind": "Fragment", + "metadata": null, + "name": "CatsTableCurrentFragment", + "selections": [ + { + "alias": "currentCats", + "args": [ + { + "kind": "Literal", + "name": "allCatsFilter", + "value": { + "adopted": false + } + } + ], + "concreteType": "CatInfo", + "kind": "LinkedField", + "name": "listAllCats", + "plural": true, + "selections": [ + { + "alias": null, + "args": null, + "kind": "ScalarField", + "name": "order", + "storageKey": null + }, + { + "alias": null, + "args": null, + "kind": "ScalarField", + "name": "name", + "storageKey": null + }, + { + "alias": null, + "args": null, + "kind": "ScalarField", + "name": "dateOfCastration", + "storageKey": null + }, + { + "alias": null, + "args": null, + "kind": "ScalarField", + "name": "dateOfDeworming", + "storageKey": null + } + ], + "storageKey": "listAllCats(allCatsFilter:{\"adopted\":false})" + } + ], + "type": "CatsQuery", + "abstractKey": null +}; +// prettier-ignore +(node: any).hash = '516ea0e99686f2972199dd02137dd22d'; +export default node; diff --git a/translations/out/es_MX.json b/translations/out/es_MX.json index 14d0b93..6cfb05e 100644 --- a/translations/out/es_MX.json +++ b/translations/out/es_MX.json @@ -13,12 +13,17 @@ "3JkX8r": "Ha ocurrido un error desconocido", "3m81kH": "Login with Google", "eiaXU": "Cerrar sesión", + "3ilC2O": "Currently available cats", + "3IyNjX": "List of cats currently living in KOCHKA Café.", + "1aavNu": "Adopted cats", + "2GcT9P": "List of cats that are no longer in KOCHKA Café because they were adopted.", + "13fb44": "List of all our cats", + "23CIOM": "Here you can find details about all the cats who every went through KOCHKA Café.", "45KnjW": "Order", "2ZEsha": "Name of the cat", "1CTaXS": "Date of castration", "qb7pS": "Date of last deworming", "4fmUFn": "Date of adoption", - "13fb44": "List of all our cats", "28BiKm": "Status", "1W8aDx": "Name", "U9uFf": "activo", @@ -135,4 +140,4 @@ "4jOEjB": "All products available across all our services are here.", "TeM0w": "Crear un nuevo producto" } -} +} \ No newline at end of file diff --git a/translations/source_strings.json b/translations/source_strings.json index 179f8f9..b2a09ad 100644 --- a/translations/source_strings.json +++ b/translations/source_strings.json @@ -155,12 +155,96 @@ }, { "hashToText": { - "s4htMawiaPZXaxWElrK25A==": "Order" + "dT/eh3zXjHNy5HXZH1EhsA==": "Currently available cats" }, "filepath": "src/cats/CatsPage.js", - "line_beg": 25, + "line_beg": 26, + "col_beg": 10, + "line_end": 26, + "col_end": 99, + "desc": "title of a section of currently available cats", + "project": "", + "type": "text", + "jsfbt": "Currently available cats" + }, + { + "hashToText": { + "4/M8aLkISpiX62czEj3IUA==": "List of cats currently living in KOCHKA Café." + }, + "filepath": "src/cats/CatsPage.js", + "line_beg": 29, + "col_beg": 10, + "line_end": 31, + "col_end": 16, + "desc": "description of a section of currently available cats", + "project": "", + "type": "text", + "jsfbt": "List of cats currently living in KOCHKA Café." + }, + { + "hashToText": { + "EXFpk5Vw2p1k38y43AcBZQ==": "Adopted cats" + }, + "filepath": "src/cats/CatsPage.js", + "line_beg": 38, + "col_beg": 10, + "line_end": 38, + "col_end": 83, + "desc": "title of a section of already adopted cats", + "project": "", + "type": "text", + "jsfbt": "Adopted cats" + }, + { + "hashToText": { + "6AoFu1ksuKbjM3tda2EHXA==": "List of cats that are no longer in KOCHKA Café because they were adopted." + }, + "filepath": "src/cats/CatsPage.js", + "line_beg": 41, + "col_beg": 10, + "line_end": 43, + "col_end": 16, + "desc": "description of a section of already adopted cats", + "project": "", + "type": "text", + "jsfbt": "List of cats that are no longer in KOCHKA Café because they were adopted." + }, + { + "hashToText": { + "TOmKk3DR+VXp59Mr7ax/3A==": "List of all our cats" + }, + "filepath": "src/cats/CatsPageLayout.js", + "line_beg": 13, + "col_beg": 15, + "line_end": 13, + "col_end": 80, + "desc": "list of all our cats title", + "project": "", + "type": "text", + "jsfbt": "List of all our cats" + }, + { + "hashToText": { + "dme/ASWCqdGTr4dtyfFtag==": "Here you can find details about all the cats who every went through KOCHKA Café." + }, + "filepath": "src/cats/CatsPageLayout.js", + "line_beg": 15, + "col_beg": 8, + "line_end": 17, + "col_end": 14, + "desc": "list of all our cats description", + "project": "", + "type": "text", + "jsfbt": "Here you can find details about all the cats who every went through KOCHKA Café." + }, + { + "hashToText": { + "s4htMawiaPZXaxWElrK25A==": "Order" + }, + "filepath": "src/cats/CatsTableAdopted.js", + "line_beg": 34, "col_beg": 18, - "line_end": 25, + "line_end": 34, "col_end": 73, "desc": "order of the cat (table header)", "project": "", @@ -171,10 +255,10 @@ "hashToText": { "TS5eOvI9j7ryhkifltRJwQ==": "Name of the cat" }, - "filepath": "src/cats/CatsPage.js", - "line_beg": 29, + "filepath": "src/cats/CatsTableAdopted.js", + "line_beg": 38, "col_beg": 18, - "line_end": 29, + "line_end": 38, "col_end": 82, "desc": "name of the cat (table header)", "project": "", @@ -185,10 +269,10 @@ "hashToText": { "dnySRGk7SfYD+/xGMik0yg==": "Date of castration" }, - "filepath": "src/cats/CatsPage.js", - "line_beg": 34, + "filepath": "src/cats/CatsTableAdopted.js", + "line_beg": 43, "col_beg": 12, - "line_end": 36, + "line_end": 45, "col_end": 18, "desc": "date when the cat castration was performed (table header)", "project": "", @@ -199,10 +283,10 @@ "hashToText": { "0uUQp4khMrJzUvN+BEbRBA==": "Date of last deworming" }, - "filepath": "src/cats/CatsPage.js", - "line_beg": 42, + "filepath": "src/cats/CatsTableAdopted.js", + "line_beg": 51, "col_beg": 12, - "line_end": 42, + "line_end": 51, "col_end": 94, "desc": "date of the last deworming (table header)", "project": "", @@ -213,10 +297,10 @@ "hashToText": { "BL5tZ7CN41VT6AJQuPPNQw==": "Date of adoption" }, - "filepath": "src/cats/CatsPage.js", - "line_beg": 47, + "filepath": "src/cats/CatsTableAdopted.js", + "line_beg": 56, "col_beg": 18, - "line_end": 47, + "line_end": 56, "col_end": 92, "desc": "date of the cat adoption (table header)", "project": "", @@ -225,17 +309,59 @@ }, { "hashToText": { - "TOmKk3DR+VXp59Mr7ax/3A==": "List of all our cats" + "s4htMawiaPZXaxWElrK25A==": "Order" }, - "filepath": "src/cats/CatsPageLayout.js", - "line_beg": 13, - "col_beg": 15, - "line_end": 13, - "col_end": 80, - "desc": "list of all our cats title", + "filepath": "src/cats/CatsTableCurrent.js", + "line_beg": 33, + "col_beg": 18, + "line_end": 33, + "col_end": 73, + "desc": "order of the cat (table header)", "project": "", "type": "text", - "jsfbt": "List of all our cats" + "jsfbt": "Order" + }, + { + "hashToText": { + "TS5eOvI9j7ryhkifltRJwQ==": "Name of the cat" + }, + "filepath": "src/cats/CatsTableCurrent.js", + "line_beg": 37, + "col_beg": 18, + "line_end": 37, + "col_end": 82, + "desc": "name of the cat (table header)", + "project": "", + "type": "text", + "jsfbt": "Name of the cat" + }, + { + "hashToText": { + "dnySRGk7SfYD+/xGMik0yg==": "Date of castration" + }, + "filepath": "src/cats/CatsTableCurrent.js", + "line_beg": 42, + "col_beg": 12, + "line_end": 44, + "col_end": 18, + "desc": "date when the cat castration was performed (table header)", + "project": "", + "type": "text", + "jsfbt": "Date of castration" + }, + { + "hashToText": { + "0uUQp4khMrJzUvN+BEbRBA==": "Date of last deworming" + }, + "filepath": "src/cats/CatsTableCurrent.js", + "line_beg": 50, + "col_beg": 12, + "line_end": 50, + "col_end": 94, + "desc": "date of the last deworming (table header)", + "project": "", + "type": "text", + "jsfbt": "Date of last deworming" }, { "hashToText": { diff --git a/translations/src_manifest.json b/translations/src_manifest.json index b64fdc3..8692789 100644 --- a/translations/src_manifest.json +++ b/translations/src_manifest.json @@ -1 +1 @@ -{"translations/enum_manifest.json":["src/analytics/AnalyticsRedirectsPage.js","src/analytics/AnalyticsRedirectsPageLayout.js","src/AuthButtons.js","src/cats/CatsPage.js","src/cats/CatsPageLayout.js","src/employees/EmployeesPage.js","src/employees/EmployeesPageLayout.js","src/forms/__tests__/FormCheckboxList.test.js","src/forms/__tests__/FormMultiSelect.test.js","src/forms/__tests__/FormMultiUpload.test.js","src/forms/__tests__/FormNumber.test.js","src/forms/__tests__/FormSelect.test.js","src/forms/__tests__/FormText.test.js","src/forms/__tests__/FormTextArea.test.js","src/forms/FormSelect.js","src/forms/FormSubmit.js","src/forms/private/BaseInputWrapper.js","src/forms/private/getValidityStateMessage.js","src/index/IndexPage.js","src/index/IndexPageLayout.js","src/LayoutPage.js","src/LoginPage.js","src/Navigation.js","src/orders/OrdersPageLayout.js","src/pos/CheckoutReceipt.js","src/pos/POSAllSessionsPageLayout.js","src/pos/POSCheckoutFailurePageLayout.js","src/pos/POSCheckoutPageLayout.js","src/pos/POSCheckoutSuccessPageLayout.js","src/pos/ProductsGrid.js","src/pos/ProductsGridModal.js","src/pos/ProductsGridModalBody.js","src/pos/ProductsSelected.js","src/pos/ProductsSelectedRows.js","src/products/ProductAddons.js","src/products/ProductAddonsLayout.js","src/products/ProductCategoriesLayout.js","src/products/ProductCreateForm.js","src/products/ProductEditForm.js","src/products/ProductEditHeading.js","src/products/ProductEditHeadingPublishUnpublish.js","src/products/ProductForm.js","src/products/ProductsCards.js","src/products/ProductsCardsInCategory.js","src/products/ProductsCategories.js","src/products/ProductsCreateLayout.js","src/products/ProductsEditLayout.js","src/products/ProductsPageLayout.js"]} +{"translations/enum_manifest.json":["src/analytics/AnalyticsRedirectsPage.js","src/analytics/AnalyticsRedirectsPageLayout.js","src/AuthButtons.js","src/cats/CatsPage.js","src/cats/CatsPageLayout.js","src/cats/CatsTableAdopted.js","src/cats/CatsTableCurrent.js","src/employees/EmployeesPage.js","src/employees/EmployeesPageLayout.js","src/forms/__tests__/FormCheckboxList.test.js","src/forms/__tests__/FormMultiSelect.test.js","src/forms/__tests__/FormMultiUpload.test.js","src/forms/__tests__/FormNumber.test.js","src/forms/__tests__/FormSelect.test.js","src/forms/__tests__/FormText.test.js","src/forms/__tests__/FormTextArea.test.js","src/forms/FormSelect.js","src/forms/FormSubmit.js","src/forms/private/BaseInputWrapper.js","src/forms/private/getValidityStateMessage.js","src/index/IndexPage.js","src/index/IndexPageLayout.js","src/LayoutPage.js","src/LoginPage.js","src/Navigation.js","src/orders/OrdersPageLayout.js","src/pos/CheckoutReceipt.js","src/pos/POSAllSessionsPageLayout.js","src/pos/POSCheckoutFailurePageLayout.js","src/pos/POSCheckoutPageLayout.js","src/pos/POSCheckoutSuccessPageLayout.js","src/pos/ProductsGrid.js","src/pos/ProductsGridModal.js","src/pos/ProductsGridModalBody.js","src/pos/ProductsSelected.js","src/pos/ProductsSelectedRows.js","src/products/ProductAddons.js","src/products/ProductAddonsLayout.js","src/products/ProductCategoriesLayout.js","src/products/ProductCreateForm.js","src/products/ProductEditForm.js","src/products/ProductEditHeading.js","src/products/ProductEditHeadingPublishUnpublish.js","src/products/ProductForm.js","src/products/ProductsCards.js","src/products/ProductsCardsInCategory.js","src/products/ProductsCategories.js","src/products/ProductsCreateLayout.js","src/products/ProductsEditLayout.js","src/products/ProductsPageLayout.js"]} \ No newline at end of file