diff --git a/frontend/.prettierrc b/frontend/.prettierrc
index 761a3e639..4c38cc4c4 100644
--- a/frontend/.prettierrc
+++ b/frontend/.prettierrc
@@ -1,6 +1,6 @@
{
- "tabWidth": 4,
+ "tabWidth": 2,
"useTabs": false,
- "printWidth": 150,
+ "printWidth": 100,
"singleQuote": true
}
diff --git a/frontend/app/components/Dashboard/components/DashboardList/DashboardList.tsx b/frontend/app/components/Dashboard/components/DashboardList/DashboardList.tsx
index 6498bcf6a..4a0049df3 100644
--- a/frontend/app/components/Dashboard/components/DashboardList/DashboardList.tsx
+++ b/frontend/app/components/Dashboard/components/DashboardList/DashboardList.tsx
@@ -24,8 +24,8 @@ function DashboardList() {
show={lenth === 0}
title={
-
-
You haven't created any dashboards yet
+
+
You haven't created any dashboards yet
}
>
diff --git a/frontend/app/components/Dashboard/components/MetricsList/MetricsList.tsx b/frontend/app/components/Dashboard/components/MetricsList/MetricsList.tsx
index 438ea09ce..e64026822 100644
--- a/frontend/app/components/Dashboard/components/MetricsList/MetricsList.tsx
+++ b/frontend/app/components/Dashboard/components/MetricsList/MetricsList.tsx
@@ -30,8 +30,8 @@ function MetricsList({ siteId }: { siteId: string }) {
show={lenth === 0}
title={
-
-
You haven't created any metrics yet
+
+
You haven't created any metrics yet
}
>
diff --git a/frontend/app/components/Session_/Player/Controls/Controls.js b/frontend/app/components/Session_/Player/Controls/Controls.js
index 73371c6e1..951e2eead 100644
--- a/frontend/app/components/Session_/Player/Controls/Controls.js
+++ b/frontend/app/components/Session_/Player/Controls/Controls.js
@@ -8,7 +8,6 @@ import {
selectStorageListNow,
} from 'Player/store';
import LiveTag from 'Shared/LiveTag';
-import { session as sessionRoute, withSiteId } from 'App/routes';
import {
toggleTimetravel,
jumpToLive,
@@ -31,7 +30,7 @@ import {
EXCEPTIONS,
INSPECTOR,
} from 'Duck/components/player';
-import { ReduxTime, AssistDuration } from './Time';
+import { AssistDuration } from './Time';
import Timeline from './Timeline';
import ControlButton from './ControlButton';
import PlayerControls from './components/PlayerControls'
@@ -121,7 +120,6 @@ function getStorageName(type) {
toggleBottomBlock,
})
export default class Controls extends React.Component {
-
componentDidMount() {
document.addEventListener('keydown', this.onKeyDown);
}
@@ -318,6 +316,7 @@ export default class Controls extends React.Component {
toggleSkip={toggleSkip}
playButton={this.renderPlayBtn()}
controlIcon={this.controlIcon}
+ ref={this.speedRef}
/>
)}
diff --git a/frontend/app/components/Session_/Player/Controls/components/PlayerControls.tsx b/frontend/app/components/Session_/Player/Controls/components/PlayerControls.tsx
index be3ac24b3..1361c6c7b 100644
--- a/frontend/app/components/Session_/Player/Controls/components/PlayerControls.tsx
+++ b/frontend/app/components/Session_/Player/Controls/components/PlayerControls.tsx
@@ -1,10 +1,10 @@
-import React from 'react'
+import React from 'react';
import { Tooltip } from 'react-tippy';
import { ReduxTime } from '../Time';
import { Icon } from 'UI';
import cn from 'classnames';
// @ts-ignore
-import styles from '../controls.module.css'
+import styles from '../controls.module.css';
interface Props {
live: boolean;
@@ -16,22 +16,51 @@ interface Props {
forthTenSeconds: () => void;
toggleSpeed: () => void;
toggleSkip: () => void;
- controlIcon: (icon: string, size: number, action: () => void, isBackwards: boolean, additionalClasses: string) => JSX.Element;
+ controlIcon: (
+ icon: string,
+ size: number,
+ action: () => void,
+ isBackwards: boolean,
+ additionalClasses: string
+ ) => JSX.Element;
}
function PlayerControls(props: Props) {
- const {
- live,
- skip,
- speed,
- disabled,
- playButton,
- backTenSeconds,
- forthTenSeconds,
- toggleSpeed,
- toggleSkip,
- controlIcon
+ const {
+ live,
+ skip,
+ speed,
+ disabled,
+ playButton,
+ backTenSeconds,
+ forthTenSeconds,
+ toggleSpeed,
+ toggleSkip,
+ controlIcon,
} = props;
+
+ const speedRef = React.useRef(null);
+ const arrowBackRef = React.useRef(null);
+ const arrowForwardRef = React.useRef(null);
+
+ React.useEffect(() => {
+ const handleKeyboard = (e: KeyboardEvent) => {
+ if (e.key === 'ArrowRight') {
+ arrowForwardRef.current.focus();
+ }
+ if (e.key === 'ArrowLeft') {
+ arrowBackRef.current.focus();
+ }
+ if (e.key === 'ArrowDown') {
+ speedRef.current.focus();
+ }
+ if (e.key === 'ArrowUp') {
+ speedRef.current.focus();
+ }
+ };
+ document.addEventListener('keydown', handleKeyboard);
+ return () => document.removeEventListener('keydown', handleKeyboard);
+ }, [speedRef, arrowBackRef, arrowForwardRef]);
return (
{playButton}
@@ -47,46 +76,41 @@ function PlayerControls(props: Props) {
{/* @ts-ignore */}
-
- {controlIcon(
- "skip-forward-fill",
- 18,
- backTenSeconds,
- true,
- 'hover:bg-active-blue-border color-main h-full flex items-center'
- )}
+
+
- 10s
+
+ 10s
+
{/* @ts-ignore */}
-
- {controlIcon(
- "skip-forward-fill",
- 18,
- forthTenSeconds,
- false,
- 'hover:bg-active-blue-border color-main h-full flex items-center'
- )}
+
+
- {!live &&
-
+ {!live && (
+
{/* @ts-ignore */}
-
+
- }
+ )}
- )
+ );
}
export default PlayerControls;