@ibiliaze/global-vars 1.47.0 → 1.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { pages } from './ticketops/pages';
1
2
  declare const globals: GlobalVars;
2
3
  export interface Cart {
3
4
  timer: number;
@@ -17,15 +18,13 @@ export interface Globals {
17
18
  epoint: boolean;
18
19
  lockTimerMs: number;
19
20
  };
20
- roles?: {
21
- path: string;
22
- name: string;
23
- }[];
24
21
  tickets: {
25
22
  accessControl: 'epra' | 'tacs';
23
+ pages: typeof pages;
26
24
  };
27
25
  }
28
26
  export * as ticketopsTypes from './ticketops/inputsDefault';
27
+ export { pages };
29
28
  export * from './checkout';
30
29
  export * from './countries';
31
30
  export default globals;
package/dist/index.js CHANGED
@@ -14,30 +14,28 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ticketopsTypes = void 0;
18
- const roles_1 = require("./ticketops/roles");
17
+ exports.pages = exports.ticketopsTypes = void 0;
18
+ const pages_1 = require("./ticketops/pages");
19
+ Object.defineProperty(exports, "pages", { enumerable: true, get: function () { return pages_1.pages; } });
19
20
  const globals = {
20
21
  TradeOps_a: {},
21
22
  SabahFK_A: {
22
23
  cart: { timer: 10 * 60 * 1000, limit: 100 },
23
24
  user: { auth: true },
24
25
  checkout: { epoint: true, lockTimerMs: 10 * 60 * 1000 },
25
- roles: roles_1.default,
26
- tickets: { accessControl: 'epra' },
26
+ tickets: { accessControl: 'epra', pages: pages_1.pages },
27
27
  },
28
28
  SabahFK_B: {
29
29
  cart: { timer: 10 * 60 * 1000, limit: 100 },
30
30
  user: { auth: true },
31
31
  checkout: { epoint: false, lockTimerMs: 10 * 60 * 1000 },
32
- roles: roles_1.default,
33
- tickets: { accessControl: 'epra' },
32
+ tickets: { accessControl: 'epra', pages: pages_1.pages },
34
33
  },
35
34
  Sumgayit: {
36
35
  cart: { timer: 10 * 60 * 1000, limit: 100 },
37
36
  user: { auth: true },
38
37
  checkout: { epoint: false, lockTimerMs: 10 * 60 * 1000 },
39
- roles: roles_1.default,
40
- tickets: { accessControl: 'tacs' },
38
+ tickets: { accessControl: 'tacs', pages: pages_1.pages },
41
39
  },
42
40
  };
43
41
  exports.ticketopsTypes = require("./ticketops/inputsDefault");
