2024-01-25 02:40:14 +00:00
|
|
|
{{ template "base" . }}
|
|
|
|
{{ define "title" }}Home{{ end }}
|
|
|
|
{{ define "header" }}<a href="./">Home</a>{{ end }}
|
|
|
|
{{ define "content" }}
|
|
|
|
<div class="flex flex-col gap-4">
|
|
|
|
<div class="w-full">
|
2024-02-02 00:00:02 +00:00
|
|
|
<div class="relative w-full bg-white shadow-lg dark:bg-gray-700 rounded">
|
|
|
|
<p class="absolute top-3 left-5 text-sm font-semibold text-gray-700 border-b border-gray-200 w-max dark:text-white dark:border-gray-500">
|
2024-01-25 02:40:14 +00:00
|
|
|
Daily Read Totals
|
|
|
|
</p>
|
|
|
|
{{ $data := (getSVGGraphData .Data.GraphData 800 70 )}}
|
2024-02-02 00:00:02 +00:00
|
|
|
<div class="relative">
|
|
|
|
<svg viewBox="26 0 755 {{ $data.Height }}"
|
|
|
|
preserveAspectRatio="none"
|
|
|
|
width="100%"
|
|
|
|
height="6em">
|
|
|
|
<!-- Bezier Line Graph -->
|
|
|
|
<path fill="#316BBE" fill-opacity="0.5" stroke="none" d="{{ $data.BezierPath }} {{ $data.BezierFill }}" />
|
|
|
|
<path fill="none" stroke="#316BBE" d="{{ $data.BezierPath }}" />
|
|
|
|
</svg>
|
|
|
|
<div class="flex absolute w-full h-full top-0"
|
|
|
|
style="width: calc(100%*31/30);
|
|
|
|
transform: translateX(-50%);
|
|
|
|
left: 50%">
|
|
|
|
{{ range $index, $item := $data.LinePoints }}
|
|
|
|
<!-- Required for iOS "Hover" Events (onclick) -->
|
|
|
|
<div onclick
|
|
|
|
class="opacity-0 hover:opacity-100 w-full"
|
|
|
|
style="background: linear-gradient(rgba(128, 128, 128, 0.5), rgba(128, 128, 128, 0.5)) no-repeat center/2px 100%">
|
|
|
|
<div class="flex flex-col items-center p-2 rounded absolute top-3 dark:text-white text-xs pointer-events-none"
|
|
|
|
style="transform: translateX(-50%);
|
|
|
|
background-color: rgba(128, 128, 128, 0.2);
|
|
|
|
left: 50%">
|
|
|
|
<span>{{ (index $.Data.GraphData $index).Date }}</span>
|
|
|
|
<span>{{ (index $.Data.GraphData $index).MinutesRead }} minutes</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{ end }}
|
|
|
|
</div>
|
|
|
|
</div>
|
2024-01-25 02:40:14 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="grid grid-cols-2 gap-4 md:grid-cols-4">
|
2024-05-26 00:04:26 +00:00
|
|
|
{{ template "component/info-card" (dict
|
|
|
|
"Title" "Documents"
|
|
|
|
"Size" .Data.DatabaseInfo.DocumentsSize
|
|
|
|
"Link" "./documents"
|
|
|
|
)}}
|
|
|
|
{{ template "component/info-card" (dict
|
|
|
|
"Title" "Activity Records"
|
|
|
|
"Size" .Data.DatabaseInfo.ActivitySize
|
|
|
|
"Link" "./activity"
|
|
|
|
)}}
|
|
|
|
{{ template "component/info-card" (dict
|
|
|
|
"Title" "Progress Records"
|
|
|
|
"Size" .Data.DatabaseInfo.ProgressSize
|
|
|
|
"Link" "./progress"
|
|
|
|
)}}
|
|
|
|
{{ template "component/info-card" (dict
|
|
|
|
"Title" "Devices"
|
|
|
|
"Size" .Data.DatabaseInfo.DevicesSize
|
|
|
|
)}}
|
2024-01-25 02:40:14 +00:00
|
|
|
</div>
|
|
|
|
<div class="grid grid-cols-1 gap-4 md:grid-cols-2">
|
|
|
|
{{ range $item := .Data.Streaks }}
|
2024-05-26 00:04:26 +00:00
|
|
|
{{ template "component/streak-card" $item }}
|
2024-01-25 02:40:14 +00:00
|
|
|
{{ end }}
|
|
|
|
</div>
|
|
|
|
<div class="grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3">
|
|
|
|
{{ template "component/leaderboard-card" (dict
|
|
|
|
"Name" "WPM"
|
|
|
|
"Data" .Data.UserStatistics.WPM
|
|
|
|
)}}
|
|
|
|
{{ template "component/leaderboard-card" (dict
|
|
|
|
"Name" "Duration"
|
|
|
|
"Data" .Data.UserStatistics.Duration
|
|
|
|
)}}
|
|
|
|
{{ template "component/leaderboard-card" (dict
|
|
|
|
"Name" "Words"
|
|
|
|
"Data" .Data.UserStatistics.Words
|
|
|
|
)}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{ end }}
|