chagne(ui): added dead click to frustrations

This commit is contained in:
Shekar Siri 2023-12-19 12:34:10 +01:00
parent 429d0b1f24
commit d69ccf2e02
6 changed files with 11 additions and 3 deletions

View file

@ -77,6 +77,7 @@ const TimelinePointer = React.memo((props: Props) => {
if (item.type === TYPES.CLICK) Object.assign(elData, { name: `User hesitated to click for ${Math.round(item.hesitation/1000)}s`, icon: 'click-hesitation' })
if (item.type === TYPES.INPUT) Object.assign(elData, { name: `User hesitated to enter a value for ${Math.round(item.hesitation/1000)}s`, icon: 'input-hesitation' })
if (item.type === TYPES.CLICKRAGE || item.type === TYPES.TAPRAGE) Object.assign(elData, { name: 'Click Rage', icon: 'click-rage' })
if (item.type === TYPES.DEAD_LICK) Object.assign(elData, { name: 'Dead Click', icon: 'emoji-dizzy' })
if (item.type === issueTypes.MOUSE_THRASHING) Object.assign(elData, { name: 'Mouse Thrashing', icon: 'cursor-trash' })
if (item.type === 'ios_perf_event') Object.assign(elData, { name: item.name, icon: item.icon })

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" class="bi bi-emoji-dizzy" viewBox="0 0 16 16">
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"/>
<path d="M9.146 5.146a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708.708l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708m-5 0a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 1 1 .708.708l-.647.646.647.646a.5.5 0 1 1-.708.708L5.5 7.207l-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zM10 11a2 2 0 1 1-4 0 2 2 0 0 1 4 0"/>
</svg>

After

Width:  |  Height:  |  Size: 588 B

View file

@ -4,13 +4,14 @@ const INPUT = 'INPUT';
const LOCATION = 'LOCATION';
const CUSTOM = 'CUSTOM';
const CLICKRAGE = 'CLICKRAGE';
const DEAD_LICK = 'dead_click';
const TAPRAGE = 'tap_rage'
const IOS_VIEW = 'VIEW';
const UXT_EVENT = 'UXT_EVENT';
const TOUCH = 'TAP';
const SWIPE = 'SWIPE';
export const TYPES = { CONSOLE, CLICK, INPUT, LOCATION, CUSTOM, CLICKRAGE, IOS_VIEW, TOUCH, SWIPE, TAPRAGE, UXT_EVENT };
export const TYPES = { CONSOLE, CLICK, INPUT, LOCATION, CUSTOM, CLICKRAGE, DEAD_LICK, IOS_VIEW, TOUCH, SWIPE, TAPRAGE, UXT_EVENT };
export type EventType =
| typeof CONSOLE

View file

@ -8,6 +8,7 @@ export const types = {
CLICK_RAGE: 'click_rage',
MOUSE_THRASHING: 'mouse_thrashing',
TAP_RAGE: 'tap_rage',
DEAD_CLICK: 'dead_click',
} as const
type TypeKeys = keyof typeof types

View file

@ -394,7 +394,7 @@ export default class Session {
}
)
const frustrationIssues = issuesList.filter(i => i.type === issueTypes.MOUSE_THRASHING || i.type === issueTypes.TAP_RAGE)
const frustrationIssues = issuesList.filter(i => i.type === issueTypes.MOUSE_THRASHING || i.type === issueTypes.TAP_RAGE || i.type === issueTypes.DEAD_CLICK)
const frustrationList = [...frustrationEvents, ...frustrationIssues].sort(sortEvents) || [];
const mixedEventsWithIssues = mergeEventLists(