File tree Expand file tree Collapse file tree
renderer/features/code-editor/stores Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import { ANALYTICS_EVENTS } from "@shared/types/analytics" ;
2+ import { track } from "@utils/analytics" ;
13import { create } from "zustand" ;
24import { persist } from "zustand/middleware" ;
35
@@ -30,11 +32,32 @@ export const useDiffViewerStore = create<DiffViewerStore>()(
3032 loadFullFiles : false ,
3133 wordDiffs : true ,
3234 hideWhitespaceChanges : false ,
33- setViewMode : ( mode ) => set ( { viewMode : mode } ) ,
35+ setViewMode : ( mode ) =>
36+ set ( ( state ) => {
37+ if ( state . viewMode === mode ) {
38+ return state ;
39+ }
40+
41+ track ( ANALYTICS_EVENTS . DIFF_VIEW_MODE_CHANGED , {
42+ from_mode : state . viewMode ,
43+ to_mode : mode ,
44+ } ) ;
45+
46+ return { viewMode : mode } ;
47+ } ) ,
3448 toggleViewMode : ( ) =>
35- set ( ( s ) => ( {
36- viewMode : s . viewMode === "split" ? "unified" : "split" ,
37- } ) ) ,
49+ set ( ( state ) => {
50+ const nextMode = state . viewMode === "split" ? "unified" : "split" ;
51+
52+ track ( ANALYTICS_EVENTS . DIFF_VIEW_MODE_CHANGED , {
53+ from_mode : state . viewMode ,
54+ to_mode : nextMode ,
55+ } ) ;
56+
57+ return {
58+ viewMode : nextMode ,
59+ } ;
60+ } ) ,
3861 toggleWordWrap : ( ) => set ( ( s ) => ( { wordWrap : ! s . wordWrap } ) ) ,
3962 toggleLoadFullFiles : ( ) =>
4063 set ( ( s ) => ( { loadFullFiles : ! s . loadFullFiles } ) ) ,
Original file line number Diff line number Diff line change @@ -133,6 +133,11 @@ export interface ReviewPanelViewedProperties {
133133 task_id : string ;
134134}
135135
136+ export interface DiffViewModeChangedProperties {
137+ from_mode : "split" | "unified" ;
138+ to_mode : "split" | "unified" ;
139+ }
140+
136141// Workspace events
137142export interface WorkspaceCreatedProperties {
138143 task_id : string ;
@@ -235,6 +240,7 @@ export const ANALYTICS_EVENTS = {
235240 FILE_OPENED : "File opened" ,
236241 FILE_DIFF_VIEWED : "File diff viewed" ,
237242 REVIEW_PANEL_VIEWED : "Review panel viewed" ,
243+ DIFF_VIEW_MODE_CHANGED : "Diff view mode changed" ,
238244
239245 // Workspace events
240246 WORKSPACE_CREATED : "Workspace created" ,
@@ -290,6 +296,7 @@ export type EventPropertyMap = {
290296 [ ANALYTICS_EVENTS . FILE_OPENED ] : FileOpenedProperties ;
291297 [ ANALYTICS_EVENTS . FILE_DIFF_VIEWED ] : FileDiffViewedProperties ;
292298 [ ANALYTICS_EVENTS . REVIEW_PANEL_VIEWED ] : ReviewPanelViewedProperties ;
299+ [ ANALYTICS_EVENTS . DIFF_VIEW_MODE_CHANGED ] : DiffViewModeChangedProperties ;
293300
294301 // Workspace events
295302 [ ANALYTICS_EVENTS . WORKSPACE_CREATED ] : WorkspaceCreatedProperties ;
You can’t perform that action at this time.
0 commit comments