Move time.ts to the base directory.

Change-Id: Iace52240b216cb51fd969e9ce90655c43a2642f9
diff --git a/ui/src/frontend/aggregation_panel.ts b/ui/src/frontend/aggregation_panel.ts
index 03c7631..d4453d9 100644
--- a/ui/src/frontend/aggregation_panel.ts
+++ b/ui/src/frontend/aggregation_panel.ts
@@ -14,6 +14,7 @@
 
 import m from 'mithril';
 
+import {Duration} from '../base/time';
 import {Actions} from '../common/actions';
 import {
   AggregateData,
@@ -22,7 +23,6 @@
 } from '../common/aggregation_data';
 import {colorForState, textColorForState} from '../common/colorizer';
 import {translateState} from '../common/thread_state';
-import {Duration} from '../common/time';
 
 import {globals} from './globals';
 import {Panel} from './panel';
diff --git a/ui/src/frontend/app.ts b/ui/src/frontend/app.ts
index 19fc40c..b11f0df 100644
--- a/ui/src/frontend/app.ts
+++ b/ui/src/frontend/app.ts
@@ -19,16 +19,15 @@
 import {FuzzyFinder} from '../base/fuzzy';
 import {assertExists} from '../base/logging';
 import {undoCommonChatAppReplacements} from '../base/string_utils';
-import {Actions} from '../common/actions';
 import {
   duration,
-  setTimestampFormat,
   Span,
   Time,
   time,
   TimeSpan,
-  TimestampFormat,
-} from '../common/time';
+} from '../base/time';
+import {Actions} from '../common/actions';
+import {setTimestampFormat, TimestampFormat} from '../common/timestamp_format';
 import {raf} from '../core/raf_scheduler';
 import {Command} from '../public';
 
diff --git a/ui/src/frontend/base_slice_track.ts b/ui/src/frontend/base_slice_track.ts
index f462ebe..46a5f5f 100644
--- a/ui/src/frontend/base_slice_track.ts
+++ b/ui/src/frontend/base_slice_track.ts
@@ -13,6 +13,12 @@
 // limitations under the License.
 
 import {assertExists} from '../base/logging';
+import {
+  duration,
+  Span,
+  Time,
+  time,
+} from '../base/time';
 import {Actions} from '../common/actions';
 import {cropText, drawIncompleteSlice} from '../common/canvas_utils';
 import {
@@ -21,12 +27,6 @@
 } from '../common/colorizer';
 import {LONG, NUM} from '../common/query_result';
 import {Selection, SelectionKind} from '../common/state';
-import {
-  duration,
-  Span,
-  Time,
-  time,
-} from '../common/time';
 import {raf} from '../core/raf_scheduler';
 
 import {checkerboardExcept} from './checkerboard';
diff --git a/ui/src/frontend/base_slice_track_unittest.ts b/ui/src/frontend/base_slice_track_unittest.ts
index 09c782a..717010e 100644
--- a/ui/src/frontend/base_slice_track_unittest.ts
+++ b/ui/src/frontend/base_slice_track_unittest.ts
@@ -12,8 +12,8 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+import {Time} from '../base/time';
 import {GRAY_COLOR} from '../common/colorizer';
