@pitcher/canvas-ui 2026.1.13-135930-beta → 2026.1.13-141745-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/canvas-ui.js CHANGED
@@ -109586,9 +109586,11 @@ const _sfc_main$4U = /* @__PURE__ */ defineComponent({
109586
109586
  function filterByItemVisibility(items) {
109587
109587
  const isAdmin = state$3.appName.value === "admin";
109588
109588
  return items.reduce((acc, item) => {
109589
+ const hasCountData = "files_count" in item || "folders_count" in item || "available_files_count" in item || "available_folders_count" in item;
109589
109590
  const filesCount = item.available_files_count ?? item.files_count ?? 0;
109590
109591
  const foldersCount = item.available_folders_count ?? item.folders_count ?? 0;
109591
- const shouldHideItem = item.name?.startsWith(".") || item.type == "folder" && filesCount === 0 && foldersCount === 0 || item.folder?.file_thumbnail_urls?.length === 0;
109592
+ const isFolderEmpty = item.type == "folder" && hasCountData && filesCount === 0 && foldersCount === 0;
109593
+ const shouldHideItem = item.name?.startsWith(".") || isFolderEmpty || item.folder?.file_thumbnail_urls?.length === 0;
109592
109594
  if (!shouldHideItem && !isAdmin || isAdmin) {
109593
109595
  acc.push({
109594
109596
  ...item,
@@ -109965,7 +109967,8 @@ const getInitialState$1 = () => ({
109965
109967
  // instance metadata template fields dictionary
109966
109968
  searchQuery: "",
109967
109969
  searchMetadataFilters: {},
109968
- filteredItems: []
109970
+ filteredItems: [],
109971
+ folderCache: {}
109969
109972
  });
109970
109973
  const state$2 = reactive(getInitialState$1());
109971
109974
  const fileOrderedStatuses = [FileStatusEnum.PENDING, FileStatusEnum.VIEWABLE];
@@ -110050,6 +110053,13 @@ function updateFolderState(folder) {
110050
110053
  state$2.folders = folder.folders;
110051
110054
  state$2.files = folder.files;
110052
110055
  state$2.currentFolderPath = folder.path;
110056
+ folder.folders.forEach((subfolder) => {
110057
+ state$2.folderCache[subfolder.id] = {
110058
+ files_count: subfolder.files_count ?? 0,
110059
+ folders_count: subfolder.folders_count ?? 0,
110060
+ timestamp: Date.now()
110061
+ };
110062
+ });
110053
110063
  if (useAppStore$4().showFilteredResults.value) {
110054
110064
  const filesById = new Map(state$2.files.map((file) => [file.id, file]));
110055
110065
  state$2.filteredItems = state$2.filteredItems.map((filteredItem) => {
@@ -110315,23 +110325,18 @@ function init({
110315
110325
  let filteredFolders = [];
110316
110326
  if (!hasMetadataFilters && foldersResponse.status === "fulfilled" && foldersResponse.value) {
110317
110327
  const foldersFromSearch = foldersResponse.value.results ?? [];
110318
- const folderDetailsPromises = foldersFromSearch.map(async (folder) => {
110319
- try {
110320
- const folderDetails = await state$2.folderItemsFetcher?.(folder.id, { justFetch: true, setSelectedFolder: false });
110321
- const filesCount = folderDetails?.files?.length ?? 0;
110322
- const foldersCount = folderDetails?.folders?.length ?? 0;
110328
+ filteredFolders = foldersFromSearch.map((folder) => {
110329
+ const cached = state$2.folderCache[folder.id];
110330
+ if (cached) {
110323
110331
  return {
110324
110332
  ...folder,
110325
110333
  type: "folder",
110326
- files_count: filesCount,
110327
- folders_count: foldersCount
110334
+ files_count: cached.files_count,
110335
+ folders_count: cached.folders_count
110328
110336
  };
110329
- } catch (error) {
110330
- console.error(`Failed to fetch details for folder ${folder.name}:`, error);
110331
- return { ...folder, type: "folder" };
110332
110337
  }
110338
+ return { ...folder, type: "folder" };
110333
110339
  });
110334
- filteredFolders = await Promise.all(folderDetailsPromises);
110335
110340
  } else if (!hasMetadataFilters && !useAppStore$4().isLocalSearch.value) {
110336
110341
  console.error(
110337
110342
  "Failed to fetch folders:",