style: fix formatting and ignore txt files

This commit is contained in:
2026-01-31 16:29:39 +00:00
parent eb77060114
commit a2cb7c639c
4 changed files with 34 additions and 9 deletions

1
.gitignore vendored
View File

@@ -12,3 +12,4 @@ TODO.md
ROADMAP*.md
docs-site/
docs/
*.txt

View File

@@ -181,9 +181,19 @@ async fn build_docker_index(storage: &Storage) -> Vec<RepoInfo> {
if let Ok(data) = storage.get(key).await {
if let Ok(m) = serde_json::from_slice::<serde_json::Value>(&data) {
let cfg = m.get("config").and_then(|c| c.get("size")).and_then(|s| s.as_u64()).unwrap_or(0);
let layers: u64 = m.get("layers").and_then(|l| l.as_array())
.map(|arr| arr.iter().filter_map(|l| l.get("size").and_then(|s| s.as_u64())).sum())
let cfg = m
.get("config")
.and_then(|c| c.get("size"))
.and_then(|s| s.as_u64())
.unwrap_or(0);
let layers: u64 = m
.get("layers")
.and_then(|l| l.as_array())
.map(|arr| {
arr.iter()
.filter_map(|l| l.get("size").and_then(|s| s.as_u64()))
.sum()
})
.unwrap_or(0);
entry.1 += cfg + layers;
}

View File

@@ -116,7 +116,13 @@ pub async fn api_stats(State(state): State<Arc<AppState>>) -> Json<RegistryStats
let _ = state.repo_index.get("pypi", &state.storage).await;
let (docker, maven, npm, cargo, pypi) = state.repo_index.counts();
Json(RegistryStats { docker, maven, npm, cargo, pypi })
Json(RegistryStats {
docker,
maven,
npm,
cargo,
pypi,
})
}
pub async fn api_dashboard(State(state): State<Arc<AppState>>) -> Json<DashboardResponse> {
@@ -135,8 +141,11 @@ pub async fn api_dashboard(State(state): State<Arc<AppState>>) -> Json<Dashboard
let pypi_size: u64 = pypi_repos.iter().map(|r| r.size).sum();
let total_storage = docker_size + maven_size + npm_size + cargo_size + pypi_size;
let total_artifacts = docker_repos.len() + maven_repos.len() + npm_repos.len()
+ cargo_repos.len() + pypi_repos.len();
let total_artifacts = docker_repos.len()
+ maven_repos.len()
+ npm_repos.len()
+ cargo_repos.len()
+ pypi_repos.len();
let global_stats = GlobalStats {
downloads: state.metrics.downloads.load(Ordering::Relaxed),

View File

@@ -2,9 +2,9 @@
// SPDX-License-Identifier: MIT
use super::api::{DashboardResponse, DockerDetail, MavenDetail, PackageDetail};
use crate::repo_index::RepoInfo;
use super::components::*;
use super::i18n::{get_translations, Lang};
use crate::repo_index::RepoInfo;
/// Renders the main dashboard page with dark theme
pub fn render_dashboard(data: &DashboardResponse, lang: Lang) -> String {
@@ -304,7 +304,8 @@ pub fn render_registry_list_paginated(
r##"<tr><td colspan="4" class="px-6 py-12 text-center text-slate-500">
<div class="text-4xl mb-2">📭</div>
<div>No more items on this page</div>
</td></tr>"##.to_string()
</td></tr>"##
.to_string()
} else {
repos
.iter()
@@ -341,7 +342,11 @@ pub fn render_registry_list_paginated(
// Pagination
let total_pages = (total + limit - 1) / limit;
let start_item = if total == 0 { 0 } else { (page - 1) * limit + 1 };
let start_item = if total == 0 {
0
} else {
(page - 1) * limit + 1
};
let end_item = (start_item + repos.len()).saturating_sub(1);
let pagination = if total_pages > 1 {