Refactor configuration section translations (#111)

* Refactor configuration section translations

* Update pot file
This commit is contained in:
Dominik Żegleń 2019-08-26 14:56:31 +02:00 committed by dominik-zeglen
parent 5dd50bcd7e
commit a2efcde035
6 changed files with 476 additions and 355 deletions

View file

@ -1,12 +1,24 @@
msgid "" msgid ""
msgstr "" msgstr ""
"POT-Creation-Date: 2019-08-23T12:11:14.694Z\n" "POT-Creation-Date: 2019-08-26T12:14:21.560Z\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"X-Generator: react-intl-po\n" "X-Generator: react-intl-po\n"
#: build/locale/src/categories/components/CategoryBackground/CategoryBackground.json
#. [src.categories.components.CategoryBackground.3289097895] - field is optional
#. defaultMessage is:
#. (Optional)
#: build/locale/src/collections/components/CollectionImage/CollectionImage.json
#. [src.collections.components.CollectionImage.3289097895] - field is optional
#. defaultMessage is:
#. (Optional)
msgctxt "field is optional"
msgid "(Optional)"
msgstr ""
#: build/locale/src/attributes/views/AttributeCreate/AttributeCreate.json #: build/locale/src/attributes/views/AttributeCreate/AttributeCreate.json
#. [src.attributes.views.AttributeCreate.2348058468] - attribute value edit error #. [src.attributes.views.AttributeCreate.2348058468] - attribute value edit error
#. defaultMessage is: #. defaultMessage is:
@ -16,7 +28,7 @@ msgid "A value named {name} already exists"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerAddressDialog/CustomerAddressDialog.json #: build/locale/src/customers/components/CustomerAddressDialog/CustomerAddressDialog.json
#. [customerAddressDialogAddAddress] - dialog title #. [src.customers.components.CustomerAddressDialog.3769321414] - dialog title
#. defaultMessage is: #. defaultMessage is:
#. Add Address #. Add Address
msgctxt "dialog title" msgctxt "dialog title"
@ -32,7 +44,7 @@ msgid "Add Value"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerAddressListPage/CustomerAddressListPage.json #: build/locale/src/customers/components/CustomerAddressListPage/CustomerAddressListPage.json
#. [customerAddressListPageAddAddress] - button #. [src.customers.components.CustomerAddressListPage.3623935073] - button
#. defaultMessage is: #. defaultMessage is:
#. Add address #. Add address
msgctxt "button" msgctxt "button"
@ -72,7 +84,7 @@ msgid "Add collection"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerCreatePage/CustomerCreatePage.json #: build/locale/src/customers/components/CustomerCreatePage/CustomerCreatePage.json
#. [customerCreatePageHeader] - page header #. [src.customers.components.CustomerCreatePage.1934221653] - page header
#. defaultMessage is: #. defaultMessage is:
#. Add customer #. Add customer
msgctxt "page header" msgctxt "page header"
@ -80,7 +92,7 @@ msgid "Add customer"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerListPage/CustomerListPage.json #: build/locale/src/customers/components/CustomerListPage/CustomerListPage.json
#. [customerListPageAddCustomer] - button #. [src.customers.components.CustomerListPage.1934221653] - button
#. defaultMessage is: #. defaultMessage is:
#. Add customer #. Add customer
msgctxt "button" msgctxt "button"
@ -156,7 +168,7 @@ msgid "Added product to collection"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerAddresses/CustomerAddresses.json #: build/locale/src/customers/components/CustomerAddresses/CustomerAddresses.json
#. [customerAddressesAddressSectionHeader] - subsection header #. [src.customers.components.CustomerAddresses.359810770] - subsection header
#. defaultMessage is: #. defaultMessage is:
#. Address #. Address
msgctxt "subsection header" msgctxt "subsection header"
@ -164,7 +176,7 @@ msgid "Address"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerAddresses/CustomerAddresses.json #: build/locale/src/customers/components/CustomerAddresses/CustomerAddresses.json
#. [customerAddressesHeader] - header #. [src.customers.components.CustomerAddresses.1967111456] - header
#. defaultMessage is: #. defaultMessage is:
#. Address Information #. Address Information
msgctxt "header" msgctxt "header"
@ -172,7 +184,7 @@ msgid "Address Information"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerAddress/CustomerAddress.json #: build/locale/src/customers/components/CustomerAddress/CustomerAddress.json
#. [customerAddressHeader] - addres card header #. [src.customers.components.CustomerAddress.1320082647] - addres card header
#. defaultMessage is: #. defaultMessage is:
#. Address {addressNumber} #. Address {addressNumber}
msgctxt "addres card header" msgctxt "addres card header"
@ -219,6 +231,14 @@ msgctxt "description"
msgid "Are you sure you want to delete collection's image?" msgid "Are you sure you want to delete collection's image?"
msgstr "" msgstr ""
#: build/locale/src/customers/views/CustomerAddresses.json
#. [src.customers.views.3689332763]
#. defaultMessage is:
#. Are you sure you want to delete this address from users address book?
msgctxt "description"
msgid "Are you sure you want to delete this address from users address book?"
msgstr ""
#: build/locale/src/attributes/components/AttributeDeleteDialog/AttributeDeleteDialog.json #: build/locale/src/attributes/components/AttributeDeleteDialog/AttributeDeleteDialog.json
#. [src.attributes.components.AttributeDeleteDialog.3738429348] - dialog content #. [src.attributes.components.AttributeDeleteDialog.3738429348] - dialog content
#. defaultMessage is: #. defaultMessage is:
@ -287,6 +307,22 @@ msgctxt "description"
msgid "Are you sure you want to delete {counter,plural,one{this collection} other{{displayQuantity} collections}}?" msgid "Are you sure you want to delete {counter,plural,one{this collection} other{{displayQuantity} collections}}?"
msgstr "" msgstr ""
#: build/locale/src/customers/views/CustomerList.json
#. [src.customers.views.409347866]
#. defaultMessage is:
#. Are you sure you want to delete {counter,plural,one{this customer} other{{displayQuantity} customers}}?
msgctxt "description"
msgid "Are you sure you want to delete {counter,plural,one{this customer} other{{displayQuantity} customers}}?"
msgstr ""
#: build/locale/src/customers/views/CustomerDetails.json
#. [src.customers.views.1927691511] - delete customer, dialog content
#. defaultMessage is:
#. Are you sure you want to delete {email}?
msgctxt "delete customer, dialog content"
msgid "Are you sure you want to delete {email}?"
msgstr ""
#: build/locale/src/collections/views/CollectionList.json #: build/locale/src/collections/views/CollectionList.json
#. [src.collections.views.1348793822] #. [src.collections.views.1348793822]
#. defaultMessage is: #. defaultMessage is:
@ -295,30 +331,6 @@ msgctxt "description"
msgid "Are you sure you want to publish {counter,plural,one{this collection} other{{displayQuantity} collections}}?" msgid "Are you sure you want to publish {counter,plural,one{this collection} other{{displayQuantity} collections}}?"
msgstr "" msgstr ""
#: build/locale/src/customers/views/CustomerAddresses.json
#. [customerAddressesRemoveAddressDialogContent]
#. defaultMessage is:
#. Are you sure you want to remove this address from users address book?
msgctxt "description"
msgid "Are you sure you want to remove this address from users address book?"
msgstr ""
#: build/locale/src/customers/views/CustomerDetails.json
#. [customerDetailsRemoveCustomerDialogContent] - remove customer dialog content
#. defaultMessage is:
#. Are you sure you want to remove {email}?
msgctxt "remove customer dialog content"
msgid "Are you sure you want to remove {email}?"
msgstr ""
#: build/locale/src/customers/views/CustomerList.json
#. [customerListRemoveCustomersDialogContent]
#. defaultMessage is:
#. Are you sure you want to remove {number} customers?
msgctxt "description"
msgid "Are you sure you want to remove {number} customers?"
msgstr ""
#: build/locale/src/collections/views/CollectionDetails.json #: build/locale/src/collections/views/CollectionDetails.json
#. [src.collections.views.1908998638] #. [src.collections.views.1908998638]
#. defaultMessage is: #. defaultMessage is:
@ -420,7 +432,7 @@ msgid "Background image (optional)"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerAddresses/CustomerAddresses.json #: build/locale/src/customers/components/CustomerAddresses/CustomerAddresses.json
#. [customerAddressesBillingAddressSectionHeader] - subsection header #. [src.customers.components.CustomerAddresses.2428885633] - subsection header
#. defaultMessage is: #. defaultMessage is:
#. Billing address #. Billing address
msgctxt "subsection header" msgctxt "subsection header"
@ -548,7 +560,7 @@ msgid "Create collection"
msgstr "" msgstr ""
#: build/locale/src/customers/views/CustomerCreate.json #: build/locale/src/customers/views/CustomerCreate.json
#. [customerCreateWindowTitle] - window title #. [src.customers.views.2859116187] - window title
#. defaultMessage is: #. defaultMessage is:
#. Create customer #. Create customer
msgctxt "window title" msgctxt "window title"
@ -564,15 +576,15 @@ msgid "Created collection"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerList/CustomerList.json #: build/locale/src/customers/components/CustomerList/CustomerList.json
#. [customerListCustomerEmailColumnHeader] - customer list: column header #. [src.customers.components.CustomerList.2339105195]
#. defaultMessage is: #. defaultMessage is:
#. Customer Email #. Customer Email
msgctxt "customer list: column header" msgctxt "description"
msgid "Customer Email" msgid "Customer Email"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerStats/CustomerStats.json #: build/locale/src/customers/components/CustomerStats/CustomerStats.json
#. [customerStatsHeader] - section header #. [src.customers.components.CustomerStats.2543847016] - section header
#. defaultMessage is: #. defaultMessage is:
#. Customer History #. Customer History
msgctxt "section header" msgctxt "section header"
@ -580,15 +592,15 @@ msgid "Customer History"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerList/CustomerList.json #: build/locale/src/customers/components/CustomerList/CustomerList.json
#. [customerListCustomerNameColumnHeader] - customer list: column header #. [src.customers.components.CustomerList.4154265139]
#. defaultMessage is: #. defaultMessage is:
#. Customer Name #. Customer Name
msgctxt "customer list: column header" msgctxt "description"
msgid "Customer Name" msgid "Customer Name"
msgstr "" msgstr ""
#: build/locale/src/customers/views/CustomerDetails.json #: build/locale/src/customers/views/CustomerDetails.json
#. [customerDetailsRemoveCustomerSuccess] #. [src.customers.views.3901579344]
#. defaultMessage is: #. defaultMessage is:
#. Customer Removed #. Customer Removed
msgctxt "description" msgctxt "description"
@ -596,7 +608,7 @@ msgid "Customer Removed"
msgstr "" msgstr ""
#: build/locale/src/customers/views/CustomerCreate.json #: build/locale/src/customers/views/CustomerCreate.json
#. [customerCreateSuccess] #. [src.customers.views.3970234993]
#. defaultMessage is: #. defaultMessage is:
#. Customer created #. Customer created
msgctxt "description" msgctxt "description"
@ -604,7 +616,7 @@ msgid "Customer created"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerCreateDetails/CustomerCreateDetails.json #: build/locale/src/customers/components/CustomerCreateDetails/CustomerCreateDetails.json
#. [customerCreateDetailsHeader] - header #. [src.customers.components.CustomerCreateDetails.4157831287] - header
#. defaultMessage is: #. defaultMessage is:
#. Customer overview #. Customer overview
msgctxt "header" msgctxt "header"
@ -612,7 +624,7 @@ msgid "Customer overview"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerDetails/CustomerDetails.json #: build/locale/src/customers/components/CustomerDetails/CustomerDetails.json
#. [customerDetailsSubheader] - section subheader #. [src.customers.components.CustomerDetails.2200102325] - section subheader
#. defaultMessage is: #. defaultMessage is:
#. Customer since: {date} #. Customer since: {date}
msgctxt "section subheader" msgctxt "section subheader"
@ -627,14 +639,6 @@ msgctxt "customers section name"
msgid "Customers" msgid "Customers"
msgstr "" msgstr ""
#: build/locale/src/customers/views/CustomerList.json
#. [customerListRemovedCustomers]
#. defaultMessage is:
#. Customers removed
msgctxt "description"
msgid "Customers removed"
msgstr ""
#: build/locale/src/intl.json #: build/locale/src/intl.json
#. [src.dashboard] #. [src.dashboard]
#. defaultMessage is: #. defaultMessage is:
@ -652,15 +656,15 @@ msgid "Dashboard Properties"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerOrders/CustomerOrders.json #: build/locale/src/customers/components/CustomerOrders/CustomerOrders.json
#. [customerOrdersDateColumnHeader] - customer's order list: order date column header #. [src.customers.components.CustomerOrders.4205493358] - order placement date
#. defaultMessage is: #. defaultMessage is:
#. Date #. Date
msgctxt "customer's order list: order date column header" msgctxt "order placement date"
msgid "Date" msgid "Date"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerAddress/CustomerAddress.json #: build/locale/src/customers/components/CustomerAddress/CustomerAddress.json
#. [customerAddressSubheaderDefaultAddress] #. [src.customers.components.CustomerAddress.1224809208]
#. defaultMessage is: #. defaultMessage is:
#. Default Address #. Default Address
msgctxt "description" msgctxt "description"
@ -668,7 +672,7 @@ msgid "Default Address"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerAddress/CustomerAddress.json #: build/locale/src/customers/components/CustomerAddress/CustomerAddress.json
#. [customerAddressSubheaderDefaultBillingAddress] #. [src.customers.components.CustomerAddress.1578192486]
#. defaultMessage is: #. defaultMessage is:
#. Default Billing Address #. Default Billing Address
msgctxt "description" msgctxt "description"
@ -692,7 +696,7 @@ msgid "Default Label"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerAddress/CustomerAddress.json #: build/locale/src/customers/components/CustomerAddress/CustomerAddress.json
#. [customerAddressSubheaderDefaultShippingAddress] #. [src.customers.components.CustomerAddress.4109348993]
#. defaultMessage is: #. defaultMessage is:
#. Default Shipping Address #. Default Shipping Address
msgctxt "description" msgctxt "description"
@ -707,6 +711,30 @@ msgctxt "attribute values list: name column header"
msgid "Default Store View" msgid "Default Store View"
msgstr "" msgstr ""
#: build/locale/src/configuration/index.json
#. [configurationMenuNavigation]
#. defaultMessage is:
#. Define how users can navigate through your store
msgctxt "description"
msgid "Define how users can navigate through your store"
msgstr ""
#: build/locale/src/configuration/index.json
#. [configurationMenuProductTypes]
#. defaultMessage is:
#. Define types of products you sell
msgctxt "description"
msgid "Define types of products you sell"
msgstr ""
#: build/locale/src/customers/views/CustomerAddresses.json
#. [src.customers.views.2657976015] - dialog header
#. defaultMessage is:
#. Delete Address
msgctxt "dialog header"
msgid "Delete Address"
msgstr ""
#: build/locale/src/collections/views/CollectionDetails.json #: build/locale/src/collections/views/CollectionDetails.json
#. [src.collections.views.699514132] - dialog title #. [src.collections.views.699514132] - dialog title
#. defaultMessage is: #. defaultMessage is:
@ -771,6 +799,22 @@ msgctxt "dialog title"
msgid "Delete collections" msgid "Delete collections"
msgstr "" msgstr ""
#: build/locale/src/customers/views/CustomerDetails.json
#. [src.customers.views.442409664] - dialog header
#. defaultMessage is:
#. Delete customer
msgctxt "dialog header"
msgid "Delete customer"
msgstr ""
#: build/locale/src/customers/views/CustomerList.json
#. [src.customers.views.1946482599] - dialog header
#. defaultMessage is:
#. Delete customers
msgctxt "dialog header"
msgid "Delete customers"
msgstr ""
#: build/locale/src/collections/views/CollectionDetails.json #: build/locale/src/collections/views/CollectionDetails.json
#. [src.collections.views.942133001] - dialog title #. [src.collections.views.942133001] - dialog title
#. defaultMessage is: #. defaultMessage is:
@ -811,6 +855,14 @@ msgctxt "description"
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#: build/locale/src/configuration/index.json
#. [configurationMenuAttributes]
#. defaultMessage is:
#. Determine attributes used to create product types
msgctxt "description"
msgid "Determine attributes used to create product types"
msgstr ""
#: build/locale/src/attributes/components/AttributeDetails/AttributeDetails.json #: build/locale/src/attributes/components/AttributeDetails/AttributeDetails.json
#. [src.attributes.components.AttributeDetails.1336738461] - product attribute type #. [src.attributes.components.AttributeDetails.1336738461] - product attribute type
#. defaultMessage is: #. defaultMessage is:
@ -836,7 +888,7 @@ msgid "Edit"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerAddressDialog/CustomerAddressDialog.json #: build/locale/src/customers/components/CustomerAddressDialog/CustomerAddressDialog.json
#. [customerAddressDialogEditAddress] - dialog title #. [src.customers.components.CustomerAddressDialog.2364475135] - dialog title
#. defaultMessage is: #. defaultMessage is:
#. Edit Address #. Edit Address
msgctxt "dialog title" msgctxt "dialog title"
@ -852,7 +904,7 @@ msgid "Edit Value"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerCreateNote/CustomerCreateNote.json #: build/locale/src/customers/components/CustomerCreateNote/CustomerCreateNote.json
#. [customerCreateNoteContent] #. [src.customers.components.CustomerCreateNote.932844352]
#. defaultMessage is: #. defaultMessage is:
#. Enter any extra infotmation regarding this customer. #. Enter any extra infotmation regarding this customer.
msgctxt "description" msgctxt "description"
@ -900,7 +952,7 @@ msgid "Last Name"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerStats/CustomerStats.json #: build/locale/src/customers/components/CustomerStats/CustomerStats.json
#. [customerStatsLastLogin] #. [src.customers.components.CustomerStats.1135318032]
#. defaultMessage is: #. defaultMessage is:
#. Last login #. Last login
msgctxt "description" msgctxt "description"
@ -908,7 +960,7 @@ msgid "Last login"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerStats/CustomerStats.json #: build/locale/src/customers/components/CustomerStats/CustomerStats.json
#. [customerStatsLastOrder] #. [src.customers.components.CustomerStats.1787449306]
#. defaultMessage is: #. defaultMessage is:
#. Last order #. Last order
msgctxt "description" msgctxt "description"
@ -923,6 +975,38 @@ msgctxt "button"
msgid "Manage" msgid "Manage"
msgstr "" msgstr ""
#: build/locale/src/configuration/index.json
#. [configurationMenuPages]
#. defaultMessage is:
#. Manage and add additional pages
msgctxt "description"
msgid "Manage and add additional pages"
msgstr ""
#: build/locale/src/configuration/index.json
#. [configurationMenuShipping]
#. defaultMessage is:
#. Manage how you ship out orders
msgctxt "description"
msgid "Manage how you ship out orders"
msgstr ""
#: build/locale/src/configuration/index.json
#. [configurationMenuTaxes]
#. defaultMessage is:
#. Manage how your store charges tax
msgctxt "description"
msgid "Manage how your store charges tax"
msgstr ""
#: build/locale/src/configuration/index.json
#. [configurationMenuStaff]
#. defaultMessage is:
#. Manage your employees and their permissions
msgctxt "description"
msgid "Manage your employees and their permissions"
msgstr ""
#: build/locale/src/attributes/components/AttributeDetails/AttributeDetails.json #: build/locale/src/attributes/components/AttributeDetails/AttributeDetails.json
#. [src.attributes.components.AttributeDetails.3334509011] - product attribute type #. [src.attributes.components.AttributeDetails.3334509011] - product attribute type
#. defaultMessage is: #. defaultMessage is:
@ -992,7 +1076,7 @@ msgid "No collections found"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerList/CustomerList.json #: build/locale/src/customers/components/CustomerList/CustomerList.json
#. [customerListNoCustomers] #. [src.customers.components.CustomerList.2239722559]
#. defaultMessage is: #. defaultMessage is:
#. No customers found #. No customers found
msgctxt "description" msgctxt "description"
@ -1000,7 +1084,7 @@ msgid "No customers found"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerOrders/CustomerOrders.json #: build/locale/src/customers/components/CustomerOrders/CustomerOrders.json
#. [customerOrdersNoOrders] #. [src.customers.components.CustomerOrders.898333473]
#. defaultMessage is: #. defaultMessage is:
#. No orders found #. No orders found
msgctxt "description" msgctxt "description"
@ -1035,22 +1119,22 @@ msgctxt "No attribute values found"
msgid "No values found" msgid "No values found"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerList/CustomerList.json
#. [customerListOrdersColumnHeader] - customer list: column header
#. defaultMessage is:
#. No. Orders
msgctxt "customer list: column header"
msgid "No. Orders"
msgstr ""
#: build/locale/src/customers/components/CustomerOrders/CustomerOrders.json #: build/locale/src/customers/components/CustomerOrders/CustomerOrders.json
#. [customerOrdersNoOfOrderColumnHeader] - customer's order list: number of order column header #. [src.customers.components.CustomerOrders.2889196282] - number of order
#. defaultMessage is: #. defaultMessage is:
#. No. of Order #. No. of Order
msgctxt "customer's order list: number of order column header" msgctxt "number of order"
msgid "No. of Order" msgid "No. of Order"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerList/CustomerList.json
#. [src.customers.components.CustomerList.1432565772]
#. defaultMessage is:
#. No. of Orders
msgctxt "description"
msgid "No. of Orders"
msgstr ""
#: build/locale/src/categories/components/CategoryList/CategoryList.json #: build/locale/src/categories/components/CategoryList/CategoryList.json
#. [src.categories.components.CategoryList.2527742754] - number of products #. [src.categories.components.CategoryList.2527742754] - number of products
#. defaultMessage is: #. defaultMessage is:
@ -1084,15 +1168,11 @@ msgid "Not published"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerCreateNote/CustomerCreateNote.json #: build/locale/src/customers/components/CustomerCreateNote/CustomerCreateNote.json
#. [customerCreateNoteInputLabel] - note about customer input label #. [src.customers.components.CustomerCreateNote.577013340] - note about customer
#. defaultMessage is: #. defaultMessage is:
#. Note #. Note
msgctxt "note about customer input label"
msgid "Note"
msgstr ""
#: build/locale/src/customers/components/CustomerDetails/CustomerDetails.json #: build/locale/src/customers/components/CustomerDetails/CustomerDetails.json
#. [customerDetailsNoteInputLabel] - note about customer #. [src.customers.components.CustomerDetails.577013340] - note about customer
#. defaultMessage is: #. defaultMessage is:
#. Note #. Note
msgctxt "note about customer" msgctxt "note about customer"
@ -1100,21 +1180,13 @@ msgid "Note"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerCreateNote/CustomerCreateNote.json #: build/locale/src/customers/components/CustomerCreateNote/CustomerCreateNote.json
#. [customerCreateNoteHeader] - notes about customer header #. [src.customers.components.CustomerCreateNote.1520756907] - notes about customer header
#. defaultMessage is: #. defaultMessage is:
#. Notes #. Notes
msgctxt "notes about customer header" msgctxt "notes about customer header"
msgid "Notes" msgid "Notes"
msgstr "" msgstr ""
#: build/locale/src/intl.json
#. [src.optionalField] - field is optional
#. defaultMessage is:
#. Optional
msgctxt "field is optional"
msgid "Optional"
msgstr ""
#: build/locale/src/intl.json #: build/locale/src/intl.json
#. [src.pages] - pages section name #. [src.pages] - pages section name
#. defaultMessage is: #. defaultMessage is:
@ -1132,7 +1204,7 @@ msgid "Position in faceted navigation"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerCreateAddress/CustomerCreateAddress.json #: build/locale/src/customers/components/CustomerCreateAddress/CustomerCreateAddress.json
#. [customerCreateAddressHeader] - page header #. [src.customers.components.CustomerCreateAddress.1922654050] - page header
#. defaultMessage is: #. defaultMessage is:
#. Primary address #. Primary address
msgctxt "page header" msgctxt "page header"
@ -1220,7 +1292,7 @@ msgid "Published"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerOrders/CustomerOrders.json #: build/locale/src/customers/components/CustomerOrders/CustomerOrders.json
#. [customerOrdersHeader] - section header #. [src.customers.components.CustomerOrders.3878642352] - section header
#. defaultMessage is: #. defaultMessage is:
#. Recent orders #. Recent orders
msgctxt "section header" msgctxt "section header"
@ -1247,30 +1319,6 @@ msgctxt "button"
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
#: build/locale/src/customers/views/CustomerAddresses.json
#. [customerAddressesRemoveAddressDialogHeader] - dialog header
#. defaultMessage is:
#. Remove Address
msgctxt "dialog header"
msgid "Remove Address"
msgstr ""
#: build/locale/src/customers/views/CustomerDetails.json
#. [customerDetailsRemoveCustomerDialogHeader] - dialog header
#. defaultMessage is:
#. Remove customer
msgctxt "dialog header"
msgid "Remove customer"
msgstr ""
#: build/locale/src/customers/views/CustomerList.json
#. [customerListRemoveCustomersDialogHeader] - dialog header
#. defaultMessage is:
#. Remove customers
msgctxt "dialog header"
msgid "Remove customers"
msgstr ""
#: build/locale/src/intl.json #: build/locale/src/intl.json
#. [src.save] - button #. [src.save] - button
#. defaultMessage is: #. defaultMessage is:
@ -1296,7 +1344,7 @@ msgid "Searchable"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerAddress/CustomerAddress.json #: build/locale/src/customers/components/CustomerAddress/CustomerAddress.json
#. [customerAddressSetAsDefaultBilling] - button #. [src.customers.components.CustomerAddress.3096438859] - button
#. defaultMessage is: #. defaultMessage is:
#. Set as default billing address #. Set as default billing address
msgctxt "button" msgctxt "button"
@ -1304,7 +1352,7 @@ msgid "Set as default billing address"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerAddress/CustomerAddress.json #: build/locale/src/customers/components/CustomerAddress/CustomerAddress.json
#. [customerAddressSetAsDefaultShipping] - button #. [src.customers.components.CustomerAddress.2131178753] - button
#. defaultMessage is: #. defaultMessage is:
#. Set as default shipping address #. Set as default shipping address
msgctxt "button" msgctxt "button"
@ -1320,7 +1368,7 @@ msgid "Shipping Methods"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerAddresses/CustomerAddresses.json #: build/locale/src/customers/components/CustomerAddresses/CustomerAddresses.json
#. [customerAddressesShippingAddressSectionHeader] - subsection header #. [src.customers.components.CustomerAddresses.3517722732] - subsection header
#. defaultMessage is: #. defaultMessage is:
#. Shipping address #. Shipping address
msgctxt "subsection header" msgctxt "subsection header"
@ -1344,10 +1392,10 @@ msgid "Staff Members"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerOrders/CustomerOrders.json #: build/locale/src/customers/components/CustomerOrders/CustomerOrders.json
#. [customerOrdersStatusColumnHeader] - customer's order list: status column header #. [src.customers.components.CustomerOrders.1756106276] - order status
#. defaultMessage is: #. defaultMessage is:
#. Status #. Status
msgctxt "customer's order list: status column header" msgctxt "order status"
msgid "Status" msgid "Status"
msgstr "" msgstr ""
@ -1392,7 +1440,7 @@ msgid "Taxes"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerCreateAddress/CustomerCreateAddress.json #: build/locale/src/customers/components/CustomerCreateAddress/CustomerCreateAddress.json
#. [customerCreateAddressContent] #. [src.customers.components.CustomerCreateAddress.401345057]
#. defaultMessage is: #. defaultMessage is:
#. The primary address of this customer. #. The primary address of this customer.
msgctxt "description" msgctxt "description"
@ -1400,7 +1448,7 @@ msgid "The primary address of this customer."
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerAddressListPage/CustomerAddressListPage.json #: build/locale/src/customers/components/CustomerAddressListPage/CustomerAddressListPage.json
#. [customerAddressListPageNoAddresses] #. [src.customers.components.CustomerAddressListPage.1484733755]
#. defaultMessage is: #. defaultMessage is:
#. There is no address to show for this customer #. There is no address to show for this customer
msgctxt "description" msgctxt "description"
@ -1408,7 +1456,7 @@ msgid "There is no address to show for this customer"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerAddressListPage/CustomerAddressListPage.json #: build/locale/src/customers/components/CustomerAddressListPage/CustomerAddressListPage.json
#. [customerAddressListPageNoAddressesAdditionalText] #. [src.customers.components.CustomerAddressListPage.1428369222]
#. defaultMessage is: #. defaultMessage is:
#. This customer doesnt have any adresses added to his address book. You can add address using the button below. #. This customer doesnt have any adresses added to his address book. You can add address using the button below.
msgctxt "description" msgctxt "description"
@ -1416,7 +1464,7 @@ msgid "This customer doesnt have any adresses added to his address book. You
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerAddresses/CustomerAddresses.json #: build/locale/src/customers/components/CustomerAddresses/CustomerAddresses.json
#. [customerAddressesNoAddresses] #. [src.customers.components.CustomerAddresses.3870425261]
#. defaultMessage is: #. defaultMessage is:
#. This customer has no addresses yet #. This customer has no addresses yet
msgctxt "description" msgctxt "description"
@ -1432,10 +1480,10 @@ msgid "This is used internally. Make sure you dont use spaces"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerOrders/CustomerOrders.json #: build/locale/src/customers/components/CustomerOrders/CustomerOrders.json
#. [customerOrdersTotalColumnHeader] - customer's order list: total amount column header #. [src.customers.components.CustomerOrders.878013594] - order total amount
#. defaultMessage is: #. defaultMessage is:
#. Total #. Total
msgctxt "customer's order list: total amount column header" msgctxt "order total amount"
msgid "Total" msgid "Total"
msgstr "" msgstr ""
@ -1516,7 +1564,7 @@ msgid "Use in faceted search"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerDetails/CustomerDetails.json #: build/locale/src/customers/components/CustomerDetails/CustomerDetails.json
#. [customerDetailsAccountActive] - check to mark this account as active #. [src.customers.components.CustomerDetails.2968565128] - check to mark this account as active
#. defaultMessage is: #. defaultMessage is:
#. User account active #. User account active
msgctxt "check to mark this account as active" msgctxt "check to mark this account as active"
@ -1540,13 +1588,21 @@ msgid "Value deleted"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerOrders/CustomerOrders.json #: build/locale/src/customers/components/CustomerOrders/CustomerOrders.json
#. [customerOrdersViewAllOrders] - button #. [src.customers.components.CustomerOrders.3029139173] - button
#. defaultMessage is: #. defaultMessage is:
#. View all orders #. View all orders
msgctxt "button" msgctxt "button"
msgid "View all orders" msgid "View all orders"
msgstr "" msgstr ""
#: build/locale/src/configuration/index.json
#. [configurationMenuSiteSettings]
#. defaultMessage is:
#. View and update your site settings
msgctxt "description"
msgid "View and update your site settings"
msgstr ""
#: build/locale/src/attributes/components/AttributeList/AttributeList.json #: build/locale/src/attributes/components/AttributeList/AttributeList.json
#. [src.attributes.components.AttributeList.643174786] - attribute is visible #. [src.attributes.components.AttributeList.643174786] - attribute is visible
#. defaultMessage is: #. defaultMessage is:
@ -1564,17 +1620,17 @@ msgid "Visible on Product Page in Storefront"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerAddressListPage/CustomerAddressListPage.json #: build/locale/src/customers/components/CustomerAddressListPage/CustomerAddressListPage.json
#. [customerAddressListPageAppHeader] - header #. [src.customers.components.CustomerAddressListPage.489918044] - customer details, header
#. defaultMessage is: #. defaultMessage is:
#. {fullName} Details #. {fullName} Details
msgctxt "header" msgctxt "customer details, header"
msgid "{fullName} Details" msgid "{fullName} Details"
msgstr "" msgstr ""
#: build/locale/src/customers/components/CustomerAddressListPage/CustomerAddressListPage.json #: build/locale/src/customers/components/CustomerAddressListPage/CustomerAddressListPage.json
#. [customerAddressListPageHeader] - header #. [src.customers.components.CustomerAddressListPage.1090326769] - customer's address book, header
#. defaultMessage is: #. defaultMessage is:
#. {fullName}'s Address Book #. {fullName}'s Address Book
msgctxt "header" msgctxt "customer's address book, header"
msgid "{fullName}'s Address Book" msgid "{fullName}'s Address Book"
msgstr "" msgstr ""

View file

@ -8,13 +8,17 @@ import Typography from "@material-ui/core/Typography";
import classNames from "classnames"; import classNames from "classnames";
import React from "react"; import React from "react";
import SVG from "react-inlinesvg"; import SVG from "react-inlinesvg";
import { FormattedMessage, useIntl } from "react-intl";
import { matchPath } from "react-router"; import { matchPath } from "react-router";
import configureIcon from "@assets/images/menu-configure-icon.svg"; import configureIcon from "@assets/images/menu-configure-icon.svg";
import useTheme from "@saleor/hooks/useTheme"; import useTheme from "@saleor/hooks/useTheme";
import { sectionNames } from "@saleor/intl";
import { User } from "../../auth/types/User"; import { User } from "../../auth/types/User";
import { configurationMenu, configurationMenuUrl } from "../../configuration"; import {
import i18n from "../../i18n"; configurationMenuUrl,
createConfigurationMenu
} from "../../configuration";
import { createHref } from "../../misc"; import { createHref } from "../../misc";
import { orderDraftListUrl, orderListUrl } from "../../orders/urls"; import { orderDraftListUrl, orderListUrl } from "../../orders/urls";
import MenuNested from "./MenuNested"; import MenuNested from "./MenuNested";
@ -167,6 +171,7 @@ const MenuList = withStyles(styles, { name: "MenuList" })(
isActive: false, isActive: false,
label: null label: null
}); });
const intl = useIntl();
const handleSubMenu = itemLabel => { const handleSubMenu = itemLabel => {
setActiveSubMenu({ setActiveSubMenu({
@ -300,7 +305,7 @@ const MenuList = withStyles(styles, { name: "MenuList" })(
); );
})} })}
{renderConfigure && {renderConfigure &&
configurationMenu.filter(menuItem => createConfigurationMenu(intl).filter(menuItem =>
user.permissions user.permissions
.map(perm => perm.code) .map(perm => perm.code)
.includes(menuItem.permission) .includes(menuItem.permission)
@ -323,7 +328,7 @@ const MenuList = withStyles(styles, { name: "MenuList" })(
[classes.menuListItemTextHide]: !isMenuSmall [classes.menuListItemTextHide]: !isMenuSmall
})} })}
> >
{i18n.t("Configuration")} <FormattedMessage {...sectionNames.configuration} />
</Typography> </Typography>
</div> </div>
</a> </a>

