Skip to content

Commit 7a5a819

Browse files
lihz1990kongfang
andauthored
stats: optimize chart time range and chart label color (#37)
Co-authored-by: kongfang <kongfang@xnow.me>
1 parent 7e996aa commit 7a5a819

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

internal/controller/http/web/stats.go

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/gin-gonic/gin"
99
"github.com/vanadium23/kompanion/internal/stats"
1010
"github.com/vanadium23/kompanion/pkg/logger"
11+
"github.com/wcharczuk/go-chart/v2"
1112
charts "github.com/wcharczuk/go-chart/v2"
1213
)
1314

@@ -64,6 +65,9 @@ func generateDailyStatsChart(stats []stats.DailyStats) ([]byte, error) {
6465
}
6566
return ""
6667
},
68+
NameStyle: charts.Style{
69+
FontColor: chart.GetDefaultColor(0),
70+
},
6771
Range: &charts.ContinuousRange{
6872
Min: 0.0,
6973
Max: maxPages,
@@ -103,6 +107,9 @@ func generateDailyStatsChart(stats []stats.DailyStats) ([]byte, error) {
103107
Min: 0.0,
104108
Max: maxDuration,
105109
},
110+
NameStyle: charts.Style{
111+
FontColor: chart.GetDefaultColor(1),
112+
},
106113
},
107114
Width: 800,
108115
Height: 400,
@@ -119,10 +126,11 @@ func generateDailyStatsChart(stats []stats.DailyStats) ([]byte, error) {
119126

120127
func newStatsRoutes(handler *gin.RouterGroup, stats stats.ReadingStats, l logger.Interface) {
121128
handler.GET("/", func(c *gin.Context) {
122-
// Get date range from query params, default to current month
129+
// Get date range from query params, default: a month ago to current day
123130
now := time.Now()
124-
from := time.Date(now.Year(), now.Month(), 1, 0, 0, 0, 0, time.Local)
125-
to := from.AddDate(0, 1, 0).Add(-time.Second)
131+
from := now.AddDate(0, -1, 0)
132+
from = time.Date(from.Year(), from.Month(), from.Day(), 0, 0, 0, 0, time.Local)
133+
to := from.AddDate(0, 1, 1).Add(-time.Second)
126134

127135
// Parse from and to dates if provided
128136
if fromStr := c.Query("from"); fromStr != "" {
@@ -153,10 +161,11 @@ func newStatsRoutes(handler *gin.RouterGroup, stats stats.ReadingStats, l logger
153161
})
154162

155163
handler.GET("/chart", func(c *gin.Context) {
156-
// Get date range from query params, default to current month
164+
// Get date range from query params, default: a month ago to current day
157165
now := time.Now()
158-
from := time.Date(now.Year(), now.Month(), 1, 0, 0, 0, 0, time.Local)
159-
to := from.AddDate(0, 1, 0).Add(-time.Second)
166+
from := now.AddDate(0, -1, 0)
167+
from = time.Date(from.Year(), from.Month(), from.Day(), 0, 0, 0, 0, time.Local)
168+
to := from.AddDate(0, 1, 1).Add(-time.Second)
160169

161170
// Parse from and to dates if provided
162171
if fromStr := c.Query("from"); fromStr != "" {

0 commit comments

Comments
 (0)