eleven-solutions-common-website-unique-web 21.0.56 → 22.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. package/dist/App.d.ts +0 -3
  2. package/dist/App.js +0 -2
  3. package/dist/components/admin/Sidebar.d.ts +0 -1
  4. package/dist/components/admin/Sidebar.js +2 -2
  5. package/dist/components/admin/UserForm.js +6 -5
  6. package/dist/components/admin/Users.js +4 -3
  7. package/dist/components/footer/Footer.d.ts +3 -2
  8. package/dist/components/footer/Footer.js +2 -3
  9. package/dist/components/index.d.ts +3 -2
  10. package/dist/components/index.js +3 -2
  11. package/dist/components/login/GoogleButton.js +4 -1
  12. package/dist/components/login/Header.d.ts +3 -1
  13. package/dist/components/login/Header.js +135 -31
  14. package/dist/components/login/Login.d.ts +2 -1
  15. package/dist/components/login/Login.js +15 -65
  16. package/dist/components/login/Setcookie.d.ts +2 -0
  17. package/dist/components/login/Setcookie.js +7 -0
  18. package/dist/components/redux/slices/types/types.d.ts +3 -0
  19. package/dist/components/redux/slices/types/types.js +1 -0
  20. package/dist/components/redux/slices/userSlice.d.ts +20 -0
  21. package/dist/components/redux/slices/userSlice.js +90 -0
  22. package/dist/components/useraccount/UpdateUserDetails.d.ts +1 -0
  23. package/dist/components/useraccount/UpdateUserDetails.js +15 -22
  24. package/package.json +9 -4
  25. package/.github/workflows/main.yml +0 -22
  26. package/azure-pipelines.yml +0 -20
  27. package/dist/components/Navbar.d.ts +0 -6
  28. package/dist/components/Navbar.js +0 -5
  29. package/dist/components/login/View.d.ts +0 -2
  30. package/dist/components/login/View.js +0 -10
  31. package/dist/components/useraccount/AddMissingDetails.d.ts +0 -9
  32. package/dist/components/useraccount/AddMissingDetails.js +0 -56
  33. package/dist/components/useraccount/AddUserDetails.d.ts +0 -9
  34. package/dist/components/useraccount/AddUserDetails.js +0 -21
  35. package/src/App.tsx +0 -21
  36. package/src/components/Navbar.tsx +0 -21
  37. package/src/components/admin/Dashboard.tsx +0 -7
  38. package/src/components/admin/Editor.tsx +0 -25
  39. package/src/components/admin/Sidebar.tsx +0 -102
  40. package/src/components/admin/Taxionomies.tsx +0 -314
  41. package/src/components/admin/TaxonomyForm.tsx +0 -744
  42. package/src/components/admin/Template.tsx +0 -304
  43. package/src/components/admin/TemplateForm.tsx +0 -141
  44. package/src/components/admin/UserForm.tsx +0 -231
  45. package/src/components/admin/Users.tsx +0 -479
  46. package/src/components/api/api.ts +0 -59
  47. package/src/components/api/taxonomy.ts +0 -201
  48. package/src/components/api/template.ts +0 -114
  49. package/src/components/api/updateuser.ts +0 -53
  50. package/src/components/api/user.ts +0 -133
  51. package/src/components/footer/Footer.tsx +0 -128
  52. package/src/components/footer/Privacy.tsx +0 -82
  53. package/src/components/footer/Terms.tsx +0 -156
  54. package/src/components/index.ts +0 -19
  55. package/src/components/login/GoogleButton.tsx +0 -85
  56. package/src/components/login/Header.tsx +0 -340
  57. package/src/components/login/Login.tsx +0 -277
  58. package/src/components/useraccount/AddUserDetails.tsx +0 -136
  59. package/src/components/useraccount/UpdateUserDetails.tsx +0 -214
  60. package/src/index.ts +0 -1
  61. package/tsconfig.json +0 -15
