From ceef757fcc804a40dec0bacd4ce406fa67b1101b Mon Sep 17 00:00:00 2001
From: Rshig <90143161+rshigg@users.noreply.github.com>
Date: Thu, 29 Jan 2026 18:00:27 -0500
Subject: [PATCH 1/2] feat: add collapsible sections to the package page
---
app/components/CollapsibleSection.vue | 81 ++
app/components/PackageAccessControlsList.vue | 309 ++++++++
app/components/PackageDependenciesList.vue | 66 ++
.../PackageDownloadStatsContent.vue | 225 ++++++
app/components/PackageInstallScriptsList.vue | 108 +++
app/components/PackageMaintainersList.vue | 243 ++++++
.../PackageOptionalDependenciesList.vue | 56 ++
.../PackagePeerDependenciesList.vue | 75 ++
app/components/PackagePlaygroundsList.vue | 186 +++++
app/components/PackageVersionsList.vue | 724 ++++++++++++++++++
app/pages/[...package].vue | 259 ++++---
11 files changed, 2228 insertions(+), 104 deletions(-)
create mode 100644 app/components/CollapsibleSection.vue
create mode 100644 app/components/PackageAccessControlsList.vue
create mode 100644 app/components/PackageDependenciesList.vue
create mode 100644 app/components/PackageDownloadStatsContent.vue
create mode 100644 app/components/PackageInstallScriptsList.vue
create mode 100644 app/components/PackageMaintainersList.vue
create mode 100644 app/components/PackageOptionalDependenciesList.vue
create mode 100644 app/components/PackagePeerDependenciesList.vue
create mode 100644 app/components/PackagePlaygroundsList.vue
create mode 100644 app/components/PackageVersionsList.vue
diff --git a/app/components/CollapsibleSection.vue b/app/components/CollapsibleSection.vue
new file mode 100644
index 000000000..06bd5db31
--- /dev/null
+++ b/app/components/CollapsibleSection.vue
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
diff --git a/app/components/PackageAccessControlsList.vue b/app/components/PackageAccessControlsList.vue
new file mode 100644
index 000000000..418efe239
--- /dev/null
+++ b/app/components/PackageAccessControlsList.vue
@@ -0,0 +1,309 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ error }}
+
+
+
+
+
+
+ {{ $t('package.access.no_access') }}
+
+
+
+
+
+
+
diff --git a/app/components/PackageDependenciesList.vue b/app/components/PackageDependenciesList.vue
new file mode 100644
index 000000000..e71ebb41e
--- /dev/null
+++ b/app/components/PackageDependenciesList.vue
@@ -0,0 +1,66 @@
+
+
+
+
+
+ -
+
+ {{ dep }}
+
+
+
+
+
+
+ {{ version }}
+
+
+ ({{ getOutdatedTooltip(outdatedDeps[dep]) }})
+
+
+
+
+
+
+
diff --git a/app/components/PackageDownloadStatsContent.vue b/app/components/PackageDownloadStatsContent.vue
new file mode 100644
index 000000000..b314075be
--- /dev/null
+++ b/app/components/PackageDownloadStatsContent.vue
@@ -0,0 +1,225 @@
+
+
+
+
+
+
+
+
+
+ {{ $t('package.downloads.modal_title') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/components/PackageInstallScriptsList.vue b/app/components/PackageInstallScriptsList.vue
new file mode 100644
index 000000000..5e737891c
--- /dev/null
+++ b/app/components/PackageInstallScriptsList.vue
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+
- {{ scriptName }}
+ -
+ {{ installScripts.content?.[scriptName] || $t('package.install_scripts.script_label') }}
+
+
+
+
+
+
+
+
+
+ -
+
+ {{ dep }}
+
+
+
+
+
+
+ {{ version }}
+
+
+
+
+
+
+
diff --git a/app/components/PackageMaintainersList.vue b/app/components/PackageMaintainersList.vue
new file mode 100644
index 000000000..9d8c2bcb0
--- /dev/null
+++ b/app/components/PackageMaintainersList.vue
@@ -0,0 +1,243 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/components/PackageOptionalDependenciesList.vue b/app/components/PackageOptionalDependenciesList.vue
new file mode 100644
index 000000000..524b093c2
--- /dev/null
+++ b/app/components/PackageOptionalDependenciesList.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
+ -
+
+ {{ dep }}
+
+
+ {{ version }}
+
+
+
+
+
+
diff --git a/app/components/PackagePeerDependenciesList.vue b/app/components/PackagePeerDependenciesList.vue
new file mode 100644
index 000000000..d5f657e55
--- /dev/null
+++ b/app/components/PackagePeerDependenciesList.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
diff --git a/app/components/PackagePlaygroundsList.vue b/app/components/PackagePlaygroundsList.vue
new file mode 100644
index 000000000..daa54cd3f
--- /dev/null
+++ b/app/components/PackagePlaygroundsList.vue
@@ -0,0 +1,186 @@
+
+
+
+
+
diff --git a/app/components/PackageVersionsList.vue b/app/components/PackageVersionsList.vue
new file mode 100644
index 000000000..04f41a9e9
--- /dev/null
+++ b/app/components/PackageVersionsList.vue
@@ -0,0 +1,724 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.primaryVersion.version }}
+
+
+
+
+
+ {{ tag }}
+
+
+
+
+
+
+
+
+
+
+ {{ v.version }}
+
+
+
+
+
+ {{ tag }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.primaryVersion.version }}
+
+
+
+
+
+
+
+ {{ tag }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ group.versions[0]?.version }}
+
+
+
+
+
+
+ {{ tag }}
+
+
+
+
+
+
+
+
+
+ {{ group.versions[0]?.version }}
+
+
+
+
+
+
+ {{ tag }}
+
+
+
+
+
+
+
+
+
+ {{ v.version }}
+
+
+
+
+
+ {{ tag }}
+
+
+
+
+
+
+
+ {{ $t('package.versions.all_covered') }}
+
+
+
+
+
diff --git a/app/pages/[...package].vue b/app/pages/[...package].vue
index 17de5aceb..56c9ae2cc 100644
--- a/app/pages/[...package].vue
+++ b/app/pages/[...package].vue
@@ -887,63 +887,32 @@ function handleClick(event: MouseEvent) {
-
-
-
-