43 lines
1.1 KiB
TypeScript

import { gql, useApolloClient } from '@apollo/client';
import type * as CRMTypes from 'graphql/crm.types';
import { observer } from 'mobx-react-lite';
import { useState } from 'react';
import { useStore } from 'stores/hooks';
const QUERY_GET_CURRENCY_SYMBOL = gql`
query GetCurrencySymbol($currencyid: Uuid!) {
transactioncurrency(transactioncurrencyid: $currencyid) {
currencysymbol
}
}
`;
const CurrencyAddon = observer(() => {
const { $calculation } = useStore();
const currencyid = $calculation.$values.getValue('supplierCurrency');
const [currencySymbol, setCurrencySymbol] = useState<string | null | undefined>(null);
const { query } = useApolloClient();
if (!currencyid) return null;
query<CRMTypes.GetCurrencySymbolQuery, CRMTypes.GetCurrencySymbolQueryVariables>({
query: QUERY_GET_CURRENCY_SYMBOL,
variables: {
currencyid,
},
})
.then(({ data }) => {
setCurrencySymbol(data?.transactioncurrency?.currencysymbol);
})
.catch(() => {
setCurrencySymbol(null);
});
return <span>{currencySymbol}</span>;
});
export default <CurrencyAddon />;