@bigbinary/neeto-image-uploader-frontend 1.6.0-beta1 → 1.6.0-beta2

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.js CHANGED
@@ -3925,19 +3925,30 @@ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t
3925
3925
  var useFetchAssets = function useFetchAssets(_ref) {
3926
3926
  var searchTerm = _ref.searchTerm,
3927
3927
  url = _ref.url,
3928
- page = _ref.page,
3929
3928
  per = _ref.per;
3930
3929
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3931
- return reactQuery.useQuery(_objectSpread$3({
3932
- queryKey: [QUERY_KEYS.ASSETS_LIST],
3933
- queryFn: function queryFn() {
3930
+ return reactQuery.useInfiniteQuery(_objectSpread$3({
3931
+ queryKey: [QUERY_KEYS.ASSETS_LIST, searchTerm],
3932
+ queryFn: function queryFn(_ref2) {
3933
+ var _ref2$pageParam = _ref2.pageParam,
3934
+ pageParam = _ref2$pageParam === void 0 ? 1 : _ref2$pageParam;
3934
3935
  return imagesApi.fetch({
3935
3936
  searchTerm: searchTerm,
3936
3937
  url: url,
3937
- page: page,
3938
+ page: pageParam,
3938
3939
  per: per
3939
3940
  });
3940
3941
  },
3942
+ getNextPageParam: function getNextPageParam(lastPage, _, lastPageParam) {
3943
+ return lastPage.length === IMAGES_PER_PAGE ? lastPageParam + 1 : null;
3944
+ },
3945
+ select: function select(data) {
3946
+ var results = data.pages.flatMap(ramda.identity);
3947
+ return {
3948
+ results: results
3949
+ };
3950
+ },
3951
+ initialPageParam: 1,
3941
3952
  staleTime: ASSETS_STALE_TIME
3942
3953
  }, options));
3943
3954
  };
@@ -4771,74 +4782,42 @@ var InfiniteScroller = function InfiniteScroller(_ref) {
4771
4782
  };
4772
4783
 
4773
4784
  var Images = function Images(_ref) {
4774
- var query = _ref.query,
4775
- debouncedQuery = _ref.debouncedQuery,
4785
+ var debouncedQuery = _ref.debouncedQuery,
4776
4786
  setSelectedImage = _ref.setSelectedImage;
4777
- var _useState = require$$0.useState(true),
4778
- _useState2 = _slicedToArray$2(_useState, 2),
4779
- hasMore = _useState2[0],
4780
- setHasMore = _useState2[1];
4781
- var _useState3 = require$$0.useState([]),
4782
- _useState4 = _slicedToArray$2(_useState3, 2),
4783
- images = _useState4[0],
4784
- setImages = _useState4[1];
4785
- var _useState5 = require$$0.useState(1),
4786
- _useState6 = _slicedToArray$2(_useState5, 2),
4787
- pageNo = _useState6[0],
4788
- setPageNo = _useState6[1];
4789
- var _useState7 = require$$0.useState(false),
4790
- _useState8 = _slicedToArray$2(_useState7, 2),
4791
- error = _useState8[0],
4792
- setError = _useState8[1];
4793
- var onSuccess = function onSuccess() {
4794
- var results = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
4795
- ramda.equals(pageNo, 1) ? setImages(results) : setImages(ramda.concat(ramda.__, results));
4796
- setPageNo(ramda.inc);
4797
- setHasMore(results.length === IMAGES_PER_PAGE);
4798
- };
4799
- var onError = function onError() {
4800
- return setError(true);
4801
- };
4802
4787
  var _useTranslation = reactI18next.useTranslation(),
4803
4788
  t = _useTranslation.t;
4804
4789
  var _useFetchAssets = useFetchAssets({
4805
4790
  searchTerm: debouncedQuery,
4806
- page: pageNo,
4807
4791
  per: IMAGES_PER_PAGE,
4808
4792
  url: ASSETS_FETCH_URL
4809
- }, {
4810
- onSuccess: onSuccess,
4811
- onError: onError
4812
4793
  }),
4813
- refetch = _useFetchAssets.refetch,
4814
- isFetching = _useFetchAssets.isFetching;
4815
- var loadMore = reactUtils.useFuncDebounce(function () {
4816
- if (isFetching) return;
4817
- if (!hasMore) return;
4818
- if (pageNo > 1) {
4819
- setError(false);
4820
- refetch();
4821
- }
4822
- }, 500);
4823
- require$$0.useEffect(function () {
4824
- setPageNo(1);
4825
- }, [query]);
4826
- require$$0.useEffect(function () {
4827
- setImages([]);
4828
- refetch();
4829
- }, [debouncedQuery]);
4830
- if (error) {
4794
+ fetchNextPage = _useFetchAssets.fetchNextPage,
4795
+ hasNextPage = _useFetchAssets.hasNextPage,
4796
+ _useFetchAssets$data = _useFetchAssets.data,
4797
+ _useFetchAssets$data2 = _useFetchAssets$data === void 0 ? {} : _useFetchAssets$data,
4798
+ _useFetchAssets$data3 = _useFetchAssets$data2.results,
4799
+ results = _useFetchAssets$data3 === void 0 ? [] : _useFetchAssets$data3,
4800
+ isLoading = _useFetchAssets.isLoading,
4801
+ isError = _useFetchAssets.isError;
4802
+ if (isError) {
4831
4803
  return /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
4832
4804
  className: "mt-9 flex justify-center",
4833
4805
  style: "body2",
4834
4806
  children: t("neetoImageUploader.unsplash.errorMessage")
4835
4807
  });
4836
4808
  }
4837
- return /*#__PURE__*/jsxRuntime.jsx(InfiniteScroller, {
4838
- hasMore: hasMore,
4839
- images: images,
4840
- loadMore: loadMore,
4809
+ if (isLoading) {
4810
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
4811
+ className: "flex justify-around",
4812
+ children: /*#__PURE__*/jsxRuntime.jsx(Spinner__default["default"], {})
4813
+ });
4814
+ }
4815
+ return /*#__PURE__*/require$$0.createElement(InfiniteScroller, {
4841
4816
  setSelectedImage: setSelectedImage,
4817
+ hasMore: hasNextPage,
4818
+ images: results,
4819
+ key: debouncedQuery,
4820
+ loadMore: fetchNextPage,
4842
4821
  tab: TABS[0].key
4843
4822
  });
4844
4823
  };
@@ -4868,18 +4847,32 @@ function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymb
4868
4847
  function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty$3(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4869
4848
  var UNSPLASH_LIST = QUERY_KEYS.UNSPLASH_LIST;
4870
4849
  var useFetchUnsplashImages = function useFetchUnsplashImages(_ref) {
4871
- var pageNo = _ref.pageNo,
4872
- query = _ref.query;
4850
+ var query = _ref.query;
4873
4851
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
4874
- return reactQuery.useQuery(_objectSpread$2({
4875
- queryKey: [UNSPLASH_LIST],
4876
- queryFn: function queryFn() {
4852
+ return reactQuery.useInfiniteQuery(_objectSpread$2({
4853
+ queryKey: [UNSPLASH_LIST, {
4854
+ query: query
4855
+ }],
4856
+ queryFn: function queryFn(_ref2) {
4857
+ var _ref2$pageParam = _ref2.pageParam,
4858
+ pageParam = _ref2$pageParam === void 0 ? 1 : _ref2$pageParam;
4877
4859
  return unsplashApi.searchUnsplashImages({
4878
- pageNo: pageNo,
4860
+ pageNo: pageParam,
4879
4861
  query: query
4880
4862
  });
4881
4863
  },
4882
- staleTime: UNSPLASH_STALE_TIME
4864
+ initialPageParam: 1,
4865
+ getNextPageParam: function getNextPageParam(lastPage, _, lastPageParam) {
4866
+ return lastPageParam < lastPage.totalPages ? lastPageParam + 1 : null;
4867
+ },
4868
+ select: function select(data) {
4869
+ var results = data.pages.flatMap(ramda.prop("results"));
4870
+ return {
4871
+ results: results
4872
+ };
4873
+ },
4874
+ staleTime: UNSPLASH_STALE_TIME,
4875
+ placeholderData: reactQuery.keepPreviousData
4883
4876
  }, options));
4884
4877
  };
4885
4878
 
@@ -4926,37 +4919,12 @@ var uploadWithImageKit = function uploadWithImageKit(file) {
4926
4919
  };
4927
4920
 
4928
4921
  var UnsplashLibrary = function UnsplashLibrary(_ref) {
4929
- var query = _ref.query,
4930
- debouncedQuery = _ref.debouncedQuery,
4922
+ var debouncedQuery = _ref.debouncedQuery,
4931
4923
  setSelectedImage = _ref.setSelectedImage,
4932
4924
  setIsUploading = _ref.setIsUploading,
4933
4925
  setActiveTab = _ref.setActiveTab;
4934
- var _useState = require$$0.useState(true),
4935
- _useState2 = _slicedToArray$2(_useState, 2),
4936
- hasMore = _useState2[0],
4937
- setHasMore = _useState2[1];
4938
- var _useState3 = require$$0.useState([]),
4939
- _useState4 = _slicedToArray$2(_useState3, 2),
4940
- images = _useState4[0],
4941
- setImages = _useState4[1];
4942
- var _useState5 = require$$0.useState(1),
4943
- _useState6 = _slicedToArray$2(_useState5, 2),
4944
- pageNo = _useState6[0],
4945
- setPageNo = _useState6[1];
4946
- var _useState7 = require$$0.useState(false),
4947
- _useState8 = _slicedToArray$2(_useState7, 2),
4948
- error = _useState8[0],
4949
- setError = _useState8[1];
4950
- var onSuccess = function onSuccess(_ref2) {
4951
- var _ref2$results = _ref2.results,
4952
- results = _ref2$results === void 0 ? [] : _ref2$results,
4953
- totalPages = _ref2.totalPages;
4954
- ramda.equals(pageNo, 1) ? setImages(results) : setImages(ramda.concat(ramda.__, results));
4955
- setPageNo(ramda.inc);
4956
- setHasMore(pageNo < totalPages);
4957
- };
4958
4926
  var handleUnsplashImageSelect = /*#__PURE__*/function () {
4959
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(image) {
4927
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(image) {
4960
4928
  var _image$urls, response, file, result;
4961
4929
  return _regeneratorRuntime.wrap(function _callee$(_context) {
4962
4930
  while (1) switch (_context.prev = _context.next) {
@@ -5006,50 +4974,42 @@ var UnsplashLibrary = function UnsplashLibrary(_ref) {
5006
4974
  }, _callee, null, [[0, 19, 23, 26]]);
5007
4975
  }));
5008
4976
  return function handleUnsplashImageSelect(_x) {
5009
- return _ref3.apply(this, arguments);
4977
+ return _ref2.apply(this, arguments);
5010
4978
  };
5011
4979
  }();
5012
- var onError = function onError() {
5013
- return setError(true);
5014
- };
5015
4980
  var _useTranslation = reactI18next.useTranslation(),
5016
4981
  t = _useTranslation.t;
5017
4982
  var _useFetchUnsplashImag = useFetchUnsplashImages({
5018
- query: debouncedQuery,
5019
- pageNo: pageNo
5020
- }, {
5021
- onSuccess: onSuccess,
5022
- onError: onError
4983
+ query: debouncedQuery
5023
4984
  }),
5024
- refetch = _useFetchUnsplashImag.refetch,
5025
- isFetching = _useFetchUnsplashImag.isFetching;
5026
- var loadMore = reactUtils.useFuncDebounce(function () {
5027
- if (isFetching || !hasMore) return;
5028
- if (pageNo > 1) {
5029
- setError(false);
5030
- refetch();
5031
- }
5032
- }, 500);
5033
- require$$0.useEffect(function () {
5034
- setPageNo(1);
5035
- }, [query]);
5036
- require$$0.useEffect(function () {
5037
- setPageNo(1);
5038
- setImages([]);
5039
- refetch();
5040
- }, [debouncedQuery]);
5041
- if (error) {
4985
+ fetchNextPage = _useFetchUnsplashImag.fetchNextPage,
4986
+ hasNextPage = _useFetchUnsplashImag.hasNextPage,
4987
+ _useFetchUnsplashImag2 = _useFetchUnsplashImag.data,
4988
+ _useFetchUnsplashImag3 = _useFetchUnsplashImag2 === void 0 ? {} : _useFetchUnsplashImag2,
4989
+ _useFetchUnsplashImag4 = _useFetchUnsplashImag3.results,
4990
+ results = _useFetchUnsplashImag4 === void 0 ? [] : _useFetchUnsplashImag4,
4991
+ isError = _useFetchUnsplashImag.isError,
4992
+ isLoading = _useFetchUnsplashImag.isLoading;
4993
+ if (isError) {
5042
4994
  return /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
5043
4995
  className: "mt-9 flex justify-center",
5044
4996
  style: "body2",
5045
4997
  children: t("neetoImageUploader.unsplash.errorMessage")
5046
4998
  });
5047
4999
  }
5048
- return /*#__PURE__*/jsxRuntime.jsx(InfiniteScroller, {
5000
+ if (isLoading) {
5001
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
5002
+ className: "flex justify-around",
5003
+ children: /*#__PURE__*/jsxRuntime.jsx(Spinner__default["default"], {})
5004
+ });
5005
+ }
5006
+ return /*#__PURE__*/require$$0.createElement(InfiniteScroller, {
5007
+ debouncedQuery: debouncedQuery,
5049
5008
  handleUnsplashImageSelect: handleUnsplashImageSelect,
5050
- hasMore: hasMore,
5051
- images: images,
5052
- loadMore: loadMore,
5009
+ hasMore: hasNextPage,
5010
+ images: results,
5011
+ key: debouncedQuery,
5012
+ loadMore: fetchNextPage,
5053
5013
  tab: TABS[1].key
5054
5014
  });
5055
5015
  };