@underverse-ui/underverse 0.2.22 → 0.2.23

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/dist/index.cjs CHANGED
@@ -10079,13 +10079,18 @@ function DataTable({
10079
10079
  const [sort, setSort] = import_react23.default.useState(null);
10080
10080
  const [density, setDensity] = import_react23.default.useState("normal");
10081
10081
  const [curPage, setCurPage] = import_react23.default.useState(page);
10082
+ const hasMounted = import_react23.default.useRef(false);
10083
+ const loadedFromStorage = import_react23.default.useRef(false);
10082
10084
  const getInitialPageSize = import_react23.default.useCallback(() => {
10083
10085
  if (typeof window === "undefined" || !storageKey) return pageSize;
10084
10086
  try {
10085
10087
  const saved = localStorage.getItem(`datatable_${storageKey}_pageSize`);
10086
10088
  if (saved) {
10087
10089
  const parsed = parseInt(saved, 10);
10088
- if (!isNaN(parsed) && parsed > 0) return parsed;
10090
+ if (!isNaN(parsed) && parsed > 0) {
10091
+ loadedFromStorage.current = true;
10092
+ return parsed;
10093
+ }
10089
10094
  }
10090
10095
  } catch {
10091
10096
  }
@@ -10094,6 +10099,7 @@ function DataTable({
10094
10099
  const [curPageSize, setCurPageSize] = import_react23.default.useState(getInitialPageSize);
10095
10100
  import_react23.default.useEffect(() => {
10096
10101
  if (typeof window === "undefined" || !storageKey) return;
10102
+ if (!hasMounted.current) return;
10097
10103
  try {
10098
10104
  localStorage.setItem(`datatable_${storageKey}_pageSize`, String(curPageSize));
10099
10105
  } catch {
@@ -10111,10 +10117,17 @@ function DataTable({
10111
10117
  setCurPage(page);
10112
10118
  }, [page]);
10113
10119
  import_react23.default.useEffect(() => {
10120
+ if (storageKey && loadedFromStorage.current) {
10121
+ return;
10122
+ }
10114
10123
  setCurPageSize(pageSize);
10115
- }, [pageSize]);
10124
+ }, [pageSize, storageKey]);
10116
10125
  import_react23.default.useEffect(() => {
10117
10126
  if (!onQueryChange) return;
10127
+ if (!hasMounted.current) {
10128
+ hasMounted.current = true;
10129
+ return;
10130
+ }
10118
10131
  onQueryChange({ filters: debouncedFilters, sort, page: curPage, pageSize: curPageSize });
10119
10132
  }, [debouncedFilters, sort, curPage, curPageSize]);
10120
10133
  const densityRowClass = density === "compact" ? "h-9" : density === "comfortable" ? "h-14" : "h-12";