eleven-solutions-common-website-unique-web 1.0.26 → 1.0.28

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.
@@ -1,2 +1,2 @@
1
- declare function Users(): import("react/jsx-runtime").JSX.Element;
1
+ declare const Users: () => import("react/jsx-runtime").JSX.Element;
2
2
  export default Users;
@@ -1,71 +1,5 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ const Users = () => {
3
+ return _jsx("div", { children: "Users" });
9
4
  };
10
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
- import { useState, useEffect } from "react";
12
- import { FaPlus } from "react-icons/fa";
13
- import { fetchUsersApi, deleteUserApi } from "../api/user";
14
- function Users() {
15
- const [users, setUsers] = useState([]);
16
- const fetchUsersData = () => __awaiter(this, void 0, void 0, function* () {
17
- const data = yield fetchUsersApi();
18
- if (data) {
19
- setUsers(data);
20
- }
21
- else {
22
- console.error("Failed to fetch users");
23
- }
24
- });
25
- useEffect(() => {
26
- fetchUsersData();
27
- }, []);
28
- const [currentPage, setCurrentPage] = useState(1);
29
- const itemsPerPage = 10;
30
- const totalPages = Math.ceil(users.length / itemsPerPage);
31
- const handleNextPage = () => {
32
- if (currentPage < totalPages) {
33
- setCurrentPage(currentPage + 1);
34
- }
35
- };
36
- const handlePreviousPage = () => {
37
- if (currentPage > 1) {
38
- setCurrentPage(currentPage - 1);
39
- }
40
- };
41
- const handlePageClick = (pageNumber) => {
42
- setCurrentPage(pageNumber);
43
- };
44
- const paginatedUsers = users.slice((currentPage - 1) * itemsPerPage, currentPage * itemsPerPage);
45
- const handleDeleteClick = (id) => __awaiter(this, void 0, void 0, function* () {
46
- try {
47
- yield deleteUserApi(id);
48
- alert("User deleted successfully");
49
- fetchUsersData();
50
- }
51
- catch (error) {
52
- console.error("Error deleting User:", error);
53
- }
54
- });
55
- // const handleEditClick = (id: string) => {
56
- // navigate("/admin/user/userform", { state: { id } });
57
- // };
58
- const handleEditClick = (id) => {
59
- return (_jsx("a", { href: `/admin/users/userform?id=${id}`, onClick: (e) => e.preventDefault(), children: "Edit User" }));
60
- };
61
- return (_jsxs("div", { className: "container px-4 mx-auto mt-6", children: [_jsx("div", { className: "w-3/4", children: _jsx("h1", { className: "text-3xl font-bold text-blue-600 mb-5", children: "Users" }) }), _jsx("div", { className: "flex-grow ml-0 w-full mt-10", children: _jsxs("form", { className: "w-full ", children: [_jsx("label", { htmlFor: "default-search", className: "mb-2 text-sm font-medium text-gray-900 sr-only dark:text-white", children: "Search" }), _jsxs("div", { className: "relative w-full", children: [_jsx("div", { className: "absolute inset-y-0 start-0 flex items-center ps-3 pointer-events-none", children: _jsx("svg", { className: "w-4 h-4 text-gray-500 dark:text-gray-400", "aria-hidden": "true", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 20 20", children: _jsx("path", { stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "m19 19-4-4m0-7A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z" }) }) }), _jsx("input", { type: "search", id: "default-search", className: "inline-block min-w-full p-3 ps-10 outline-none text-sm text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500", placeholder: "Search Users", required: true }), _jsx("button", { type: "submit", className: "text-white absolute end-1.5 bottom-1.5 bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-4 py-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800", children: "Search" })] })] }) }), _jsx("div", { className: "flex-grow ml-0 w-3/4", children: _jsx("form", { className: "w-auto" }) }), _jsxs("div", { className: "flex-grow ml-0 mt-4 w-full", children: [_jsx("div", { className: "overflow-hidden border border-gray-200 dark:border-gray-700 md:rounded-lg mt-6", children: _jsxs("table", { className: "min-w-full divide-y divide-gray-200 dark:divide-gray-700", children: [_jsx("thead", { className: "bg-gray-50 dark:bg-gray-800", children: _jsxs("tr", { children: [_jsx("th", { scope: "col", className: "px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400", children: "Edit/Delete" }), _jsx("th", { scope: "col", className: "py-3.5 px-4 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400", children: _jsx("div", { className: "flex items-center gap-x-3", children: _jsx("span", { children: "Name" }) }) }), _jsx("th", { scope: "col", className: "px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400", children: _jsx("button", { className: "flex items-center gap-x-2", children: _jsx("span", { children: "Email" }) }) }), _jsx("th", { scope: "col", className: "px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400", children: _jsx("button", { className: "flex items-center gap-x-2", children: _jsx("span", { children: "Mobile" }) }) }), _jsx("th", { scope: "col", className: "px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400", children: "Address" }), _jsx("th", { scope: "col", className: "px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400", children: "Role Type" })] }) }), _jsx("tbody", { className: "bg-white divide-y divide-gray-200 dark:divide-gray-700 dark:bg-gray-900", children: paginatedUsers.map((user, index) => (_jsxs("tr", { children: [_jsx("td", { className: "px-4 py-4 text-sm whitespace-nowrap", children: _jsxs("div", { className: "flex items-center gap-x-6", children: [_jsx("button", { onClick: () => handleDeleteClick(user.id), className: "text-gray-500 transition-colors duration-200 dark:hover:text-red-600 dark:text-gray-300 hover:text-red-500 focus:outline-none", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", className: "w-5 h-5", children: _jsx("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" }) }) }), _jsx("a", { href: `/admin/users/userform?id=${user.id}`, onClick: (e) => {
62
- e.preventDefault(); // Prevent default navigation
63
- handleEditClick(user.id); // Trigger the edit functionality
64
- window.location.href = `/admin/users/userform?id=${user.id}`; // Manually navigate
65
- }, children: _jsx("button", { className: "text-gray-500 transition-colors duration-200 dark:hover:text-yellow-500 dark:text-gray-300 hover:text-yellow-500 focus:outline-none", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "w-5 h-5", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10" }) }) }) })] }) }), _jsx("td", { className: "px-4 py-4 text-sm font-medium text-gray-700 whitespace-nowrap", children: _jsx("div", { className: "inline-flex items-center gap-x-3", children: _jsx("div", { className: "flex items-center gap-x-2", children: _jsx("div", { children: _jsx("h2", { className: " text-sm font-medium text-gray-800 dark:text-white ", children: user.name }) }) }) }) }), _jsx("td", { className: "px-4 py-4 text-sm text-gray-500 dark:text-gray-300 whitespace-nowrap", children: user.email }), _jsx("td", { className: "px-4 py-4 text-sm text-gray-500 dark:text-gray-300 whitespace-nowrap", children: (user === null || user === void 0 ? void 0 : user.mobile) || "Not Provided" }), _jsx("td", { className: "px-4 py-4 text-sm text-gray-500 dark:text-gray-300 whitespace-nowrap", children: (user === null || user === void 0 ? void 0 : user.address) || "Not Provided" }), _jsx("td", { className: "px-4 py-4 text-sm text-gray-500 dark:text-gray-300 whitespace-nowrap", children: user.roleType === "1" ? "Guest" : "Admin" })] }, user.id || index))) })] }) }), _jsxs("div", { className: "flex items-center justify-between mt-6", children: [_jsxs("button", { onClick: handlePreviousPage, disabled: currentPage === 1, className: "flex items-center px-5 py-2 text-sm text-gray-700 capitalize transition-colors duration-200 bg-white border rounded-md gap-x-2 hover:bg-gray-100 dark:bg-gray-900 dark:text-gray-200 dark:border-gray-700 dark:hover:bg-gray-800", children: [_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", className: "w-5 h-5 rtl:-scale-x-100", children: _jsx("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M6.75 15.75L3 12m0 0l3.75-3.75M3 12h18" }) }), _jsx("span", { children: "previous" })] }), _jsx("div", { className: "items-center hidden lg:flex gap-x-3", children: Array.from({ length: totalPages }, (_, index) => (_jsx("button", { onClick: () => handlePageClick(index + 1), className: `px-2 py-1 text-sm ${currentPage === index + 1
66
- ? "text-blue-500 bg-blue-100"
67
- : "text-gray-500 hover:bg-gray-100"} rounded-md`, children: index + 1 }, index + 1))) }), _jsxs("button", { onClick: handleNextPage, disabled: currentPage === totalPages, className: "flex items-center px-5 py-2 text-sm text-gray-700 capitalize transition-colors duration-200 bg-white border rounded-md gap-x-2 hover:bg-gray-100 dark:bg-gray-900 dark:text-gray-200 dark:border-gray-700 dark:hover:bg-gray-800", children: [_jsx("span", { children: "Next" }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", className: "w-5 h-5 rtl:-scale-x-100", children: _jsx("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M17.25 8.25L21 12m0 0l-3.75 3.75M21 12H3" }) })] })] }), _jsx("div", { className: "flex-grow ml-0 mt-4 w-0", children: _jsxs("button", { type: "button", onClick: () => {
68
- window.history.pushState({}, "", "/admin/users/userform");
69
- }, className: "flex items-center justify-center px-6 py-2 font-medium tracking-wide text-white capitalize transition-colors duration-300 transform bg-blue-600 rounded-lg hover:bg-blue-500 focus:outline-none focus:ring focus:ring-blue-300 focus:ring-opacity-80", children: [_jsx(FaPlus, { className: "mr-2 font-medium" }), "User"] }) })] })] }));
70
- }
71
5
  export default Users;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eleven-solutions-common-website-unique-web",
3
- "version": "1.0.26",
3
+ "version": "1.0.28",
4
4
  "main": "./dist/index.js",
5
5
  "scripts": {
6
6
  "build": "tsc",
@@ -1,348 +1,358 @@
1
- import React from "react";
2
- import { useState, useEffect } from "react";
1
+ // import React from "react";
2
+ // import { useState, useEffect } from "react";
3
+
4
+ // import { FaPlus } from "react-icons/fa";
5
+
6
+ // import { fetchUsersApi, deleteUserApi } from "../api/user";
7
+ // function Users() {
8
+ // const [users, setUsers] = useState<any[]>([]);
3
9
 
4
- import { FaPlus } from "react-icons/fa";
10
+ // const fetchUsersData = async () => {
11
+ // const data = await fetchUsersApi();
12
+ // if (data) {
13
+ // setUsers(data as any[]);
14
+ // } else {
15
+ // console.error("Failed to fetch users");
16
+ // }
17
+ // };
5
18
 
6
- import { fetchUsersApi, deleteUserApi } from "../api/user";
7
- function Users() {
8
- const [users, setUsers] = useState<any[]>([]);
19
+ // useEffect(() => {
20
+ // fetchUsersData();
21
+ // }, []);
22
+ // const handleNav = (e: React.FormEvent) => {
23
+ // e.preventDefault();
24
+ // window.location.href = "/users/userform";
25
+ // };
9
26
 
10
- const fetchUsersData = async () => {
11
- const data = await fetchUsersApi();
12
- if (data) {
13
- setUsers(data as any[]);
14
- } else {
15
- console.error("Failed to fetch users");
16
- }
17
- };
27
+ // const [currentPage, setCurrentPage] = useState(1);
28
+ // const itemsPerPage = 10;
18
29
 
19
- useEffect(() => {
20
- fetchUsersData();
21
- }, []);
30
+ // const totalPages = Math.ceil(users.length / itemsPerPage);
22
31
 
23
- const [currentPage, setCurrentPage] = useState(1);
24
- const itemsPerPage = 10;
32
+ // const handleNextPage = () => {
33
+ // if (currentPage < totalPages) {
34
+ // setCurrentPage(currentPage + 1);
35
+ // }
36
+ // };
25
37
 
26
- const totalPages = Math.ceil(users.length / itemsPerPage);
38
+ // const handlePreviousPage = () => {
39
+ // if (currentPage > 1) {
40
+ // setCurrentPage(currentPage - 1);
41
+ // }
42
+ // };
27
43
 
28
- const handleNextPage = () => {
29
- if (currentPage < totalPages) {
30
- setCurrentPage(currentPage + 1);
31
- }
32
- };
44
+ // const handlePageClick = (pageNumber: number) => {
45
+ // setCurrentPage(pageNumber);
46
+ // };
33
47
 
34
- const handlePreviousPage = () => {
35
- if (currentPage > 1) {
36
- setCurrentPage(currentPage - 1);
37
- }
38
- };
48
+ // const paginatedUsers = users.slice(
49
+ // (currentPage - 1) * itemsPerPage,
50
+ // currentPage * itemsPerPage
51
+ // );
39
52
 
40
- const handlePageClick = (pageNumber: number) => {
41
- setCurrentPage(pageNumber);
42
- };
53
+ // const handleDeleteClick = async (id: string) => {
54
+ // try {
55
+ // await deleteUserApi(id);
56
+ // alert("User deleted successfully");
43
57
 
44
- const paginatedUsers = users.slice(
45
- (currentPage - 1) * itemsPerPage,
46
- currentPage * itemsPerPage
47
- );
58
+ // fetchUsersData();
59
+ // } catch (error) {
60
+ // console.error("Error deleting User:", error);
61
+ // }
62
+ // };
48
63
 
49
- const handleDeleteClick = async (id: string) => {
50
- try {
51
- await deleteUserApi(id);
52
- alert("User deleted successfully");
64
+ // // const handleEditClick = (id: string) => {
65
+ // // navigate("/admin/user/userform", { state: { id } });
66
+ // // };
53
67
 
54
- fetchUsersData();
55
- } catch (error) {
56
- console.error("Error deleting User:", error);
57
- }
58
- };
68
+ // const handleEditClick = (id: string) => {
69
+ // return (
70
+ // <a
71
+ // href={`/admin/users/userform?id=${id}`}
72
+ // onClick={(e) => e.preventDefault()}
73
+ // >
74
+ // Edit User
75
+ // </a>
76
+ // );
77
+ // };
59
78
 
60
- // const handleEditClick = (id: string) => {
61
- // navigate("/admin/user/userform", { state: { id } });
62
- // };
79
+ // return (
80
+ // <div className="container px-4 mx-auto mt-6">
81
+ // <div className="w-3/4">
82
+ // <h1 className="text-3xl font-bold text-blue-600 mb-5">Users</h1>
83
+ // </div>
84
+ // <div className="flex-grow ml-0 w-full mt-10">
85
+ // <form className="w-full ">
86
+ // <label
87
+ // htmlFor="default-search"
88
+ // className="mb-2 text-sm font-medium text-gray-900 sr-only dark:text-white"
89
+ // >
90
+ // Search
91
+ // </label>
92
+ // <div className="relative w-full">
93
+ // <div className="absolute inset-y-0 start-0 flex items-center ps-3 pointer-events-none">
94
+ // <svg
95
+ // className="w-4 h-4 text-gray-500 dark:text-gray-400"
96
+ // aria-hidden="true"
97
+ // xmlns="http://www.w3.org/2000/svg"
98
+ // fill="none"
99
+ // viewBox="0 0 20 20"
100
+ // >
101
+ // <path
102
+ // stroke="currentColor"
103
+ // stroke-linecap="round"
104
+ // stroke-linejoin="round"
105
+ // stroke-width="2"
106
+ // d="m19 19-4-4m0-7A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z"
107
+ // />
108
+ // </svg>
109
+ // </div>
110
+ // <input
111
+ // type="search"
112
+ // id="default-search"
113
+ // className="inline-block min-w-full p-3 ps-10 outline-none text-sm text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
114
+ // placeholder="Search Users"
115
+ // required
116
+ // />
117
+ // <button
118
+ // type="submit"
119
+ // className="text-white absolute end-1.5 bottom-1.5 bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-4 py-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"
120
+ // >
121
+ // Search
122
+ // </button>
123
+ // </div>
124
+ // </form>
125
+ // </div>
126
+ // <div className="flex-grow ml-0 w-3/4">
127
+ // <form className="w-auto">{/* Search Form */}</form>
128
+ // </div>
129
+ // <div className="flex-grow ml-0 mt-4 w-full">
130
+ // <div className="overflow-hidden border border-gray-200 dark:border-gray-700 md:rounded-lg mt-6">
131
+ // <table className="min-w-full divide-y divide-gray-200 dark:divide-gray-700">
132
+ // <thead className="bg-gray-50 dark:bg-gray-800">
133
+ // <tr>
134
+ // <th
135
+ // scope="col"
136
+ // className="px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400"
137
+ // >
138
+ // Edit/Delete
139
+ // </th>
140
+ // <th
141
+ // scope="col"
142
+ // className="py-3.5 px-4 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400"
143
+ // >
144
+ // <div className="flex items-center gap-x-3">
145
+ // <span>Name</span>
146
+ // </div>
147
+ // </th>
63
148
 
64
- const handleEditClick = (id: string) => {
65
- return (
66
- <a
67
- href={`/admin/users/userform?id=${id}`}
68
- onClick={(e) => e.preventDefault()}
69
- >
70
- Edit User
71
- </a>
72
- );
73
- };
149
+ // <th
150
+ // scope="col"
151
+ // className="px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400"
152
+ // >
153
+ // <button className="flex items-center gap-x-2">
154
+ // <span>Email</span>
155
+ // </button>
156
+ // </th>
74
157
 
75
- return (
76
- <div className="container px-4 mx-auto mt-6">
77
- <div className="w-3/4">
78
- <h1 className="text-3xl font-bold text-blue-600 mb-5">Users</h1>
79
- </div>
80
- <div className="flex-grow ml-0 w-full mt-10">
81
- <form className="w-full ">
82
- <label
83
- htmlFor="default-search"
84
- className="mb-2 text-sm font-medium text-gray-900 sr-only dark:text-white"
85
- >
86
- Search
87
- </label>
88
- <div className="relative w-full">
89
- <div className="absolute inset-y-0 start-0 flex items-center ps-3 pointer-events-none">
90
- <svg
91
- className="w-4 h-4 text-gray-500 dark:text-gray-400"
92
- aria-hidden="true"
93
- xmlns="http://www.w3.org/2000/svg"
94
- fill="none"
95
- viewBox="0 0 20 20"
96
- >
97
- <path
98
- stroke="currentColor"
99
- stroke-linecap="round"
100
- stroke-linejoin="round"
101
- stroke-width="2"
102
- d="m19 19-4-4m0-7A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z"
103
- />
104
- </svg>
105
- </div>
106
- <input
107
- type="search"
108
- id="default-search"
109
- className="inline-block min-w-full p-3 ps-10 outline-none text-sm text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
110
- placeholder="Search Users"
111
- required
112
- />
113
- <button
114
- type="submit"
115
- className="text-white absolute end-1.5 bottom-1.5 bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-4 py-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"
116
- >
117
- Search
118
- </button>
119
- </div>
120
- </form>
121
- </div>
122
- <div className="flex-grow ml-0 w-3/4">
123
- <form className="w-auto">{/* Search Form */}</form>
124
- </div>
125
- <div className="flex-grow ml-0 mt-4 w-full">
126
- <div className="overflow-hidden border border-gray-200 dark:border-gray-700 md:rounded-lg mt-6">
127
- <table className="min-w-full divide-y divide-gray-200 dark:divide-gray-700">
128
- <thead className="bg-gray-50 dark:bg-gray-800">
129
- <tr>
130
- <th
131
- scope="col"
132
- className="px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400"
133
- >
134
- Edit/Delete
135
- </th>
136
- <th
137
- scope="col"
138
- className="py-3.5 px-4 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400"
139
- >
140
- <div className="flex items-center gap-x-3">
141
- <span>Name</span>
142
- </div>
143
- </th>
158
+ // <th
159
+ // scope="col"
160
+ // className="px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400"
161
+ // >
162
+ // <button className="flex items-center gap-x-2">
163
+ // <span>Mobile</span>
164
+ // </button>
165
+ // </th>
144
166
 
145
- <th
146
- scope="col"
147
- className="px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400"
148
- >
149
- <button className="flex items-center gap-x-2">
150
- <span>Email</span>
151
- </button>
152
- </th>
167
+ // <th
168
+ // scope="col"
169
+ // className="px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400"
170
+ // >
171
+ // Address
172
+ // </th>
153
173
 
154
- <th
155
- scope="col"
156
- className="px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400"
157
- >
158
- <button className="flex items-center gap-x-2">
159
- <span>Mobile</span>
160
- </button>
161
- </th>
174
+ // <th
175
+ // scope="col"
176
+ // className="px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400"
177
+ // >
178
+ // Role Type
179
+ // </th>
180
+ // </tr>
181
+ // </thead>
182
+ // <tbody className="bg-white divide-y divide-gray-200 dark:divide-gray-700 dark:bg-gray-900">
183
+ // {paginatedUsers.map((user, index) => (
184
+ // <tr key={user.id || index}>
185
+ // <td className="px-4 py-4 text-sm whitespace-nowrap">
186
+ // <div className="flex items-center gap-x-6">
187
+ // <button
188
+ // onClick={() => handleDeleteClick(user.id)}
189
+ // className="text-gray-500 transition-colors duration-200 dark:hover:text-red-600 dark:text-gray-300 hover:text-red-500 focus:outline-none"
190
+ // >
191
+ // <svg
192
+ // xmlns="http://www.w3.org/2000/svg"
193
+ // fill="none"
194
+ // viewBox="0 0 24 24"
195
+ // stroke-width="1.5"
196
+ // stroke="currentColor"
197
+ // className="w-5 h-5"
198
+ // >
199
+ // <path
200
+ // stroke-linecap="round"
201
+ // stroke-linejoin="round"
202
+ // d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0"
203
+ // />
204
+ // </svg>
205
+ // </button>
162
206
 
163
- <th
164
- scope="col"
165
- className="px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400"
166
- >
167
- Address
168
- </th>
207
+ // <a
208
+ // href={`/admin/users/userform?id=${user.id}`}
209
+ // onClick={(e) => {
210
+ // e.preventDefault(); // Prevent default navigation
211
+ // handleEditClick(user.id); // Trigger the edit functionality
212
+ // window.location.href = `/admin/users/userform?id=${user.id}`; // Manually navigate
213
+ // }}
214
+ // >
215
+ // <button className="text-gray-500 transition-colors duration-200 dark:hover:text-yellow-500 dark:text-gray-300 hover:text-yellow-500 focus:outline-none">
216
+ // <svg
217
+ // xmlns="http://www.w3.org/2000/svg"
218
+ // fill="none"
219
+ // viewBox="0 0 24 24"
220
+ // strokeWidth="1.5"
221
+ // stroke="currentColor"
222
+ // className="w-5 h-5"
223
+ // >
224
+ // <path
225
+ // strokeLinecap="round"
226
+ // strokeLinejoin="round"
227
+ // d="M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10"
228
+ // />
229
+ // </svg>
230
+ // </button>
231
+ // </a>
232
+ // </div>
233
+ // </td>
234
+ // <td className="px-4 py-4 text-sm font-medium text-gray-700 whitespace-nowrap">
235
+ // <div className="inline-flex items-center gap-x-3">
236
+ // <div className="flex items-center gap-x-2">
237
+ // <div>
238
+ // <h2 className=" text-sm font-medium text-gray-800 dark:text-white ">
239
+ // {user.name}
240
+ // </h2>
241
+ // </div>
242
+ // </div>
243
+ // </div>
244
+ // </td>
245
+ // <td className="px-4 py-4 text-sm text-gray-500 dark:text-gray-300 whitespace-nowrap">
246
+ // {user.email}
247
+ // </td>
248
+ // <td className="px-4 py-4 text-sm text-gray-500 dark:text-gray-300 whitespace-nowrap">
249
+ // {user?.mobile || "Not Provided"}
250
+ // </td>
251
+ // <td className="px-4 py-4 text-sm text-gray-500 dark:text-gray-300 whitespace-nowrap">
252
+ // {user?.address || "Not Provided"}
253
+ // </td>
254
+ // <td className="px-4 py-4 text-sm text-gray-500 dark:text-gray-300 whitespace-nowrap">
255
+ // {user.roleType === "1" ? "Guest" : "Admin"}
256
+ // </td>
257
+ // </tr>
258
+ // ))}
259
+ // </tbody>
260
+ // </table>
261
+ // </div>
169
262
 
170
- <th
171
- scope="col"
172
- className="px-4 py-3.5 text-md font-normal text-left rtl:text-right text-gray-500 dark:text-gray-400"
173
- >
174
- Role Type
175
- </th>
176
- </tr>
177
- </thead>
178
- <tbody className="bg-white divide-y divide-gray-200 dark:divide-gray-700 dark:bg-gray-900">
179
- {paginatedUsers.map((user, index) => (
180
- <tr key={user.id || index}>
181
- <td className="px-4 py-4 text-sm whitespace-nowrap">
182
- <div className="flex items-center gap-x-6">
183
- <button
184
- onClick={() => handleDeleteClick(user.id)}
185
- className="text-gray-500 transition-colors duration-200 dark:hover:text-red-600 dark:text-gray-300 hover:text-red-500 focus:outline-none"
186
- >
187
- <svg
188
- xmlns="http://www.w3.org/2000/svg"
189
- fill="none"
190
- viewBox="0 0 24 24"
191
- stroke-width="1.5"
192
- stroke="currentColor"
193
- className="w-5 h-5"
194
- >
195
- <path
196
- stroke-linecap="round"
197
- stroke-linejoin="round"
198
- d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0"
199
- />
200
- </svg>
201
- </button>
263
+ // <div className="flex items-center justify-between mt-6">
264
+ // <button
265
+ // onClick={handlePreviousPage}
266
+ // disabled={currentPage === 1}
267
+ // className="flex items-center px-5 py-2 text-sm text-gray-700 capitalize transition-colors duration-200 bg-white border rounded-md gap-x-2 hover:bg-gray-100 dark:bg-gray-900 dark:text-gray-200 dark:border-gray-700 dark:hover:bg-gray-800"
268
+ // >
269
+ // <svg
270
+ // xmlns="http://www.w3.org/2000/svg"
271
+ // fill="none"
272
+ // viewBox="0 0 24 24"
273
+ // stroke-width="1.5"
274
+ // stroke="currentColor"
275
+ // className="w-5 h-5 rtl:-scale-x-100"
276
+ // >
277
+ // <path
278
+ // stroke-linecap="round"
279
+ // stroke-linejoin="round"
280
+ // d="M6.75 15.75L3 12m0 0l3.75-3.75M3 12h18"
281
+ // />
282
+ // </svg>
202
283
 
203
- <a
204
- href={`/admin/users/userform?id=${user.id}`}
205
- onClick={(e) => {
206
- e.preventDefault(); // Prevent default navigation
207
- handleEditClick(user.id); // Trigger the edit functionality
208
- window.location.href = `/admin/users/userform?id=${user.id}`; // Manually navigate
209
- }}
210
- >
211
- <button className="text-gray-500 transition-colors duration-200 dark:hover:text-yellow-500 dark:text-gray-300 hover:text-yellow-500 focus:outline-none">
212
- <svg
213
- xmlns="http://www.w3.org/2000/svg"
214
- fill="none"
215
- viewBox="0 0 24 24"
216
- strokeWidth="1.5"
217
- stroke="currentColor"
218
- className="w-5 h-5"
219
- >
220
- <path
221
- strokeLinecap="round"
222
- strokeLinejoin="round"
223
- d="M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10"
224
- />
225
- </svg>
226
- </button>
227
- </a>
228
- </div>
229
- </td>
230
- <td className="px-4 py-4 text-sm font-medium text-gray-700 whitespace-nowrap">
231
- <div className="inline-flex items-center gap-x-3">
232
- <div className="flex items-center gap-x-2">
233
- <div>
234
- <h2 className=" text-sm font-medium text-gray-800 dark:text-white ">
235
- {user.name}
236
- </h2>
237
- </div>
238
- </div>
239
- </div>
240
- </td>
241
- <td className="px-4 py-4 text-sm text-gray-500 dark:text-gray-300 whitespace-nowrap">
242
- {user.email}
243
- </td>
244
- <td className="px-4 py-4 text-sm text-gray-500 dark:text-gray-300 whitespace-nowrap">
245
- {user?.mobile || "Not Provided"}
246
- </td>
247
- <td className="px-4 py-4 text-sm text-gray-500 dark:text-gray-300 whitespace-nowrap">
248
- {user?.address || "Not Provided"}
249
- </td>
250
- <td className="px-4 py-4 text-sm text-gray-500 dark:text-gray-300 whitespace-nowrap">
251
- {user.roleType === "1" ? "Guest" : "Admin"}
252
- </td>
253
- </tr>
254
- ))}
255
- </tbody>
256
- </table>
257
- </div>
284
+ // <span>previous</span>
285
+ // </button>
258
286
 
259
- <div className="flex items-center justify-between mt-6">
260
- <button
261
- onClick={handlePreviousPage}
262
- disabled={currentPage === 1}
263
- className="flex items-center px-5 py-2 text-sm text-gray-700 capitalize transition-colors duration-200 bg-white border rounded-md gap-x-2 hover:bg-gray-100 dark:bg-gray-900 dark:text-gray-200 dark:border-gray-700 dark:hover:bg-gray-800"
264
- >
265
- <svg
266
- xmlns="http://www.w3.org/2000/svg"
267
- fill="none"
268
- viewBox="0 0 24 24"
269
- stroke-width="1.5"
270
- stroke="currentColor"
271
- className="w-5 h-5 rtl:-scale-x-100"
272
- >
273
- <path
274
- stroke-linecap="round"
275
- stroke-linejoin="round"
276
- d="M6.75 15.75L3 12m0 0l3.75-3.75M3 12h18"
277
- />
278
- </svg>
287
+ // <div className="items-center hidden lg:flex gap-x-3">
288
+ // {Array.from({ length: totalPages }, (_, index) => (
289
+ // <button
290
+ // key={index + 1}
291
+ // onClick={() => handlePageClick(index + 1)}
292
+ // className={`px-2 py-1 text-sm ${
293
+ // currentPage === index + 1
294
+ // ? "text-blue-500 bg-blue-100"
295
+ // : "text-gray-500 hover:bg-gray-100"
296
+ // } rounded-md`}
297
+ // >
298
+ // {index + 1}
299
+ // </button>
300
+ // ))}
301
+ // </div>
302
+ // <button
303
+ // onClick={handleNextPage}
304
+ // disabled={currentPage === totalPages}
305
+ // className="flex items-center px-5 py-2 text-sm text-gray-700 capitalize transition-colors duration-200 bg-white border rounded-md gap-x-2 hover:bg-gray-100 dark:bg-gray-900 dark:text-gray-200 dark:border-gray-700 dark:hover:bg-gray-800"
306
+ // >
307
+ // <span>Next</span>
279
308
 
280
- <span>previous</span>
281
- </button>
309
+ // <svg
310
+ // xmlns="http://www.w3.org/2000/svg"
311
+ // fill="none"
312
+ // viewBox="0 0 24 24"
313
+ // stroke-width="1.5"
314
+ // stroke="currentColor"
315
+ // className="w-5 h-5 rtl:-scale-x-100"
316
+ // >
317
+ // <path
318
+ // stroke-linecap="round"
319
+ // stroke-linejoin="round"
320
+ // d="M17.25 8.25L21 12m0 0l-3.75 3.75M21 12H3"
321
+ // />
322
+ // </svg>
323
+ // </button>
324
+ // </div>
282
325
 
283
- <div className="items-center hidden lg:flex gap-x-3">
284
- {Array.from({ length: totalPages }, (_, index) => (
285
- <button
286
- key={index + 1}
287
- onClick={() => handlePageClick(index + 1)}
288
- className={`px-2 py-1 text-sm ${
289
- currentPage === index + 1
290
- ? "text-blue-500 bg-blue-100"
291
- : "text-gray-500 hover:bg-gray-100"
292
- } rounded-md`}
293
- >
294
- {index + 1}
295
- </button>
296
- ))}
297
- </div>
298
- <button
299
- onClick={handleNextPage}
300
- disabled={currentPage === totalPages}
301
- className="flex items-center px-5 py-2 text-sm text-gray-700 capitalize transition-colors duration-200 bg-white border rounded-md gap-x-2 hover:bg-gray-100 dark:bg-gray-900 dark:text-gray-200 dark:border-gray-700 dark:hover:bg-gray-800"
302
- >
303
- <span>Next</span>
326
+ // <div className="flex-grow ml-0 mt-4 w-0">
327
+ // {/* <a href="/admin/users/userform">
328
+ // <button
329
+ // type="button"
330
+ // className="flex items-center justify-center px-6 py-2 font-medium tracking-wide text-white capitalize transition-colors duration-300 transform bg-blue-600 rounded-lg hover:bg-blue-500 focus:outline-none focus:ring focus:ring-blue-300 focus:ring-opacity-80"
331
+ // >
332
+ // <FaPlus className="mr-2 font-medium" />
333
+ // User
334
+ // </button>
335
+ // </a> */}
336
+ // <button
337
+ // type="button"
338
+ // onClick={handleNav}
339
+ // className="flex items-center justify-center px-6 py-2 font-medium tracking-wide text-white capitalize transition-colors duration-300 transform bg-blue-600 rounded-lg hover:bg-blue-500 focus:outline-none focus:ring focus:ring-blue-300 focus:ring-opacity-80"
340
+ // >
341
+ // <FaPlus className="mr-2 font-medium" />
342
+ // User
343
+ // </button>
344
+ // </div>
345
+ // </div>
346
+ // </div>
347
+ // );
348
+ // }
304
349
 
305
- <svg
306
- xmlns="http://www.w3.org/2000/svg"
307
- fill="none"
308
- viewBox="0 0 24 24"
309
- stroke-width="1.5"
310
- stroke="currentColor"
311
- className="w-5 h-5 rtl:-scale-x-100"
312
- >
313
- <path
314
- stroke-linecap="round"
315
- stroke-linejoin="round"
316
- d="M17.25 8.25L21 12m0 0l-3.75 3.75M21 12H3"
317
- />
318
- </svg>
319
- </button>
320
- </div>
350
+ // export default Users;
351
+
352
+ import React from "react";
321
353
 
322
- <div className="flex-grow ml-0 mt-4 w-0">
323
- {/* <a href="/admin/users/userform">
324
- <button
325
- type="button"
326
- className="flex items-center justify-center px-6 py-2 font-medium tracking-wide text-white capitalize transition-colors duration-300 transform bg-blue-600 rounded-lg hover:bg-blue-500 focus:outline-none focus:ring focus:ring-blue-300 focus:ring-opacity-80"
327
- >
328
- <FaPlus className="mr-2 font-medium" />
329
- User
330
- </button>
331
- </a> */}
332
- <button
333
- type="button"
334
- onClick={() => {
335
- window.history.pushState({}, "", "/admin/users/userform");
336
- }}
337
- className="flex items-center justify-center px-6 py-2 font-medium tracking-wide text-white capitalize transition-colors duration-300 transform bg-blue-600 rounded-lg hover:bg-blue-500 focus:outline-none focus:ring focus:ring-blue-300 focus:ring-opacity-80"
338
- >
339
- <FaPlus className="mr-2 font-medium" />
340
- User
341
- </button>
342
- </div>
343
- </div>
344
- </div>
345
- );
346
- }
354
+ const Users = () => {
355
+ return <div>Users</div>;
356
+ };
347
357
 
348
358
  export default Users;