diff --git a/src/presentation/templates/index.html b/src/presentation/templates/index.html
index e105055..ed6ca6f 100644
--- a/src/presentation/templates/index.html
+++ b/src/presentation/templates/index.html
@@ -20,7 +20,7 @@
-
+
@@ -165,9 +165,12 @@
}
const end = new Date();
- const start = new Date();
- const offsetDays = preset === 'last7' ? 6 : 2;
- start.setDate(end.getDate() - offsetDays);
+ const start = new Date(end);
+
+ if (preset === 'last7') {
+ start.setDate(end.getDate() - 6);
+ }
+
return {
startDate: toDateInput(start),
endDate: toDateInput(end)
@@ -179,9 +182,9 @@
return 'all';
}
- const last3 = buildDatePresetRange('last3');
- if (startDate === last3.startDate && endDate === last3.endDate) {
- return 'last3';
+ const today = buildDatePresetRange('today');
+ if (startDate === today.startDate && endDate === today.endDate) {
+ return 'today';
}
const last7 = buildDatePresetRange('last7');
@@ -749,7 +752,7 @@
}
function setDefaultDateRange() {
- const defaultRange = buildDatePresetRange('last3');
+ const defaultRange = buildDatePresetRange('today');
document.getElementById('startDate').value = defaultRange.startDate;
document.getElementById('endDate').value = defaultRange.endDate;
currentFilters = {
diff --git a/tests/test_dashboard_defaults.py b/tests/test_dashboard_defaults.py
new file mode 100644
index 0000000..999c8d9
--- /dev/null
+++ b/tests/test_dashboard_defaults.py
@@ -0,0 +1,41 @@
+import unittest
+from pathlib import Path
+
+from flask import Flask, render_template
+
+
+class DashboardDefaultDateRangeTests(unittest.TestCase):
+ def setUp(self) -> None:
+ presentation_root = Path(__file__).resolve().parents[1] / "src" / "presentation"
+ self.app = Flask(
+ __name__,
+ template_folder=str(presentation_root / "templates"),
+ static_folder=str(presentation_root / "static"),
+ static_url_path="/static",
+ )
+
+ def render_dashboard(self) -> str:
+ with self.app.app_context():
+ return render_template(
+ "index.html",
+ active_page="index",
+ current_username="",
+ auth_enabled=False,
+ )
+
+ def test_dashboard_shows_today_preset_button(self) -> None:
+ html = self.render_dashboard()
+
+ self.assertIn('data-date-preset="today"', html)
+ self.assertIn("今天", html)
+ self.assertNotIn("近3天", html)
+
+ def test_dashboard_defaults_date_range_to_today(self) -> None:
+ html = self.render_dashboard()
+
+ self.assertIn("const defaultRange = buildDatePresetRange('today');", html)
+ self.assertNotIn("const defaultRange = buildDatePresetRange('last3');", html)
+
+
+if __name__ == "__main__":
+ unittest.main()