catchup-library-web 2.5.8 → 2.5.9

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.js CHANGED
@@ -7682,77 +7682,56 @@ var PageTravelGroup = ({
7682
7682
  (0, import_react28.useEffect)(() => {
7683
7683
  setNewPageNumber(pageNumber + 1);
7684
7684
  }, [pageNumber]);
7685
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex-1 flex flex-row justify-center items-center flex-wrap", children: [
7686
- pageNumber === 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "px-2 flex flex-col items-center", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
7687
- BaseImage_default,
7688
- {
7689
- size: "small",
7690
- alt: "arrow-left",
7691
- src: "/icons/arrow-left.webp",
7692
- onClick: () => {
7693
- if (isImageProcessing) {
7694
- handleImageProcessing();
7695
- } else {
7696
- if (pageNumber - 1 >= 0) {
7697
- setPageNumber(pageNumber - 1);
7698
- }
7699
- setImageReady(false);
7700
- }
7701
- }
7702
- }
7703
- ) }),
7704
- Array.from(Array(totalPageNumber).keys()).filter((index) => index < pageNumber + 5).filter((index) => index > pageNumber - 5).map((index) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "px-2", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
7705
- "p",
7685
+ const handlePageChange = (newPage) => {
7686
+ if (isImageProcessing) {
7687
+ handleImageProcessing();
7688
+ } else {
7689
+ setPageNumber(newPage);
7690
+ setImageReady(false);
7691
+ }
7692
+ };
7693
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex-1 flex flex-row justify-center items-center flex-wrap gap-x-2", children: [
7694
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
7695
+ "button",
7706
7696
  {
7707
- className: `${pageNumber === index ? "text-xl" : "text-md"} cursor-pointer`,
7708
- onClick: () => {
7709
- if (isImageProcessing) {
7710
- handleImageProcessing();
7711
- } else {
7712
- setPageNumber(index);
7713
- setImageReady(false);
7714
- }
7715
- },
7716
- children: index + 1
7697
+ className: "px-2 py-1 bg-catchup-blue-100 rounded-catchup-small",
7698
+ disabled: pageNumber <= 0,
7699
+ onClick: () => handlePageChange(pageNumber - 1),
7700
+ children: "\u2190"
7717
7701
  }
7718
- ) }, index)),
7719
- totalPageNumber === 0 || pageNumber === totalPageNumber - 1 ? null : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "px-2 flex flex-col items-center", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
7720
- BaseImage_default,
7702
+ ),
7703
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("p", { className: "text-md", children: [
7704
+ pageNumber + 1,
7705
+ " / ",
7706
+ totalPageNumber
7707
+ ] }),
7708
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
7709
+ "button",
7721
7710
  {
7722
- size: "small",
7723
- alt: "arrow-right",
7724
- src: "/icons/arrow-right.webp",
7725
- onClick: () => {
7726
- if (isImageProcessing) {
7727
- handleImageProcessing();
7728
- } else {
7729
- if (pageNumber + 1 <= totalPageNumber) {
7730
- setPageNumber(pageNumber + 1);
7731
- }
7732
- setImageReady(false);
7733
- }
7734
- }
7711
+ className: "px-2 py-1 bg-catchup-blue-100 rounded-catchup-small",
7712
+ disabled: pageNumber >= totalPageNumber - 1,
7713
+ onClick: () => handlePageChange(pageNumber + 1),
7714
+ children: "\u2192"
7735
7715
  }
7736
- ) }),
7737
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
7716
+ ),
7717
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
7738
7718
  "input",