View file

@ -8,12 +8,13 @@ import {
} from "@material-ui/core/styles"; } from "@material-ui/core/styles";
import Typography from "@material-ui/core/Typography"; import Typography from "@material-ui/core/Typography";
import React from "react"; import React from "react";
import { useIntl } from "react-intl";
import { IconProps } from "@material-ui/core/Icon"; import { IconProps } from "@material-ui/core/Icon";
import { sectionNames } from "@saleor/intl";
import { User } from "../auth/types/User"; import { User } from "../auth/types/User";
import Container from "../components/Container"; import Container from "../components/Container";
import PageHeader from "../components/PageHeader"; import PageHeader from "../components/PageHeader";
import i18n from "../i18n";
import { PermissionEnum } from "../types/globalTypes"; import { PermissionEnum } from "../types/globalTypes";
export interface MenuItem { export interface MenuItem {
@ -68,7 +69,7 @@ const styles = (theme: Theme) =>
} }
}); });
export interface ConfigurationPageProps extends WithStyles<typeof styles> { export interface ConfigurationPageProps {
menu: MenuItem[]; menu: MenuItem[];
user: User; user: User;
onSectionClick: (sectionName: string) => void; onSectionClick: (sectionName: string) => void;
@ -76,13 +77,24 @@ export interface ConfigurationPageProps extends WithStyles<typeof styles> {
export const ConfigurationPage = withStyles(styles, { export const ConfigurationPage = withStyles(styles, {
name: "ConfigurationPage" name: "ConfigurationPage"
})(({ classes, menu, user, onSectionClick }: ConfigurationPageProps) => ( })(
({
classes,
menu,
user,
onSectionClick
}: ConfigurationPageProps & WithStyles<typeof styles>) => {
const intl = useIntl();
return (
<Container> <Container>
<PageHeader title={i18n.t("Configuration")} /> <PageHeader title={intl.formatMessage(sectionNames.configuration)} />
<div className={classes.root}> <div className={classes.root}>
{menu {menu
.filter(menuItem => .filter(menuItem =>
user.permissions.map(perm => perm.code).includes(menuItem.permission) user.permissions
.map(perm => perm.code)
.includes(menuItem.permission)
) )
.map((menuItem, menuItemIndex) => ( .map((menuItem, menuItemIndex) => (
<Card <Card
@ -93,7 +105,10 @@ export const ConfigurationPage = withStyles(styles, {
<CardContent className={classes.cardContent}> <CardContent className={classes.cardContent}>
<div className={classes.icon}>{menuItem.icon}</div> <div className={classes.icon}>{menuItem.icon}</div>
<div> <div>
<Typography className={classes.sectionTitle} color="primary"> <Typography
className={classes.sectionTitle}
color="primary"
>
{menuItem.title} {menuItem.title}
</Typography> </Typography>
<Typography className={classes.sectionDescription}> <Typography className={classes.sectionDescription}>
@ -105,6 +120,8 @@ export const ConfigurationPage = withStyles(styles, {
))} ))}
</div> </div>
</Container> </Container>
)); );
}
);
ConfigurationPage.displayName = "ConfigurationPage"; ConfigurationPage.displayName = "ConfigurationPage";
export default ConfigurationPage; export default ConfigurationPage;

View file

@ -1,10 +1,10 @@
import React from "react"; import React from "react";
import { IntlShape, useIntl } from "react-intl";
import { attributeListUrl } from "@saleor/attributes/urls"; import { attributeListUrl } from "@saleor/attributes/urls";
import { WindowTitle } from "@saleor/components/WindowTitle"; import { WindowTitle } from "@saleor/components/WindowTitle";
import useNavigator from "@saleor/hooks/useNavigator"; import useNavigator from "@saleor/hooks/useNavigator";
import useUser from "@saleor/hooks/useUser"; import useUser from "@saleor/hooks/useUser";
import i18n from "@saleor/i18n";
import Navigation from "@saleor/icons/Navigation"; import Navigation from "@saleor/icons/Navigation";
import Pages from "@saleor/icons/Pages"; import Pages from "@saleor/icons/Pages";
import ProductTypes from "@saleor/icons/ProductTypes"; import ProductTypes from "@saleor/icons/ProductTypes";
@ -12,6 +12,7 @@ import ShippingMethods from "@saleor/icons/ShippingMethods";
import SiteSettings from "@saleor/icons/SiteSettings"; import SiteSettings from "@saleor/icons/SiteSettings";
import StaffMembers from "@saleor/icons/StaffMembers"; import StaffMembers from "@saleor/icons/StaffMembers";
import Taxes from "@saleor/icons/Taxes"; import Taxes from "@saleor/icons/Taxes";
import { sectionNames } from "@saleor/intl";
import { maybe } from "@saleor/misc"; import { maybe } from "@saleor/misc";
import { menuListUrl } from "@saleor/navigation/urls"; import { menuListUrl } from "@saleor/navigation/urls";
import { pageListUrl } from "@saleor/pages/urls"; import { pageListUrl } from "@saleor/pages/urls";
@ -23,76 +24,103 @@ import { taxSection } from "@saleor/taxes/urls";
import { PermissionEnum } from "@saleor/types/globalTypes"; import { PermissionEnum } from "@saleor/types/globalTypes";
import ConfigurationPage, { MenuItem } from "./ConfigurationPage"; import ConfigurationPage, { MenuItem } from "./ConfigurationPage";
export const configurationMenu: MenuItem[] = [ export function createConfigurationMenu(intl: IntlShape): MenuItem[] {
return [
{ {
description: i18n.t("Determine attributes used to create product types"), description: intl.formatMessage({
defaultMessage: "Determine attributes used to create product types",
id: "configurationMenuAttributes"
}),
icon: <ProductTypes fontSize="inherit" viewBox="0 0 44 44" />, icon: <ProductTypes fontSize="inherit" viewBox="0 0 44 44" />,
permission: PermissionEnum.MANAGE_PRODUCTS, permission: PermissionEnum.MANAGE_PRODUCTS,
title: i18n.t("Attributes"), title: intl.formatMessage(sectionNames.attributes),
url: attributeListUrl() url: attributeListUrl()
}, },
{ {
description: i18n.t("Define types of products you sell"), description: intl.formatMessage({
defaultMessage: "Define types of products you sell",
id: "configurationMenuProductTypes"
}),
icon: <ProductTypes fontSize="inherit" viewBox="0 0 44 44" />, icon: <ProductTypes fontSize="inherit" viewBox="0 0 44 44" />,
permission: PermissionEnum.MANAGE_PRODUCTS, permission: PermissionEnum.MANAGE_PRODUCTS,
title: i18n.t("Product Types"), title: intl.formatMessage(sectionNames.productTypes),
url: productTypeListUrl() url: productTypeListUrl()
}, },
{ {
description: i18n.t("Manage your employees and their permissions"), description: intl.formatMessage({
defaultMessage: "Manage your employees and their permissions",
id: "configurationMenuStaff"
}),
icon: <StaffMembers fontSize="inherit" viewBox="0 0 44 44" />, icon: <StaffMembers fontSize="inherit" viewBox="0 0 44 44" />,
permission: PermissionEnum.MANAGE_STAFF, permission: PermissionEnum.MANAGE_STAFF,
title: i18n.t("Staff Members"), title: intl.formatMessage(sectionNames.staff),
url: staffListUrl() url: staffListUrl()
}, },
{ {
description: i18n.t("Manage how you ship out orders."), description: intl.formatMessage({
defaultMessage: "Manage how you ship out orders",
id: "configurationMenuShipping"
}),
icon: <ShippingMethods fontSize="inherit" viewBox="0 0 44 44" />, icon: <ShippingMethods fontSize="inherit" viewBox="0 0 44 44" />,
permission: PermissionEnum.MANAGE_SHIPPING, permission: PermissionEnum.MANAGE_SHIPPING,
title: i18n.t("Shipping Methods"), title: intl.formatMessage(sectionNames.shipping),
url: shippingZonesListUrl() url: shippingZonesListUrl()
}, },
{ {
description: i18n.t("Manage how your store charges tax"), description: intl.formatMessage({
defaultMessage: "Manage how your store charges tax",
id: "configurationMenuTaxes"
}),
icon: <Taxes fontSize="inherit" viewBox="0 0 44 44" />, icon: <Taxes fontSize="inherit" viewBox="0 0 44 44" />,
permission: PermissionEnum.MANAGE_PRODUCTS, permission: PermissionEnum.MANAGE_PRODUCTS,
title: i18n.t("Taxes"), title: intl.formatMessage(sectionNames.taxes),
url: taxSection url: taxSection
}, },
{ {
description: i18n.t("Define how users can navigate through your store"), description: intl.formatMessage({
defaultMessage: "Define how users can navigate through your store",
id: "configurationMenuNavigation"
}),
icon: <Navigation fontSize="inherit" viewBox="0 0 44 44" />, icon: <Navigation fontSize="inherit" viewBox="0 0 44 44" />,
permission: PermissionEnum.MANAGE_MENUS, permission: PermissionEnum.MANAGE_MENUS,
title: i18n.t("Navigation"), title: intl.formatMessage(sectionNames.navigation),
url: menuListUrl() url: menuListUrl()
}, },
{ {
description: i18n.t("View and update your site settings"), description: intl.formatMessage({
defaultMessage: "View and update your site settings",
id: "configurationMenuSiteSettings"
}),
icon: <SiteSettings fontSize="inherit" viewBox="0 0 44 44" />, icon: <SiteSettings fontSize="inherit" viewBox="0 0 44 44" />,
permission: PermissionEnum.MANAGE_SETTINGS, permission: PermissionEnum.MANAGE_SETTINGS,
title: i18n.t("Site Settings"), title: intl.formatMessage(sectionNames.siteSettings),
url: siteSettingsUrl() url: siteSettingsUrl()
}, },
{ {
description: i18n.t("Manage and add additional pages"), description: intl.formatMessage({
defaultMessage: "Manage and add additional pages",
id: "configurationMenuPages"
}),
icon: <Pages fontSize="inherit" viewBox="0 0 44 44" />, icon: <Pages fontSize="inherit" viewBox="0 0 44 44" />,
permission: PermissionEnum.MANAGE_PAGES, permission: PermissionEnum.MANAGE_PAGES,
title: i18n.t("Pages"), title: intl.formatMessage(sectionNames.pages),
url: pageListUrl() url: pageListUrl()
} }
]; ];
}
export const configurationMenuUrl = "/configuration/"; export const configurationMenuUrl = "/configuration/";
export const ConfigurationSection: React.StatelessComponent = () => { export const ConfigurationSection: React.FC = () => {
const navigate = useNavigator(); const navigate = useNavigator();
const user = useUser(); const user = useUser();
const intl = useIntl();
return ( return (
<> <>
<WindowTitle title={i18n.t("Configuration")} /> <WindowTitle title={intl.formatMessage(sectionNames.configuration)} />
<ConfigurationPage <ConfigurationPage
menu={configurationMenu} menu={createConfigurationMenu(intl)}
user={maybe(() => user.user)} user={maybe(() => user.user)}
onSectionClick={navigate} onSectionClick={navigate}
/> />

View file

@ -8,6 +8,7 @@ import { createUploadLink } from "apollo-upload-client";
import React from "react"; import React from "react";
import { ApolloProvider } from "react-apollo"; import { ApolloProvider } from "react-apollo";
import { render } from "react-dom"; import { render } from "react-dom";
import { useIntl } from "react-intl";
import { BrowserRouter, Route, Switch } from "react-router-dom"; import { BrowserRouter, Route, Switch } from "react-router-dom";
import AttributeSection from "./attributes"; import AttributeSection from "./attributes";
@ -28,11 +29,11 @@ import { ShopProvider } from "./components/Shop";
import ThemeProvider from "./components/Theme"; import ThemeProvider from "./components/Theme";
import { WindowTitle } from "./components/WindowTitle"; import { WindowTitle } from "./components/WindowTitle";
import { API_URI, APP_MOUNT_URI } from "./config"; import { API_URI, APP_MOUNT_URI } from "./config";
import ConfigurationSection, { configurationMenu } from "./configuration"; import ConfigurationSection, { createConfigurationMenu } from "./configuration";
import { CustomerSection } from "./customers"; import { CustomerSection } from "./customers";
import DiscountSection from "./discounts"; import DiscountSection from "./discounts";
import HomePage from "./home"; import HomePage from "./home";
import i18n from "./i18n"; import { commonMessages } from "./intl";
import NavigationSection from "./navigation"; import NavigationSection from "./navigation";
import { navigationSection } from "./navigation/urls"; import { navigationSection } from "./navigation/urls";
import { NotFound } from "./NotFound"; import { NotFound } from "./NotFound";
@ -116,7 +117,24 @@ const App: React.FC = () => {
<MessageManager> <MessageManager>
<AppProgressProvider> <AppProgressProvider>
<ShopProvider> <ShopProvider>
<WindowTitle title={i18n.t("Dashboard")} /> <Routes />
</ShopProvider>
</AppProgressProvider>
</MessageManager>
</LocaleProvider>
</DateProvider>
</ThemeProvider>
</BrowserRouter>
</ApolloProvider>
);
};
const Routes: React.FC = () => {
const intl = useIntl();
return (
<>
<WindowTitle title={intl.formatMessage(commonMessages.dashboard)} />
<AuthProvider> <AuthProvider>
{({ {({
hasToken, hasToken,
@ -124,10 +142,8 @@ const App: React.FC = () => {
tokenAuthLoading, tokenAuthLoading,
tokenVerifyLoading, tokenVerifyLoading,
user user
}) => { }) =>
return isAuthenticated && isAuthenticated && !tokenAuthLoading && !tokenVerifyLoading ? (
!tokenAuthLoading &&
!tokenVerifyLoading ? (
<Switch> <Switch>
<SectionRoute exact path="/" component={HomePage} /> <SectionRoute exact path="/" component={HomePage} />
<SectionRoute <SectionRoute
@ -205,7 +221,7 @@ const App: React.FC = () => {
path={attributeSection} path={attributeSection}
component={AttributeSection} component={AttributeSection}
/> />
{configurationMenu.filter(menuItem => {createConfigurationMenu(intl).filter(menuItem =>
hasPermission(menuItem.permission, user) hasPermission(menuItem.permission, user)
).length > 0 && ( ).length > 0 && (
<SectionRoute <SectionRoute
@ -220,17 +236,10 @@ const App: React.FC = () => {
<LoginLoading /> <LoginLoading />
) : ( ) : (
<Login loading={tokenAuthLoading} /> <Login loading={tokenAuthLoading} />
); )
}} }
</AuthProvider> </AuthProvider>
</ShopProvider> </>
</AppProgressProvider>
</MessageManager>
</LocaleProvider>
</DateProvider>
</ThemeProvider>
</BrowserRouter>
</ApolloProvider>
); );
}; };

View file

@ -1,11 +1,10 @@
import { Omit } from "@material-ui/core";
import { storiesOf } from "@storybook/react"; import { storiesOf } from "@storybook/react";
import React from "react"; import React from "react";
import { useIntl } from "react-intl";
import { configurationMenu } from "../../../configuration"; import { User } from "@saleor/auth/types/User";
import ConfigurationPage, { import { createConfigurationMenu } from "../../../configuration";
ConfigurationPageProps import ConfigurationPage from "../../../configuration/ConfigurationPage";
} from "../../../configuration/ConfigurationPage";
import { staffMember } from "../../../staff/fixtures"; import { staffMember } from "../../../staff/fixtures";
import Decorator from "../../Decorator"; import Decorator from "../../Decorator";
@ -23,20 +22,27 @@ const user = {
note: null, note: null,
permissions: staffMember.permissions permissions: staffMember.permissions
}; };
const props: Omit<ConfigurationPageProps, "classes"> = {
menu: configurationMenu, const Story: React.FC<{ user: User }> = ({ user }) => {
onSectionClick: () => undefined, const intl = useIntl();
user
}; return (
const partialAccessProps: Omit<ConfigurationPageProps, "classes"> = { <ConfigurationPage
...props, menu={createConfigurationMenu(intl)}
user: { onSectionClick={() => undefined}
...user, user={user}
permissions: user.permissions.slice(2, 6) />
} );
}; };
storiesOf("Views / Configuration", module) storiesOf("Views / Configuration", module)
.addDecorator(Decorator) .addDecorator(Decorator)
.add("default", () => <ConfigurationPage {...props} />) .add("default", () => <Story user={user} />)
.add("partial access", () => <ConfigurationPage {...partialAccessProps} />); .add("partial access", () => (
<Story
user={{
...user,
permissions: user.permissions.slice(2, 6)
}}
/>
));