package/dist/test.js CHANGED
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const index_1 = require("./index");
4
- index_1.default.TicketOps_a.tickets.sectors['Sabah FK']['Sabah - 3 Central Sector'].area;
4
+ index_1.default.SabahFK_A.tickets.pages.blogs.Icon;
@@ -0,0 +1,317 @@
1
+ export declare const pages: {
2
+ sections: {
3
+ readonly parentId: "sections-section";
4
+ readonly path: "/admin/sections";
5
+ readonly name: "Stadiums";
6
+ readonly Icon: react.ForwardRefExoticComponent<any>;
7
+ };
8
+ fixtures: {
9
+ readonly parentId: "fixtures-section";
10
+ readonly path: "/admin/fixtures";
11
+ readonly name: "Matches";
12
+ readonly Icon: react.ForwardRefExoticComponent<any>;
13
+ readonly subPages: readonly [{
14
+ readonly name: "Matches";
15
+ readonly path: "/matches";
16
+ readonly Icon: react.ForwardRefExoticComponent<any>;
17
+ }, {
18
+ readonly name: "Seats";
19
+ readonly path: "/seats";
20
+ readonly Icon: react.ForwardRefExoticComponent<any>;
21
+ }, {
22
+ readonly name: "Match Types";
23
+ readonly path: "/types";
24
+ readonly Icon: react.ForwardRefExoticComponent<any>;
25
+ }];
26
+ };
27
+ tickets: {
28
+ readonly parentId: "tickets-section";
29
+ readonly path: "/admin/tickets";
30
+ readonly name: "Tickets";
31
+ readonly Icon: react.ForwardRefExoticComponent<any>;
32
+ };
33
+ categories: {
34
+ readonly parentId: "categories-section";
35
+ readonly path: "/admin/categories";
36
+ readonly name: "Categories";
37
+ readonly Icon: react.ForwardRefExoticComponent<any>;
38
+ };
39
+ users: {
40
+ readonly parentId: "users-section";
41
+ readonly path: "/admin/users";
42
+ readonly name: "Users";
43
+ readonly Icon: react.ForwardRefExoticComponent<any>;
44
+ };
45
+ staffs: {
46
+ readonly parentId: "staffs-section";
47
+ readonly path: "/admin/staffs";
48
+ readonly name: "Admins";
49
+ readonly Icon: react.ForwardRefExoticComponent<any>;
50
+ };
51
+ roles: {
52
+ readonly parentId: "roles-section";
53
+ readonly path: "/admin/roles";
54
+ readonly name: "Roles";
55
+ readonly Icon: react.ForwardRefExoticComponent<any>;
56
+ };
57
+ blogs: {
58
+ readonly parentId: "blogs-section";
59
+ readonly path: "/admin/blogs";
60
+ readonly name: "Blogs";
61
+ readonly Icon: react.ForwardRefExoticComponent<any>;
62
+ readonly subPages: readonly [{
63
+ readonly name: "Blogs";
64
+ readonly path: "/blogs";
65
+ readonly Icon: react.ForwardRefExoticComponent<any>;
66
+ }, {
67
+ readonly name: "Groups";
68
+ readonly path: "/groups";
69
+ readonly Icon: react.ForwardRefExoticComponent<any>;
70
+ }];
71
+ };
72
+ products: {
73
+ readonly parentId: "products-section";
74
+ readonly path: "/admin/products";
75
+ readonly name: "E-Commerce";
76
+ readonly Icon: react.ForwardRefExoticComponent<any>;
77
+ readonly subPages: readonly [{
78
+ readonly name: "Products";
79
+ readonly path: "/products";
80
+ readonly Icon: react.ForwardRefExoticComponent<any>;
81
+ }, {
82
+ readonly name: "Groups";
83
+ readonly path: "/groups";
84
+ readonly Icon: react.ForwardRefExoticComponent<any>;
85
+ }];
86
+ };
87
+ events: {
88
+ readonly parentId: "events-section";
89
+ readonly path: "/admin/events";
90
+ readonly name: "Calendar";
91
+ readonly Icon: react.ForwardRefExoticComponent<any>;
92
+ readonly subPages: readonly [{
93
+ readonly name: "Table";
94
+ readonly path: "/table";
95
+ readonly Icon: react.ForwardRefExoticComponent<any>;
96
+ }, {
97
+ readonly name: "Events";
98
+ readonly path: "/events";
99
+ readonly Icon: react.ForwardRefExoticComponent<any>;
100
+ }];
101
+ };
102
+ prospects: {
103
+ readonly parentId: "prospects-section";
104
+ readonly path: "/admin/prospects";
105
+ readonly name: "Prospects";
106
+ readonly Icon: react.ForwardRefExoticComponent<any>;
107
+ readonly subPages: readonly [{
108
+ readonly name: "Prospects";
109
+ readonly path: "/prospects";
110
+ readonly Icon: react.ForwardRefExoticComponent<any>;
111
+ }, {
112
+ readonly name: "Niches";
113
+ readonly path: "/niches";
114
+ readonly Icon: react.ForwardRefExoticComponent<any>;
115
+ }, {
116
+ readonly name: "Groups";
117
+ readonly path: "/groups";
118
+ readonly Icon: react.ForwardRefExoticComponent<any>;
119
+ }];
120
+ };
121
+ campaigns: {
122
+ readonly parentId: "campaigns-section";
123
+ readonly path: "/admin/campaigns";
124
+ readonly name: "Campaigns";
125
+ readonly Icon: react.ForwardRefExoticComponent<any>;
126
+ readonly subPages: readonly [{
127
+ readonly name: "Campaigns";
128
+ readonly path: "/campaigns";
129
+ readonly Icon: react.ForwardRefExoticComponent<any>;
130
+ }, {
131
+ readonly name: "DM Templates";
132
+ readonly path: "/templates";
133
+ readonly Icon: react.ForwardRefExoticComponent<any>;
134
+ }];
135
+ };
136
+ jobs: {
137
+ readonly parentId: "jobs-section";
138
+ readonly path: "/admin/jobs";
139
+ readonly name: "Scheduled Jobs";
140
+ readonly Icon: react.ForwardRefExoticComponent<any>;
141
+ };
142
+ sales: {
143
+ readonly parentId: "sales-list-section";
144
+ readonly path: "/admin/sales";
145
+ readonly name: "Sales";
146
+ readonly Icon: react.ForwardRefExoticComponent<any>;
147
+ readonly subPages: readonly [{
148
+ readonly name: "Insights";
149
+ readonly path: "/insights";
150
+ readonly Icon: react.ForwardRefExoticComponent<any>;
151
+ }, {
152
+ readonly name: "Transactions";
153
+ readonly path: "/transactions";
154
+ readonly Icon: react.ForwardRefExoticComponent<any>;
155
+ }];
156
+ };
157
+ pipelines: {
158
+ readonly parentId: "pipelines-section";
159
+ readonly path: "/admin/pipelines";
160
+ readonly name: "Pipelines";
161
+ readonly Icon: react.ForwardRefExoticComponent<any>;
162
+ readonly subPages: readonly [{
163
+ readonly name: "Pipelines";
164
+ readonly path: "/pipelines";
165
+ readonly Icon: react.ForwardRefExoticComponent<any>;
166
+ }, {
167
+ readonly name: "Groups";
168
+ readonly path: "/groups";
169
+ readonly Icon: react.ForwardRefExoticComponent<any>;
170
+ }];
171
+ };
172
+ pages: {
173
+ readonly parentId: "landing-pages-section";
174
+ readonly path: "/admin/landing-pages";
175
+ readonly name: "Pages";
176
+ readonly Icon: react.ForwardRefExoticComponent<any>;
177
+ };
178
+ accounts: {
179
+ readonly parentId: "accounts-section";
180
+ readonly path: "/admin/accounts";
181
+ readonly name: "Accounts";
182
+ readonly Icon: react.ForwardRefExoticComponent<any>;
183
+ };
184
+ payments: {
185
+ readonly parentId: "payments-section";
186
+ readonly path: "/admin/payments";
187
+ readonly name: "Payments";
188
+ readonly Icon: react.ForwardRefExoticComponent<any>;
189
+ readonly subPages: readonly [{
190
+ readonly name: "Bank details";
191
+ readonly path: "/bank-details";
192
+ readonly Icon: react.ForwardRefExoticComponent<any>;
193
+ }, {
194
+ readonly name: "Discounts";
195
+ readonly path: "/discounts";
196
+ readonly Icon: react.ForwardRefExoticComponent<any>;
197
+ }];
198
+ };
199
+ emails: {
200
+ readonly parentId: "emails-section";
201
+ readonly path: "/admin/emails";
202
+ readonly name: "Emails";
203
+ readonly Icon: react.ForwardRefExoticComponent<any>;
204
+ readonly subPages: readonly [{
205
+ readonly name: "Send emails";
206
+ readonly path: "/send-email";
207
+ readonly Icon: react.ForwardRefExoticComponent<any>;
208
+ }, {
209
+ readonly name: "Templates";
210
+ readonly path: "/templates";
211
+ readonly Icon: react.ForwardRefExoticComponent<any>;
212
+ }, {
213
+ readonly name: "Attachments";
214
+ readonly path: "/attachments";
215
+ readonly Icon: react.ForwardRefExoticComponent<any>;
216
+ }];
217
+ };
218
+ public: {
219
+ readonly parentId: "public-section";
220
+ readonly path: "/admin/public";
221
+ readonly name: "Public";
222
+ readonly Icon: react.ForwardRefExoticComponent<any>;
223
+ readonly subPages: readonly [{
224
+ readonly name: "Company";
225
+ readonly path: "/company";
226
+ readonly Icon: react.ForwardRefExoticComponent<any>;
227
+ }, {
228
+ readonly name: "Banner";
229
+ readonly path: "/banner";
230
+ readonly Icon: react.ForwardRefExoticComponent<any>;
231
+ }, {
232
+ readonly name: "Reviewers";
233
+ readonly path: "/reviewers";
234
+ readonly Icon: react.ForwardRefExoticComponent<any>;
235
+ }, {
236
+ readonly name: "Policies";
237
+ readonly path: "/policies";
238
+ readonly Icon: react.ForwardRefExoticComponent<any>;
239
+ }, {
240
+ readonly name: "Albums";
241
+ readonly path: "/albums";
242
+ readonly Icon: react.ForwardRefExoticComponent<any>;
243
+ }, {
244
+ readonly name: "Comparisons";
245
+ readonly path: "/comparisons";
246
+ readonly Icon: react.ForwardRefExoticComponent<any>;
247
+ }, {
248
+ readonly name: "Working hours";
249
+ readonly path: "/working-hours";
250
+ readonly Icon: react.ForwardRefExoticComponent<any>;
251
+ }, {
252
+ readonly name: "Holidays";
253
+ readonly path: "/holidays";
254
+ readonly Icon: react.ForwardRefExoticComponent<any>;
255
+ }, {
256
+ readonly name: "Links";
257
+ readonly path: "/links";
258
+ readonly Icon: react.ForwardRefExoticComponent<any>;
259
+ }];
260
+ };
261
+ settings: {
262
+ readonly parentId: "settings-section";
263
+ readonly path: "/admin/settings";
264
+ readonly name: "Settings";
265
+ readonly Icon: react.ForwardRefExoticComponent<any>;
266
+ readonly subPages: readonly [{
267
+ readonly name: "View";
268
+ readonly path: "/view";
269
+ readonly Icon: react.ForwardRefExoticComponent<any>;
270
+ }, {
271
+ readonly name: "Integrations";
272
+ readonly path: "/integrations";
273
+ readonly Icon: react.ForwardRefExoticComponent<any>;
274
+ }, {
275
+ readonly name: "AI";
276
+ readonly path: "/ai";
277
+ readonly Icon: react.ForwardRefExoticComponent<any>;
278
+ }, {
279
+ readonly name: "Backup";
280
+ readonly path: "/backup";
281
+ readonly Icon: react.ForwardRefExoticComponent<any>;
282
+ }, {
283
+ readonly name: "Sessions";
284
+ readonly path: "/sessions";
285
+ readonly Icon: react.ForwardRefExoticComponent<any>;
286
+ }, {
287
+ readonly name: "Logs";
288
+ readonly path: "/logs";
289
+ readonly Icon: react.ForwardRefExoticComponent<any>;
290
+ }, {
291
+ readonly name: "DLQ";
292
+ readonly path: "/dlq";
293
+ readonly Icon: react.ForwardRefExoticComponent<any>;
294
+ }, {
295
+ readonly name: "Quota Limit";
296
+ readonly path: "/quota-limit";
297
+ readonly Icon: react.ForwardRefExoticComponent<any>;
298
+ }, {
299
+ readonly name: "Status";
300
+ readonly path: "/status";
301
+ readonly Icon: react.ForwardRefExoticComponent<any>;
302
+ }, {
303
+ readonly name: "Database";
304
+ readonly path: "/database";
305
+ readonly Icon: react.ForwardRefExoticComponent<any>;
306
+ }];
307
+ };
308
+ };
309
+ export type SettingsTabId = (typeof pages.settings.subPages)[number]['path'];
310
+ export type ProductsTabId = (typeof pages.products.subPages)[number]['path'];
311
+ export type BlogsTabId = (typeof pages.blogs.subPages)[number]['path'];
312
+ export type EventsTabId = (typeof pages.events.subPages)[number]['path'];
313
+ export type ProspectsTabId = (typeof pages.prospects.subPages)[number]['path'];
314
+ export type CampaignsTabId = (typeof pages.campaigns.subPages)[number]['path'];
315
+ export type PipelinesTabId = (typeof pages.pipelines.subPages)[number]['path'];
316
+ export type SalesTabId = (typeof pages.sales.subPages)[number]['path'];
317
+ export type FixturesTabId = (typeof pages.fixtures.subPages)[number]['path'];
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pages = void 0;
4
+ ///////////////////////////////////////////////////////////////////////////////////MODULES
5
+ const icons_react_1 = require("@tabler/icons-react");
6
+ //////////////////////////////////////////////////////////////////////////////////////////
7
+ exports.pages = {
8
+ sections: {
9
+ parentId: 'sections-section',
10
+ path: '/admin/sections',
11
+ name: 'Stadiums',
12
+ Icon: icons_react_1.IconSection,
13
+ },
14
+ fixtures: {
15
+ parentId: 'fixtures-section',
16
+ path: '/admin/fixtures',
17
+ name: 'Matches',
18
+ Icon: icons_react_1.IconBallFootball,
19
+ subPages: [
20
+ { name: 'Matches', path: '/matches', Icon: icons_react_1.IconBallFootball },
21
+ { name: 'Seats', path: '/seats', Icon: icons_react_1.IconArmchair2 },
22
+ { name: 'Match Types', path: '/types', Icon: icons_react_1.IconTrophy },
23
+ ],
24
+ },
25
+ tickets: {
26
+ parentId: 'tickets-section',
27
+ path: '/admin/tickets',
28
+ name: 'Tickets',
29
+ Icon: icons_react_1.IconTicket,
30
+ },
31
+ categories: {
32
+ parentId: 'categories-section',
33
+ path: '/admin/categories',
34
+ name: 'Categories',
35
+ Icon: icons_react_1.IconReceipt2,
36
+ },
37
+ users: {
38
+ parentId: 'users-section',
39
+ path: '/admin/users',
40
+ name: 'Users',
41
+ Icon: icons_react_1.IconUserCircle,
42
+ },
43
+ staffs: {
44
+ parentId: 'staffs-section',
45
+ path: '/admin/staffs',
46
+ name: 'Admins',
47
+ Icon: icons_react_1.IconUserHexagon,
48
+ },
49
+ roles: {
50
+ parentId: 'roles-section',
51
+ path: '/admin/roles',
52
+ name: 'Roles',
53
+ Icon: icons_react_1.IconLockCheck,
54
+ },
55
+ blogs: {
56
+ parentId: 'blogs-section',
57
+ path: '/admin/blogs',
58
+ name: 'Blogs',
59
+ Icon: icons_react_1.IconTextCaption,
60
+ subPages: [
61
+ { name: 'Blogs', path: '/blogs', Icon: icons_react_1.IconTextCaption },
62
+ { name: 'Groups', path: '/groups', Icon: icons_react_1.IconContainer },
63
+ ],
64
+ },
65
+ products: {
66
+ parentId: 'products-section',
67
+ path: '/admin/products',
68
+ name: 'E-Commerce',
69
+ Icon: icons_react_1.IconShoppingBag,
70
+ subPages: [
71
+ { name: 'Products', path: '/products', Icon: icons_react_1.IconFileDelta },
72
+ { name: 'Groups', path: '/groups', Icon: icons_react_1.IconContainer },
73
+ ],
74
+ },
75
+ events: {
76
+ parentId: 'events-section',
77
+ path: '/admin/events',
78
+ name: 'Calendar',
79
+ Icon: icons_react_1.IconCalendar,
80
+ subPages: [
81
+ { name: 'Table', path: '/table', Icon: icons_react_1.IconCalendar },
82
+ { name: 'Events', path: '/events', Icon: icons_react_1.IconCalendarEvent },
83
+ ],
84
+ },
85
+ prospects: {
86
+ parentId: 'prospects-section',
87
+ path: '/admin/prospects',
88
+ name: 'Prospects',
89
+ Icon: icons_react_1.IconUserCheck,
90
+ subPages: [
91
+ { name: 'Prospects', path: '/prospects', Icon: icons_react_1.IconUserCheck },
92
+ { name: 'Niches', path: '/niches', Icon: icons_react_1.IconBallBasketball },
93
+ { name: 'Groups', path: '/groups', Icon: icons_react_1.IconContainer },
94
+ ],
95
+ },
96
+ campaigns: {
97
+ parentId: 'campaigns-section',
98
+ path: '/admin/campaigns',
99
+ name: 'Campaigns',
100
+ Icon: icons_react_1.IconAdCircle,
101
+ subPages: [
102
+ { name: 'Campaigns', path: '/campaigns', Icon: icons_react_1.IconAdCircle },
103
+ { name: 'DM Templates', path: '/templates', Icon: icons_react_1.IconTemplate },
104
+ ],
105
+ },
106
+ jobs: {
107
+ parentId: 'jobs-section',
108
+ path: '/admin/jobs',
109
+ name: 'Scheduled Jobs',
110
+ Icon: icons_react_1.IconCalendarExclamation,
111
+ },
112
+ sales: {
113
+ parentId: 'sales-list-section',
114
+ path: '/admin/sales',
115
+ name: 'Sales',
116
+ Icon: icons_react_1.IconGraph,
117
+ subPages: [
118
+ { name: 'Insights', path: '/insights', Icon: icons_react_1.IconGraph },
119
+ { name: 'Transactions', path: '/transactions', Icon: icons_react_1.IconTransactionPound },
120
+ ],
121
+ },
122
+ pipelines: {
123
+ parentId: 'pipelines-section',
124
+ path: '/admin/pipelines',
125
+ name: 'Pipelines',
126
+ Icon: icons_react_1.IconMenuOrder,
127
+ subPages: [
128
+ { name: 'Pipelines', path: '/pipelines', Icon: icons_react_1.IconMenuOrder },
129
+ { name: 'Groups', path: '/groups', Icon: icons_react_1.IconTemplate },
130
+ ],
131
+ },
132
+ pages: {
133
+ parentId: 'landing-pages-section',
134
+ path: '/admin/landing-pages',
135
+ name: 'Pages',
136
+ Icon: icons_react_1.IconPageBreak,
137
+ },
138
+ accounts: {
139
+ parentId: 'accounts-section',
140
+ path: '/admin/accounts',
141
+ name: 'Accounts',
142
+ Icon: icons_react_1.IconBrandOauth,
143
+ },
144
+ payments: {
145
+ parentId: 'payments-section',
146
+ path: '/admin/payments',
147
+ name: 'Payments',
148
+ Icon: icons_react_1.IconMoneybagPlus,
149
+ subPages: [
150
+ { name: 'Bank details', path: '/bank-details', Icon: icons_react_1.IconCashBanknote },
151
+ { name: 'Discounts', path: '/discounts', Icon: icons_react_1.IconDiscount },
152
+ ],
153
+ },
154
+ emails: {
155
+ parentId: 'emails-section',
156
+ path: '/admin/emails',
157
+ name: 'Emails',
158
+ Icon: icons_react_1.IconMail,
159
+ subPages: [
160
+ { name: 'Send emails', path: '/send-email', Icon: icons_react_1.IconMail },
161
+ { name: 'Templates', path: '/templates', Icon: icons_react_1.IconTemplate },
162
+ { name: 'Attachments', path: '/attachments', Icon: icons_react_1.IconPaperclip },
163
+ ],
164
+ },
165
+ public: {
166
+ parentId: 'public-section',
167
+ path: '/admin/public',
168
+ name: 'Public',
169
+ Icon: icons_react_1.IconLiveView,
170
+ subPages: [
171
+ { name: 'Company', path: '/company', Icon: icons_react_1.IconBuilding },
172
+ { name: 'Banner', path: '/banner', Icon: icons_react_1.IconAd2 },
173
+ { name: 'Reviewers', path: '/reviewers', Icon: icons_react_1.IconBubble },
174
+ { name: 'Policies', path: '/policies', Icon: icons_react_1.IconWallpaper },
175
+ { name: 'Albums', path: '/albums', Icon: icons_react_1.IconImageInPicture },
176
+ { name: 'Comparisons', path: '/comparisons', Icon: icons_react_1.IconCaretLeftRight },
177
+ { name: 'Working hours', path: '/working-hours', Icon: icons_react_1.IconClock },
178
+ { name: 'Holidays', path: '/holidays', Icon: icons_react_1.IconBeach },
179
+ { name: 'Links', path: '/links', Icon: icons_react_1.IconLink },
180
+ ],
181
+ },
182
+ settings: {
183
+ parentId: 'settings-section',
184
+ path: '/admin/settings',
185
+ name: 'Settings',
186
+ Icon: icons_react_1.IconSettings,
187
+ subPages: [
188
+ { name: 'View', path: '/view', Icon: icons_react_1.IconView360 },
189
+ { name: 'Integrations', path: '/integrations', Icon: icons_react_1.IconLinkPlus },
190
+ { name: 'AI', path: '/ai', Icon: icons_react_1.IconAi },
191
+ { name: 'Backup', path: '/backup', Icon: icons_react_1.IconCloudUpload },
192
+ { name: 'Sessions', path: '/sessions', Icon: icons_react_1.IconCloudDataConnection },
193
+ { name: 'Logs', path: '/logs', Icon: icons_react_1.IconList },
194
+ { name: 'DLQ', path: '/dlq', Icon: icons_react_1.IconCancel },
195
+ { name: 'Quota Limit', path: '/quota-limit', Icon: icons_react_1.IconProgressX },
196
+ { name: 'Status', path: '/status', Icon: icons_react_1.IconAnalyze },
197
+ { name: 'Database', path: '/database', Icon: icons_react_1.IconDatabase },
198
+ ],
199
+ },
200
+ };
package/package.json CHANGED
@@ -1,18 +1,19 @@
1
1
  {
2
2
  "name": "@ibiliaze/global-vars",
3
- "version": "1.47.0",
3
+ "version": "1.49.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "scripts": {
8
8
  "build": "tsc",
9
9
  "pub": "npm publish --access public",
10
- "git": "git add .; git commit -m 'changes'; git tag -a v1.47.0 -m 'v1.47.0'; git push origin v1.47.0; git push",
10
+ "git": "git add .; git commit -m 'changes'; git tag -a v1.49.0 -m 'v1.49.0'; git push origin v1.49.0; git push",
11
11
  "push": "npm run build; npm run git; npm run pub"
12
12
  },
