import { useQuery } from "@apollo/client"; import React from "react"; import { ProgressBar } from "react-native-paper"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { GET_DOC_SIZE_TOTALS } from "../../graphql/documents.queries"; import { selectBodyshop } from "../../redux/user/user.selectors"; import { View, Text } from "react-native"; import { useTranslation } from "react-i18next"; import { formatBytes } from "../../util/document-upload.utility"; const mapStateToProps = createStructuredSelector({ bodyshop: selectBodyshop, }); const mapDispatchToProps = (dispatch) => ({ //setUserLanguage: language => dispatch(setUserLanguage(language)) }); export default connect(mapStateToProps, mapDispatchToProps)(JobSpaceAvailable); export function JobSpaceAvailable({ bodyshop, style, jobid }) { const { t } = useTranslation(); const { data } = useQuery(GET_DOC_SIZE_TOTALS, { variables: { jobId: jobid }, skip: !jobid || jobid === "temp", }); if (!jobid || !data) return <>; const progress = data.documents_aggregate.aggregate.sum.size / ((bodyshop && bodyshop.jobsizelimit) || 1); return ( {t("mediabrowser.labels.storageused", { used: formatBytes(data.documents_aggregate.aggregate.sum.size), total: formatBytes((bodyshop && bodyshop.jobsizelimit) || 1), percent: Math.round(progress * 100), })} ); }