7739
7719
  {
7740
- className: `w-[90px] py-2 px-4 border border-catchup-gray-100 rounded-catchup-xlarge focus:outline-none placeholder-catchup-gray-200 focus:border-catchup-blue-400 focus:shadow-input`,
7720
+ className: "w-[90px] py-2 px-4 border border-catchup-gray-100 rounded-catchup-xlarge focus:outline-none placeholder-catchup-gray-200 focus:border-catchup-blue-400 focus:shadow-input",
7741
7721
  type: "number",
7742
7722
  value: newPageNumber,
7743
7723
  onChange: (e) => {
7744
- const inputPageNumber = parseInt(e.target.value);
7745
- setNewPageNumber(inputPageNumber);
7724
+ setNewPageNumber(parseInt(e.target.value));
7746
7725
  },
7747
7726
  onKeyDown: (e) => {
7748
7727
  if (isNaN(newPageNumber) || newPageNumber <= 0 || newPageNumber > totalPageNumber)
7749
7728
  return;
7750
7729
  if (e.key === "Enter") {
7751
- setPageNumber(newPageNumber - 1);
7730
+ handlePageChange(newPageNumber - 1);
7752
7731
  }
7753
7732
  }
7754
7733
  }
7755
- ) })
7734
+ )
7756
7735
  ] });
7757
7736
  };
7758
7737
  var PageTravelGroup_default = PageTravelGroup;