-import {Time} from '../common/time';
 
 import {
   filterVisibleSlicesForTesting as filterVisibleSlices,
diff --git a/ui/src/frontend/brand.ts b/ui/src/frontend/brand.ts
deleted file mode 100644
index 341d57a..0000000
--- a/ui/src/frontend/brand.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (C) 2023 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-export type Brand<T, V extends string> = T&{__type: V};
diff --git a/ui/src/frontend/chrome_slice_details_tab.ts b/ui/src/frontend/chrome_slice_details_tab.ts
index a118767..3cb4eb5 100644
--- a/ui/src/frontend/chrome_slice_details_tab.ts
+++ b/ui/src/frontend/chrome_slice_details_tab.ts
@@ -14,11 +14,11 @@
 
 import m from 'mithril';
 
+import {duration, Time} from '../base/time';
 import {exists} from '../base/utils';
 import {EngineProxy} from '../common/engine';
 import {runQuery} from '../common/queries';
 import {LONG, LONG_NULL, NUM, STR_NULL} from '../common/query_result';
-import {duration, Time} from '../common/time';
 import {addDebugTrack} from '../tracks/debug/slice_track';
 
 import {
diff --git a/ui/src/frontend/flamegraph_panel.ts b/ui/src/frontend/flamegraph_panel.ts
index e32286f..915bd94 100644
--- a/ui/src/frontend/flamegraph_panel.ts
+++ b/ui/src/frontend/flamegraph_panel.ts
@@ -16,6 +16,7 @@
 
 import {findRef} from '../base/dom_utils';
 import {assertExists, assertTrue} from '../base/logging';
+import {Time} from '../base/time';
 import {Actions} from '../common/actions';
 import {
   ALLOC_SPACE_MEMORY_ALLOCATED_KEY,
@@ -29,7 +30,6 @@
   FlamegraphStateViewingOption,
   ProfileType,
 } from '../common/state';
-import {Time} from '../common/time';
 import {profileType} from '../controller/flamegraph_controller';
 import {raf} from '../core/raf_scheduler';
 
diff --git a/ui/src/frontend/flow_events_renderer.ts b/ui/src/frontend/flow_events_renderer.ts
index 3270d7e..4d49c1a 100644
--- a/ui/src/frontend/flow_events_renderer.ts
+++ b/ui/src/frontend/flow_events_renderer.ts
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-import {time} from '../common/time';
+import {time} from '../base/time';
 
 import {TRACK_SHELL_WIDTH} from './css_constants';
 import {ALL_CATEGORIES, getFlowCategories} from './flow_events_panel';
diff --git a/ui/src/frontend/frontend_local_state.ts b/ui/src/frontend/frontend_local_state.ts
index 14ad7f3..d9d36d9 100644
--- a/ui/src/frontend/frontend_local_state.ts
+++ b/ui/src/frontend/frontend_local_state.ts
@@ -13,6 +13,7 @@
 // limitations under the License.
 
 import {assertTrue} from '../base/logging';
+import {duration, Span, Time, time, TimeSpan} from '../base/time';
 import {Actions} from '../common/actions';
 import {
   HighPrecisionTime,
@@ -25,7 +26,6 @@
   Timestamped,
   VisibleState,
 } from '../common/state';
-import {duration, Span, Time, time, TimeSpan} from '../common/time';
 import {raf} from '../core/raf_scheduler';
 
 import {globals} from './globals';
diff --git a/ui/src/frontend/ftrace_panel.ts b/ui/src/frontend/ftrace_panel.ts
index 9939633..84e895f 100644
--- a/ui/src/frontend/ftrace_panel.ts
+++ b/ui/src/frontend/ftrace_panel.ts
@@ -14,10 +14,10 @@
 
 import m from 'mithril';
 
+import {time, Time} from '../base/time';
 import {Actions} from '../common/actions';
 import {colorForString} from '../common/colorizer';
 import {StringListPatch} from '../common/state';
-import {time, Time} from '../common/time';
 
 import {globals} from './globals';
 import {Panel} from './panel';
diff --git a/ui/src/frontend/globals.ts b/ui/src/frontend/globals.ts
index b18a383..17d8875 100644
--- a/ui/src/frontend/globals.ts
+++ b/ui/src/frontend/globals.ts
@@ -14,6 +14,13 @@
 
 import {BigintMath} from '../base/bigint_math';
 import {assertExists} from '../base/logging';
+import {
+  duration,
+  Span,
+  Time,
+  time,
+  TimeSpan,
+} from '../base/time';
 import {Actions, DeferredAction} from '../common/actions';
 import {AggregateData} from '../common/aggregation_data';
 import {Args} from '../common/arg_types';
@@ -37,15 +44,7 @@
   RESOLUTION_DEFAULT,
   State,
 } from '../common/state';
-import {
-  duration,
-  Span,
-  Time,
-  time,
-  TimeSpan,
-  TimestampFormat,
-  timestampFormat,
-} from '../common/time';
+import {TimestampFormat, timestampFormat} from '../common/timestamp_format';
 import {setPerfHooks} from '../core/perf';
 import {raf} from '../core/raf_scheduler';
 
diff --git a/ui/src/frontend/gridline_helper.ts b/ui/src/frontend/gridline_helper.ts
index b59e6af..04c24b3 100644
--- a/ui/src/frontend/gridline_helper.ts
+++ b/ui/src/frontend/gridline_helper.ts
@@ -13,7 +13,7 @@
 // limitations under the License.
 
 import {assertTrue} from '../base/logging';
-import {duration, Span, time, Time} from '../common/time';
+import {duration, Span, time, Time} from '../base/time';
 
 import {TRACK_BORDER_COLOR, TRACK_SHELL_WIDTH} from './css_constants';
 import {globals} from './globals';
diff --git a/ui/src/frontend/gridline_helper_unittest.ts b/ui/src/frontend/gridline_helper_unittest.ts
index 109d643..989595f 100644
--- a/ui/src/frontend/gridline_helper_unittest.ts
+++ b/ui/src/frontend/gridline_helper_unittest.ts
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-import {Time, TimeSpan} from '../common/time';
+import {Time, TimeSpan} from '../base/time';
 
 import {getPattern, TickGenerator, TickType} from './gridline_helper';
 
diff --git a/ui/src/frontend/logs_panel.ts b/ui/src/frontend/logs_panel.ts
index 6c895b3..d1c981c 100644
--- a/ui/src/frontend/logs_panel.ts
+++ b/ui/src/frontend/logs_panel.ts
@@ -14,6 +14,7 @@
 
 import m from 'mithril';
 
+import {time, Time} from '../base/time';
 import {Actions} from '../common/actions';
 import {HighPrecisionTimeSpan} from '../common/high_precision_time';
 import {
@@ -22,7 +23,6 @@
   LogEntries,
   LogEntriesKey,
 } from '../common/logs';
-import {time, Time} from '../common/time';
 import {raf} from '../core/raf_scheduler';
 
 import {SELECTED_LOG_ROWS_COLOR} from './css_constants';
diff --git a/ui/src/frontend/notes_panel.ts b/ui/src/frontend/notes_panel.ts
index ab22447..362a1ae 100644
--- a/ui/src/frontend/notes_panel.ts
+++ b/ui/src/frontend/notes_panel.ts
@@ -14,10 +14,10 @@
 
 import m from 'mithril';
 
+import {Time} from '../base/time';
 import {Actions} from '../common/actions';
 import {randomColor} from '../common/colorizer';
 import {AreaNote, Note} from '../common/state';
-import {Time} from '../common/time';
 import {raf} from '../core/raf_scheduler';
 
 import {
diff --git a/ui/src/frontend/overview_timeline_panel.ts b/ui/src/frontend/overview_timeline_panel.ts
index 08edf02..852d694 100644
--- a/ui/src/frontend/overview_timeline_panel.ts
+++ b/ui/src/frontend/overview_timeline_panel.ts
@@ -14,15 +14,14 @@
 
 import m from 'mithril';
 
-import {hueForCpu} from '../common/colorizer';
 import {
   duration,
   Span,
   Time,
   time,
-  TimestampFormat,
-  timestampFormat,
-} from '../common/time';
+} from '../base/time';
+import {hueForCpu} from '../common/colorizer';
+import {timestampFormat, TimestampFormat} from '../common/timestamp_format';
 
 import {
   OVERVIEW_TIMELINE_NON_VISIBLE_COLOR,
diff --git a/ui/src/frontend/query_table.ts b/ui/src/frontend/query_table.ts
index b5d33dd..7849b49 100644
--- a/ui/src/frontend/query_table.ts
+++ b/ui/src/frontend/query_table.ts
@@ -16,10 +16,10 @@
 import m from 'mithril';
 
 import {BigintMath} from '../base/bigint_math';
+import {Duration, Time} from '../base/time';
 import {Actions} from '../common/actions';
 import {QueryResponse} from '../common/queries';
 import {Row} from '../common/query_result';
-import {Duration, Time} from '../common/time';
 
 import {Anchor} from './anchor';
 import {copyToClipboard, queryResponseToClipboard} from './clipboard';
diff --git a/ui/src/frontend/scroll_helper.ts b/ui/src/frontend/scroll_helper.ts
index 6c3217c..38c5eb4 100644
--- a/ui/src/frontend/scroll_helper.ts
+++ b/ui/src/frontend/scroll_helper.ts
@@ -12,13 +12,13 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+import {time} from '../base/time';
 import {Actions} from '../common/actions';
 import {
   HighPrecisionTime,
   HighPrecisionTimeSpan,
 } from '../common/high_precision_time';
 import {getContainingTrackId} from '../common/state';
-import {time} from '../common/time';
 
 import {globals} from './globals';
 
diff --git a/ui/src/frontend/slice.ts b/ui/src/frontend/slice.ts
index c8df8ba..4269187 100644
--- a/ui/src/frontend/slice.ts
+++ b/ui/src/frontend/slice.ts
@@ -12,8 +12,8 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+import {duration, time} from '../base/time';
 import {Color} from '../common/colorizer';
-import {duration, time} from '../common/time';
 
 export interface Slice {
   // These properties are updated only once per query result when the Slice
diff --git a/ui/src/frontend/slice_details.ts b/ui/src/frontend/slice_details.ts
index 0c5993a..16075cf 100644
--- a/ui/src/frontend/slice_details.ts
+++ b/ui/src/frontend/slice_details.ts
@@ -16,8 +16,8 @@
 
 import {BigintMath} from '../base/bigint_math';
 import {sqliteString} from '../base/string_utils';
+import {Duration, duration, time} from '../base/time';
 import {exists} from '../base/utils';
-import {Duration, duration, time} from '../common/time';
 
 import {Anchor} from './anchor';
 import {addTab} from './bottom_tab';
diff --git a/ui/src/frontend/slice_panel.ts b/ui/src/frontend/slice_panel.ts
index 3582a0d..14601b1 100644
--- a/ui/src/frontend/slice_panel.ts
+++ b/ui/src/frontend/slice_panel.ts
@@ -14,7 +14,7 @@
 
 import m from 'mithril';
 
-import {duration, time} from '../common/time';
+import {duration, time} from '../base/time';
 
 import {globals, SliceDetails} from './globals';
 import {Panel} from './panel';
diff --git a/ui/src/frontend/sql/slice.ts b/ui/src/frontend/sql/slice.ts
index d6252b1..d096723 100644
--- a/ui/src/frontend/sql/slice.ts
+++ b/ui/src/frontend/sql/slice.ts
@@ -15,6 +15,7 @@
 import m from 'mithril';
 
 import {BigintMath} from '../../base/bigint_math';
+import {duration, Time, time} from '../../base/time';
 import {exists} from '../../base/utils';
 import {Actions} from '../../common/actions';
 import {EngineProxy} from '../../common/engine';
@@ -25,7 +26,6 @@
   STR,
   STR_NULL,
 } from '../../common/query_result';
-import {duration, Time, time} from '../../common/time';
 import {Anchor} from '../anchor';
 import {globals} from '../globals';
 import {focusHorizontalRange, verticalScrollToTrack} from '../scroll_helper';
diff --git a/ui/src/frontend/sql_table/render_cell.ts b/ui/src/frontend/sql_table/render_cell.ts
index 75cdc66..19c0b28 100644
--- a/ui/src/frontend/sql_table/render_cell.ts
+++ b/ui/src/frontend/sql_table/render_cell.ts
@@ -15,8 +15,8 @@
 import m from 'mithril';
 
 import {sqliteString} from '../../base/string_utils';
+import {duration, Duration, Time} from '../../base/time';
 import {Row, SqlValue} from '../../common/query_result';
-import {duration, Duration, Time} from '../../common/time';
 import {Anchor} from '../anchor';
 import {copyToClipboard} from '../clipboard';
 import {Icons} from '../semantic_icons';
diff --git a/ui/src/frontend/sql_types.ts b/ui/src/frontend/sql_types.ts
index e769611..d34c7ee 100644
--- a/ui/src/frontend/sql_types.ts
+++ b/ui/src/frontend/sql_types.ts
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-import {Brand} from './brand';
+import {Brand} from '../base/brand';
 
 // Type-safe aliases for various flavours of ints Trace Processor exposes
 // (e.g. timestamp or ids into a given SQL table) and functions to work with
diff --git a/ui/src/frontend/thread_state.ts b/ui/src/frontend/thread_state.ts
index eb96432..d2b6ff5 100644
--- a/ui/src/frontend/thread_state.ts
+++ b/ui/src/frontend/thread_state.ts
@@ -14,15 +14,15 @@
 
 import m from 'mithril';
 
-import {Actions} from '../common/actions';
-import {EngineProxy} from '../common/engine';
-import {LONG, NUM, NUM_NULL, STR_NULL} from '../common/query_result';
-import {translateState} from '../common/thread_state';
 import {
   duration,
   Time,
   time,
-} from '../common/time';
+} from '../base/time';
+import {Actions} from '../common/actions';
+import {EngineProxy} from '../common/engine';
+import {LONG, NUM, NUM_NULL, STR_NULL} from '../common/query_result';
+import {translateState} from '../common/thread_state';
 
 import {Anchor} from './anchor';
 import {globals} from './globals';
diff --git a/ui/src/frontend/thread_state_tab.ts b/ui/src/frontend/thread_state_tab.ts
index c68530e..6745a46 100644
--- a/ui/src/frontend/thread_state_tab.ts
+++ b/ui/src/frontend/thread_state_tab.ts
@@ -14,8 +14,8 @@
 
 import m from 'mithril';
 
+import {Duration, time} from '../base/time';
 import {runQuery} from '../common/queries';
-import {Duration, time} from '../common/time';
 import {raf} from '../core/raf_scheduler';
 import {addDebugTrack} from '../tracks/debug/slice_track';
 
@@ -252,7 +252,7 @@
       'state',
       'blocked_function',
       'height',
-      'table_name'
+      'table_name',
     ];
 
     const sliceColumnSliceNames = [
diff --git a/ui/src/frontend/tickmark_panel.ts b/ui/src/frontend/tickmark_panel.ts
index 51bfc6e..9390c7f 100644
--- a/ui/src/frontend/tickmark_panel.ts
+++ b/ui/src/frontend/tickmark_panel.ts
@@ -14,7 +14,7 @@
 
 import m from 'mithril';
 
-import {Time} from '../common/time';
+import {Time} from '../base/time';
 
 import {TRACK_SHELL_WIDTH} from './css_constants';
 import {globals} from './globals';
diff --git a/ui/src/frontend/time_axis_panel.ts b/ui/src/frontend/time_axis_panel.ts
index e5ca40e..e76f837 100644
--- a/ui/src/frontend/time_axis_panel.ts
+++ b/ui/src/frontend/time_axis_panel.ts
@@ -17,9 +17,8 @@
 import {
   Time,
   time,
-  TimestampFormat,
-  timestampFormat,
-} from '../common/time';
+} from '../base/time';
+import {TimestampFormat, timestampFormat} from '../common/timestamp_format';
 
 import {TRACK_SHELL_WIDTH} from './css_constants';
 import {globals} from './globals';
