ultimate-jekyll-manager 0.0.270 → 0.0.272

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.
@@ -64,21 +64,66 @@
64
64
  }
65
65
  }
66
66
 
67
- // Delete account section styles
68
- #delete-section {
69
- .card.border-danger {
67
+ // Billing section styles
68
+ #billing-section {
69
+ .card-form-border {
70
70
  border-width: 2px;
71
71
  }
72
72
 
73
- #delete-account-btn {
73
+ .form-check-label {
74
+ user-select: none;
75
+ }
76
+
77
+ .cancel-trigger-link {
78
+ font-size: 0.8125rem;
79
+ opacity: 0.7;
80
+ transition: opacity 0.2s;
81
+
82
+ &:hover {
83
+ opacity: 1;
84
+ }
85
+ }
86
+
87
+ #cancel-subscription-btn {
74
88
  &:disabled {
75
89
  opacity: 0.5;
76
90
  cursor: not-allowed;
77
91
  }
78
92
  }
93
+ }
94
+
95
+ // Shared styles for data-request and delete sections
96
+ #data-request-section,
97
+ #delete-section {
98
+ .card-form-border {
99
+ border-width: 2px;
100
+ }
79
101
 
80
102
  .form-check-label {
81
103
  user-select: none;
82
104
  }
105
+
106
+ .accordion-trigger {
107
+ background: none;
108
+ border: none;
109
+ padding: 0;
110
+ font: inherit;
111
+ color: inherit;
112
+ cursor: pointer;
113
+
114
+ &:focus {
115
+ outline: none;
116
+ }
117
+ }
118
+ }
119
+
120
+ // Delete account section styles
121
+ #delete-section {
122
+ #delete-account-btn {
123
+ &:disabled {
124
+ opacity: 0.5;
125
+ cursor: not-allowed;
126
+ }
127
+ }
83
128
  }
84
129
 
@@ -114,6 +114,7 @@ export default function (Manager) {
114
114
  formManager = new FormManager('#auth-form', {
115
115
  autoReady: false, // We'll call ready() after checking redirect result
116
116
  allowResubmit: false,
117
+ warnOnUnsavedChanges: false,
117
118
  submittingText: 'Signing in...',
118
119
  submittedText: 'Signed In!',
119
120
  });
@@ -128,6 +129,7 @@ export default function (Manager) {
128
129
  formManager = new FormManager('#auth-form', {
129
130
  autoReady: false, // We'll call ready() after checking redirect result
130
131
  allowResubmit: false,
132
+ warnOnUnsavedChanges: false,
131
133
  submittingText: 'Creating account...',
132
134
  submittedText: 'Account Created!',
133
135
  });
@@ -142,6 +144,7 @@ export default function (Manager) {
142
144
  formManager = new FormManager('#auth-form', {
143
145
  autoReady: false, // We'll call ready() after checking redirect result
144
146
  allowResubmit: false,
147
+ warnOnUnsavedChanges: false,
145
148
  submittingText: 'Sending...',
146
149
  submittedText: 'Email Sent!',
147
150
  });
@@ -8,6 +8,7 @@ import * as teamSection from './sections/team.js';
8
8
  import * as referralsSection from './sections/referrals.js';
9
9
  import * as apiKeysSection from './sections/api-keys.js';
10
10
  import * as deleteSection from './sections/delete.js';
11
+ import * as dataRequestSection from './sections/data-request.js';
11
12
  import * as connectionsSection from './sections/connections.js';
12
13
  let webManager = null;
13
14
 
@@ -47,6 +48,7 @@ const sectionModules = {
47
48
  referrals: referralsSection,
48
49
  'api-keys': apiKeysSection,
49
50
  delete: deleteSection,
51
+ 'data-request': dataRequestSection,
50
52
  connections: connectionsSection
51
53
  };
52
54
 
@@ -62,10 +64,13 @@ async function initializeAccount() {
62
64
  // Setup navigation
63
65
  setupNavigation();
64
66
 
65
- // Check if delete hash is present on initial load
67
+ // Check if delete/data-request hash is present on initial load
66
68
  if (window.location.hash === '#delete') {
67
69
  showDeleteOption();
68
70
  }
71
+ if (window.location.hash === '#data-request') {
72
+ showDataRequestOption();
73
+ }
69
74
 
70
75
  // Initialize all section modules
71
76
  Object.values(sectionModules).forEach(module => {
@@ -180,6 +185,10 @@ function loadAllSectionData(authState) {
180
185
  sectionModules.delete.loadData(account);
181
186
  }
182
187
 
188
+ if (sectionModules['data-request'] && sectionModules['data-request'].loadData) {
189
+ sectionModules['data-request'].loadData(account);
190
+ }
191
+
183
192
  if (sectionModules.connections.loadData) {
184
193
  sectionModules.connections.loadData(account, appData);
185
194
  }
@@ -219,10 +228,13 @@ function setupNavigation() {
219
228
  function handleHashChange() {
220
229
  const hash = window.location.hash.slice(1);
221
230
 
222
- // Show delete nav item and mobile option if hash is delete
231
+ // Show hidden nav items based on hash
223
232
  if (hash === 'delete') {
224
233
  showDeleteOption();
225
234
  }
235
+ if (hash === 'data-request') {
236
+ showDataRequestOption();
237
+ }
226
238
 
227
239
  if (hash) {
228
240
  // Check if the section exists
@@ -264,6 +276,27 @@ function showDeleteOption() {
264
276
  }
265
277
  }
266
278
 
279
+ // Show data request option in navigation
280
+ function showDataRequestOption() {
281
+ // Show desktop nav item
282
+ const $dataRequestNavItem = document.getElementById('data-request-nav-item');
283
+ if ($dataRequestNavItem) {
284
+ $dataRequestNavItem.classList.remove('d-none');
285
+ }
286
+
287
+ // Add mobile dropdown option if not exists
288
+ const $mobileNavSelect = document.getElementById('mobile-nav-select');
289
+ if ($mobileNavSelect) {
290
+ const dataRequestOption = $mobileNavSelect.querySelector('option[value="data-request"]');
291
+ if (!dataRequestOption) {
292
+ const option = document.createElement('option');
293
+ option.value = 'data-request';
294
+ option.textContent = 'Data Request';
295
+ $mobileNavSelect.appendChild(option);
296
+ }
297
+ }
298
+ }
299
+
267
300
  // Hide all sections except loading
268
301
  function hideAllSectionsExceptLoading() {
269
302
  $sections.forEach(section => {