+
+ {t("settings:ui.timestampFormat.label")}
+
+ handleTimestampFormatChange(e.target.value as "12hour" | "24hour")
+ }
+ data-testid="timestamp-format-dropdown">
+
+ {t("settings:ui.timestampFormat.options.24hour")}
+
+
+ {t("settings:ui.timestampFormat.options.12hour")}
+
+
+
+
+ {t("settings:ui.timestampFormat.description")}
+
+
+ )}
diff --git a/webview-ui/src/components/settings/__tests__/UISettings.spec.tsx b/webview-ui/src/components/settings/__tests__/UISettings.spec.tsx
index 35b1668fa1..bd30219688 100644
--- a/webview-ui/src/components/settings/__tests__/UISettings.spec.tsx
+++ b/webview-ui/src/components/settings/__tests__/UISettings.spec.tsx
@@ -7,6 +7,7 @@ describe("UISettings", () => {
reasoningBlockCollapsed: false,
enterBehavior: "send" as const,
showTimestamps: false,
+ timestampFormat: "24hour" as const,
setCachedStateField: vi.fn(),
}
diff --git a/webview-ui/src/context/ExtensionStateContext.tsx b/webview-ui/src/context/ExtensionStateContext.tsx
index 12e8b0036c..85a1344957 100644
--- a/webview-ui/src/context/ExtensionStateContext.tsx
+++ b/webview-ui/src/context/ExtensionStateContext.tsx
@@ -165,6 +165,8 @@ export interface ExtensionStateContextType extends ExtensionState {
setIncludeCurrentCost: (value: boolean) => void
showTimestamps?: boolean
setShowTimestamps: (value: boolean) => void
+ timestampFormat?: "12hour" | "24hour"
+ setTimestampFormat: (value: "12hour" | "24hour") => void
}
export const ExtensionStateContext = createContext