@gnar-engine/cli 1.0.2 → 1.0.4

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.
Files changed (161) hide show
  1. package/bootstrap/deploy.localdev.yml +18 -31
  2. package/bootstrap/secrets.localdev.yml +7 -12
  3. package/bootstrap/services/user/Dockerfile +1 -1
  4. package/install.sh +32 -0
  5. package/package.json +1 -1
  6. package/src/config.js +2 -1
  7. package/src/dev/dev.service.js +44 -16
  8. package/src/scaffolder/commands.js +11 -4
  9. package/src/scaffolder/scaffolder.handler.js +228 -55
  10. package/templates/service/Dockerfile.hbs +4 -1
  11. package/templates/service/package.json.hbs +14 -16
  12. package/templates/service/{app.js.hbs → src/app.js.hbs} +8 -4
  13. package/templates/service/{commands → src/commands}/{{serviceName}}.handler.js.hbs +1 -2
  14. package/{bootstrap/services/agent/src/config.js → templates/service/src/mongodb.config.js.hbs} +11 -18
  15. package/templates/service/{config.js.hbs → src/mysql.config.js.hbs} +6 -0
  16. package/{bootstrap/services/agent/src/schema/Agent.schema.js → templates/service/src/schema/{{serviceName}}.schema.js.hbs} +3 -3
  17. package/templates/service/src/services/mongodb.{{serviceName}}.service.js.hbs +70 -0
  18. package/bootstrap/services/agent/Dockerfile +0 -23
  19. package/bootstrap/services/agent/notes.md +0 -28
  20. package/bootstrap/services/agent/package.json +0 -16
  21. package/bootstrap/services/agent/src/app.js +0 -52
  22. package/bootstrap/services/agent/src/commands/agent.handler.js +0 -104
  23. package/bootstrap/services/agent/src/controllers/http.controller.js +0 -44
  24. package/bootstrap/services/agent/src/controllers/message.controller.js +0 -51
  25. package/bootstrap/services/agent/src/db/migrations/01-init.js +0 -50
  26. package/bootstrap/services/agent/src/db/migrations/02-agent-service-init.js +0 -36
  27. package/bootstrap/services/agent/src/policies/agent.policy.js +0 -13
  28. package/bootstrap/services/agent/src/services/agent.service.js +0 -259
  29. package/bootstrap/services/agent/src/services/chatgpt.service.js +0 -46
  30. package/bootstrap/services/agent/src/services/manifest.service.js +0 -21
  31. package/bootstrap/services/portal/Dockerfile +0 -23
  32. package/bootstrap/services/portal/Dockerfile.remote +0 -40
  33. package/bootstrap/services/portal/README.md +0 -22
  34. package/bootstrap/services/portal/nginx.conf +0 -12
  35. package/bootstrap/services/portal/package.json +0 -59
  36. package/bootstrap/services/portal/public/favicon.ico +0 -0
  37. package/bootstrap/services/portal/public/gnar-white.png +0 -0
  38. package/bootstrap/services/portal/public/gnarengine-logo-black.png +0 -0
  39. package/bootstrap/services/portal/public/index.html +0 -43
  40. package/bootstrap/services/portal/public/logo192.png +0 -0
  41. package/bootstrap/services/portal/public/logo512.png +0 -0
  42. package/bootstrap/services/portal/public/manifest.json +0 -25
  43. package/bootstrap/services/portal/public/robots.txt +0 -3
  44. package/bootstrap/services/portal/src/App.js +0 -56
  45. package/bootstrap/services/portal/src/assets/Logo_Anchord_Black.svg +0 -1
  46. package/bootstrap/services/portal/src/assets/Logo_Anchord_Black_Green.svg +0 -1
  47. package/bootstrap/services/portal/src/assets/Logo_Anchord_White_Green.svg +0 -1
  48. package/bootstrap/services/portal/src/assets/activity.svg +0 -3
  49. package/bootstrap/services/portal/src/assets/arrow.svg +0 -3
  50. package/bootstrap/services/portal/src/assets/bin-white.svg +0 -3
  51. package/bootstrap/services/portal/src/assets/bin.svg +0 -3
  52. package/bootstrap/services/portal/src/assets/check.svg +0 -3
  53. package/bootstrap/services/portal/src/assets/chevron.svg +0 -3
  54. package/bootstrap/services/portal/src/assets/contact.svg +0 -3
  55. package/bootstrap/services/portal/src/assets/dots-vertical.svg +0 -5
  56. package/bootstrap/services/portal/src/assets/eye-off.svg +0 -3
  57. package/bootstrap/services/portal/src/assets/eye.svg +0 -4
  58. package/bootstrap/services/portal/src/assets/gnar-engine-black.svg +0 -47
  59. package/bootstrap/services/portal/src/assets/gnar-engine-white.svg +0 -47
  60. package/bootstrap/services/portal/src/assets/gnar_engine.svg +0 -3
  61. package/bootstrap/services/portal/src/assets/gnarengine-logo-black.png +0 -0
  62. package/bootstrap/services/portal/src/assets/home.svg +0 -3
  63. package/bootstrap/services/portal/src/assets/link.svg +0 -3
  64. package/bootstrap/services/portal/src/assets/lock.svg +0 -3
  65. package/bootstrap/services/portal/src/assets/package.svg +0 -4
  66. package/bootstrap/services/portal/src/assets/raffle.svg +0 -3
  67. package/bootstrap/services/portal/src/assets/settings.svg +0 -4
  68. package/bootstrap/services/portal/src/assets/shopping-bag.svg +0 -3
  69. package/bootstrap/services/portal/src/assets/user-black.svg +0 -3
  70. package/bootstrap/services/portal/src/assets/user.svg +0 -3
  71. package/bootstrap/services/portal/src/assets/users.svg +0 -3
  72. package/bootstrap/services/portal/src/assets/wallet.svg +0 -3
  73. package/bootstrap/services/portal/src/css/style.css +0 -1007
  74. package/bootstrap/services/portal/src/data/data.js +0 -70
  75. package/bootstrap/services/portal/src/features/attributeFormRow/AttributeFormRow.jsx +0 -32
  76. package/bootstrap/services/portal/src/features/billingShipping/BillingShipping.jsx +0 -160
  77. package/bootstrap/services/portal/src/features/crud/crudEdit.less +0 -230
  78. package/bootstrap/services/portal/src/features/crud/crudList.less +0 -134
  79. package/bootstrap/services/portal/src/features/crud/crudPage.less +0 -31
  80. package/bootstrap/services/portal/src/features/crudContact/CrudContactList.jsx +0 -108
  81. package/bootstrap/services/portal/src/features/crudContact/CrudContactSingle.jsx +0 -243
  82. package/bootstrap/services/portal/src/features/crudOrder/CrudOrderList.jsx +0 -109
  83. package/bootstrap/services/portal/src/features/crudOrder/CrudOrderSingle.jsx +0 -315
  84. package/bootstrap/services/portal/src/features/crudProducts/CrudProductList.jsx +0 -104
  85. package/bootstrap/services/portal/src/features/crudProducts/CrudProductSingle.jsx +0 -388
  86. package/bootstrap/services/portal/src/features/crudRaffles/CrudRafflesList.jsx +0 -104
  87. package/bootstrap/services/portal/src/features/crudRaffles/CrudRafflesSingle.jsx +0 -208
  88. package/bootstrap/services/portal/src/features/crudSubscription/CrudSubscriptionList.jsx +0 -110
  89. package/bootstrap/services/portal/src/features/crudSubscription/CrudSubscriptionSingle.jsx +0 -261
  90. package/bootstrap/services/portal/src/features/crudUser/CrudUserList.jsx +0 -107
  91. package/bootstrap/services/portal/src/features/crudUser/CrudUserSingle.jsx +0 -402
  92. package/bootstrap/services/portal/src/features/inventoryFormRow/InventoryFormRow.jsx +0 -30
  93. package/bootstrap/services/portal/src/features/lineItems/LineItems.jsx +0 -113
  94. package/bootstrap/services/portal/src/features/loginForm/LoginForm.jsx +0 -56
  95. package/bootstrap/services/portal/src/features/loginForm/loginForm.less +0 -56
  96. package/bootstrap/services/portal/src/features/notes/Notes.jsx +0 -18
  97. package/bootstrap/services/portal/src/features/passwordReset/PasswordResetForm.jsx +0 -96
  98. package/bootstrap/services/portal/src/features/passwordReset/PasswordResetRequestForm.jsx +0 -74
  99. package/bootstrap/services/portal/src/features/priceFormRow/PriceFormRow.jsx +0 -102
  100. package/bootstrap/services/portal/src/features/priceFormRow/priceFormRow.less +0 -24
  101. package/bootstrap/services/portal/src/features/raffleEntriesList/RaffleEntriesList.jsx +0 -99
  102. package/bootstrap/services/portal/src/features/raffleProductFormRow/RaffleProductFormRow.jsx +0 -46
  103. package/bootstrap/services/portal/src/features/sidebar/Sidebar.jsx +0 -64
  104. package/bootstrap/services/portal/src/features/sidebar/sidebar.less +0 -49
  105. package/bootstrap/services/portal/src/features/skus/Skus.jsx +0 -109
  106. package/bootstrap/services/portal/src/features/subscriptionSchedule/SubscriptionSchedule.jsx +0 -44
  107. package/bootstrap/services/portal/src/features/taxonomyFormRow/TaxonomyFormRow.jsx +0 -32
  108. package/bootstrap/services/portal/src/features/user/User.jsx +0 -54
  109. package/bootstrap/services/portal/src/features/user/user.less +0 -57
  110. package/bootstrap/services/portal/src/includes/utilities.js +0 -259
  111. package/bootstrap/services/portal/src/index.js +0 -14
  112. package/bootstrap/services/portal/src/layouts/CrudLayout.jsx +0 -50
  113. package/bootstrap/services/portal/src/layouts/LoginLayout.jsx +0 -17
  114. package/bootstrap/services/portal/src/layouts/PortalLayout.jsx +0 -48
  115. package/bootstrap/services/portal/src/layouts/loginLayout.less +0 -33
  116. package/bootstrap/services/portal/src/layouts/portalLayout.less +0 -67
  117. package/bootstrap/services/portal/src/pages/contacts/Contacts.jsx +0 -199
  118. package/bootstrap/services/portal/src/pages/dashboard/Dashboard.jsx +0 -17
  119. package/bootstrap/services/portal/src/pages/integrations/Integrations.jsx +0 -10
  120. package/bootstrap/services/portal/src/pages/login/Login.jsx +0 -15
  121. package/bootstrap/services/portal/src/pages/login/login.less +0 -10
  122. package/bootstrap/services/portal/src/pages/orders/Orders.jsx +0 -199
  123. package/bootstrap/services/portal/src/pages/passwordReset/PasswordResetPage.jsx +0 -15
  124. package/bootstrap/services/portal/src/pages/passwordResetRequest/PasswordResetRequestPage.jsx +0 -15
  125. package/bootstrap/services/portal/src/pages/payments/Payments.jsx +0 -10
  126. package/bootstrap/services/portal/src/pages/portal/Portal.jsx +0 -43
  127. package/bootstrap/services/portal/src/pages/products/Products.jsx +0 -212
  128. package/bootstrap/services/portal/src/pages/raffleEntries/RaffleEntries.jsx +0 -124
  129. package/bootstrap/services/portal/src/pages/raffles/Raffles.jsx +0 -186
  130. package/bootstrap/services/portal/src/pages/reports/Reports.jsx +0 -10
  131. package/bootstrap/services/portal/src/pages/settings/Settings.jsx +0 -10
  132. package/bootstrap/services/portal/src/pages/subscriptions/Subscriptions.jsx +0 -199
  133. package/bootstrap/services/portal/src/pages/users/Users.jsx +0 -193
  134. package/bootstrap/services/portal/src/pages/users/users.less +0 -25
  135. package/bootstrap/services/portal/src/slices/authSlice.js +0 -71
  136. package/bootstrap/services/portal/src/store/configureStore.js +0 -12
  137. package/bootstrap/services/portal/src/styles/global.less +0 -159
  138. package/bootstrap/services/portal/src/styles/inputs.less +0 -157
  139. package/bootstrap/services/portal/src/styles/main.less +0 -26
  140. package/bootstrap/services/portal/src/ui/collapsible/Collapsible.jsx +0 -97
  141. package/bootstrap/services/portal/src/ui/collapsible/collapsible.less +0 -23
  142. package/bootstrap/services/portal/src/ui/customCheckbox/CustomCheckbox.jsx +0 -17
  143. package/bootstrap/services/portal/src/ui/customCheckbox/customCheckbox.less +0 -42
  144. package/bootstrap/services/portal/src/ui/customMultiSelect/CustomMultiSelect.jsx +0 -63
  145. package/bootstrap/services/portal/src/ui/customMultiSelect/CustomMultiSelectPeriod.jsx +0 -63
  146. package/bootstrap/services/portal/src/ui/customSelect/CustomSelect.jsx +0 -63
  147. package/bootstrap/services/portal/src/ui/customSelect/customSelect.less +0 -92
  148. package/bootstrap/services/portal/src/ui/goBack/GoBack.jsx +0 -19
  149. package/bootstrap/services/portal/src/ui/loader/Loader.jsx +0 -12
  150. package/bootstrap/services/portal/src/ui/pagination/Pagination.jsx +0 -23
  151. package/bootstrap/services/portal/src/ui/repeater/Repeater.jsx +0 -29
  152. package/bootstrap/services/portal/src/ui/saveButton/SaveButton.jsx +0 -69
  153. package/bootstrap/services/portal/src/ui/saveButton/saveButton.less +0 -0
  154. package/bootstrap/services/user/src/db/seeders/development/02-portal-admin-user.js +0 -27
  155. package/templates/service/schema/{{serviceName}}.schema.js.hbs +0 -14
  156. /package/templates/service/{controllers → src/controllers}/http.controller.js.hbs +0 -0
  157. /package/templates/service/{controllers → src/controllers}/message.controller.js.hbs +0 -0
  158. /package/templates/service/{db → src/mysql.db}/migrations/01-init.js.hbs +0 -0
  159. /package/templates/service/{db → src/mysql.db}/migrations/02-{{lowerCase serviceName}}-service-init.js.hbs +0 -0
  160. /package/templates/service/{policies → src/policies}/{{serviceName}}.policy.js.hbs +0 -0
  161. /package/templates/service/{services/{{serviceName}}.service.js.hbs → src/services/mysql.{{serviceName}}.service.js.hbs} +0 -0
