@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,70 +0,0 @@
1
- export const userRoles = [
2
- {name: "Service Admin", role: 'service_admin'},
3
- {name: "Admin", role: 'admin'},
4
- {name: "Customer", role: 'customer'},
5
- ];
6
-
7
- export const currencies = [
8
- { id: "USD", currency: "USD - US Dollar" },
9
- { id: "EUR", currency: "EUR - Euro" },
10
- { id: "GBP", currency: "GBP - British Pound" }
11
- ];
12
-
13
- export const taxClasses = [
14
- { id: "standard", taxClass: "Standard Rate" },
15
- { id: "reduced", taxClass: "Reduced Rate" },
16
- { id: "zero", taxClass: "Zero Rate" }
17
- ];
18
-
19
- export const productStatuses = [
20
- { id: "draft", status: "Draft" },
21
- { id: "published", status: "Published" },
22
- { id: "archived", status: "Archived" }
23
- ];
24
-
25
- export const productCategories = [
26
- { id: "plugins", category: "Plugins" },
27
- { id: "hosting", category: "Hosting" },
28
- { id: "merchandise", category: "Merchandise" },
29
- ];
30
-
31
- export const productPriceTypes = [
32
- { id: "recurring", type: "Recurring" },
33
- { id: "one-time", type: "One-time" },
34
- ];
35
-
36
- export const productIntervals = [
37
- { id: "daily", interval: "Daily" },
38
- { id: "weekly", interval: "Weekly" },
39
- { id: "monthly", interval: "Monthly" },
40
- { id: "quarterly", interval: "Quarterly" },
41
- { id: "annually", interval: "Annually" },
42
- ];
43
-
44
- export const orderTypes = [
45
- { id: "order", type: "Order" },
46
- { id: "subscription-payment", type: "Subscription" },
47
- ];
48
-
49
- export const orderStatuses = [
50
- { id: "pending-payment", status: "Pending Payment" },
51
- { id: "processing", status: "Processing" },
52
- { id: "completed", status: "Completed" },
53
- { id: "cancelled", status: "Cancelled" },
54
- { id: "refunded", status: "Refunded" },
55
- ];
56
-
57
- export const subscriptionStatuses = [
58
- { id: "active", status: "Active" },
59
- { id: "failed", status: "Failed" },
60
- { id: "paused", status: "Paused" },
61
- { id: "cancelled", status: "Cancelled" },
62
- { id: "expired", status: "Expired" },
63
- { id: "payment-due", status: "Payment Due" },
64
- ];
65
-
66
- export const raffleStatuses = [
67
- { id: "draft", status: "Draft" },
68
- { id: "active", status: "Active" },
69
- { id: "closed", status: "Closed" }
70
- ];
@@ -1,32 +0,0 @@
1
- import bin from '../../assets/bin.svg';
2
- import CustomSelect from '../../ui/customSelect/CustomSelect';
3
-
4
- const AttributeFormRow = ({ item, onChange, remove }) => {
5
-
6
-
7
- return (
8
- <div className='form-row'>
9
- <CustomSelect
10
- name="attribute"
11
- placeholder="Select attribute"
12
- options="TBC"
13
- labelKey="attribute"
14
- setSelectedOption="TBC"
15
- selectedOption="TBC"
16
- />
17
- <CustomSelect
18
- name="value"
19
- placeholder="Select attribute value"
20
- options="TBC"
21
- labelKey="value"
22
- setSelectedOption="TBC"
23
- selectedOption="TBC"
24
- />
25
-
26
- <button className='bin-icon' onClick={remove}><img src={bin} alt="" /></button>
27
- </div>
28
- )
29
- }
30
-
31
-
32
- export default AttributeFormRow;
@@ -1,160 +0,0 @@
1
- import { useEffect, useState } from "react";
2
-
3
- const BillingShipping = ({ order }) => {
4
-
5
- const [isEditingBilling, setIsEditingBilling] = useState(false);
6
- const [isEditingShipping, setIsEditingShipping] = useState(false);
7
-
8
- const [billingAddress, setBillingAddress] = useState(order?.billingAddress || {});
9
- const [shippingAddress, setShippingAddress] = useState(order?.shippingAddress || {});
10
-
11
- const handleInputChange = (e, addressType, field) => {
12
- const value = e.target.value;
13
- if (addressType === 'billing') {
14
- setBillingAddress((prev) => ({ ...prev, [field]: value }));
15
- } else {
16
- setShippingAddress((prev) => ({ ...prev, [field]: value }));
17
- }
18
- };
19
-
20
- return (
21
- <div className="card">
22
- <div className='card-header'>
23
- <h2>Billing & Shipping</h2>
24
- </div>
25
- <div className='card-content'>
26
- <div className="billing-shipping-cont">
27
- <div className="billing-cont">
28
- <div className="billing-header">
29
- <h2>Billing Address</h2>
30
- </div>
31
- <div className="billing-body">
32
- {isEditingBilling ? (
33
- <div>
34
- <input
35
- type="text"
36
- placeholder="First Name"
37
- value={billingAddress.firstName || ''}
38
- onChange={(e) => handleInputChange(e, 'billing', 'firstName')}
39
- />
40
- <input
41
- type="text"
42
- placeholder="Last Name"
43
- value={order?.billingAddress.lastName}
44
- onChange={(e) => handleInputChange(e, 'billing', 'lastName')}
45
- />
46
- <input
47
- type="text"
48
- placeholder="Address Line 1"
49
- value={order?.billingAddress.addressLine1}
50
- onChange={(e) => handleInputChange(e, 'billing', 'addressLine1')}
51
- />
52
- <input
53
- type="text"
54
- placeholder="Address Line 2"
55
- value={order?.billingAddress.addressLine2}
56
- onChange={(e) => handleInputChange(e, 'billing', 'addressLine2')}
57
- />
58
- <input
59
- type="text"
60
- placeholder="City"
61
- value={order?.billingAddress.city}
62
- onChange={(e) => handleInputChange(e, 'billing', 'city')}
63
- />
64
- <input
65
- type="text"
66
- placeholder="Postcode"
67
- value={order?.billingAddress.postcode}
68
- onChange={(e) => handleInputChange(e, 'billing', 'postcode')}
69
- />
70
- <br />
71
- <p>{order?.billingAddress.email}</p>
72
- <p>{order?.billingAddress.phone}</p>
73
- </div>
74
- ) : (
75
- <div>
76
- <p>{order?.billingAddress.firstName} {order?.billingAddress.lastName}</p>
77
- <p>{order?.billingAddress.addressLine1}</p>
78
- <p>{order?.billingAddress.addressLine2}</p>
79
- <p>{order?.billingAddress.city}</p>
80
- <p>{order?.billingAddress.postcode}</p>
81
- <br />
82
- <p>{order?.billingAddress.email}</p>
83
- <p>{order?.billingAddress.phone}</p>
84
- </div>
85
- )}
86
- <button
87
- onClick={() => setIsEditingBilling((prev) => !prev)}
88
- >
89
- {isEditingBilling ? 'Save' : 'Edit'}
90
- </button>
91
- </div>
92
- </div>
93
-
94
- <div className="shipping-cont">
95
- <div className="shipping-header">
96
- <h2>Shipping Address</h2>
97
- </div>
98
- <div className="shipping-body">
99
- {isEditingShipping ? (
100
- <div>
101
- <input
102
- type="text"
103
- placeholder="First Name"
104
- value={shippingAddress.firstName}
105
- onChange={(e) => handleInputChange(e, 'shipping', 'firstName')}
106
- />
107
- <input
108
- type="text"
109
- placeholder="Last Name"
110
- value={shippingAddress.lastName}
111
- onChange={(e) => handleInputChange(e, 'shipping', 'lastName')}
112
- />
113
- <input
114
- type="text"
115
- placeholder="Address Line 1"
116
- value={shippingAddress.addressLine1}
117
- onChange={(e) => handleInputChange(e, 'shipping', 'addressLine1')}
118
- />
119
- <input
120
- type="text"
121
- placeholder="Address Line 2"
122
- value={shippingAddress.addressLine2}
123
- onChange={(e) => handleInputChange(e, 'shipping', 'addressLine2')}
124
- />
125
- <input
126
- type="text"
127
- placeholder="City"
128
- value={shippingAddress.city}
129
- onChange={(e) => handleInputChange(e, 'shipping', 'city')}
130
- />
131
- <input
132
- type="text"
133
- placeholder="Postcode"
134
- value={shippingAddress.postcode}
135
- onChange={(e) => handleInputChange(e, 'shipping', 'postcode')}
136
- />
137
- </div>
138
- ) : (
139
- <div>
140
- <p>{shippingAddress.firstName} {shippingAddress.lastName}</p>
141
- <p>{shippingAddress.addressLine1}</p>
142
- <p>{shippingAddress.addressLine2}</p>
143
- <p>{shippingAddress.city}</p>
144
- <p>{shippingAddress.postcode}</p>
145
- </div>
146
- )}
147
- <button
148
- onClick={() => setIsEditingShipping((prev) => !prev)}
149
- >
150
- {isEditingShipping ? 'Save' : 'Edit'}
151
- </button>
152
- </div>
153
- </div>
154
- </div>
155
- </div>
156
- </div>
157
- );
158
- }
159
-
160
- export default BillingShipping;
@@ -1,230 +0,0 @@
1
- .crud-edit {
2
- .edit-heading {
3
- display: flex;
4
- justify-content: space-between;
5
- }
6
- }
7
-
8
- .single-edit {
9
- .single-edit-header {
10
- display: flex;
11
- justify-content: space-between;
12
- margin-bottom: 20px;
13
- }
14
-
15
- &.subscriptions {
16
- .subscriptions-table {
17
- width: 100%;
18
- border-collapse: collapse;
19
-
20
- thead {
21
- border-bottom: 1px solid @dark-grey-1;
22
- }
23
-
24
- th, td {
25
- padding: 8px;
26
- text-align: left;
27
- }
28
- }
29
- }
30
-
31
- &.order,
32
- &.subscriptions {
33
- .billing-shipping-cont {
34
- display: flex;
35
- justify-content: space-between;
36
- margin-bottom: 20px;
37
-
38
- .billing-cont,
39
- .shipping-cont {
40
- width: 50%;
41
- padding-right: 20px;
42
- }
43
- }
44
-
45
-
46
- .line-items-totals-cont {
47
- .line-items-cont {
48
- margin-bottom: 40px;
49
-
50
- .line-items-table,
51
- .totals-table {
52
- width: 100%;
53
- border-collapse: collapse;
54
-
55
- th {
56
- border-bottom: 1px solid @dark-grey-1;
57
- }
58
-
59
- th, td {
60
- padding: 8px;
61
- text-align: left;
62
- }
63
- }
64
- }
65
- }
66
-
67
- .totals-cont {
68
- display: flex;
69
- justify-content: flex-end;
70
-
71
- .totals-table {
72
- tr {
73
- td {
74
- padding: 8px 0px 8px 15px;
75
- text-align: right;
76
- }
77
- }
78
- .order-total {
79
- font-weight: bold;
80
- }
81
- }
82
- }
83
-
84
- .subscription-details-cont {
85
- display: flex;
86
- justify-content: space-between;
87
- margin-bottom: 20px;
88
- }
89
-
90
- .order-notes-cont {
91
- .note-item {
92
- display: flex;
93
- margin-bottom: 20px;
94
- width: 100%;
95
- justify-content: space-between;
96
-
97
- .note-item-body {
98
- flex: 1;
99
- display: flex;
100
-
101
- textarea {
102
- width: 100%;
103
- flex-grow: 1;
104
- }
105
- }
106
-
107
-
108
- }
109
- }
110
- }
111
-
112
- .account,
113
- .contacts {
114
- form {
115
- display: flex;
116
- gap: 20px;
117
- align-items: flex-end;
118
- }
119
- }
120
-
121
- .user-form {
122
- display: flex;
123
- gap: 20px;
124
- align-items: flex-end;
125
- }
126
-
127
- .api-key {
128
- form {
129
- width: 100%;
130
-
131
- input {
132
- width: 100%;
133
- }
134
- }
135
- }
136
-
137
- .single-inner-cont {
138
- position: relative;
139
-
140
- .repeater-cont {
141
- width: 100%;
142
- margin-top: 15px;
143
-
144
- table {
145
- width: 100%;
146
- border-collapse: separate;
147
- border-spacing: 10px;
148
-
149
- th {
150
- min-width: 100%;
151
- color: @dark-1;
152
- opacity: 0.5;
153
- font-size: 10px;
154
- line-height: 1.1em;
155
- font-style: italic;
156
- }
157
-
158
- .contacts-bin-icon {
159
- cursor: pointer;
160
- margin-top: 15px;
161
- }
162
-
163
- th, td {
164
- text-align: left;
165
- vertical-align: top;
166
- }
167
-
168
- th input,
169
- td input {
170
- width: 100%;
171
- }
172
-
173
- .react-datepicker-wrapper {
174
- width: 100%;
175
- }
176
- }
177
-
178
- td.period-name {
179
- width: 100%;
180
- display: block;
181
- }
182
- }
183
-
184
- .react-datepicker-popper {
185
- z-index: 99;
186
- }
187
- }
188
-
189
-
190
- .field-instruction {
191
- min-width: 100%;
192
- display: inline-block;
193
- color: @dark-1;
194
- opacity: 0.5;
195
- font-size: 10px;
196
- line-height: 1.1em;
197
- font-style: italic;
198
- }
199
-
200
- .error-messages {
201
- width: 100%;
202
- background: @red-2;
203
- border: 1px solid @red-1;
204
- border-radius: 5px;
205
- padding: 15px;
206
- margin-bottom: 20px;
207
- box-sizing: border-box;
208
-
209
- p {
210
- color: @red-1;
211
- line-height: 1em;
212
- margin-top: 3px;
213
- margin-bottom: 3px;
214
- }
215
- }
216
-
217
- form {
218
- label {
219
- display: block;
220
- }
221
- input {
222
- width: 300px;
223
-
224
- &#marketingOptIn {
225
- width: 15px;
226
- height: 15px;
227
- }
228
- }
229
- }
230
- }
@@ -1,134 +0,0 @@
1
- .crud-list {
2
- width: 100%; /* Adjust width as needed */
3
- margin-bottom: 20px; /* Adjust margin as needed */
4
-
5
- .custom-table {
6
- width: 100%;
7
- border-collapse: collapse;
8
- border-spacing: 0px;
9
- border: none;
10
-
11
- .separator-row {
12
- display: inline-block;
13
- }
14
-
15
- .checkbox {
16
- display: flex;
17
- align-items: center;
18
- }
19
-
20
- th {
21
- background-color: @dark-grey-1;
22
- color: @white;
23
- text-align: left;
24
- padding: 10px;
25
- text-transform: capitalize;
26
-
27
- &:first-child {
28
- border-top-left-radius: 10px;
29
- }
30
-
31
- &:last-child {
32
- border-top-right-radius: 10px;
33
- width: 12%;
34
- }
35
- }
36
-
37
- td {
38
- padding: 5px 10px;
39
- border: none;
40
-
41
- &:last-child {
42
- border-bottom: none;
43
- }
44
-
45
- &.edit-dots {
46
- text-align: start;
47
- }
48
- }
49
-
50
- tbody {
51
-
52
- button {
53
- width: 20px;
54
- background: none;
55
- border: none;
56
- margin: 0;
57
- }
58
- tr {
59
- border-top:1px solid transparent;
60
- border-bottom:1px solid transparent;
61
-
62
- td {
63
- line-height: 1em;
64
- &:first-child {
65
- border-left: 1px solid @grey-mid-1;
66
- }
67
- &:last-child {
68
- border-right: 1px solid @grey-mid-1;
69
- }
70
- }
71
- }
72
- tr:first-of-type {
73
- td {
74
- border-top: 1px solid @grey-mid-1;
75
- &:first-child {
76
- border-left: 1px solid @grey-mid-1;
77
- }
78
- &:last-child {
79
- border-right: 1px solid @grey-mid-1;
80
- }
81
- }
82
- }
83
- tr:last-of-type {
84
- td {
85
- border-bottom: 1px solid @grey-mid-1;
86
- &:first-child {
87
- border-left: 1px solid @grey-mid-1;
88
- border-bottom-left-radius: 10px;
89
- }
90
- &:last-child {
91
- border-right: 1px solid @grey-mid-1;
92
- border-bottom-right-radius: 10px;
93
- }
94
- }
95
- }
96
-
97
- tr:nth-child(even) {
98
- td {
99
- background-color: #f1f1f1;
100
- }
101
- }
102
-
103
- // HOVER EFFECT
104
- tr:hover td {
105
- border-top: 1px solid @green-1;
106
- border-bottom: 1px solid @green-1;
107
- cursor: pointer;
108
- }
109
-
110
- tr:hover td:first-child {
111
- border-left: 1px solid @green-1;
112
- cursor: pointer;
113
- }
114
-
115
- tr:hover td:last-child {
116
- border-right: 1px solid @green-1;
117
- cursor: pointer;
118
- }
119
- }
120
- }
121
- }
122
-
123
- .pagination-labels-cont {
124
- display: flex;
125
- flex-direction: row;
126
- justify-content: space-between;
127
- align-items: center;
128
- }
129
-
130
- .pagination-count {
131
- margin-bottom: 20px;
132
- text-align: left;
133
- font-size: 12px;
134
- }
@@ -1,31 +0,0 @@
1
- .crud-page,
2
- .manage-students {
3
- position: relative;
4
-
5
- .flex-row-select-cont {
6
- margin-top: 50px;
7
- }
8
-
9
- .clear-filters-btn {
10
- position: absolute;
11
- top: 65px;
12
- right: 5px;
13
-
14
- &:hover {
15
- cursor: pointer;
16
- opacity: 0.8;
17
- }
18
- }
19
-
20
- .password-reset-btn {
21
- display: block;
22
- position: relative;
23
- color: @green-1;
24
- text-decoration: underline;
25
-
26
- &:hover {
27
- cursor: pointer;
28
- opacity: 0.8;
29
- }
30
- }
31
- }