diff --git a/packages/webapp/src/components/Currencies/CurrencySelectList.tsx b/packages/webapp/src/components/Currencies/CurrencySelectList.tsx index 7544ea51f..10c4bcb08 100644 --- a/packages/webapp/src/components/Currencies/CurrencySelectList.tsx +++ b/packages/webapp/src/components/Currencies/CurrencySelectList.tsx @@ -1,83 +1,28 @@ // @ts-nocheck -import React, { useCallback, useEffect, useState } from 'react'; +import React from 'react'; import { FormattedMessage as T } from '@/components'; -import { CLASSES } from '@/constants/classes'; -import classNames from 'classnames'; -import { MenuItem, Button } from '@blueprintjs/core'; -import { Select } from '@blueprintjs/select'; +import { FSelect } from '../Forms'; +/** + * Currency select field. + * @returns {React.ReactNode} + */ export function CurrencySelectList({ - currenciesList, - selectedCurrencyCode, - defaultSelectText = , - onCurrencySelected, - popoverFill = false, - disabled = false, + // #ownProps + items, + name, + placeholder = , + ...props }) { - const [selectedCurrency, setSelectedCurrency] = useState(null); - - // Filters currencies list. - const filterCurrencies = (query, currency, _index, exactMatch) => { - const normalizedTitle = currency.currency_code.toLowerCase(); - const normalizedQuery = query.toLowerCase(); - - if (exactMatch) { - return normalizedTitle === normalizedQuery; - } else { - return ( - `${currency.currency_code} ${normalizedTitle}`.indexOf( - normalizedQuery, - ) >= 0 - ); - } - }; - - const onCurrencySelect = useCallback((currency) => { - setSelectedCurrency({ ...currency }); - onCurrencySelected && onCurrencySelected(currency); - }); - - const currencyCodeRenderer = useCallback((CurrencyCode, { handleClick }) => { - return ( - - ); - }, []); - - useEffect(() => { - if (typeof selectedCurrencyCode !== 'undefined') { - const currency = selectedCurrencyCode - ? currenciesList.find((a) => a.currency_code === selectedCurrencyCode) - : null; - setSelectedCurrency(currency); - } - }, [selectedCurrencyCode, currenciesList, setSelectedCurrency]); - return ( - + ); } diff --git a/packages/webapp/src/components/ItemsCategories/CategoriesSelectList.tsx b/packages/webapp/src/components/ItemsCategories/CategoriesSelectList.tsx deleted file mode 100644 index 65c58aa2a..000000000 --- a/packages/webapp/src/components/ItemsCategories/CategoriesSelectList.tsx +++ /dev/null @@ -1,63 +0,0 @@ -// @ts-nocheck -import React, { useCallback } from 'react'; -import { FormattedMessage as T } from '@/components'; -import { ListSelect } from '@/components'; -import { MenuItem } from '@blueprintjs/core'; -import { saveInvoke } from '@/utils'; -import classNames from 'classnames'; -import { CLASSES } from '@/constants/classes'; - -export function CategoriesSelectList({ - categories, - selecetedCategoryId, - defaultSelectText = , - onCategorySelected, - popoverFill = false, - className, - ...restProps -}) { - // Filter Items Category - const filterItemCategory = (query, item, _index, exactMatch) => { - const normalizedTitle = item.name.toLowerCase(); - const normalizedQuery = query.toLowerCase(); - if (exactMatch) { - return normalizedTitle === normalizedQuery; - } else { - return `${item.code} ${normalizedTitle}`.indexOf(normalizedQuery) >= 0; - } - }; - - const handleItemCategorySelected = useCallback( - (ItemCategory) => saveInvoke(onCategorySelected, ItemCategory), - [onCategorySelected], - ); - - const categoryItem = useCallback( - (item, { handleClick }) => ( - - ), - [], - ); - - return ( - - ); -} diff --git a/packages/webapp/src/components/ItemsCategories/index.tsx b/packages/webapp/src/components/ItemsCategories/index.tsx deleted file mode 100644 index 04bea9117..000000000 --- a/packages/webapp/src/components/ItemsCategories/index.tsx +++ /dev/null @@ -1,2 +0,0 @@ -// @ts-nocheck -export * from './CategoriesSelectList'; diff --git a/packages/webapp/src/components/index.tsx b/packages/webapp/src/components/index.tsx index 4a13add72..ce576ec06 100644 --- a/packages/webapp/src/components/index.tsx +++ b/packages/webapp/src/components/index.tsx @@ -49,7 +49,6 @@ export * from './FlexGrid'; export * from './Menu'; export * from './Icon'; export * from './Items'; -export * from './ItemsCategories'; export * from './Select'; export * from './FormattedMessage'; export * from './MaterialProgressBar'; diff --git a/packages/webapp/src/containers/Customers/CustomerForm/CustomerFinancialPanel.tsx b/packages/webapp/src/containers/Customers/CustomerForm/CustomerFinancialPanel.tsx index f6104ae44..39466dd5c 100644 --- a/packages/webapp/src/containers/Customers/CustomerForm/CustomerFinancialPanel.tsx +++ b/packages/webapp/src/containers/Customers/CustomerForm/CustomerFinancialPanel.tsx @@ -39,28 +39,18 @@ export default function CustomerFinancialPanel() { {/*------------ Currency -----------*/} - - {({ form, field: { value }, meta: { error, touched } }) => ( - } - className={classNames( - 'form-group--select-list', - 'form-group--balance-currency', - Classes.FILL, - )} - inline={true} - > - { - form.setFieldValue('currency_code', currency.currency_code); - }} - disabled={customerId} - /> - - )} - + } + fastField + inline + > + + {/*------------ Opening balance -----------*/} diff --git a/packages/webapp/src/containers/Customers/CustomerForm/CustomerFormFormik.tsx b/packages/webapp/src/containers/Customers/CustomerForm/CustomerFormFormik.tsx index 80c8c0feb..2ac41df3f 100644 --- a/packages/webapp/src/containers/Customers/CustomerForm/CustomerFormFormik.tsx +++ b/packages/webapp/src/containers/Customers/CustomerForm/CustomerFormFormik.tsx @@ -124,10 +124,15 @@ function CustomerFormFormik({ } export const CustomerFormHeaderPrimary = styled.div` + --x-border: #e4e4e4; + + .bp4-dark & { + --x-border: var(--color-dark-gray3); + } padding: 10px 0 0; margin: 0 0 20px; overflow: hidden; - border-bottom: 1px solid #e4e4e4; + border-bottom: 1px solid var(--x-border); max-width: 1000px; `; diff --git a/packages/webapp/src/containers/Vendors/VendorForm/VendorFinanicalPanelTab.tsx b/packages/webapp/src/containers/Vendors/VendorForm/VendorFinanicalPanelTab.tsx index c9c56549e..9c0616664 100644 --- a/packages/webapp/src/containers/Vendors/VendorForm/VendorFinanicalPanelTab.tsx +++ b/packages/webapp/src/containers/Vendors/VendorForm/VendorFinanicalPanelTab.tsx @@ -39,27 +39,17 @@ export default function VendorFinanicalPanelTab() { {/*------------ Currency -----------*/} - - {({ form, field: { value }, meta: { error, touched } }) => ( - } - className={classNames( - 'form-group--select-list', - 'form-group--balance-currency', - Classes.FILL, - )} - inline={true} - > - { - form.setFieldValue('currency_code', currency.currency_code); - }} - /> - - )} - + } + fastField + inline + > + + {/*------------ Opening balance -----------*/} diff --git a/packages/webapp/src/containers/Vendors/VendorForm/VendorFormFormik.tsx b/packages/webapp/src/containers/Vendors/VendorForm/VendorFormFormik.tsx index 4a3c92bc0..99f4523e5 100644 --- a/packages/webapp/src/containers/Vendors/VendorForm/VendorFormFormik.tsx +++ b/packages/webapp/src/containers/Vendors/VendorForm/VendorFormFormik.tsx @@ -138,10 +138,15 @@ function VendorFormFormik({ } export const VendorFormHeaderPrimary = styled.div` + --x-color-border: #e4e4e4; + + .bp4-dark & { + --x-color-border: var(--color-dark-gray3); + } padding: 10px 0 0; margin: 0 0 20px; overflow: hidden; - border-bottom: 1px solid #e4e4e4; + border-bottom: 1px solid var(--x-color-border); max-width: 1000px; `; diff --git a/packages/webapp/src/containers/Vendors/VendorForm/VendorFormPrimarySection.tsx b/packages/webapp/src/containers/Vendors/VendorForm/VendorFormPrimarySection.tsx index 86d7a1f07..dcdac551e 100644 --- a/packages/webapp/src/containers/Vendors/VendorForm/VendorFormPrimarySection.tsx +++ b/packages/webapp/src/containers/Vendors/VendorForm/VendorFormPrimarySection.tsx @@ -58,6 +58,7 @@ function VendorFormPrimarySection() { > + {/*----------- Display Name -----------*/} } - className={classNames(CLASSES.FORM_GROUP_LIST_SELECT, CLASSES.FILL)} - inline={true} + fastField + inline > *:not(:last-child) { diff --git a/packages/webapp/src/style/pages/Dashboard/Dashboard.scss b/packages/webapp/src/style/pages/Dashboard/Dashboard.scss index 7116a4648..2673aa662 100644 --- a/packages/webapp/src/style/pages/Dashboard/Dashboard.scss +++ b/packages/webapp/src/style/pages/Dashboard/Dashboard.scss @@ -498,8 +498,8 @@ $dashboard-views-bar-height: 44px; } &__card { - border: 1px solid #d2dce2; - background: #fff; + border: 1px solid var(--color-dashboard-card-border); + background: var(--color-dashboard-card-background); &--page { flex: 1 0 0; diff --git a/packages/webapp/src/style/pages/Items/Form.scss b/packages/webapp/src/style/pages/Items/Form.scss index 590c9b82c..c1a559070 100644 --- a/packages/webapp/src/style/pages/Items/Form.scss +++ b/packages/webapp/src/style/pages/Items/Form.scss @@ -3,6 +3,14 @@ $self: '.page-form'; padding: 20px; + --x-header-border: #eaeaea; + --x-section-border: #eaeaea; + + .bp4-dark & { + --x-header-border: var(--color-dark-gray3); + --x-section-border: var(--color-dark-gray3); + } + #{$self}__header { padding: 0; } @@ -10,7 +18,7 @@ overflow: hidden; padding-top: 5px; margin-bottom: 20px; - border-bottom: 1px solid #eaeaea; + border-bottom: 1px solid var(--x-header-border); padding-bottom: 5px; max-width: 1000px; } @@ -66,7 +74,7 @@ } &--selling-cost { - border-bottom: 1px solid #eaeaea; + border-bottom: 1px solid var(--x-section-border); margin-bottom: 1.25rem; padding-bottom: 0.25rem; } diff --git a/packages/webapp/src/style/pages/Vendors/Form.scss b/packages/webapp/src/style/pages/Vendors/Form.scss index d8dce5c68..193c8e059 100644 --- a/packages/webapp/src/style/pages/Vendors/Form.scss +++ b/packages/webapp/src/style/pages/Vendors/Form.scss @@ -4,6 +4,16 @@ $self: '.page-form'; padding: 20px; + --x-border: #e4e4e4; + --x-color-tabs-border: #f0f0f0; + --x-color-tabs-tab-item-text: #888; + + .bp4-dark & { + --x-border: var(--color-dark-gray3); + --x-color-tabs-border: var(--color-dark-gray3); + --x-color-tabs-tab-item-text: var(--color-light-gray1); + } + #{$self}__header { padding: 0; } @@ -11,7 +21,7 @@ padding: 10px 0 0; margin: 0 0 20px; overflow: hidden; - border-bottom: 1px solid #e4e4e4; + border-bottom: 1px solid var(--x-border); max-width: 1000px; } @@ -136,7 +146,7 @@ bottom: 0; width: 100%; height: 2px; - background: #f0f0f0; + background: var(--x-color-tabs-border); } > *:not(:last-child) { @@ -145,7 +155,7 @@ &.bp4-large > .bp4-tab { font-size: 15px; - color: #555; + color: var(--x-color-tabs-tab-item-text); &[aria-selected='true'], &:not([aria-disabled='true']):hover { @@ -154,9 +164,4 @@ } } } - - #{$self}__floating-actions { - // margin-left: -40px; - // margin-right: -40px; - } }