Skip to content

Commit ef0e57e

Browse files
feat(Scanner): Add mirroring on user facingMode
1 parent 2a5d2ff commit ef0e57e

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/components/Scanner/scanner.tsx

+6-3
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,21 @@ interface ScannerProps {
88
interface ScannerState {
99
facingMode: string;
1010
isHidden: boolean;
11+
isMirrored: boolean;
1112
}
1213

1314
class Scanner extends Component<ScannerProps, ScannerState> {
1415
state: ScannerState = {
1516
facingMode: "user",
1617
isHidden: false,
18+
isMirrored: true,
1719
};
1820

1921
handleClick = () => {
2022
const { facingMode } = this.state;
2123
const newFacingMode = facingMode === "environment" ? "user" : "environment";
22-
this.setState({ facingMode: newFacingMode });
24+
const isMirrored = newFacingMode === "user";
25+
this.setState({ facingMode: newFacingMode, isMirrored });
2326

2427
const width = window.innerWidth;
2528
const height = window.innerHeight;
@@ -84,14 +87,14 @@ class Scanner extends Component<ScannerProps, ScannerState> {
8487
};
8588

8689
render() {
87-
const { isHidden } = this.state;
90+
const { isHidden, isMirrored } = this.state;
8891

8992
const vid: React.CSSProperties = {
9093
position: "fixed",
9194
zIndex: 999,
9295
left: "50%",
9396
top: 0,
94-
transform: "translateX(-50%)",
97+
transform: isMirrored ? "translateX(-50%) scaleX(-1)" : "translateX(-50%)",
9598
};
9699

97100
const backdrop: React.CSSProperties = {

0 commit comments

Comments
 (0)