@@ -1,201 +0,0 @@
1
- import axios from "axios";
2
- import Cookies from "universal-cookie";
3
- const apiUrl = "http://localhost:5260";
4
- const cookies = new Cookies();
5
-
6
- export const addTaxonomyApi = async (
7
- url: string,
8
- type: string,
9
- code: number,
10
- value: string
11
- ) => {
12
- const token = cookies.get("authToken");
13
-
14
- try {
15
- const response = await axios.post(
16
- `${url}/taxonomy/add`,
17
- {
18
- Type: type,
19
- Code: code,
20
- Value: value,
21
- },
22
- {
23
- headers: {
24
- Authorization: `Bearer ${token}`,
25
- },
26
- }
27
- );
28
- return response;
29
- } catch (error) {
30
- console.error(error);
31
-
32
- throw error;
33
- }
34
- };
35
-
36
- export const fetchTaxonomiessApi = async (url: string) => {
37
- const token = cookies.get("authToken");
38
-
39
- try {
40
- const response = await axios.get(`${url}/taxonomy/gettaxonomy`, {
41
- headers: {
42
- Authorization: `Bearer ${token}`,
43
- },
44
- });
45
- return response.data;
46
- } catch (error) {
47
- console.error(error);
48
- return false;
49
- }
50
- };
51
-
52
- export const deleteTaxonomyApi = async (url: string, id: string) => {
53
- const token = cookies.get("authToken");
54
-
55
- try {
56
- const response = await axios.request({
57
- method: "DELETE",
58
- url: `${url}/taxonomy/delete`,
59
- headers: {
60
- Authorization: `Bearer ${token}`,
61
- "Content-Type": "application/json",
62
- },
63
- data: {
64
- id,
65
- },
66
- });
67
- return response.data;
68
- } catch (error) {
69
- console.error("Error deleting taxonomy:", error);
70
- throw error;
71
- }
72
- };
73
-
74
- export const fetchTaxonomyByIdApi = async (url: string, taxonomyId: string) => {
75
- const cookies = new Cookies();
76
- const token = cookies.get("authToken");
77
-
78
- try {
79
- const response = await axios.get(
80
- `${url}/taxonomy/gettaxonomybyid/${taxonomyId}`,
81
- {
82
- headers: {
83
- Authorization: `Bearer ${token}`,
84
- },
85
- }
86
- );
87
-
88
- return response.data;
89
- } catch (error) {
90
- console.error("Error fetching user by ID:", error);
91
- return false;
92
- }
93
- };
94
-
95
- export const updateTaxonomyApi = async (
96
- url: string,
97
- id: string,
98
- type: string,
99
- code: number,
100
- value: string
101
- ) => {
102
- const token = cookies.get("authToken");
103
-
104
- try {
105
- const response = await axios.post(
106
- `${url}/taxonomy/updatetaxonomy`,
107
- {
108
- Id: id,
109
- Type: type,
110
- Code: code,
111
- Value: value,
112
- },
113
- {
114
- headers: {
115
- Authorization: `Bearer ${token}`,
116
- },
117
- }
118
- );
119
- return response.data;
120
- } catch (error) {
121
- throw error;
122
- }
123
- };
124
-
125
- export const addMultipleTaxonomiesApi = async (
126
- url: string,
127
- taxonomies: { type: string; code: number; value: string }[]
128
- ) => {
129
- const token = cookies.get("authToken");
130
-
131
- try {
132
- const response = await axios.post(
133
- `${url}/taxonomy/addmultipletaxonomies`,
134
- taxonomies,
135
- {
136
- headers: {
137
- Authorization: `Bearer ${token}`,
138
- "Content-Type": "application/json",
139
- },
140
- }
141
- );
142
- return response;
143
- } catch (error: any) {
144
- console.error(
145
- "Error adding multiple taxonomies:",
146
- error.response?.data || error
147
- );
148
- throw error;
149
- }
150
- };
151
-
152
- export const isMultipleApi = async (url: string, type: string) => {
153
- const token = cookies.get("authToken");
154
-
155
- try {
156
- const response = await axios.get(
157
- `${url}/taxonomy/IsTaxonomyMultipleByType/${type}`,
158
- {
159
- headers: {
160
- Authorization: `Bearer ${token}`,
161
- },
162
- }
163
- );
164
- return response.data;
165
- } catch (error) {
166
- console.error("Error checking if taxonomy is multiple:", error);
167
- throw error;
168
- }
169
- };
170
-
171
- export const addSubTypeApi = async (
172
- url: string,
173
- parentid: string,
174
- type: string,
175
- code: number,
176
- value: string
177
- ) => {
178
- const token = cookies.get("authToken");
179
-
180
- try {
181
- const response = await axios.post(
182
- `${url}/taxonomy/addsubtype`,
183
- {
184
- ParentId: parentid,
185
- Type: type,
186
- Code: code,
187
- Value: value,
188
- },
189
- {
190
- headers: {
191
- Authorization: `Bearer ${token}`,
192
- },
193
- }
194
- );
195
- return response;
196
- } catch (error) {
197
- console.error(error);
198
-
199
- throw error;
200
- }
201
- };
@@ -1,114 +0,0 @@
1
- import axios from "axios";
2
- import Cookies from "universal-cookie";
3
- const apiUrl = "http://localhost:5260";
4
- const cookies = new Cookies();
5
-
6
- export const addTemplateApi = async (
7
- url: string,
8
- name: string,
9
- content: string
10
- ) => {
11
- const token = cookies.get("authToken");
12
-
13
- try {
14
- const response = await axios.post(
15
- `${url}/template/add`,
16
- {
17
- Name: name,
18
- Content: content,
19
- },
20
- {
21
- headers: {
22
- Authorization: `Bearer ${token}`,
23
- },
24
- }
25
- );
26
- return response;
27
- } catch (error) {
28
- console.error(error);
29
- throw error;
30
- }
31
- };
32
-
33
- export const fetchTemplatesApi = async (url: string) => {
34
- const token = cookies.get("authToken");
35
-
36
- try {
37
- const response = await axios.get(`${url}/template/gettemplate`, {
38
- headers: {
39
- Authorization: `Bearer ${token}`,
40
- },
41
- });
42
- return response.data;
43
- } catch (error) {
44
- console.error(error);
45
- return false;
46
- }
47
- };
48
-
49
- export const fetchTemplateByIdApi = async (url: string, id: string) => {
50
- const cookies = new Cookies();
51
- const token = cookies.get("authToken");
52
-
53
- try {
54
- const response = await axios.get(`${url}/template/gettemplatebyid/${id}`, {
55
- headers: {
56
- Authorization: `Bearer ${token}`,
57
- },
58
- });
59
-
60
- return response.data;
61
- } catch (error) {
62
- console.error("Error fetching template by ID:", error);
63
- return false;
64
- }
65
- };
66
-
67
- export const updateTemplateApi = async (
68
- url: string,
69
- id: string,
70
- name: string,
71
- content: string
72
- ) => {
73
- const token = cookies.get("authToken");
74
-
75
- try {
76
- const response = await axios.post(
77
- `${url}/template/updatetemplate`,
78
- {
79
- id: id,
80
- name: name,
81
- content: content,
82
- },
83
- {
84
- headers: {
85
- Authorization: `Bearer ${token}`,
86
- },
87
- }
88
- );
89
- return response.data;
90
- } catch (error) {
91
- throw error;
92
- }
93
- };
94
-
95
- export const deleteTemplateApi = async (url: string, id: string) => {
96
- const token = cookies.get("authToken");
97
-
98
- try {
99
- const response = await axios.post(
100
- `${url}/template/deletetemplate`,
101
- {
102
- id: id,
103
- },
104
- {
105
- headers: {
106
- Authorization: `Bearer ${token}`,
107
- },
108
- }
109
- );
110
- return response.data;
111
- } catch (error) {
112
- throw error;
113
- }
114
- };
@@ -1,53 +0,0 @@
1
- import axios from "axios";
2
- interface UserProfile {
3
- name: string;
4
- mobile: string;
5
- address: string;
6
- // add any other fields that `userProfile` is expected to have
7
- }
8
-
9
- export const getProfileApi = async (
10
- token: string,
11
- apiurl: string
12
- ): Promise<UserProfile | false> => {
13
- try {
14
- const response = await axios.get<UserProfile>(`${apiurl}/login/get`, {
15
- headers: {
16
- Authorization: `Bearer ${token}`,
17
- },
18
- });
19
- return response.data;
20
- } catch (error: any) {
21
- console.error(error);
22
- return false;
23
- }
24
- };
25
-
26
- export const updateProfileApi = async (
27
- url: string,
28
- token: string,
29
- name: string,
30
- mobile: string,
31
- address: string
32
- ) => {
33
- try {
34
- const response = await axios.post(
35
- `${url}/login/update`,
36
- {
37
- url,
38
- name,
39
- mobile,
40
- address,
41
- },
42
- {
43
- headers: {
44
- Authorization: `Bearer ${token}`,
45
- },
46
- }
47
- );
48
- return response;
49
- } catch (error) {
50
- console.error("Error during API call:", error);
51
- throw error;
52
- }
53
- };
@@ -1,133 +0,0 @@
1
- import axios from "axios";
2
- import Cookies from "universal-cookie";
3
- const apiUrl = "http://localhost:5260";
4
- const cookies = new Cookies();
5
-
6
- export const addUserApi = async (
7
- url: string,
8
- name: string,
9
- email: string,
10
- mobile: string,
11
- address: string,
12
- roleType: string,
13
- gender: string
14
- ) => {
15
- const token = cookies.get("authToken");
16
-
17
- try {
18
- const response = await axios.post(
19
- `${url}/login/adduser`,
20
- {
21
- Name: name,
22
- Email: email,
23
- Mobile: mobile,
24
- Address: address,
25
- RoleType: Number(roleType),
26
- Gender: Number(gender),
27
- },
28
- {
29
- headers: {
30
- Authorization: `Bearer ${token}`,
31
- },
32
- }
33
- );
34
- return response;
35
- } catch (error) {
36
- console.error(error);
37
-
38
- throw error;
39
- }
40
- };
41
-
42
- export const fetchUsersApi = async (url: string) => {
43
- const token = cookies.get("authToken");
44
-
45
- try {
46
- const response = await axios.get(`${url}/login/getuser`, {
47
- headers: {
48
- Authorization: `Bearer ${token}`,
49
- },
50
- });
51
- return response.data;
52
- } catch (error) {
53
- console.error(error);
54
- return false;
55
- }
56
- };
57
-
58
- export const fetchUserByIdApi = async (url: string, userId: string) => {
59
- const cookies = new Cookies();
60
- const token = cookies.get("authToken");
61
-
62
- try {
63
- const response = await axios.get(`${url}/login/getuserbyid/${userId}`, {
64
- headers: {
65
- Authorization: `Bearer ${token}`,
66
- },
67
- });
68
-
69
- return response.data;
70
- } catch (error) {
71
- console.error("Error fetching user by ID:", error);
72
- return false;
73
- }
74
- };
75
-
76
- export const deleteUserApi = async (url: string, id: string) => {
77
- const token = cookies.get("authToken");
78
-
79
- try {
80
- const response = await axios.request({
81
- method: "DELETE",
82
- url: `${url}/login/delete`,
83
- headers: {
84
- Authorization: `Bearer ${token}`,
85
- "Content-Type": "application/json",
86
- },
87
- data: {
88
- id,
89
- },
90
- });
91
- return response.data;
92
- } catch (error) {
93
- console.error("Error deleting user:", error);
94
- throw error;
95
- }
96
- };
97
-
98
- export const updateUserApi = async (
99
- url: string,
100
-
101
- id: string,
102
- name: string,
103
- email: string,
104
- mobile: string,
105
- address: string,
106
- roleType: string,
107
- gender: string
108
- ) => {
109
- const token = cookies.get("authToken");
110
-
111
- try {
112
- const response = await axios.post(
113
- `${url}/login/updateuser`,
114
- {
115
- Id: id,
116
- Name: name,
117
- Email: email,
118
- Mobile: mobile,
119
- Address: address,
120
- RoleType: Number(roleType),
121
- Gender: Number(gender),
122
- },
123
- {
124
- headers: {
125
- Authorization: `Bearer ${token}`,
126
- },
127
- }
128
- );
129
- return response.data;
130
- } catch (error) {
131
- throw error;
132
- }
133
- };
@@ -1,128 +0,0 @@
1
- import React from "react";
2
-
3
- const data = [
4
- {
5
- title: "About",
6
- links: [
7
- { label: "About Us", link: "/about" },
8
- { label: "Terms and Conditions", link: "/termsandconditions" },
9
- { label: "Privacy and Policy", link: "/privacyandpolicy" },
10
- { label: "Refund Policy", link: "/refundpolicy" },
11
- ],
12
- },
13
- {
14
- title: "Services",
15
- links: [
16
- { label: "Coming Soon", link: "#" },
17
- { label: "Coming Soon", link: "#" },
18
- { label: "Coming Soon", link: "#" },
19
- { label: "Coming Soon", link: "#" },
20
- ],
21
- },
22
- {
23
- title: "Departments",
24
- links: [
25
- { label: "Coming Soon", link: "#" },
26
- { label: "Coming Soon", link: "#" },
27
- { label: "Coming Soon", link: "#" },
28
- { label: "Coming Soon", link: "#" },
29
- ],
30
- },
31
- ];
32
-
33
- interface FooterProps {
34
- companyName?: string;
35
- isDarkMode?: boolean;
36
- }
37
-
38
- const Footer: React.FC<FooterProps> = ({
39
- companyName = "Eleven Software Solutions Pvt. Ltd.",
40
- isDarkMode = false,
41
- }) => {
42
- const handleNavigation = (event: React.MouseEvent, path: string) => {
43
- event.preventDefault();
44
- window.history.pushState({}, "", path);
45
- window.dispatchEvent(new PopStateEvent("popstate"));
46
- };
47
-
48
- const groups = data.map((group) => (
49
- <div key={group.title}>
50
- <h3
51
- className={`${
52
- isDarkMode ? " text-[#ffff]" : " text-[#000000]"
53
- } text-lg font-bold mb-3`}
54
- >
55
- {group.title}
56
- </h3>
57
- <ul>
58
- {group.links.map((link, index) => (
59
- <li key={index} className="mb-2">
60
- <a
61
- href={link.link}
62
- onClick={(event) => handleNavigation(event, link.link)}
63
- className={`${
64
- isDarkMode ? "text-[#B8B8B8]" : "bg-[#f8f9fa] text-[#b69B96]"
65
- } cursor-pointer hover:text-blue-200 hover:underline`}
66
- >
67
- {link.label}
68
- </a>
69
- </li>
70
- ))}
71
- </ul>
72
- </div>
73
- ));
74
-
75
- const thisName = "Barelvi";
76
-
77
- return (
78
- <footer
79
- className={`${
80
- isDarkMode
81
- ? "bg-[#2e2e2e] lg:border-t lg:border-[#3b3b3b] md:border-t md:border-[#3b3b3b]"
82
- : "bg-[#f8f9fa] border-t border-[#E9ECEF]"
83
- } py-8`}
84
- >
85
- <div className="container mx-auto px-6 flex flex-col lg:flex-row lg:justify-between items-center">
86
- <div className="flex flex-col items-center lg:items-start lg:mb-0 ">
87
- <img
88
- src="images/BarelviLogo.png"
89
- alt="Logo"
90
- className="w-16 h-16 mb-0"
91
- />
92
- <h2 className="text-2xl font-semibold bg-gradient-to-r from-red-500 to-yellow-400 bg-clip-text text-transparent">
93
- {thisName}
94
- </h2>
95
- <p className="text-sm text-[#6c8282]">
96
- A step towards digitalization for Islamic Learning
97
- </p>
98
- </div>
99
- <div className="hidden md:flex md:flex:row md:mt-4 lg:flex lg:flex-row justify-between w-full lg:w-1/2 ">
100
- {groups}
101
- </div>
102
- </div>
103
-
104
- <div
105
- className={`${
106
- isDarkMode ? "border-t border-[#424242]" : "border-t border-[#e9efec]"
107
- } py-4 mt-4 justify-between`}
108
- >
109
- <div className="container mx-auto text-[#828282] text-sm px-6 text-center lg:flex lg:justify-between md:flex md:justify-between">
110
- <p>© 2024 {thisName}. All rights reserved.</p>
111
- <p>
112
- Developed By:{" "}
113
- <a
114
- href="http://www.11.Solutions"
115
- target="_blank"
116
- rel="noreferrer"
117
- className="text-blue-300 hover:underline"
118
- >
119
- {companyName}
120
- </a>
121
- </p>
122
- </div>
123
- </div>
124
- </footer>
125
- );
126
- };
127
-
128
- export default Footer;
@@ -1,82 +0,0 @@
1
- import React from 'react';
2
-
3
- function Privacy({isDarkMode}) {
4
-
5
-
6
- return (
7
- <div className={`min-h-[70vh] p-4 text-justify lg:px-72 lg:text-justify ${isDarkMode ? "bg-globalBg text-[#ffff]" : "bg-white text-black"}`}>
8
- <h2 className="text-xl font-extrabold mt-4 text-blue-400 text-center">PRIVACY AND POLICY</h2>
9
- <p className="text-sm text-gray-500 mt-3">
10
- Welcome to TajushShariah Foundation - Islamic Trust For Donation. This Privacy Policy is
11
- designed to help you understand how we collect, use, disclose, and safeguard your personal
12
- information when you use our website, services, or interact with us.
13
- </p>
14
-
15
- <h5 className="text-lg font-medium mt-4">1. Information We Collect</h5>
16
- <p className="text-sm text-gray-500 mt-2">
17
- <strong>Personal Information: </strong>We may collect personal information that you
18
- provide to us voluntarily, such as your name, contact information, and donation details when
19
- you use our website or engage with our services.
20
- </p>
21
- <p className="text-sm text-gray-500 mt-2">
22
- <strong>Non-Personal Information: </strong>We may also collect non-personal information,
23
- such as aggregated data, browser type, and IP address, for analytical and statistical
24
- purposes.
25
- </p>
26
-
27
- <h5 className="text-lg font-medium mt-4">2. How We Use Your Information</h5>
28
- <p className="text-sm text-gray-500 mt-2">
29
- <strong>Donation Processing: </strong>We use your personal information to process and
30
- manage your donations, provide receipts, and communicate with you regarding your
31
- contributions.
32
- </p>
33
- <p className="text-sm text-gray-500 mt-2">
34
- <strong>Communication: </strong>We may use your contact information to send you updates,
35
- newsletters, or information about our initiatives, events, and fundraising activities.
36
- </p>
37
- <p className="text-sm text-gray-500 mt-2">
38
- <strong>Analytics: </strong>Non-personal information may be used for analytics and to
39
- improve our website functionality, content, and user experience.
40
- </p>
41
-
42
- <h5 className="text-lg font-medium mt-4">3. Information Sharing</h5>
43
- <p className="text-sm text-gray-500 mt-2">
44
- We do not sell, trade, or rent your personal information to third parties. Your information
45
- may be shared with trusted third parties, such as payment processors, solely for the purpose
46
- of processing your donations.
47
- </p>
48
-
49
- <h5 className="text-lg font-medium mt-4">4. Security</h5>
50
- <p className="text-sm text-gray-500 mt-2">
51
- We are committed to protecting the security of your personal information. We implement
52
- appropriate technical and organizational measures to safeguard against unauthorized access,
53
- disclosure, alteration, and destruction of data.
54
- </p>
55
-
56
- <h5 className="text-lg font-medium mt-4">5. Cookies</h5>
57
- <p className="text-sm text-gray-500 mt-2">
58
- Our website may use cookies to enhance your browsing experience. You can manage cookie
59
- preferences through your browser settings.
60
- </p>
61
-
62
- <h5 className="text-lg font-medium mt-4">6. Your Choices</h5>
63
- <p className="text-sm text-gray-500 mt-2">
64
- You have the right to update, correct, or delete your personal information. You can also
65
- opt-out of receiving communications from us.
66
- </p>
67
-
68
- <h5 className="text-lg font-medium mt-4">7. Changes to this Privacy Policy</h5>
69
- <p className="text-sm text-gray-500 mt-2">
70
- We reserve the right to update this Privacy Policy. Any changes will be effective upon
71
- posting the revised policy on our website.
72
- </p>
73
-
74
- <h5 className="text-lg font-medium mt-4">8. Contact Us</h5>
75
- <p className="text-sm text-gray-500 mb-4">
76
- If you have any questions or concerns about this Privacy Policy, please contact us.
77
- </p>
78
- </div>
79
- );
80
- }
81
-
82
- export default Privacy;