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

Sign up to get free protection for your applications and to get access to all the features.
@@ -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,73 +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 handleNav = (e) => {
29
- e.preventDefault();
30
- window.location.href = "/users/userform";
31
- };
32
- const [currentPage, setCurrentPage] = useState(1);
33
- const itemsPerPage = 10;
34
- const totalPages = Math.ceil(users.length / itemsPerPage);
35
- const handleNextPage = () => {
36
- if (currentPage < totalPages) {
37
- setCurrentPage(currentPage + 1);
38
- }
39
- };
40
- const handlePreviousPage = () => {
41
- if (currentPage > 1) {
42
- setCurrentPage(currentPage - 1);
43
- }
44
- };
45
- const handlePageClick = (pageNumber) => {
46
- setCurrentPage(pageNumber);
47
- };
48
- const paginatedUsers = users.slice((currentPage - 1) * itemsPerPage, currentPage * itemsPerPage);
49
- const handleDeleteClick = (id) => __awaiter(this, void 0, void 0, function* () {
50
- try {
51
- yield deleteUserApi(id);
52
- alert("User deleted successfully");
53
- fetchUsersData();
54
- }
55
- catch (error) {
56
- console.error("Error deleting User:", error);
57
- }
58
- });
59
- // const handleEditClick = (id: string) => {
60
- // navigate("/admin/user/userform", { state: { id } });
61
- // };
62
- const handleEditClick = (id) => {
63
- return (_jsx("a", { href: `/admin/users/userform?id=${id}`, onClick: (e) => e.preventDefault(), children: "Edit User" }));
64
- };
65
- 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) => {
66
- e.preventDefault(); // Prevent default navigation
67
- handleEditClick(user.id); // Trigger the edit functionality
68
- window.location.href = `/admin/users/userform?id=${user.id}`; // Manually navigate
69
- }, 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
70
- ? "text-blue-500 bg-blue-100"
71
- : "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: handleNav, 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"] }) })] })] }));
72
- }
73
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.27",
3
+ "version": "1.0.28",
4
4
  "main": "./dist/index.js",
5
5
  "scripts": {
6
6
  "build": "tsc",
@@ -1,350 +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
- }, []);
22
- const handleNav = (e: React.FormEvent) => {
23
- e.preventDefault();
24
- window.location.href = "/users/userform";
25
- };
30
+ // const totalPages = Math.ceil(users.length / itemsPerPage);
26
31
 
27
- const [currentPage, setCurrentPage] = useState(1);
28
- const itemsPerPage = 10;
32
+ // const handleNextPage = () => {
33
+ // if (currentPage < totalPages) {
34
+ // setCurrentPage(currentPage + 1);
35
+ // }
36
+ // };
29
37
 
30
- const totalPages = Math.ceil(users.length / itemsPerPage);
38
+ // const handlePreviousPage = () => {
39
+ // if (currentPage > 1) {
40
+ // setCurrentPage(currentPage - 1);
41
+ // }
42
+ // };
31
43
 
32
- const handleNextPage = () => {
33
- if (currentPage < totalPages) {
34
- setCurrentPage(currentPage + 1);
35
- }
36
- };
44
+ // const handlePageClick = (pageNumber: number) => {
45
+ // setCurrentPage(pageNumber);
46
+ // };
37
47
 
38
- const handlePreviousPage = () => {
39
- if (currentPage > 1) {
40
- setCurrentPage(currentPage - 1);
41
- }
42
- };
48
+ // const paginatedUsers = users.slice(
49
+ // (currentPage - 1) * itemsPerPage,
50
+ // currentPage * itemsPerPage
51
+ // );
43
52
 
44
- const handlePageClick = (pageNumber: number) => {
45
- setCurrentPage(pageNumber);
46
- };
53
+ // const handleDeleteClick = async (id: string) => {
54
+ // try {
55
+ // await deleteUserApi(id);
56
+ // alert("User deleted successfully");
47
57
 
48
- const paginatedUsers = users.slice(
49
- (currentPage - 1) * itemsPerPage,
50
- currentPage * itemsPerPage
51
- );
58
+ // fetchUsersData();
59
+ // } catch (error) {
60
+ // console.error("Error deleting User:", error);
61
+ // }
62
+ // };
52
63
 
53
- const handleDeleteClick = async (id: string) => {
54
- try {
55
- await deleteUserApi(id);
56
- alert("User deleted successfully");
64
+ // // const handleEditClick = (id: string) => {
65
+ // // navigate("/admin/user/userform", { state: { id } });
66
+ // // };
57
67
 
58
- fetchUsersData();
59
- } catch (error) {
60
- console.error("Error deleting User:", error);
61
- }
62
- };
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
+ // };
63
78
 
64
- // const handleEditClick = (id: string) => {
65
- // navigate("/admin/user/userform", { state: { id } });
66
- // };
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>
67
148
 
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
- };
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>
78
157
 
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>
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>
148
166
 
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>
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>
157
173
 
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>
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>
166
206
 
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>
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>
173
262
 
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>
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>
206
283
 
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>
284
+ // <span>previous</span>
285
+ // </button>
262
286
 
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>
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>
283
308
 
284
- <span>previous</span>
285
- </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>
286
325
 
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>
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
+ // }
308
349
 
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>
350
+ // export default Users;
351
+
352
+ import React from "react";
325
353
 
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
- }
354
+ const Users = () => {
355
+ return <div>Users</div>;
356
+ };
349
357
 
350
358
  export default Users;