@@ -1,1007 +0,0 @@
1
- /* vars */
2
- /* Fonts */
3
- body {
4
- font-family: ubuntu, sans-serif;
5
- color: #3C5063;
6
- font-size: 14px;
7
- }
8
- /* Global styles */
9
- h1 {
10
- margin-top: 0px;
11
- font-size: 28px;
12
- font-weight: 600;
13
- }
14
- h2 {
15
- font-size: 15px;
16
- font-weight: 500;
17
- }
18
- body {
19
- margin: 0px;
20
- }
21
- body,
22
- body #root {
23
- min-height: 100vh;
24
- }
25
- .separator {
26
- margin-top: 20px;
27
- margin-bottom: 20px;
28
- height: 0px;
29
- border-top: 1px solid #E4E4E4;
30
- }
31
- .content-wrap {
32
- display: flex;
33
- justify-content: center;
34
- }
35
- .content {
36
- width: 100%;
37
- max-width: 1550px;
38
- margin-left: auto;
39
- margin-right: auto;
40
- padding-left: 20px;
41
- padding-right: 20px;
42
- }
43
- .instruction {
44
- font-size: 12px;
45
- margin-top: 10px;
46
- margin-bottom: 10px;
47
- }
48
- .flex-row {
49
- display: flex;
50
- flex-direction: row;
51
- justify-content: space-between;
52
- gap: 20px;
53
- }
54
- .flex-row-end {
55
- align-items: flex-end;
56
- }
57
- .form-cont {
58
- width: 100%;
59
- margin-bottom: 30px;
60
- }
61
- .full-width-select-cont,
62
- .full-width-select-cont .custom-select {
63
- min-width: 100%;
64
- }
65
- .flex-row-select-cont {
66
- min-width: 100%;
67
- display: flex;
68
- flex-direction: row;
69
- justify-content: space-between;
70
- gap: 20px;
71
- }
72
- .flex-row-select-cont .custom-select {
73
- width: 100%;
74
- max-width: unset;
75
- }
76
- .flex-row-checkbox-cont {
77
- min-width: 100%;
78
- display: flex;
79
- flex-direction: row;
80
- justify-content: space-between;
81
- gap: 20px;
82
- }
83
- .flex-row-checkbox-cont label {
84
- display: inline-block;
85
- }
86
- .flex-row-buttons-cont {
87
- display: flex;
88
- flex-direction: row;
89
- justify-content: flex-end;
90
- gap: 20px;
91
- }
92
- .button.button-loading {
93
- background: #E4E4E4 !important;
94
- cursor: not-allowed !important;
95
- }
96
- .button.button-loading:disabled {
97
- cursor: not-allowed;
98
- opacity: 0.5;
99
- }
100
- .card {
101
- background: #FFFFFF;
102
- border: 1px solid #E4E4E4;
103
- border-radius: 10px;
104
- margin-top: 20px;
105
- box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
106
- }
107
- .card .card-header {
108
- width: 100%;
109
- background-color: #434343;
110
- color: #FFFFFF;
111
- border-top-left-radius: 10px;
112
- border-top-right-radius: 10px;
113
- display: flex;
114
- justify-content: space-between;
115
- }
116
- .card .card-header h2 {
117
- padding: 20px;
118
- margin: 0px;
119
- }
120
- .card .card-content {
121
- padding: 20px;
122
- }
123
- input[type="text"],
124
- input[type="password"],
125
- input[type="email"],
126
- input[type="number"] {
127
- width: 100%;
128
- padding: 6px 10px;
129
- margin: 10px 0;
130
- border: 1px solid #E4E4E4;
131
- background: #FFFFFF;
132
- border-radius: 25px;
133
- box-sizing: border-box;
134
- font-size: 14px;
135
- color: #3C5063;
136
- }
137
- input:focus {
138
- outline: none;
139
- border: 1px solid #479E78;
140
- }
141
- textarea {
142
- font-family: 'Roboto', sans-serif;
143
- width: 100%;
144
- padding: 10px;
145
- margin: 10px 0;
146
- border: 1px solid #E4E4E4;
147
- background: #FFFFFF;
148
- border-radius: 4px;
149
- box-sizing: border-box;
150
- font-size: 14px;
151
- color: #3C5063;
152
- }
153
- button,
154
- .mainButton {
155
- padding: 6px 10px;
156
- margin: 10px 0;
157
- border: none;
158
- background: #479E78;
159
- color: #FFFFFF;
160
- border-radius: 25px;
161
- font-size: 14px;
162
- cursor: pointer;
163
- transition-duration: 0.4s;
164
- width: 150px;
165
- border: 1px solid #479E78;
166
- text-decoration: none;
167
- max-height: 40px;
168
- }
169
- button.wide,
170
- .mainButton.wide {
171
- width: 215px;
172
- }
173
- button:hover,
174
- .mainButton:hover {
175
- opacity: 0.9;
176
- cursor: pointer;
177
- }
178
- .secondaryButton {
179
- padding: 6px 10px;
180
- margin: 10px 0;
181
- border: none;
182
- background: #434343;
183
- color: #FFFFFF;
184
- border-radius: 25px;
185
- font-size: 14px;
186
- cursor: pointer;
187
- transition-duration: 0.4s;
188
- width: 150px;
189
- border: 1px solid #434343;
190
- text-decoration: none;
191
- max-height: 40px;
192
- }
193
- .secondaryButton.wide {
194
- width: 215px;
195
- }
196
- .secondaryButton:hover {
197
- opacity: 0.9;
198
- cursor: pointer;
199
- }
200
- .button-cont {
201
- width: 100%;
202
- display: inline-block;
203
- }
204
- .button-cont.right {
205
- text-align: right;
206
- }
207
- .arrowButton {
208
- width: 30px;
209
- height: 30px;
210
- background: #479E78;
211
- color: #FFFFFF;
212
- border: none;
213
- border-radius: 50%;
214
- cursor: pointer;
215
- }
216
- button.bin-icon {
217
- background: none;
218
- border: none;
219
- width: 30px;
220
- height: 30px;
221
- }
222
- button.bin-icon.white {
223
- padding-right: 50px;
224
- }
225
- .pdfButton {
226
- display: inline-block;
227
- text-align: center;
228
- line-height: 1.2em;
229
- box-sizing: border-box;
230
- }
231
- button.success::after {
232
- content: '✔';
233
- color: #3C5063;
234
- margin-left: 8px;
235
- font-size: 14px;
236
- }
237
- button.error::after {
238
- content: '✘';
239
- color: #c73939;
240
- margin-left: 8px;
241
- font-size: 16px;
242
- }
243
- button.grey-btn {
244
- color: #479E78;
245
- border: 1px solid #E4E4E4;
246
- background: #F6F8F9;
247
- }
248
- .date-selector-cont {
249
- width: 100%;
250
- display: inline-block;
251
- }
252
- .react-datepicker-wrapper {
253
- width: 300px;
254
- margin-bottom: 10px;
255
- }
256
- .react-datepicker-wrapper .react-datepicker__input-container {
257
- width: 100%;
258
- }
259
- .text-button {
260
- background: none;
261
- border: none;
262
- color: #479E78;
263
- padding: 0px;
264
- width: auto !important;
265
- }
266
- .text-button:hover {
267
- cursor: pointer;
268
- opacity: 0.8;
269
- }
270
- .login-layout {
271
- min-height: 100vh;
272
- background: #434343;
273
- display: flex;
274
- flex-direction: row;
275
- position: relative;
276
- }
277
- .login-layout .left-cont {
278
- min-width: 50%;
279
- max-width: 50%;
280
- min-height: 100%;
281
- display: flex;
282
- justify-content: center;
283
- align-items: center;
284
- }
285
- .login-layout .left-cont img {
286
- max-width: 60%;
287
- min-width: 60%;
288
- }
289
- .login-layout .right-cont {
290
- background: #F6F8F9;
291
- min-height: 100%;
292
- min-width: 50%;
293
- max-width: 50%;
294
- display: flex;
295
- flex-direction: column;
296
- justify-content: center;
297
- flex-wrap: nowrap;
298
- padding: 50px;
299
- box-sizing: border-box;
300
- }
301
- .portal-layout {
302
- min-height: 101vh;
303
- background: linear-gradient(to right, #E7E7E7 0%, #E7E7E7 49%, #f7f7f7 51%, #f7f7f7 100%);
304
- }
305
- .portal-layout .header {
306
- background: #434343;
307
- height: 30px;
308
- padding-top: 20px;
309
- padding-bottom: 20px;
310
- box-sizing: border-box;
311
- display: flex;
312
- flex-direction: row;
313
- align-items: center;
314
- }
315
- .portal-layout .header .content-wrap {
316
- max-height: 100%;
317
- }
318
- .portal-layout .header .content {
319
- display: flex;
320
- flex-direction: row;
321
- flex-wrap: nowrap;
322
- justify-content: space-between;
323
- max-height: 100%;
324
- align-items: center;
325
- }
326
- .portal-layout .main {
327
- min-height: calc(100vh - 197px);
328
- position: relative;
329
- }
330
- .portal-layout .main .content-wrap,
331
- .portal-layout .main .content {
332
- height: 100%;
333
- min-height: 100%;
334
- }
335
- .portal-layout .main .content {
336
- display: flex;
337
- flex-direction: row;
338
- flex-wrap: nowrap;
339
- }
340
- .portal-layout .main .main-page {
341
- background: #f7f7f7;
342
- width: 100%;
343
- height: 100%;
344
- min-height: calc(100vh - 100px);
345
- padding: 30px 40px;
346
- }
347
- .portal-layout .main .main-page .header-details {
348
- display: flex;
349
- flex-direction: row;
350
- align-items: center;
351
- justify-content: space-between;
352
- padding-bottom: 20px;
353
- }
354
- .portal-layout .main .main-page .header-logo {
355
- max-height: 100%;
356
- width: 180px;
357
- display: flex;
358
- align-items: center;
359
- justify-content: center;
360
- }
361
- .login-layout h1 {
362
- margin-bottom: 10px;
363
- }
364
- .login-layout h2 {
365
- margin-top: 0px;
366
- margin-bottom: 10px;
367
- }
368
- .crud-page .crud-list-cont .crud-list-header {
369
- text-align: right;
370
- }
371
- .crud-page .crud-list-cont .crud-list-controls {
372
- display: flex;
373
- justify-content: space-between;
374
- align-items: center;
375
- margin-bottom: 20px;
376
- }
377
- .crud-page .crud-list-cont .crud-list-controls .controls-left-col {
378
- display: flex;
379
- gap: 20px;
380
- }
381
- .crud-page .crud-list-cont .crud-list-controls .controls-right-col {
382
- display: flex;
383
- gap: 20px;
384
- }
385
- .login {
386
- display: flex;
387
- flex-direction: column;
388
- align-items: center;
389
- justify-content: center;
390
- }
391
- .login .login-form {
392
- display: flex;
393
- flex-direction: column;
394
- width: 400px;
395
- }
396
- .login .login-form #login-message {
397
- color: #c73939;
398
- min-height: 40px;
399
- }
400
- .login .login-form button.loading {
401
- opacity: 0.6;
402
- cursor: not-allowed;
403
- }
404
- .login .login-form a {
405
- text-decoration: none;
406
- color: #479E78;
407
- margin-left: 10px;
408
- }
409
- .login .login-form .input-container {
410
- position: relative;
411
- }
412
- .login .login-form .input-container input {
413
- padding-left: 50px;
414
- }
415
- .login .login-form .input-container::before {
416
- content: '';
417
- position: absolute;
418
- top: 50%;
419
- left: 18px;
420
- transform: translateY(-50%);
421
- width: 20px;
422
- height: 20px;
423
- background-size: contain;
424
- background-repeat: no-repeat;
425
- }
426
- .login .login-form .input-container:nth-child(1)::before {
427
- background-image: url('../assets/user-black.svg');
428
- }
429
- .login .login-form .input-container:nth-child(2)::before {
430
- background-image: url('../assets/lock.svg');
431
- }
432
- .sidebar {
433
- min-width: 240px;
434
- max-width: 240px;
435
- padding-top: 30px;
436
- box-sizing: border-box;
437
- }
438
- .sidebar .collapsible-cont {
439
- margin-bottom: 30px;
440
- }
441
- .sidebar .collapsible-content-inner {
442
- padding-left: 32px;
443
- }
444
- .sidebar a {
445
- text-decoration: none;
446
- color: #3C5063;
447
- font-size: 18px;
448
- font-weight: 400;
449
- padding-top: 12px;
450
- padding-bottom: 12px;
451
- display: inline-block;
452
- min-width: 100%;
453
- }
454
- .sidebar .menu-item {
455
- display: flex;
456
- align-items: center;
457
- gap: 10px;
458
- padding-left: 16px;
459
- padding-right: 16px;
460
- transition: all 0.3s;
461
- }
462
- .sidebar .menu-item.active {
463
- color: #479E78;
464
- padding-left: 30px;
465
- }
466
- .sidebar .menu-item.active img {
467
- filter: none;
468
- }
469
- .sidebar .menu-item img {
470
- filter: grayscale(60%) brightness(0.5);
471
- width: 35px;
472
- height: 35px;
473
- }
474
- .user-avatar-container {
475
- display: flex;
476
- justify-content: center;
477
- flex-direction: column;
478
- align-items: flex-end;
479
- padding-bottom: 10px;
480
- }
481
- .user-avatar-container .user-info {
482
- display: flex;
483
- flex-direction: column;
484
- align-items: center;
485
- justify-content: center;
486
- }
487
- .user-avatar-container .user-info .userAvatar {
488
- width: 40px;
489
- height: 40px;
490
- border-radius: 50%;
491
- border: 2px solid #37936B;
492
- background: #479E78;
493
- display: flex;
494
- justify-content: center;
495
- align-items: center;
496
- }
497
- .user-avatar-container .user-info .userAvatar span {
498
- text-transform: uppercase;
499
- font-size: 18px;
500
- font-weight: 400;
501
- color: #479E78;
502
- }
503
- .user-avatar-container .user-info .userAvatar span img {
504
- width: 30px;
505
- height: 30px;
506
- }
507
- .user-avatar-container .user-info span {
508
- color: #479E78;
509
- font-size: 14px;
510
- }
511
- .user-avatar-container .user-info .log-out {
512
- color: #3C5063;
513
- transition-duration: 0.4s;
514
- }
515
- .user-avatar-container .user-info .log-out:hover {
516
- cursor: pointer;
517
- opacity: 0.9;
518
- }
519
- .crud-list {
520
- width: 100%;
521
- /* Adjust width as needed */
522
- margin-bottom: 20px;
523
- /* Adjust margin as needed */
524
- }
525
- .crud-list .custom-table {
526
- width: 100%;
527
- border-collapse: collapse;
528
- border-spacing: 0px;
529
- border: none;
530
- }
531
- .crud-list .custom-table .separator-row {
532
- display: inline-block;
533
- }
534
- .crud-list .custom-table .checkbox {
535
- display: flex;
536
- align-items: center;
537
- }
538
- .crud-list .custom-table th {
539
- background-color: #434343;
540
- color: #FFFFFF;
541
- text-align: left;
542
- padding: 10px;
543
- text-transform: capitalize;
544
- }
545
- .crud-list .custom-table th:first-child {
546
- border-top-left-radius: 10px;
547
- }
548
- .crud-list .custom-table th:last-child {
549
- border-top-right-radius: 10px;
550
- width: 12%;
551
- }
552
- .crud-list .custom-table td {
553
- padding: 5px 10px;
554
- border: none;
555
- }
556
- .crud-list .custom-table td:last-child {
557
- border-bottom: none;
558
- }
559
- .crud-list .custom-table td.edit-dots {
560
- text-align: start;
561
- }
562
- .crud-list .custom-table tbody button {
563
- width: 20px;
564
- background: none;
565
- border: none;
566
- margin: 0;
567
- }
568
- .crud-list .custom-table tbody tr {
569
- border-top: 1px solid transparent;
570
- border-bottom: 1px solid transparent;
571
- }
572
- .crud-list .custom-table tbody tr td {
573
- line-height: 1em;
574
- }
575
- .crud-list .custom-table tbody tr td:first-child {
576
- border-left: 1px solid #E4E4E4;
577
- }
578
- .crud-list .custom-table tbody tr td:last-child {
579
- border-right: 1px solid #E4E4E4;
580
- }
581
- .crud-list .custom-table tbody tr:first-of-type td {
582
- border-top: 1px solid #E4E4E4;
583
- }
584
- .crud-list .custom-table tbody tr:first-of-type td:first-child {
585
- border-left: 1px solid #E4E4E4;
586
- }
587
- .crud-list .custom-table tbody tr:first-of-type td:last-child {
588
- border-right: 1px solid #E4E4E4;
589
- }
590
- .crud-list .custom-table tbody tr:last-of-type td {
591
- border-bottom: 1px solid #E4E4E4;
592
- }
593
- .crud-list .custom-table tbody tr:last-of-type td:first-child {
594
- border-left: 1px solid #E4E4E4;
595
- border-bottom-left-radius: 10px;
596
- }
597
- .crud-list .custom-table tbody tr:last-of-type td:last-child {
598
- border-right: 1px solid #E4E4E4;
599
- border-bottom-right-radius: 10px;
600
- }
601
- .crud-list .custom-table tbody tr:nth-child(even) td {
602
- background-color: #f1f1f1;
603
- }
604
- .crud-list .custom-table tbody tr:hover td {
605
- border-top: 1px solid #479E78;
606
- border-bottom: 1px solid #479E78;
607
- cursor: pointer;
608
- }
609
- .crud-list .custom-table tbody tr:hover td:first-child {
610
- border-left: 1px solid #479E78;
611
- cursor: pointer;
612
- }
613
- .crud-list .custom-table tbody tr:hover td:last-child {
614
- border-right: 1px solid #479E78;
615
- cursor: pointer;
616
- }
617
- .pagination-labels-cont {
618
- display: flex;
619
- flex-direction: row;
620
- justify-content: space-between;
621
- align-items: center;
622
- }
623
- .pagination-count {
624
- margin-bottom: 20px;
625
- text-align: left;
626
- font-size: 12px;
627
- }
628
- .crud-edit .edit-heading {
629
- display: flex;
630
- justify-content: space-between;
631
- }
632
- .single-edit .single-edit-header {
633
- display: flex;
634
- justify-content: space-between;
635
- margin-bottom: 20px;
636
- }
637
- .single-edit.subscriptions .subscriptions-table {
638
- width: 100%;
639
- border-collapse: collapse;
640
- }
641
- .single-edit.subscriptions .subscriptions-table thead {
642
- border-bottom: 1px solid #434343;
643
- }
644
- .single-edit.subscriptions .subscriptions-table th,
645
- .single-edit.subscriptions .subscriptions-table td {
646
- padding: 8px;
647
- text-align: left;
648
- }
649
- .single-edit.order .billing-shipping-cont,
650
- .single-edit.subscriptions .billing-shipping-cont {
651
- display: flex;
652
- justify-content: space-between;
653
- margin-bottom: 20px;
654
- }
655
- .single-edit.order .billing-shipping-cont .billing-cont,
656
- .single-edit.subscriptions .billing-shipping-cont .billing-cont,
657
- .single-edit.order .billing-shipping-cont .shipping-cont,
658
- .single-edit.subscriptions .billing-shipping-cont .shipping-cont {
659
- width: 50%;
660
- padding-right: 20px;
661
- }
662
- .single-edit.order .line-items-totals-cont .line-items-cont,
663
- .single-edit.subscriptions .line-items-totals-cont .line-items-cont {
664
- margin-bottom: 40px;
665
- }
666
- .single-edit.order .line-items-totals-cont .line-items-cont .line-items-table,
667
- .single-edit.subscriptions .line-items-totals-cont .line-items-cont .line-items-table,
668
- .single-edit.order .line-items-totals-cont .line-items-cont .totals-table,
669
- .single-edit.subscriptions .line-items-totals-cont .line-items-cont .totals-table {
670
- width: 100%;
671
- border-collapse: collapse;
672
- }
673
- .single-edit.order .line-items-totals-cont .line-items-cont .line-items-table th,
674
- .single-edit.subscriptions .line-items-totals-cont .line-items-cont .line-items-table th,
675
- .single-edit.order .line-items-totals-cont .line-items-cont .totals-table th,
676
- .single-edit.subscriptions .line-items-totals-cont .line-items-cont .totals-table th {
677
- border-bottom: 1px solid #434343;
678
- }
679
- .single-edit.order .line-items-totals-cont .line-items-cont .line-items-table th,
680
- .single-edit.subscriptions .line-items-totals-cont .line-items-cont .line-items-table th,
681
- .single-edit.order .line-items-totals-cont .line-items-cont .totals-table th,
682
- .single-edit.subscriptions .line-items-totals-cont .line-items-cont .totals-table th,
683
- .single-edit.order .line-items-totals-cont .line-items-cont .line-items-table td,
684
- .single-edit.subscriptions .line-items-totals-cont .line-items-cont .line-items-table td,
685
- .single-edit.order .line-items-totals-cont .line-items-cont .totals-table td,
686
- .single-edit.subscriptions .line-items-totals-cont .line-items-cont .totals-table td {
687
- padding: 8px;
688
- text-align: left;
689
- }
690
- .single-edit.order .totals-cont,
691
- .single-edit.subscriptions .totals-cont {
692
- display: flex;
693
- justify-content: flex-end;
694
- }
695
- .single-edit.order .totals-cont .totals-table tr td,
696
- .single-edit.subscriptions .totals-cont .totals-table tr td {
697
- padding: 8px 0px 8px 15px;
698
- text-align: right;
699
- }
700
- .single-edit.order .totals-cont .totals-table .order-total,
701
- .single-edit.subscriptions .totals-cont .totals-table .order-total {
702
- font-weight: bold;
703
- }
704
- .single-edit.order .subscription-details-cont,
705
- .single-edit.subscriptions .subscription-details-cont {
706
- display: flex;
707
- justify-content: space-between;
708
- margin-bottom: 20px;
709
- }
710
- .single-edit.order .order-notes-cont .note-item,
711
- .single-edit.subscriptions .order-notes-cont .note-item {
712
- display: flex;
713
- margin-bottom: 20px;
714
- width: 100%;
715
- justify-content: space-between;
716
- }
717
- .single-edit.order .order-notes-cont .note-item .note-item-body,
718
- .single-edit.subscriptions .order-notes-cont .note-item .note-item-body {
719
- flex: 1;
720
- display: flex;
721
- }
722
- .single-edit.order .order-notes-cont .note-item .note-item-body textarea,
723
- .single-edit.subscriptions .order-notes-cont .note-item .note-item-body textarea {
724
- width: 100%;
725
- flex-grow: 1;
726
- }
727
- .single-edit .account form,
728
- .single-edit .contacts form {
729
- display: flex;
730
- gap: 20px;
731
- align-items: flex-end;
732
- }
733
- .single-edit .user-form {
734
- display: flex;
735
- gap: 20px;
736
- align-items: flex-end;
737
- }
738
- .single-edit .api-key form {
739
- width: 100%;
740
- }
741
- .single-edit .api-key form input {
742
- width: 100%;
743
- }
744
- .single-edit .single-inner-cont {
745
- position: relative;
746
- }
747
- .single-edit .single-inner-cont .repeater-cont {
748
- width: 100%;
749
- margin-top: 15px;
750
- }
751
- .single-edit .single-inner-cont .repeater-cont table {
752
- width: 100%;
753
- border-collapse: separate;
754
- border-spacing: 10px;
755
- }
756
- .single-edit .single-inner-cont .repeater-cont table th {
757
- min-width: 100%;
758
- color: #3C5063;
759
- opacity: 0.5;
760
- font-size: 10px;
761
- line-height: 1.1em;
762
- font-style: italic;
763
- }
764
- .single-edit .single-inner-cont .repeater-cont table .contacts-bin-icon {
765
- cursor: pointer;
766
- margin-top: 15px;
767
- }
768
- .single-edit .single-inner-cont .repeater-cont table th,
769
- .single-edit .single-inner-cont .repeater-cont table td {
770
- text-align: left;
771
- vertical-align: top;
772
- }
773
- .single-edit .single-inner-cont .repeater-cont table th input,
774
- .single-edit .single-inner-cont .repeater-cont table td input {
775
- width: 100%;
776
- }
777
- .single-edit .single-inner-cont .repeater-cont table .react-datepicker-wrapper {
778
- width: 100%;
779
- }
780
- .single-edit .single-inner-cont .repeater-cont td.period-name {
781
- width: 100%;
782
- display: block;
783
- }
784
- .single-edit .single-inner-cont .react-datepicker-popper {
785
- z-index: 99;
786
- }
787
- .single-edit .field-instruction {
788
- min-width: 100%;
789
- display: inline-block;
790
- color: #3C5063;
791
- opacity: 0.5;
792
- font-size: 10px;
793
- line-height: 1.1em;
794
- font-style: italic;
795
- }
796
- .single-edit .error-messages {
797
- width: 100%;
798
- background: #ffeeee;
799
- border: 1px solid #c73939;
800
- border-radius: 5px;
801
- padding: 15px;
802
- margin-bottom: 20px;
803
- box-sizing: border-box;
804
- }
805
- .single-edit .error-messages p {
806
- color: #c73939;
807
- line-height: 1em;
808
- margin-top: 3px;
809
- margin-bottom: 3px;
810
- }
811
- .single-edit form label {
812
- display: block;
813
- }
814
- .single-edit form input {
815
- width: 300px;
816
- }
817
- .single-edit form input#marketingOptIn {
818
- width: 15px;
819
- height: 15px;
820
- }
821
- .crud-page,
822
- .manage-students {
823
- position: relative;
824
- }
825
- .crud-page .flex-row-select-cont,
826
- .manage-students .flex-row-select-cont {
827
- margin-top: 50px;
828
- }
829
- .crud-page .clear-filters-btn,
830
- .manage-students .clear-filters-btn {
831
- position: absolute;
832
- top: 65px;
833
- right: 5px;
834
- }
835
- .crud-page .clear-filters-btn:hover,
836
- .manage-students .clear-filters-btn:hover {
837
- cursor: pointer;
838
- opacity: 0.8;
839
- }
840
- .crud-page .password-reset-btn,
841
- .manage-students .password-reset-btn {
842
- display: block;
843
- position: relative;
844
- color: #479E78;
845
- text-decoration: underline;
846
- }
847
- .crud-page .password-reset-btn:hover,
848
- .manage-students .password-reset-btn:hover {
849
- cursor: pointer;
850
- opacity: 0.8;
851
- }
852
- .form-row {
853
- display: flex;
854
- justify-content: space-between;
855
- margin-bottom: 10px;
856
- gap: 20px;
857
- align-items: center;
858
- flex-wrap: wrap;
859
- }
860
- .form-row .input-cont {
861
- display: flex;
862
- flex-direction: column;
863
- }
864
- .form-row .input-cont input {
865
- width: 250px;
866
- }
867
- .form-group.categories {
868
- width: 100%;
869
- }
870
- .form-group.categories .custom-select-input {
871
- min-width: 500px !important;
872
- }
873
- .collapsible-header {
874
- display: flex;
875
- justify-content: space-between;
876
- }
877
- .collapsible-header h3 {
878
- margin: 0px;
879
- }
880
- .collapsible-header:hover {
881
- cursor: pointer;
882
- }
883
- .collapsible-content {
884
- overflow: hidden;
885
- transition-duration: 0.5s;
886
- }
887
- .collapsible-content-open {
888
- margin-top: 30px;
889
- }
890
- .collapsible-content-inner ul {
891
- margin: 0px;
892
- }
893
- .custom-checkbox {
894
- position: relative;
895
- margin-top: 15px;
896
- margin-bottom: 10px;
897
- }
898
- .custom-checkbox input {
899
- opacity: 0;
900
- position: absolute;
901
- left: 0px;
902
- min-width: 18px;
903
- min-height: 18px;
904
- }
905
- .custom-checkbox input:hover {
906
- cursor: pointer;
907
- }
908
- .custom-checkbox label {
909
- padding-left: 20px;
910
- transition-duration: 0.1s;
911
- box-sizing: border-box;
912
- }
913
- .custom-checkbox label:hover {
914
- cursor: pointer;
915
- opacity: 0.8;
916
- }
917
- .custom-checkbox:before {
918
- content: '';
919
- min-width: 18px;
920
- min-height: 18px;
921
- background: #F6F8F9;
922
- border: 1px solid #E4E4E4;
923
- border-radius: 6px;
924
- position: absolute;
925
- left: 0px;
926
- }
927
- .custom-checkbox.checked:before {
928
- content: '';
929
- background: #F6F8F9 url('../assets/check.svg') no-repeat center center;
930
- }
931
- .custom-select {
932
- max-width: 215px;
933
- min-width: 215px;
934
- position: relative;
935
- }
936
- .custom-select .custom-select-input {
937
- position: relative;
938
- width: 100%;
939
- padding: 6px 10px;
940
- margin: 10px 0;
941
- border: 1px solid #E4E4E4;
942
- background: #FFFFFF;
943
- border-radius: 25px;
944
- box-sizing: border-box;
945
- font-size: 15px;
946
- color: #3C5063;
947
- z-index: 3;
948
- }
949
- .custom-select .custom-select-input:hover {
950
- cursor: pointer;
951
- }
952
- .custom-select .custom-select-input:after {
953
- content: url('../assets/chevron.svg');
954
- transition-duration: 0.1s;
955
- position: absolute;
956
- right: 8px;
957
- top: 5px;
958
- transform-origin: center;
959
- height: 20px;
960
- }
961
- .custom-select .custom-select-options {
962
- position: absolute;
963
- width: 100%;
964
- top: 10px;
965
- left: 0px;
966
- max-height: 200px;
967
- height: 0px !important;
968
- overflow: hidden;
969
- background: #FFFFFF;
970
- border: 1px solid #E4E4E4;
971
- box-sizing: border-box;
972
- border-radius: 15px;
973
- z-index: 2;
974
- transition-duration: 0.3s;
975
- }
976
- .custom-select .custom-select-options .custom-select-options-inner {
977
- min-height: 200px;
978
- max-height: 200px;
979
- overflow-y: auto;
980
- }
981
- .custom-select .custom-select-options .custom-select-option:first-child {
982
- margin-top: 30px;
983
- }
984
- .custom-select .custom-select-options .custom-select-option {
985
- padding: 10px;
986
- opacity: 0.8;
987
- transition-duration: 0.1s;
988
- color: #3C5063;
989
- font-size: 15px;
990
- }
991
- .custom-select .custom-select-options .custom-select-option:hover {
992
- opacity: 1;
993
- cursor: pointer;
994
- color: #E8896D;
995
- }
996
- .custom-select.open {
997
- z-index: 5;
998
- }
999
- .custom-select.open .custom-select-options {
1000
- height: 400px !important;
1001
- }
1002
- .custom-select.open .custom-select-input:after {
1003
- transform: rotate(180deg);
1004
- }
1005
- .custom-select.closing {
1006
- z-index: 5;
1007
- }