diff --git a/package.json b/package.json index 7275060d..782cefbe 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "use-image": "^1.0.6" }, "scripts": { - "start": "chmod +x ./env.sh && ./env.sh && cp env-config.js ./public/ && react-scripts start", + "start": "chmod +x ./env.sh && sh ./env.sh && cp env-config.js ./public/ && react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "test:cy": "cypress run-ct" diff --git a/src/components/ApproveRejectButtons.tsx b/src/components/ApproveRejectButtons.tsx index 1a4cfd75..56827591 100644 --- a/src/components/ApproveRejectButtons.tsx +++ b/src/components/ApproveRejectButtons.tsx @@ -1,9 +1,10 @@ -import { Grid, Tooltip, Chip, Button } from "@material-ui/core"; +import { Grid, Chip, Button } from "@material-ui/core"; import { useSnackbar } from "notistack"; import { useHotkeys } from "react-hotkeys-hook"; import React from "react"; import { testRunService } from "../services"; import { TestRun } from "../types"; +import { Tooltip } from "./Tooltip"; export const ApproveRejectButtons: React.FunctionComponent<{ testRun: TestRun; diff --git a/src/components/BuildDetails.tsx b/src/components/BuildDetails.tsx index 75ac20d5..c82e8de4 100644 --- a/src/components/BuildDetails.tsx +++ b/src/components/BuildDetails.tsx @@ -5,12 +5,12 @@ import { Grid, Box, LinearProgress, - Tooltip, } from "@material-ui/core"; import { BuildStatusChip } from "./BuildStatusChip"; import { formatDateTime } from "../_helpers/format.helper"; import { useBuildState } from "../contexts"; import { LOCATOR_BUILD_DETAILS } from "../constants/help"; +import { Tooltip } from "./Tooltip"; const BuildDetails: React.FunctionComponent = () => { const { selectedBuild } = useBuildState(); diff --git a/src/components/BuildList/index.tsx b/src/components/BuildList/index.tsx index 7ebffe88..6873c613 100644 --- a/src/components/BuildList/index.tsx +++ b/src/components/BuildList/index.tsx @@ -15,7 +15,6 @@ import { Menu, MenuItem, Box, - Tooltip, } from "@material-ui/core"; import { MoreVert } from "@material-ui/icons"; import { @@ -35,6 +34,7 @@ import { BaseModal } from "../BaseModal"; import { buildsService } from "../../services"; import { useHistory } from "react-router"; import { buildTestRunLocation } from "../../_helpers/route.helpers"; +import { Tooltip } from "../Tooltip"; const useStyles = makeStyles((theme: Theme) => createStyles({ diff --git a/src/components/ImageDetails.tsx b/src/components/ImageDetails.tsx index 39081ea9..e95e051a 100644 --- a/src/components/ImageDetails.tsx +++ b/src/components/ImageDetails.tsx @@ -1,9 +1,10 @@ import React from "react"; -import { Typography, Chip, Grid, IconButton, Tooltip } from "@material-ui/core"; +import { Typography, Chip, Grid, IconButton } from "@material-ui/core"; import { WarningRounded } from "@material-ui/icons"; import { staticService } from "../services"; import useImage from "use-image"; import { IgnoreArea } from "../types/ignoreArea"; +import { Tooltip } from "./Tooltip"; interface IProps { type: "Baseline" | "Image" | "Diff"; diff --git a/src/components/ProjectForm/PixelmatchConfigForm.tsx b/src/components/ProjectForm/PixelmatchConfigForm.tsx index 8cfff299..819393af 100644 --- a/src/components/ProjectForm/PixelmatchConfigForm.tsx +++ b/src/components/ProjectForm/PixelmatchConfigForm.tsx @@ -2,6 +2,7 @@ import { FormControlLabel, Switch } from "@material-ui/core"; import React from "react"; import { TextValidator } from "react-material-ui-form-validator"; import { PixelmatchConfig } from "../../types/imageComparison"; +import { Tooltip } from "../Tooltip"; import { useConfigHook } from "./useConfigHook"; export const PixelmatchConfigForm: React.FunctionComponent = () => { @@ -9,32 +10,40 @@ export const PixelmatchConfigForm: React.FunctionComponent = () => { return ( - - updateConfig("allowDiffDimensions", checked) - } - color="primary" - name="diffDimensionsFeature" - /> - } - /> - - updateConfig("ignoreAntialiasing", checked) - } - color="primary" - name="ignoreAntialiasing" - /> - } - /> + + + updateConfig("allowDiffDimensions", checked) + } + color="primary" + name="diffDimensionsFeature" + /> + } + /> + + + + updateConfig("ignoreAntialiasing", checked) + } + color="primary" + name="ignoreAntialiasing" + /> + } + /> + { margin="dense" id="threshold" label="Pixel diff threshold" + helperText="The threshold of how much a pixel can deviate until it is detected as change (0-1)." type="number" fullWidth required diff --git a/src/components/TestDetailsDialog/ArrowButtons.tsx b/src/components/TestDetailsDialog/ArrowButtons.tsx index 86b915d9..db7b04d0 100644 --- a/src/components/TestDetailsDialog/ArrowButtons.tsx +++ b/src/components/TestDetailsDialog/ArrowButtons.tsx @@ -1,8 +1,9 @@ -import { IconButton, makeStyles, Tooltip } from "@material-ui/core"; +import { IconButton, makeStyles } from "@material-ui/core"; import { NavigateNext, NavigateBefore } from "@material-ui/icons"; import React from "react"; import { useHotkeys } from "react-hotkeys-hook"; import { TestRun } from "../../types"; +import { Tooltip } from "../Tooltip"; const useStyles = makeStyles((theme) => ({ button: { diff --git a/src/components/TestDetailsDialog/TestDetailsModal.tsx b/src/components/TestDetailsDialog/TestDetailsModal.tsx index 3ed2577d..c7919b8c 100644 --- a/src/components/TestDetailsDialog/TestDetailsModal.tsx +++ b/src/components/TestDetailsDialog/TestDetailsModal.tsx @@ -9,7 +9,6 @@ import { IconButton, Box, makeStyles, - Tooltip, Select, MenuItem, LinearProgress, @@ -43,6 +42,7 @@ import { ApproveRejectButtons } from "../ApproveRejectButtons"; import { head } from "lodash"; import { invertIgnoreArea } from "../../_helpers/ignoreArea.helper"; import { BaseModal } from "../BaseModal"; +import { Tooltip } from "../Tooltip"; const defaultStagePos = { x: 0, diff --git a/src/components/TestRunDetails.tsx b/src/components/TestRunDetails.tsx index 922c19cc..2ed2b7c3 100644 --- a/src/components/TestRunDetails.tsx +++ b/src/components/TestRunDetails.tsx @@ -2,6 +2,7 @@ import React from "react"; import { Grid, Typography } from "@material-ui/core"; import { TestRun } from "../types"; import TestStatusChip from "./TestStatusChip"; +import { Tooltip } from "./Tooltip"; interface IProps { testRun: TestRun; @@ -37,12 +38,16 @@ export const TestRunDetails: React.FunctionComponent = ({ )} - Diff: {testRun.diffPercent}% + + Diff: {testRun.diffPercent}% + - - Diff tollerance: {testRun.diffTollerancePercent}% - + + + Diff tolerance: {testRun.diffTollerancePercent}% + + Status: diff --git a/src/components/TestRunList/BulkOperation.tsx b/src/components/TestRunList/BulkOperation.tsx index e1f1795b..c5507a16 100644 --- a/src/components/TestRunList/BulkOperation.tsx +++ b/src/components/TestRunList/BulkOperation.tsx @@ -2,7 +2,6 @@ import React from "react"; import { Typography, IconButton, - Tooltip, LinearProgress, } from "@material-ui/core"; import { @@ -17,6 +16,7 @@ import { Delete, LayersClear, ThumbDown, ThumbUp } from "@material-ui/icons"; import { testRunService } from "../../services"; import { TestStatus } from "../../types"; import { head } from "lodash"; +import { Tooltip } from "../Tooltip"; export const BulkOperation: React.FunctionComponent = () => { const props = useGridSlotComponentProps(); diff --git a/src/components/Tooltip.tsx b/src/components/Tooltip.tsx new file mode 100644 index 00000000..866044cf --- /dev/null +++ b/src/components/Tooltip.tsx @@ -0,0 +1,13 @@ +import { Tooltip as MuiTooltip, TooltipProps } from "@material-ui/core"; +import React from "react"; + +export const Tooltip: React.FunctionComponent = ({ + title, children +}) => { + return ( + + ); +}; diff --git a/src/components/UserList/ActionButtons.tsx b/src/components/UserList/ActionButtons.tsx index 1b771455..c8e207a1 100644 --- a/src/components/UserList/ActionButtons.tsx +++ b/src/components/UserList/ActionButtons.tsx @@ -1,10 +1,11 @@ import React from "react"; -import { IconButton, Tooltip } from "@material-ui/core"; +import { IconButton } from "@material-ui/core"; import { Delete } from "@material-ui/icons"; import { GridRowId, useGridSlotComponentProps } from "@material-ui/data-grid"; import { usersService } from "../../services"; import { useSnackbar } from "notistack"; import { useUserDispatch, useUserState } from "../../contexts"; +import { Tooltip } from "../Tooltip"; export const ActionButtons: React.FunctionComponent = () => { const props = useGridSlotComponentProps();