-
-
+
+
+
-
- {{ item.title ?? item.filename }}
-
-
- Disabled
-
+
+
+ {{ item.title ?? item.filename }}
+
+
+
+
+
+
+ by {{ item.creator.name }}
+
+
+
+
-
-
-
-
- {{ item.creator.name }}
-
-
-
@@ -83,7 +84,7 @@ const emit = defineEmits(['update:selected'])
{{ item.filename }}
-
diff --git a/packages/ui/src/components/content/ContentListPanel.vue b/packages/ui/src/components/content/ContentListPanel.vue
index 0efb4badb..f58cc17f2 100644
--- a/packages/ui/src/components/content/ContentListPanel.vue
+++ b/packages/ui/src/components/content/ContentListPanel.vue
@@ -6,6 +6,8 @@ import { type ContentItem } from './ContentListItem.vue'
import {
DropdownIcon,
} from '@modrinth/assets'
+// @ts-ignore
+import { RecycleScroller } from 'vue-virtual-scroller'
defineProps<{
items: ContentItem
[]
@@ -27,26 +29,36 @@ function setSelected(filename: string, value: boolean) {
-
+
-
-
+
+
Name
-
Owner
Updated
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
diff --git a/packages/ui/src/components/index.ts b/packages/ui/src/components/index.ts
index 9e7f1f317..b27dd9b43 100644
--- a/packages/ui/src/components/index.ts
+++ b/packages/ui/src/components/index.ts
@@ -14,6 +14,7 @@ export { default as DropArea } from './base/DropArea.vue'
export { default as DropdownSelect } from './base/DropdownSelect.vue'
export { default as EnvironmentIndicator } from './base/EnvironmentIndicator.vue'
export { default as FileInput } from './base/FileInput.vue'
+export { default as LoadingIndicator } from './base/LoadingIndicator.vue'
export { default as ManySelect } from './base/ManySelect.vue'
export { default as MarkdownEditor } from './base/MarkdownEditor.vue'
export { default as Notifications } from './base/Notifications.vue'