13
13
  "author": "Ibi Hasanli",
14
14
  "license": "ISC",
15
15
  "devDependencies": {
16
+ "@tabler/icons-react": "^3.35.0",
16
17
  "mongoose": "^8.19.3",
17
18
  "typescript": "^5.0.0"
18
19
  }
package/src/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- import roles from './ticketops/roles';
1
+ import { pages } from './ticketops/pages';
2
2
 
3
3
  const globals = {
4
4
  TradeOps_a: {},
@@ -6,22 +6,19 @@ const globals = {
6
6
  cart: { timer: 10 * 60 * 1000, limit: 100 },
7
7
  user: { auth: true },
8
8
  checkout: { epoint: true, lockTimerMs: 10 * 60 * 1000 },
9
- roles: roles,
10
- tickets: { accessControl: 'epra' },
9
+ tickets: { accessControl: 'epra', pages },
11
10
  },
12
11
  SabahFK_B: {
13
12
  cart: { timer: 10 * 60 * 1000, limit: 100 },
14
13
  user: { auth: true },
15
14
  checkout: { epoint: false, lockTimerMs: 10 * 60 * 1000 },
16
- roles: roles,
17
- tickets: { accessControl: 'epra' },
15
+ tickets: { accessControl: 'epra', pages },
18
16
  },
19
17
  Sumgayit: {
20
18
  cart: { timer: 10 * 60 * 1000, limit: 100 },
21
19
  user: { auth: true },
22
20
  checkout: { epoint: false, lockTimerMs: 10 * 60 * 1000 },
23
- roles: roles,
24
- tickets: { accessControl: 'tacs' },
21
+ tickets: { accessControl: 'tacs', pages },
25
22
  },
26
23
  } as GlobalVars;