package/dist/index.mjs CHANGED
@@ -7448,77 +7448,56 @@ var PageTravelGroup = ({
7448
7448
  useEffect18(() => {
7449
7449
  setNewPageNumber(pageNumber + 1);
7450
7450
  }, [pageNumber]);
7451
- return /* @__PURE__ */ jsxs41("div", { className: "flex-1 flex flex-row justify-center items-center flex-wrap", children: [
7452
- pageNumber === 0 ? null : /* @__PURE__ */ jsx52("div", { className: "px-2 flex flex-col items-center", children: /* @__PURE__ */ jsx52(
7453
- BaseImage_default,
7454
- {
7455
- size: "small",
7456
- alt: "arrow-left",
7457
- src: "/icons/arrow-left.webp",
7458
- onClick: () => {
7459
- if (isImageProcessing) {
7460
- handleImageProcessing();
7461
- } else {
7462
- if (pageNumber - 1 >= 0) {
7463
- setPageNumber(pageNumber - 1);
7464
- }
7465
- setImageReady(false);
7466
- }
7467
- }
7468
- }
7469
- ) }),
7470
- Array.from(Array(totalPageNumber).keys()).filter((index) => index < pageNumber + 5).filter((index) => index > pageNumber - 5).map((index) => /* @__PURE__ */ jsx52("div", { className: "px-2", children: /* @__PURE__ */ jsx52(
7471
- "p",
7451
+ const handlePageChange = (newPage) => {
7452
+ if (isImageProcessing) {
7453
+ handleImageProcessing();
7454
+ } else {
7455
+ setPageNumber(newPage);
7456
+ setImageReady(false);
7457
+ }
7458
+ };
7459
+ return /* @__PURE__ */ jsxs41("div", { className: "flex-1 flex flex-row justify-center items-center flex-wrap gap-x-2", children: [
7460
+ /* @__PURE__ */ jsx52(
7461
+ "button",
7472
7462
  {
7473
- className: `${pageNumber === index ? "text-xl" : "text-md"} cursor-pointer`,
7474
- onClick: () => {
7475
- if (isImageProcessing) {
7476
- handleImageProcessing();
7477
- } else {
7478
- setPageNumber(index);
7479
- setImageReady(false);
7480
- }
7481
- },
7482
- children: index + 1
7463
+ className: "px-2 py-1 bg-catchup-blue-100 rounded-catchup-small",
7464
+ disabled: pageNumber <= 0,
7465
+ onClick: () => handlePageChange(pageNumber - 1),
7466
+ children: "\u2190"
7483
7467
  }
7484
- ) }, index)),
7485
- totalPageNumber === 0 || pageNumber === totalPageNumber - 1 ? null : /* @__PURE__ */ jsx52("div", { className: "px-2 flex flex-col items-center", children: /* @__PURE__ */ jsx52(
7486
- BaseImage_default,
7468
+ ),
7469
+ /* @__PURE__ */ jsxs41("p", { className: "text-md", children: [
7470
+ pageNumber + 1,
7471
+ " / ",
7472
+ totalPageNumber
7473
+ ] }),
7474
+ /* @__PURE__ */ jsx52(
7475
+ "button",
7487
7476
  {
7488
- size: "small",
7489
- alt: "arrow-right",
7490
- src: "/icons/arrow-right.webp",
7491
- onClick: () => {
7492
- if (isImageProcessing) {
7493
- handleImageProcessing();
7494
- } else {
7495
- if (pageNumber + 1 <= totalPageNumber) {
7496
- setPageNumber(pageNumber + 1);
7497
- }
7498
- setImageReady(false);
7499
- }
7500
- }
7477
+ className: "px-2 py-1 bg-catchup-blue-100 rounded-catchup-small",
7478
+ disabled: pageNumber >= totalPageNumber - 1,
7479
+ onClick: () => handlePageChange(pageNumber + 1),
7480
+ children: "\u2192"
7501
7481
  }
7502
- ) }),
7503
- /* @__PURE__ */ jsx52("div", { children: /* @__PURE__ */ jsx52(
7482
+ ),
7483
+ /* @__PURE__ */ jsx52(
7504
7484
  "input",
7505
7485
  {
7506
- className: `w-[90px] py-2 px-4 border border-catchup-gray-100 rounded-catchup-xlarge focus:outline-none placeholder-catchup-gray-200 focus:border-catchup-blue-400 focus:shadow-input`,
7486
+ className: "w-[90px] py-2 px-4 border border-catchup-gray-100 rounded-catchup-xlarge focus:outline-none placeholder-catchup-gray-200 focus:border-catchup-blue-400 focus:shadow-input",
7507
7487
  type: "number",
7508
7488
  value: newPageNumber,
7509
7489
  onChange: (e) => {
7510
- const inputPageNumber = parseInt(e.target.value);
7511
- setNewPageNumber(inputPageNumber);
7490
+ setNewPageNumber(parseInt(e.target.value));
7512
7491
  },
7513
7492
  onKeyDown: (e) => {
7514
7493
  if (isNaN(newPageNumber) || newPageNumber <= 0 || newPageNumber > totalPageNumber)
7515
7494
  return;
7516
7495
  if (e.key === "Enter") {
7517
- setPageNumber(newPageNumber - 1);
7496
+ handlePageChange(newPageNumber - 1);
7518
7497
  }
7519
7498
  }
7520
7499
  }
7521
- ) })
7500
+ )
7522
7501
  ] });
7523
7502
  };
7524
7503
  var PageTravelGroup_default = PageTravelGroup;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "catchup-library-web",
3
- "version": "2.5.8",
3
+ "version": "2.5.9",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -1,6 +1,5 @@
1
1
  import { useEffect, useState } from "react";
2
2
  import { IPageTravelGroupProps } from "../../properties/GroupProperties";
3
- import BaseImage from "../images/BaseImage";
4
3
 
5
4
  const PageTravelGroup = ({
6
5
  isImageProcessing,
@@ -22,92 +21,53 @@ const PageTravelGroup = ({
22
21
  setNewPageNumber(pageNumber + 1);
23
22
  }, [pageNumber]);
24
23
 
25
- return (
26
- <div className="flex-1 flex flex-row justify-center items-center flex-wrap">
27
- {pageNumber === 0 ? null : (
28
- <div className="px-2 flex flex-col items-center">
29
- <BaseImage
30
- size="small"
31
- alt="arrow-left"
32
- src="/icons/arrow-left.webp"
33
- onClick={() => {
34
- if (isImageProcessing) {
35
- handleImageProcessing();
36
- } else {
37
- if (pageNumber - 1 >= 0) {
38
- setPageNumber(pageNumber - 1);
39
- }
40
- setImageReady(false);
41
- }
42
- }}
43
- />
44
- </div>
45
- )}
46
- {Array.from(Array(totalPageNumber).keys())
47
- .filter((index) => index < pageNumber + 5)
48
- .filter((index) => index > pageNumber - 5)
49
- .map((index) => (
50
- <div key={index} className="px-2">
51
- <p
52
- className={`${
53
- pageNumber === index ? "text-xl" : "text-md"
54
- } cursor-pointer`}
55
- onClick={() => {
56
- if (isImageProcessing) {
57
- handleImageProcessing();
58
- } else {
59
- setPageNumber(index);
60
- setImageReady(false);
61
- }
62
- }}
63
- >
64
- {index + 1}
65
- </p>
66
- </div>
67
- ))}
68
-
69
- {totalPageNumber === 0 || pageNumber === totalPageNumber - 1 ? null : (
70
- <div className="px-2 flex flex-col items-center">
71
- <BaseImage
72
- size="small"
73
- alt="arrow-right"
74
- src="/icons/arrow-right.webp"
75
- onClick={() => {
76
- if (isImageProcessing) {
77
- handleImageProcessing();
78
- } else {
79
- if (pageNumber + 1 <= totalPageNumber) {
80
- setPageNumber(pageNumber + 1);
81
- }
24
+ const handlePageChange = (newPage: number) => {
25
+ if (isImageProcessing) {
26
+ handleImageProcessing();
27
+ } else {
28
+ setPageNumber(newPage);
29
+ setImageReady(false);
30
+ }
31
+ };
82
32
 
83
- setImageReady(false);
84
- }
85
- }}
86
- />
87
- </div>
88
- )}
89
- <div>
90
- <input
91
- className={`w-[90px] py-2 px-4 border border-catchup-gray-100 rounded-catchup-xlarge focus:outline-none placeholder-catchup-gray-200 focus:border-catchup-blue-400 focus:shadow-input`}
92
- type="number"
93
- value={newPageNumber}
94
- onChange={(e) => {
95
- const inputPageNumber = parseInt(e.target.value);
96
- setNewPageNumber(inputPageNumber);
97
- }}
98
- onKeyDown={(e) => {
99
- if (
100
- isNaN(newPageNumber) ||
101
- newPageNumber <= 0 ||
102
- newPageNumber > totalPageNumber
103
- )
104
- return;
105
- if (e.key === "Enter") {
106
- setPageNumber(newPageNumber - 1);
107
- }
108
- }}
109
- />
110
- </div>
33
+ return (
34
+ <div className="flex-1 flex flex-row justify-center items-center flex-wrap gap-x-2">
35
+ <button
36
+ className="px-2 py-1 bg-catchup-blue-100 rounded-catchup-small"
37
+ disabled={pageNumber <= 0}
38
+ onClick={() => handlePageChange(pageNumber - 1)}
39
+ >
40
+
41
+ </button>
42
+ <p className="text-md">
43
+ {pageNumber + 1} / {totalPageNumber}
44
+ </p>
45
+ <button
46
+ className="px-2 py-1 bg-catchup-blue-100 rounded-catchup-small"
47
+ disabled={pageNumber >= totalPageNumber - 1}
48
+ onClick={() => handlePageChange(pageNumber + 1)}
49
+ >
50
+
51
+ </button>
52
+ <input
53
+ className="w-[90px] py-2 px-4 border border-catchup-gray-100 rounded-catchup-xlarge focus:outline-none placeholder-catchup-gray-200 focus:border-catchup-blue-400 focus:shadow-input"
54
+ type="number"
55
+ value={newPageNumber}
56
+ onChange={(e) => {
57
+ setNewPageNumber(parseInt(e.target.value));
58
+ }}
59
+ onKeyDown={(e) => {
60
+ if (
61
+ isNaN(newPageNumber) ||
62
+ newPageNumber <= 0 ||
63
+ newPageNumber > totalPageNumber
64
+ )
65
+ return;
66
+ if (e.key === "Enter") {
67
+ handlePageChange(newPageNumber - 1);
68
+ }
69
+ }}
70
+ />
111
71
  </div>
112
72
  );
113
73
  };