diff --git a/frontend/app/components/Alerts/Notifications/Notifications.tsx b/frontend/app/components/Alerts/Notifications/Notifications.tsx index b5421fd29..05bcea06b 100644 --- a/frontend/app/components/Alerts/Notifications/Notifications.tsx +++ b/frontend/app/components/Alerts/Notifications/Notifications.tsx @@ -1,7 +1,7 @@ import React, { useEffect } from 'react'; import stl from './notifications.module.css'; import { connect } from 'react-redux'; -import { Icon, Popup } from 'UI'; +import { Icon, Tooltip } from 'UI'; import { fetchList, setViewed, clearAll } from 'Duck/notifications'; import { setLastRead } from 'Duck/announcements'; import { useModal } from 'App/components/Modal'; @@ -29,7 +29,7 @@ function Notifications(props: Props) { }, []); return useObserver(() => ( - +
showModal(, { right: true })} @@ -39,7 +39,7 @@ function Notifications(props: Props) {
-
+ )); } diff --git a/frontend/app/components/Assist/components/AssistActions/AssistActions.tsx b/frontend/app/components/Assist/components/AssistActions/AssistActions.tsx index 066118e18..e93dcb538 100644 --- a/frontend/app/components/Assist/components/AssistActions/AssistActions.tsx +++ b/frontend/app/components/Assist/components/AssistActions/AssistActions.tsx @@ -1,5 +1,5 @@ import React, { useState, useEffect } from 'react'; -import { Popup, Button } from 'UI'; +import { Popup, Button, Tooltip } from 'UI'; import { connect } from 'react-redux'; import cn from 'classnames'; import { toggleChatWindow } from 'Duck/sessions'; @@ -19,7 +19,6 @@ import { } from 'Player/MessageDistributor/managers/AssistManager'; import RequestLocalStream from 'Player/MessageDistributor/managers/LocalStream'; import type { LocalStream } from 'Player/MessageDistributor/managers/LocalStream'; -import { Tooltip } from 'react-tippy'; import { toast } from 'react-toastify'; import { confirm } from 'UI'; import stl from './AassistActions.module.css'; diff --git a/frontend/app/components/Dashboard/components/DashboardView/DashboardView.tsx b/frontend/app/components/Dashboard/components/DashboardView/DashboardView.tsx index a61b06a5e..e610d040c 100644 --- a/frontend/app/components/Dashboard/components/DashboardView/DashboardView.tsx +++ b/frontend/app/components/Dashboard/components/DashboardView/DashboardView.tsx @@ -1,7 +1,7 @@ import React, { useEffect } from 'react'; import { observer } from 'mobx-react-lite'; import { useStore } from 'App/mstore'; -import { Button, PageTitle, Loader } from 'UI'; +import { Button, PageTitle, Loader, Tooltip, Popover } from 'UI'; import { withSiteId } from 'App/routes'; import withModal from 'App/components/Modal/withModal'; import DashboardWidgetGrid from '../DashboardWidgetGrid'; @@ -15,7 +15,6 @@ import withPageTitle from 'HOCs/withPageTitle'; import withReport from 'App/components/hocs/withReport'; import DashboardOptions from '../DashboardOptions'; import SelectDateRange from 'Shared/SelectDateRange'; -import { Tooltip } from 'react-tippy'; import Breadcrumb from 'Shared/Breadcrumb'; import AddMetricContainer from '../DashboardWidgetGrid/AddMetricContainer'; import OutsideClickDetectingDiv from 'Shared/OutsideClickDetectingDiv'; @@ -126,24 +125,25 @@ function DashboardView(props: Props) { + {dashboard?.name} } onDoubleClick={() => onEdit(true)} className="mr-3 select-none border-b border-b-borderColor-transparent hover:border-dotted hover:border-gray-medium cursor-pointer" actionButton={ - setShowTooltip(false)}> - setShowTooltip(false)}> + showTooltip && (
setShowTooltip(false)} @@ -151,13 +151,13 @@ function DashboardView(props: Props) { siteId={siteId} />
- } + )} > -
-
+ + // } /> diff --git a/frontend/app/components/Dashboard/components/MetricListItem/MetricListItem.tsx b/frontend/app/components/Dashboard/components/MetricListItem/MetricListItem.tsx index 9862739d8..38b30af7b 100644 --- a/frontend/app/components/Dashboard/components/MetricListItem/MetricListItem.tsx +++ b/frontend/app/components/Dashboard/components/MetricListItem/MetricListItem.tsx @@ -1,7 +1,6 @@ import React from 'react'; -import { Icon, Link } from 'UI'; +import { Icon, Tooltip } from 'UI'; import { checkForRecent } from 'App/date'; -import { Tooltip } from 'react-tippy' import { withRouter, RouteComponentProps } from 'react-router-dom'; import { withSiteId } from 'App/routes'; @@ -24,9 +23,7 @@ function MetricTypeIcon({ type }: any) { return ( {type}} - position="top" - arrow + title={
{type}
} >
diff --git a/frontend/app/components/Dashboard/components/WidgetName/WidgetName.tsx b/frontend/app/components/Dashboard/components/WidgetName/WidgetName.tsx index 998aaece8..3f352165a 100644 --- a/frontend/app/components/Dashboard/components/WidgetName/WidgetName.tsx +++ b/frontend/app/components/Dashboard/components/WidgetName/WidgetName.tsx @@ -1,7 +1,6 @@ import React, { useState, useRef, useEffect } from 'react'; -import { Icon } from 'UI'; +import { Icon, Tooltip } from 'UI'; import cn from 'classnames'; -import { Tooltip } from 'react-tippy'; interface Props { name: string; @@ -65,7 +64,7 @@ function WidgetName(props: Props) { /> ) : ( // @ts-ignore - +
setEditing(true)} className={ diff --git a/frontend/app/components/Funnels/FunnelWidget/FunnelBar.tsx b/frontend/app/components/Funnels/FunnelWidget/FunnelBar.tsx index 4947b543e..b3e1e2f89 100644 --- a/frontend/app/components/Funnels/FunnelWidget/FunnelBar.tsx +++ b/frontend/app/components/Funnels/FunnelWidget/FunnelBar.tsx @@ -1,7 +1,6 @@ import React from 'react'; import FunnelStepText from './FunnelStepText'; -import { Icon, Popup } from 'UI'; -import { Tooltip } from 'react-tippy'; +import { Icon, Tooltip } from 'UI'; interface Props { filter: any; diff --git a/frontend/app/components/Session_/Autoplay/Autoplay.js b/frontend/app/components/Session_/Autoplay/Autoplay.js index 8ce20e11c..a171c1fc4 100644 --- a/frontend/app/components/Session_/Autoplay/Autoplay.js +++ b/frontend/app/components/Session_/Autoplay/Autoplay.js @@ -1,77 +1,83 @@ -import React, { useEffect } from 'react' -import { connect } from 'react-redux' -import { setAutoplayValues } from 'Duck/sessions' +import React, { useEffect } from 'react'; +import { connect } from 'react-redux'; +import { setAutoplayValues } from 'Duck/sessions'; import { session as sessionRoute } from 'App/routes'; -import { Link, Icon, Toggler } from 'UI'; +import { Link, Icon, Toggler, Tooltip } from 'UI'; import { connectPlayer } from 'Player/store'; import { Controls as PlayerControls } from 'Player'; -import { Tooltip } from 'react-tippy'; import cn from 'classnames'; function Autoplay(props) { - const { previousId, nextId, autoplay, disabled } = props + const { previousId, nextId, autoplay, disabled } = props; useEffect(() => { - props.setAutoplayValues() - }, []) + props.setAutoplayValues(); + }, []); return (
-
- +
+ Auto-Play
Play Previous Session
} disabled={!previousId} - className={cn( - "p-1 bg-gray-bg group rounded-full color-gray-darkest font-medium", - previousId && 'cursor-pointer', - !disabled && nextId&& 'hover:bg-bg-blue' - )} > - - + +
+ +
Play Next Session
} disabled={!nextId} - className={cn( - "p-1 bg-gray-bg group ml-1 rounded-full color-gray-darkest font-medium", - nextId && 'cursor-pointer', - !disabled && nextId && 'hover:bg-bg-blue', - )} > - - + +
+ +
- ) + ); } -const connectAutoplay = connect(state => ({ - previousId: state.getIn([ 'sessions', 'previousId' ]), - nextId: state.getIn([ 'sessions', 'nextId' ]), -}), { setAutoplayValues }) +const connectAutoplay = connect( + (state) => ({ + previousId: state.getIn(['sessions', 'previousId']), + nextId: state.getIn(['sessions', 'nextId']), + }), + { setAutoplayValues } +); -export default connectAutoplay(connectPlayer(state => ({ - autoplay: state.autoplay, -}), { - toggleAutoplay: PlayerControls.toggleAutoplay -})(Autoplay)) +export default connectAutoplay( + connectPlayer( + (state) => ({ + autoplay: state.autoplay, + }), + { + toggleAutoplay: PlayerControls.toggleAutoplay, + } + )(Autoplay) +); diff --git a/frontend/app/components/Session_/BugReport/components/ReportTitle.tsx b/frontend/app/components/Session_/BugReport/components/ReportTitle.tsx index 36d9c9877..6e00d397a 100644 --- a/frontend/app/components/Session_/BugReport/components/ReportTitle.tsx +++ b/frontend/app/components/Session_/BugReport/components/ReportTitle.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { useStore } from 'App/mstore'; import { observer } from 'mobx-react-lite'; import cn from 'classnames'; -import { Tooltip } from 'react-tippy'; +import { Tooltip } from 'UI'; function ReportTitle() { const { bugReportStore } = useStore(); @@ -45,7 +45,7 @@ function ReportTitle() { /> ) : ( // @ts-ignore - +
{/* @ts-ignore */} - +
bugReportStore.removeStep(step)}>
diff --git a/frontend/app/components/Session_/BugReport/components/StepsComponents/StepRadius.tsx b/frontend/app/components/Session_/BugReport/components/StepsComponents/StepRadius.tsx index 85940e7c9..543d2c803 100644 --- a/frontend/app/components/Session_/BugReport/components/StepsComponents/StepRadius.tsx +++ b/frontend/app/components/Session_/BugReport/components/StepsComponents/StepRadius.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { Tooltip } from 'react-tippy' +import { Tooltip } from 'UI' interface Props { pickRadius: number; @@ -11,7 +11,7 @@ function StepRadius({ pickRadius, setRadius }: Props) {
{/* @ts-ignore */} - Closest step to the selected timestamp ± {pickRadius}.}> + Closest step to the selected timestamp ± {pickRadius}.}> ± {pickRadius}
diff --git a/frontend/app/components/Session_/EventsBlock/UserCard/UserCard.js b/frontend/app/components/Session_/EventsBlock/UserCard/UserCard.js index 61684db5d..3d3f2b550 100644 --- a/frontend/app/components/Session_/EventsBlock/UserCard/UserCard.js +++ b/frontend/app/components/Session_/EventsBlock/UserCard/UserCard.js @@ -5,11 +5,10 @@ import { countries } from 'App/constants'; import { useStore } from 'App/mstore'; import { browserIcon, osIcon, deviceTypeIcon } from 'App/iconNames'; import { formatTimeOrDate } from 'App/date'; -import { Avatar, TextEllipsis, CountryFlag, Icon } from 'UI'; +import { Avatar, TextEllipsis, CountryFlag, Icon, Tooltip } from 'UI'; import cn from 'classnames'; import { withRequest } from 'HOCs'; import SessionInfoItem from '../../SessionInfoItem'; -import { Tooltip } from 'react-tippy'; import { useModal } from 'App/components/Modal'; import UserSessionsModal from 'Shared/UserSessionsModal'; @@ -77,12 +76,13 @@ function UserCard({ className, request, session, width, height, similarSessions, · } @@ -100,9 +100,9 @@ function UserCard({ className, request, session, width, height, similarSessions, {revId && }
} - position="bottom center" - hoverable - disabled={false} + position="bottom" + // hoverable + // disabled={false} on="hover" > More diff --git a/frontend/app/components/Session_/Issues/Issues.js b/frontend/app/components/Session_/Issues/Issues.js index 469666083..a7a0c6528 100644 --- a/frontend/app/components/Session_/Issues/Issues.js +++ b/frontend/app/components/Session_/Issues/Issues.js @@ -1,11 +1,9 @@ import React from 'react'; import { connect } from 'react-redux'; -import { Popup, Button, Icon } from 'UI'; -import OutsideClickDetectingDiv from 'Shared/OutsideClickDetectingDiv'; +import { Icon, Popover } from 'UI'; import IssuesModal from './IssuesModal'; import { fetchProjects, fetchMeta } from 'Duck/assignments'; import stl from './issues.module.css'; -import { Tooltip } from 'react-tippy'; @connect( (state) => ({ @@ -71,32 +69,25 @@ class Issues extends React.Component { return (
- - - -
- } + ( +
+ +
+ )} + > +
-
- - Create Issue -
- - + + Create Issue +
+
); diff --git a/frontend/app/components/Session_/Player/Controls/Controls.js b/frontend/app/components/Session_/Player/Controls/Controls.js index 6ba17426a..9a21ed865 100644 --- a/frontend/app/components/Session_/Player/Controls/Controls.js +++ b/frontend/app/components/Session_/Player/Controls/Controls.js @@ -10,7 +10,7 @@ import { import LiveTag from 'Shared/LiveTag'; import { jumpToLive } from 'Player'; -import { Icon } from 'UI'; +import { Icon, Tooltip } from 'UI'; import { toggleInspectorMode } from 'Player'; import { fullscreenOn, @@ -33,7 +33,6 @@ import ControlButton from './ControlButton'; import PlayerControls from './components/PlayerControls'; import styles from './controls.module.css'; -import { Tooltip } from 'react-tippy'; import XRayButton from 'Shared/XRayButton'; const SKIP_INTERVALS = { @@ -227,11 +226,7 @@ export default class Controls extends React.Component { return (
() + const skipRef = React.useRef(); React.useEffect(() => { const handleKeyboard = (e: KeyboardEvent) => { @@ -77,11 +76,12 @@ function PlayerControls(props: Props) { setShowTooltip(!showTooltip); }; const handleClickOutside = () => { - setShowTooltip(false) - } + setShowTooltip(false); + }; return (
{playButton} +
{!live && (
{/* @ts-ignore */} @@ -94,7 +94,7 @@ function PlayerControls(props: Props) {
{/* @ts-ignore */} - +
- ) -} \ No newline at end of file + ); +} diff --git a/frontend/app/components/Session_/SessionInfoItem/SessionInfoItem.tsx b/frontend/app/components/Session_/SessionInfoItem/SessionInfoItem.tsx index e4e481067..b29730215 100644 --- a/frontend/app/components/Session_/SessionInfoItem/SessionInfoItem.tsx +++ b/frontend/app/components/Session_/SessionInfoItem/SessionInfoItem.tsx @@ -12,7 +12,7 @@ interface Props { export default function SessionInfoItem(props: Props) { const { label, icon, value, comp, isLast = false } = props return ( -
+
{ icon && } { comp && comp } diff --git a/frontend/app/components/Session_/Storage/Storage.js b/frontend/app/components/Session_/Storage/Storage.js index 22d231fcf..04dd35090 100644 --- a/frontend/app/components/Session_/Storage/Storage.js +++ b/frontend/app/components/Session_/Storage/Storage.js @@ -8,7 +8,7 @@ import { selectStorageListNow, selectStorageList, } from 'Player/store'; -import { JSONTree, NoContent } from 'UI'; +import { JSONTree, NoContent, Tooltip } from 'UI'; import { formatMs } from 'App/date'; import { diff } from 'deep-diff'; import { jump } from 'Player'; @@ -17,7 +17,6 @@ import BottomBlock from '../BottomBlock/index'; import DiffRow from './DiffRow'; import cn from 'classnames'; import stl from './storage.module.css'; -import { Tooltip } from 'react-tippy' // const STATE = 'STATE'; // const DIFF = 'DIFF'; diff --git a/frontend/app/components/Session_/Subheader.js b/frontend/app/components/Session_/Subheader.js index 9383831b3..223f0412b 100644 --- a/frontend/app/components/Session_/Subheader.js +++ b/frontend/app/components/Session_/Subheader.js @@ -1,10 +1,9 @@ import React from 'react'; -import { Icon, Button } from 'UI'; +import { Icon, Tooltip } from 'UI'; import Autoplay from './Autoplay'; import Bookmark from 'Shared/Bookmark'; import SharePopup from '../shared/SharePopup/SharePopup'; import copy from 'copy-to-clipboard'; -import { Tooltip } from 'react-tippy'; import Issues from './Issues/Issues'; import NotePopup from './components/NotePopup'; import { connectPlayer, pause } from 'Player'; @@ -46,14 +45,7 @@ function SubHeader(props) { }} > - + {location}
diff --git a/frontend/app/components/hocs/withCopy.tsx b/frontend/app/components/hocs/withCopy.tsx index 2b3a9d541..702ddae54 100644 --- a/frontend/app/components/hocs/withCopy.tsx +++ b/frontend/app/components/hocs/withCopy.tsx @@ -1,6 +1,6 @@ import React from 'react'; import copy from 'copy-to-clipboard'; -import { Tooltip } from 'react-tippy'; +import { Tooltip } from 'UI'; const withCopy = (WrappedComponent: React.ComponentType) => { const ComponentWithCopy = (props: any) => { @@ -15,7 +15,7 @@ const withCopy = (WrappedComponent: React.ComponentType) => { }; return (
copyToClipboard(value)} className="w-fit"> - +
diff --git a/frontend/app/components/shared/CopyText/CopyText.tsx b/frontend/app/components/shared/CopyText/CopyText.tsx index 6d505b58b..635865d0d 100644 --- a/frontend/app/components/shared/CopyText/CopyText.tsx +++ b/frontend/app/components/shared/CopyText/CopyText.tsx @@ -1,5 +1,5 @@ import React, { useState } from 'react'; -import { Tooltip } from 'react-tippy'; +import { Tooltip } from 'UI'; import copy from 'copy-to-clipboard'; interface Props { @@ -17,14 +17,7 @@ function CopyText(props: Props) { setTimeout(() => setIsCopied(false), 5000); }; return ( - // @ts-ignore - + {children} ); diff --git a/frontend/app/components/shared/GuidePopup/GuidePopup.tsx b/frontend/app/components/shared/GuidePopup/GuidePopup.tsx index 4f6e4907c..014c4321d 100644 --- a/frontend/app/components/shared/GuidePopup/GuidePopup.tsx +++ b/frontend/app/components/shared/GuidePopup/GuidePopup.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { Tooltip } from 'react-tippy'; +import { Tooltip } from 'UI'; export const FEATURE_KEYS = { XRAY: 'featureViewed' @@ -16,7 +16,7 @@ export default function GuidePopup({ children, title, description }: IProps) { return ( // @ts-ignore
{title} @@ -26,10 +26,10 @@ export default function GuidePopup({ children, title, description }: IProps) {
} - distance={30} - theme={'light'} + // distance={30} + // theme={'light'} open={true} - arrow={true} + // arrow={true} > {children} diff --git a/frontend/app/components/shared/SavedSearch/components/SavedSearchModal/SavedSearchModal.tsx b/frontend/app/components/shared/SavedSearch/components/SavedSearchModal/SavedSearchModal.tsx index ac67f4158..02fdd236e 100644 --- a/frontend/app/components/shared/SavedSearch/components/SavedSearchModal/SavedSearchModal.tsx +++ b/frontend/app/components/shared/SavedSearch/components/SavedSearchModal/SavedSearchModal.tsx @@ -2,7 +2,7 @@ import React, { MouseEvent, useState } from 'react'; import cn from 'classnames'; import { Icon, Input } from 'UI'; import { List } from 'immutable'; -import { confirm, Popup } from 'UI'; +import { confirm, Tooltip } from 'UI'; import { applySavedSearch, remove, editSavedSearch } from 'Duck/search'; import { connect } from 'react-redux'; import { useModal } from 'App/components/Modal'; @@ -18,9 +18,10 @@ interface ITooltipIcon { function TooltipIcon(props: ITooltipIcon) { return (
props.onClick(e)}> - + + {/* @ts-ignore */} - +
); } diff --git a/frontend/app/components/shared/SessionItem/SessionItem.tsx b/frontend/app/components/shared/SessionItem/SessionItem.tsx index 9acdc3a7c..84da34839 100644 --- a/frontend/app/components/shared/SessionItem/SessionItem.tsx +++ b/frontend/app/components/shared/SessionItem/SessionItem.tsx @@ -1,6 +1,6 @@ import React from 'react'; import cn from 'classnames'; -import { CountryFlag, Avatar, TextEllipsis, Label, Icon } from 'UI'; +import { CountryFlag, Avatar, TextEllipsis, Label, Icon, Tooltip } from 'UI'; import { useStore } from 'App/mstore'; import { observer } from 'mobx-react-lite'; import { durationFormatted, formatTimeOrDate } from 'App/date'; @@ -12,7 +12,6 @@ import PlayLink from './PlayLink'; import ErrorBars from './ErrorBars'; import { assist as assistRoute, liveSession, sessions as sessionsRoute, isRoute } from 'App/routes'; import { capitalize } from 'App/utils'; -import { Tooltip } from 'react-tippy'; const ASSIST_ROUTE = assistRoute(); const ASSIST_LIVE_SESSION = liveSession(); diff --git a/frontend/app/components/shared/SessionListContainer/components/SessionSettingButton/SessionSettingButton.tsx b/frontend/app/components/shared/SessionListContainer/components/SessionSettingButton/SessionSettingButton.tsx index 6dde016a3..428b8f153 100644 --- a/frontend/app/components/shared/SessionListContainer/components/SessionSettingButton/SessionSettingButton.tsx +++ b/frontend/app/components/shared/SessionListContainer/components/SessionSettingButton/SessionSettingButton.tsx @@ -1,8 +1,7 @@ import { useModal } from 'App/components/Modal'; import React from 'react'; import SessionSettings from 'Shared/SessionSettings'; -import { Button } from 'UI'; -import { Tooltip } from 'react-tippy'; +import { Button, Tooltip } from 'UI'; function SessionSettingButton(props: any) { const { showModal } = useModal(); @@ -13,8 +12,7 @@ function SessionSettingButton(props: any) { return (
- {/* @ts-ignore */} - +
diff --git a/frontend/app/components/shared/SharePopup/SharePopup.js b/frontend/app/components/shared/SharePopup/SharePopup.js index 02c2c8bbc..9fef76843 100644 --- a/frontend/app/components/shared/SharePopup/SharePopup.js +++ b/frontend/app/components/shared/SharePopup/SharePopup.js @@ -1,21 +1,15 @@ import React from 'react'; import { connect } from 'react-redux'; import { toast } from 'react-toastify'; -import { connectPlayer } from 'Player'; import withRequest from 'HOCs/withRequest'; -import { Icon, Button } from 'UI'; +import { Icon, Button, Popover } from 'UI'; import styles from './sharePopup.module.css'; import IntegrateSlackButton from '../IntegrateSlackButton/IntegrateSlackButton'; import SessionCopyLink from './SessionCopyLink'; import Select from 'Shared/Select'; -import { Tooltip } from 'react-tippy'; import cn from 'classnames'; -import { fetchList, init } from 'Duck/integrations/slack'; -import OutsideClickDetectingDiv from 'Shared/OutsideClickDetectingDiv'; +import { fetchList } from 'Duck/integrations/slack'; -// @connectPlayer((state) => ({ -// time: state.time, -// })) @connect( (state) => ({ channels: state.getIn(['slack', 'list']), @@ -75,84 +69,67 @@ export default class SharePopup extends React.PureComponent { const options = channels .map(({ webhookId, name }) => ({ value: webhookId, label: name })) .toJS(); - return ( - { - this.setState({ isOpen: false }); - }} - > - -
-
Share this session link to Slack
-
- {options.length === 0 ? ( - <> -
- -
- {showCopyLink && ( -
- -
- )} - - ) : ( -
-
-