27
24
 
@@ -44,13 +41,14 @@ export interface Globals {
44
41
  cart?: Cart;
45
42
  user?: User;
46
43
  checkout: { epoint: boolean; lockTimerMs: number };
47
- roles?: { path: string; name: string }[];
48
44
  tickets: {
49
45
  accessControl: 'epra' | 'tacs';
46
+ pages: typeof pages;
50
47
  };
51
48
  }
52
49
 
53
50
  export * as ticketopsTypes from './ticketops/inputsDefault';
51
+ export { pages };
54
52
  export * from './checkout';
55
53
  export * from './countries';
56
54
  export default globals;
package/src/test.ts CHANGED
@@ -1,3 +1,3 @@
1
- import globals, { ticketsInputsDefault } from './index';
1
+ import globals from './index';
2
2
 
3
- globals.TicketOps_a.tickets.sectors['Sabah FK']['Sabah - 3 Central Sector'].area;
3
+ globals.SabahFK_A.tickets.pages.blogs.Icon;
@@ -0,0 +1,284 @@
1
+ ///////////////////////////////////////////////////////////////////////////////////MODULES
2
+ import {
3
+ IconAd2,
4
+ IconAdCircle,
5
+ IconAi,
6
+ IconAnalyze,
7
+ IconArmchair2,
8
+ IconBallBasketball,
9
+ IconBallFootball,
10
+ IconBeach,
11
+ IconBrandOauth,
12
+ IconBubble,
13
+ IconBuilding,
14
+ IconCalendar,
15
+ IconCalendarEvent,
16
+ IconCalendarExclamation,
17
+ IconCancel,
18
+ IconCaretLeftRight,
19
+ IconCashBanknote,
20
+ IconClock,
21
+ IconCloudDataConnection,
22
+ IconCloudUpload,
23
+ IconContainer,
24
+ IconDatabase,
25
+ IconDiscount,
26
+ IconFileDelta,
27
+ IconGraph,
28
+ IconImageInPicture,
29
+ IconLink,
30
+ IconLinkPlus,
31
+ IconList,
32
+ IconLiveView,
33
+ IconLockCheck,
34
+ IconMail,
35
+ IconMenuOrder,
36
+ IconMoneybagPlus,
37
+ IconPageBreak,
38
+ IconPaperclip,
39
+ IconProgressX,
40
+ IconReceipt2,
41
+ IconSection,
42
+ IconSettings,
43
+ IconShoppingBag,
44
+ IconTemplate,
45
+ IconTextCaption,
46
+ IconTicket,
47
+ IconTransactionPound,
48
+ IconTrophy,
49
+ IconUserCheck,
50
+ IconUserCircle,
51
+ IconUserHexagon,
52
+ IconView360,
53
+ IconWallpaper,
54
+ } from '@tabler/icons-react';
55
+ //////////////////////////////////////////////////////////////////////////////////////////
56
+
57
+ export const pages = {
58
+ sections: {
59
+ parentId: 'sections-section',
60
+ path: '/admin/sections',
61
+ name: 'Stadiums',
62
+ Icon: IconSection,
63
+ } as const,
64
+ fixtures: {
65
+ parentId: 'fixtures-section',
66
+ path: '/admin/fixtures',
67
+ name: 'Matches',
68
+ Icon: IconBallFootball,
69
+ subPages: [
70
+ { name: 'Matches', path: '/matches', Icon: IconBallFootball },
71
+ { name: 'Seats', path: '/seats', Icon: IconArmchair2 },
72
+ { name: 'Match Types', path: '/types', Icon: IconTrophy },
73
+ ],
74
+ } as const,
75
+ tickets: {
76
+ parentId: 'tickets-section',
77
+ path: '/admin/tickets',
78
+ name: 'Tickets',
79
+ Icon: IconTicket,
80
+ } as const,
81
+ categories: {
82
+ parentId: 'categories-section',
83
+ path: '/admin/categories',
84
+ name: 'Categories',
85
+ Icon: IconReceipt2,
86
+ } as const,
87
+ users: {
88
+ parentId: 'users-section',
89
+ path: '/admin/users',
90
+ name: 'Users',
91
+ Icon: IconUserCircle,
92
+ } as const,
93
+ staffs: {
94
+ parentId: 'staffs-section',
95
+ path: '/admin/staffs',
96
+ name: 'Admins',
97
+ Icon: IconUserHexagon,
98
+ } as const,
99
+ roles: {
100
+ parentId: 'roles-section',
101
+ path: '/admin/roles',
102
+ name: 'Roles',
103
+ Icon: IconLockCheck,
104
+ } as const,
105
+ blogs: {
106
+ parentId: 'blogs-section',
107
+ path: '/admin/blogs',
108
+ name: 'Blogs',
109
+ Icon: IconTextCaption,
110
+ subPages: [
111
+ { name: 'Blogs', path: '/blogs', Icon: IconTextCaption },
112
+ { name: 'Groups', path: '/groups', Icon: IconContainer },
113
+ ],
114
+ } as const,
115
+ products: {
116
+ parentId: 'products-section',
117
+ path: '/admin/products',
118
+ name: 'E-Commerce',
119
+ Icon: IconShoppingBag,
120
+ subPages: [
121
+ { name: 'Products', path: '/products', Icon: IconFileDelta },
122
+ { name: 'Groups', path: '/groups', Icon: IconContainer },
123
+ ],
124
+ } as const,
125
+ events: {
126
+ parentId: 'events-section',
127
+ path: '/admin/events',
128
+ name: 'Calendar',
129
+ Icon: IconCalendar,
130
+ subPages: [
131
+ { name: 'Table', path: '/table', Icon: IconCalendar },
132
+ { name: 'Events', path: '/events', Icon: IconCalendarEvent },
133
+ ],
134
+ } as const,
135
+ prospects: {
136
+ parentId: 'prospects-section',
137
+ path: '/admin/prospects',
138
+ name: 'Prospects',
139
+ Icon: IconUserCheck,
140
+ subPages: [
141
+ { name: 'Prospects', path: '/prospects', Icon: IconUserCheck },
142
+ { name: 'Niches', path: '/niches', Icon: IconBallBasketball },
143
+ { name: 'Groups', path: '/groups', Icon: IconContainer },
144
+ ],
145
+ } as const,
146
+ campaigns: {
147
+ parentId: 'campaigns-section',
148
+ path: '/admin/campaigns',
149
+ name: 'Campaigns',
150
+ Icon: IconAdCircle,
151
+ subPages: [
152
+ { name: 'Campaigns', path: '/campaigns', Icon: IconAdCircle },
153
+ { name: 'DM Templates', path: '/templates', Icon: IconTemplate },
154
+ ],
155
+ } as const,
156
+ jobs: {
157
+ parentId: 'jobs-section',
158
+ path: '/admin/jobs',
159
+ name: 'Scheduled Jobs',
160
+ Icon: IconCalendarExclamation,
161
+ } as const,
162
+ sales: {
163
+ parentId: 'sales-list-section',
164
+ path: '/admin/sales',
165
+ name: 'Sales',
166
+ Icon: IconGraph,
167
+ subPages: [
168
+ { name: 'Insights', path: '/insights', Icon: IconGraph },
169
+ { name: 'Transactions', path: '/transactions', Icon: IconTransactionPound },
170
+ ],
171
+ } as const,
172
+ pipelines: {
173
+ parentId: 'pipelines-section',
174
+ path: '/admin/pipelines',
175
+ name: 'Pipelines',
176
+ Icon: IconMenuOrder,
177
+ subPages: [
178
+ { name: 'Pipelines', path: '/pipelines', Icon: IconMenuOrder },
179
+ { name: 'Groups', path: '/groups', Icon: IconTemplate },
180
+ ],
181
+ } as const,
182
+ pages: {
183
+ parentId: 'landing-pages-section',
184
+ path: '/admin/landing-pages',
185
+ name: 'Pages',
186
+ Icon: IconPageBreak,
187
+ } as const,
188
+ accounts: {
189
+ parentId: 'accounts-section',
190
+ path: '/admin/accounts',
191
+ name: 'Accounts',
192
+ Icon: IconBrandOauth,
193
+ } as const,
194
+ payments: {
195
+ parentId: 'payments-section',
196
+ path: '/admin/payments',
197
+ name: 'Payments',
198
+ Icon: IconMoneybagPlus,
199
+ subPages: [
200
+ { name: 'Bank details', path: '/bank-details', Icon: IconCashBanknote },
201
+ { name: 'Discounts', path: '/discounts', Icon: IconDiscount },
202
+ ],
203
+ } as const,
204
+ emails: {
205
+ parentId: 'emails-section',
206
+ path: '/admin/emails',
207
+ name: 'Emails',
208
+ Icon: IconMail,
209
+ subPages: [
210
+ { name: 'Send emails', path: '/send-email', Icon: IconMail },
211
+ { name: 'Templates', path: '/templates', Icon: IconTemplate },
212
+ { name: 'Attachments', path: '/attachments', Icon: IconPaperclip },
213
+ ],
214
+ } as const,
215
+ public: {
216
+ parentId: 'public-section',
217
+ path: '/admin/public',
218
+ name: 'Public',
219
+ Icon: IconLiveView,
220
+ subPages: [
221
+ { name: 'Company', path: '/company', Icon: IconBuilding },
222
+ { name: 'Banner', path: '/banner', Icon: IconAd2 },
223
+ { name: 'Reviewers', path: '/reviewers', Icon: IconBubble },
224
+ { name: 'Policies', path: '/policies', Icon: IconWallpaper },
225
+ { name: 'Albums', path: '/albums', Icon: IconImageInPicture },
226
+ { name: 'Comparisons', path: '/comparisons', Icon: IconCaretLeftRight },
227
+ { name: 'Working hours', path: '/working-hours', Icon: IconClock },
228
+ { name: 'Holidays', path: '/holidays', Icon: IconBeach },
229
+ { name: 'Links', path: '/links', Icon: IconLink },
230
+ ],
231
+ } as const,
232
+ settings: {
233
+ parentId: 'settings-section',
234
+ path: '/admin/settings',
235
+ name: 'Settings',
236
+ Icon: IconSettings,
237
+ subPages: [
238
+ { name: 'View', path: '/view', Icon: IconView360 },
239
+ { name: 'Integrations', path: '/integrations', Icon: IconLinkPlus },
240
+ { name: 'AI', path: '/ai', Icon: IconAi },
241
+ { name: 'Backup', path: '/backup', Icon: IconCloudUpload },
242
+ { name: 'Sessions', path: '/sessions', Icon: IconCloudDataConnection },
243
+ { name: 'Logs', path: '/logs', Icon: IconList },
244
+ { name: 'DLQ', path: '/dlq', Icon: IconCancel },
245
+ { name: 'Quota Limit', path: '/quota-limit', Icon: IconProgressX },
246
+ { name: 'Status', path: '/status', Icon: IconAnalyze },
247
+ { name: 'Database', path: '/database', Icon: IconDatabase },
248
+ ],
249
+ } as const,
250
+ } satisfies Sections;
251
+
252
+ // Define the structure of subPages
253
+ interface SupPage {
254
+ path: string;
255
+ name: string;
256
+ Icon: any;
257
+ }
258
+
259
+ // Define structure for a page
260
+ interface SectionBase {
261
+ parentId: string;
262
+ path: string;
263
+ name: string;
264
+ Icon: any;
265
+ }
266
+
267
+ interface SectionWithTabs extends SectionBase {
268
+ subPages: readonly SupPage[];
269
+ }
270
+
271
+ // Type for the pages map
272
+ interface Sections {
273
+ [key: string]: SectionBase | SectionWithTabs;
274
+ }
275
+
276
+ export type SettingsTabId = (typeof pages.settings.subPages)[number]['path'];
277
+ export type ProductsTabId = (typeof pages.products.subPages)[number]['path'];
278
+ export type BlogsTabId = (typeof pages.blogs.subPages)[number]['path'];
279
+ export type EventsTabId = (typeof pages.events.subPages)[number]['path'];
280
+ export type ProspectsTabId = (typeof pages.prospects.subPages)[number]['path'];
281
+ export type CampaignsTabId = (typeof pages.campaigns.subPages)[number]['path'];
282
+ export type PipelinesTabId = (typeof pages.pipelines.subPages)[number]['path'];
283
+ export type SalesTabId = (typeof pages.sales.subPages)[number]['path'];
284
+ export type FixturesTabId = (typeof pages.fixtures.subPages)[number]['path'];
@@ -1,133 +0,0 @@
1
- export default [
2
- // ALBUM
3
- { path: 'GET:/album', name: 'View Album' },
4
- { path: 'POST:/album', name: 'Create Album' },
5
- { path: 'PUT:/album', name: 'Update Album' },
6
- { path: 'DELETE:/album', name: 'Delete Album' },
7
-
8
- // BLOG
9
- { path: 'GET:/blog', name: 'View Blog' },
10
- { path: 'POST:/blog', name: 'Create Blog' },
11
- { path: 'PUT:/blog', name: 'Update Blog' },
12
- { path: 'DELETE:/blog', name: 'Delete Blog' },
13
-
14
- // CAMPAIGN
15
- { path: 'GET:/campaign', name: 'View Campaign' },
16
- { path: 'POST:/campaign', name: 'Create Campaign' },
17
- { path: 'PUT:/campaign', name: 'Update Campaign' },
18
- { path: 'DELETE:/campaign', name: 'Delete Campaign' },
19
-
20
- // EMAIL
21
- { path: 'GET:/email', name: 'View Email' },
22
- { path: 'POST:/email', name: 'Create Email' },
23
- { path: 'PUT:/email', name: 'Update Email' },
24
- { path: 'DELETE:/email', name: 'Delete Email' },
25
-
26
- // ESTIMATOR
27
- { path: 'GET:/estimator', name: 'View Estimator' },
28
- { path: 'POST:/estimator', name: 'Create Estimator' },
29
- { path: 'PUT:/estimator', name: 'Update Estimator' },
30
- { path: 'DELETE:/estimator', name: 'Delete Estimator' },
31
-
32
- // EVENT
33
- { path: 'GET:/event', name: 'View Event' },
34
- { path: 'POST:/event', name: 'Create Event' },
35
- { path: 'PUT:/event', name: 'Update Event' },
36
- { path: 'DELETE:/event', name: 'Delete Event' },
37
-
38
- // FIXTURE
39
- { path: 'GET:/fixture', name: 'View Fixture' },
40
- { path: 'POST:/fixture', name: 'Create Fixture' },
41
- { path: 'PUT:/fixture', name: 'Update Fixture' },
42
- { path: 'DELETE:/fixture', name: 'Delete Fixture' },
43
-
44
- // GROUP
45
- { path: 'GET:/group', name: 'View Group' },
46
- { path: 'POST:/group', name: 'Create Group' },
47
- { path: 'PUT:/group', name: 'Update Group' },
48
- { path: 'DELETE:/group', name: 'Delete Group' },
49
-
50
- // JOB
51
- { path: 'GET:/job', name: 'View Job' },
52
- { path: 'POST:/job', name: 'Create Job' },
53
- { path: 'PUT:/job', name: 'Update Job' },
54
- { path: 'DELETE:/job', name: 'Delete Job' },
55
-
56
- // LOG
57
- { path: 'GET:/log', name: 'View Log' },
58
- { path: 'POST:/log', name: 'Create Log' },
59
- { path: 'PUT:/log', name: 'Update Log' },
60
- { path: 'DELETE:/log', name: 'Delete Log' },
61
-
62
- // PAGE
63
- { path: 'GET:/page', name: 'View Page' },
64
- { path: 'POST:/page', name: 'Create Page' },
65
- { path: 'PUT:/page', name: 'Update Page' },
66
- { path: 'DELETE:/page', name: 'Delete Page' },
67
-
68
- // PIPELINE
69
- { path: 'GET:/pipeline', name: 'View Pipeline' },
70
- { path: 'POST:/pipeline', name: 'Create Pipeline' },
71
- { path: 'PUT:/pipeline', name: 'Update Pipeline' },
72
- { path: 'DELETE:/pipeline', name: 'Delete Pipeline' },
73
-
74
- // PRODUCT
75
- { path: 'GET:/product', name: 'View Product' },
76
- { path: 'POST:/product', name: 'Create Product' },
77
- { path: 'PUT:/product', name: 'Update Product' },
78
- { path: 'DELETE:/product', name: 'Delete Product' },
79
-
80
- // PROJECT
81
- { path: 'GET:/project', name: 'View Project' },
82
- { path: 'POST:/project', name: 'Create Project' },
83
- { path: 'PUT:/project', name: 'Update Project' },
84
- { path: 'DELETE:/project', name: 'Delete Project' },
85
-
86
- // PROSPECT
87
- { path: 'GET:/prospect', name: 'View Prospect' },
88
- { path: 'POST:/prospect', name: 'Create Prospect' },
89
- { path: 'PUT:/prospect', name: 'Update Prospect' },
90
- { path: 'DELETE:/prospect', name: 'Delete Prospect' },
91
-
92
- // QUOTE
93
- { path: 'GET:/quote', name: 'View Quote' },
94
- { path: 'POST:/quote', name: 'Create Quote' },
95
- { path: 'PUT:/quote', name: 'Update Quote' },
96
- { path: 'DELETE:/quote', name: 'Delete Quote' },
97
-
98
- // REPORT
99
- { path: 'GET:/report', name: 'View Report' },
100
- { path: 'POST:/report', name: 'Create Report' },
101
- { path: 'PUT:/report', name: 'Update Report' },
102
- { path: 'DELETE:/report', name: 'Delete Report' },
103
-
104
- // REVIEW
105
- { path: 'GET:/review', name: 'View Review' },
106
- { path: 'POST:/review', name: 'Create Review' },
107
- { path: 'PUT:/review', name: 'Update Review' },
108
- { path: 'DELETE:/review', name: 'Delete Review' },
109
-
110
- // SALE
111
- { path: 'GET:/sale', name: 'View Sale' },
112
- { path: 'POST:/sale', name: 'Create Sale' },
113
- { path: 'PUT:/sale', name: 'Update Sale' },
114
- { path: 'DELETE:/sale', name: 'Delete Sale' },
115
-
116
- // SECTION
117
- { path: 'GET:/section', name: 'View Section' },
118
- { path: 'POST:/section', name: 'Create Section' },
119
- { path: 'PUT:/section', name: 'Update Section' },
120
- { path: 'DELETE:/section', name: 'Delete Section' },
121
-
122
- // TICKET
123
- { path: 'GET:/ticket', name: 'View Ticket' },
124
- { path: 'POST:/ticket', name: 'Create Ticket' },
125
- { path: 'PUT:/ticket', name: 'Update Ticket' },
126
- { path: 'DELETE:/ticket', name: 'Delete Ticket' },
127
-
128
- // USER
129
- { path: 'GET:/user', name: 'View User' },
130
- { path: 'POST:/user', name: 'Create User' },
131
- { path: 'PUT:/user', name: 'Update User' },
132
- { path: 'DELETE:/user', name: 'Delete User' },
133
- ] satisfies { path: string; name: string }[];