diff --git a/ui/src/frontend/time_scale.ts b/ui/src/frontend/time_scale.ts
index 3981ded..8710d13 100644
--- a/ui/src/frontend/time_scale.ts
+++ b/ui/src/frontend/time_scale.ts
@@ -13,11 +13,11 @@
 // limitations under the License.
 
 import {assertTrue} from '../base/logging';
+import {duration, Span, time} from '../base/time';
 import {
   HighPrecisionTime,
   HighPrecisionTimeSpan,
 } from '../common/high_precision_time';
-import {duration, Span, time} from '../common/time';
 
 export class TimeScale {
   private _start: HighPrecisionTime;
diff --git a/ui/src/frontend/time_scale_unittest.ts b/ui/src/frontend/time_scale_unittest.ts
index e0a3eac..519cbba 100644
--- a/ui/src/frontend/time_scale_unittest.ts
+++ b/ui/src/frontend/time_scale_unittest.ts
@@ -12,8 +12,8 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+import {Time} from '../base/time';
 import {HighPrecisionTime} from '../common/high_precision_time';
-import {Time} from '../common/time';
 
 import {PxSpan, TimeScale} from './time_scale';
 
diff --git a/ui/src/frontend/time_selection_panel.ts b/ui/src/frontend/time_selection_panel.ts
index ea4dacd..4e4fdbd 100644
--- a/ui/src/frontend/time_selection_panel.ts
+++ b/ui/src/frontend/time_selection_panel.ts
@@ -21,9 +21,8 @@
   time,
   Time,
   TimeSpan,
-  TimestampFormat,
-  timestampFormat,
-} from '../common/time';
+} from '../base/time';
+import {timestampFormat, TimestampFormat} from '../common/timestamp_format';
 
 import {
   BACKGROUND_COLOR,
diff --git a/ui/src/frontend/trace_converter.ts b/ui/src/frontend/trace_converter.ts
index f1c9b25..97acbd4 100644
--- a/ui/src/frontend/trace_converter.ts
+++ b/ui/src/frontend/trace_converter.ts
@@ -12,12 +12,12 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+import {time} from '../base/time';
 import {Actions} from '../common/actions';
 import {
   ConversionJobName,
   ConversionJobStatus,
 } from '../common/conversion_jobs';
-import {time} from '../common/time';
 
 import {download} from './clipboard';
 import {maybeShowErrorDialog} from './error_dialog';
diff --git a/ui/src/frontend/track.ts b/ui/src/frontend/track.ts
index 2f4e87b..b39ac7c 100644
--- a/ui/src/frontend/track.ts
+++ b/ui/src/frontend/track.ts
@@ -15,9 +15,9 @@
 import m from 'mithril';
 
 import {assertExists} from '../base/logging';
+import {duration, Span, time} from '../base/time';
 import {EngineProxy} from '../common/engine';
 import {TrackState} from '../common/state';
-import {duration, Span, time} from '../common/time';
 import {TrackData} from '../common/track_data';
 import {TrackLike} from '../public';
 
diff --git a/ui/src/frontend/track_cache.ts b/ui/src/frontend/track_cache.ts
index f253711..63d0939 100644
--- a/ui/src/frontend/track_cache.ts
+++ b/ui/src/frontend/track_cache.ts
@@ -14,7 +14,7 @@
 
 import {BigintMath} from '../base/bigint_math';
 import {assertTrue} from '../base/logging';
-import {duration, time, Time} from '../common/time';
+import {duration, time, Time} from '../base/time';
 
 export const BUCKETS_PER_PIXEL = 2;
 
diff --git a/ui/src/frontend/track_cache_unittest.ts b/ui/src/frontend/track_cache_unittest.ts
index 26e4e30..b3a273e 100644
--- a/ui/src/frontend/track_cache_unittest.ts
+++ b/ui/src/frontend/track_cache_unittest.ts
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-import {Time} from '../common/time';
+import {Time} from '../base/time';
 
 import {CacheKey, TrackCache} from './track_cache';
 
diff --git a/ui/src/frontend/track_panel.ts b/ui/src/frontend/track_panel.ts
index 3263965..0bef093 100644
--- a/ui/src/frontend/track_panel.ts
+++ b/ui/src/frontend/track_panel.ts
@@ -15,11 +15,11 @@
 import {hex} from 'color-convert';
 import m from 'mithril';
 
+import {duration, Span, time} from '../base/time';
 import {Actions} from '../common/actions';
 import {pluginManager} from '../common/plugins';
 import {RegistryError} from '../common/registry';
 import {TrackState} from '../common/state';
-import {duration, Span, time} from '../common/time';
 import {raf} from '../core/raf_scheduler';
 import {TrackLike} from '../public';
 
diff --git a/ui/src/frontend/vertical_line_helper.ts b/ui/src/frontend/vertical_line_helper.ts
index 1a0c47f..1dc926b 100644
--- a/ui/src/frontend/vertical_line_helper.ts
+++ b/ui/src/frontend/vertical_line_helper.ts
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-import {time} from '../common/time';
+import {time} from '../base/time';
 
 import {TRACK_SHELL_WIDTH} from './css_constants';
 import {TimeScale} from './time_scale';
diff --git a/ui/src/frontend/viewer_page.ts b/ui/src/frontend/viewer_page.ts
index 68c6d7e..2f3a2c6 100644
--- a/ui/src/frontend/viewer_page.ts
+++ b/ui/src/frontend/viewer_page.ts
@@ -15,9 +15,9 @@
 import m from 'mithril';
 
 import {clamp} from '../base/math_utils';
+import {Time} from '../base/time';
 import {Actions} from '../common/actions';
 import {featureFlags} from '../common/feature_flags';
-import {Time} from '../common/time';
 import {raf} from '../core/raf_scheduler';
 
 import {TRACK_SHELL_WIDTH} from './css_constants';
diff --git a/ui/src/frontend/widgets/duration.ts b/ui/src/frontend/widgets/duration.ts
index 1b85fbb..b8a16eb 100644
--- a/ui/src/frontend/widgets/duration.ts
+++ b/ui/src/frontend/widgets/duration.ts
@@ -14,7 +14,7 @@
 
 import m from 'mithril';
 
-import {Duration, duration} from '../../common/time';
+import {Duration, duration} from '../../base/time';
 
 interface DurationWidgetAttrs {
   dur: duration;
diff --git a/ui/src/frontend/widgets/timestamp.ts b/ui/src/frontend/widgets/timestamp.ts
index 441c222..aeadaa4 100644
--- a/ui/src/frontend/widgets/timestamp.ts
+++ b/ui/src/frontend/widgets/timestamp.ts
@@ -14,13 +14,9 @@
 
 import m from 'mithril';
 
+import {time, Time} from '../../base/time';
 import {Actions} from '../../common/actions';
-import {
-  time,
-  Time,
-  TimestampFormat,
-  timestampFormat,
-} from '../../common/time';
+import {TimestampFormat, timestampFormat} from '../../common/timestamp_format';
 import {Anchor} from '../anchor';
 import {copyToClipboard} from '../clipboard';
 import {globals} from '../globals';