Fix stats reporting. Add Vite compatibility

This commit is contained in:
2025-11-04 16:16:50 +01:00
parent aa29de9029
commit e54dc2dbd7
21 changed files with 1060 additions and 361 deletions

View File

@@ -40,7 +40,7 @@ let chart_timespans = [
]
let total_downloads = $state(0)
let total_transfer = $state(0)
let total_egress = $state(0)
let update_chart = async (base: FSNode, timespan: number, interval: number) => {
if (chart === undefined) {
@@ -106,10 +106,9 @@ let update_chart = async (base: FSNode, timespan: number, interval: number) => {
});
total_downloads = 0
total_transfer = 0
total_egress = 0
resp.downloads.amounts.forEach(val => total_downloads += val);
resp.transfer_free.amounts.forEach((val) => total_transfer += val);
resp.transfer_paid.amounts.forEach((val) => total_transfer += val);
resp.egress.amounts.forEach((val) => total_egress += val);
c.data.labels = resp.downloads.timestamps
c.data.datasets = [
@@ -117,25 +116,17 @@ let update_chart = async (base: FSNode, timespan: number, interval: number) => {
label: "Downloads",
borderWidth: 2,
pointRadius: 0,
borderColor: color_by_name("chart_1_color"),
backgroundColor: color_by_name("chart_1_color"),
borderColor: color_by_name("highlight_color"),
backgroundColor: color_by_name("highlight_color"),
data: resp.downloads.amounts,
}, {
label: "Free transfer",
label: "Egress",
borderWidth: 2,
pointRadius: 0,
borderColor: color_by_name("chart_2_color"),
backgroundColor: color_by_name("chart_2_color"),
borderColor: color_by_name("danger_color"),
backgroundColor: color_by_name("danger_color"),
yAxisID: "y1",
data: resp.transfer_free.amounts,
}, {
label: "Premium transfer",
borderWidth: 2,
pointRadius: 0,
borderColor: color_by_name("chart_3_color"),
backgroundColor: color_by_name("chart_3_color"),
yAxisID: "y1",
data: resp.transfer_paid.amounts,
data: resp.egress.amounts,
},
];
chart.update()
@@ -201,11 +192,11 @@ run(() => {
<td>{formatThousands(total_downloads)} (unique, counted once per IP)</td>
</tr>
<tr>
<td>Transfer used</td>
<td>Egress bandwidth</td>
<td>
{formatDataVolume(total_transfer, 4)}
( {formatThousands(total_transfer)} B ),
{(total_transfer/$nav.base.file_size).toFixed(1)}x file size
{formatDataVolume(total_egress, 4)}
( {formatThousands(total_egress)} B ),
{(total_egress/$nav.base.file_size).toFixed(1)}x file size
</td>
</tr>
<tr><td>SHA256 sum</td><td>{$nav.base.sha256_sum}</td></tr>