diff --git a/web/src/components/ui/AppDateTimeRangePicker.vue b/web/src/components/ui/AppDateTimeRangePicker.vue
index e8ab2b198..0a027b139 100644
--- a/web/src/components/ui/AppDateTimeRangePicker.vue
+++ b/web/src/components/ui/AppDateTimeRangePicker.vue
@@ -13,20 +13,19 @@ import {
import AppButton from './AppButton.vue'
import AppPopover from './AppPopover.vue'
import FormField from './FormField.vue'
-import OverflowTooltip from './OverflowTooltip.vue'
const props = defineProps<{
from: string
to: string
appliedFrom?: string
appliedTo?: string
+ appliedPreset?: DateTimePreset
label: string
fromLabel: string
toLabel: string
fromError?: string
toError?: string
preset?: DateTimePreset
- rollingEndOffsetMs?: number
applyLabel?: string
applyDisabled?: boolean
}>()
@@ -42,10 +41,18 @@ const { t } = useI18n()
const open = ref(false)
const fieldID = useId()
-const display = computed(
+const rangeDisplay = computed(
() =>
`${displayValue(props.appliedFrom ?? props.from)} → ${displayValue(props.appliedTo ?? props.to)}`,
)
+const display = computed(() => {
+ const preset = props.appliedPreset
+ if (!preset) return rangeDisplay.value
+ if (preset === 'today' || preset === 'yesterday') {
+ return t(`monitor.logs.filters.quick.${preset}`)
+ }
+ return t(`monitor.logs.filters.quickDisplay.${preset}`)
+})
function changeOpen(value: boolean): void {
open.value = value
@@ -74,7 +81,7 @@ function updateLocalInput(field: 'from' | 'to', value: string): void {
function selectShortcut(preset: DateTimePreset): void {
const now = Math.floor(Date.now() / 1000) * 1000
- const range = resolveDateTimePreset(preset, now, props.rollingEndOffsetMs ?? 24 * 60 * 60 * 1000)
+ const range = resolveDateTimePreset(preset, now)
emit('update:from', localDateTimeInput(range.from_ms))
emit('update:to', localDateTimeInput(range.to_ms))
emit('update:preset', preset)
@@ -84,6 +91,7 @@ function selectShortcut(preset: DateTimePreset): void {
function apply(): void {
if (props.applyDisabled) return
+ emit('update:preset', undefined)
emit('apply')
open.value = false
}
@@ -103,14 +111,13 @@ function apply(): void {
-
- {{ display }}
-
+ {{ display }}
@@ -192,12 +199,16 @@ function apply(): void {
.app-date-range__trigger > span {
overflow: hidden;
- font-family: var(--font-mono);
text-overflow: ellipsis;
white-space: nowrap;
}
+.app-date-range__trigger--custom > span {
+ font-family: var(--font-mono);
+}
+
.app-date-range-popover {
+ --date-range-control-height: var(--control-xs);
width: min(420px, var(--reka-popover-content-available-width));
padding: 14px;
}
@@ -230,12 +241,14 @@ function apply(): void {
}
.app-date-range__end-controls .app-date-range__apply {
- min-height: var(--control-xs);
+ min-height: var(--date-range-control-height);
+ height: var(--date-range-control-height);
}
.app-date-range__fields {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
+ align-items: start;
gap: 10px;
padding-top: 12px;
}
@@ -269,7 +282,8 @@ function apply(): void {
display: flex;
width: 100%;
min-width: 0;
- min-height: var(--control-xs);
+ min-height: var(--date-range-control-height);
+ height: var(--date-range-control-height);
align-items: center;
overflow: hidden;
border: 1px solid var(--color-border-control);
@@ -278,22 +292,11 @@ function apply(): void {
color: var(--color-text);
}
-.app-date-range__input-value {
- min-width: 0;
- overflow: hidden;
- padding: 0 10px;
- font-family: var(--font-mono);
- font-size: var(--text-meta);
- font-variant-numeric: tabular-nums;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
.app-date-range__native-input {
position: static !important;
width: 100% !important;
- height: var(--control-xs) !important;
- min-height: var(--control-xs) !important;
+ height: 100% !important;
+ min-height: 0 !important;
border: 0 !important;
border-radius: inherit !important;
background: transparent !important;
@@ -312,6 +315,10 @@ function apply(): void {
}
@media (max-width: 560px) {
+ .app-date-range-popover {
+ --date-range-control-height: var(--touch-target);
+ }
+
.app-date-range__trigger {
width: 100%;
max-width: none;
diff --git a/web/src/features/access-keys/AccessKeySelect.vue b/web/src/features/access-keys/AccessKeySelect.vue
index 1814dc389..9be6f094e 100644
--- a/web/src/features/access-keys/AccessKeySelect.vue
+++ b/web/src/features/access-keys/AccessKeySelect.vue
@@ -51,13 +51,14 @@ function choose(id?: number): void {
{{ selectedLabel }}
-
+
@@ -90,12 +91,34 @@ function choose(id?: number): void {