@amiable-dev/docusaurus-plugin-stentorosaur 0.21.4 → 0.21.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"StatusDataProvider.d.ts","sourceRoot":"","sources":["../../src/context/StatusDataProvider.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAOZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,gBAAgB,EAAqB,MAAM,UAAU,CAAC;AAEpE;;GAEG;AACH,UAAU,cAAc;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,CAAC;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,UAAU,aAAa;IACrB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,MAAM,EAAE,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC1D,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACtC,6CAA6C;IAC7C,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB;;;OAGG;IACH,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;IACtD,mBAAmB;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAgID;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,QAAQ,GACT,EAAE,uBAAuB,GAAG,KAAK,CAAC,YAAY,CAgK9C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,sBAAsB,CAMtD;AAGD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"StatusDataProvider.d.ts","sourceRoot":"","sources":["../../src/context/StatusDataProvider.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAOZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,gBAAgB,EAAqB,MAAM,UAAU,CAAC;AAEpE;;GAEG;AACH,UAAU,cAAc;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,CAAC;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,UAAU,aAAa;IACrB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,MAAM,EAAE,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC1D,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACtC,6CAA6C;IAC7C,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB;;;OAGG;IACH,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;IACtD,mBAAmB;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAgID;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,QAAQ,GACT,EAAE,uBAAuB,GAAG,KAAK,CAAC,YAAY,CAwL9C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,sBAAsB,CAMtD;AAGD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
@@ -136,6 +136,7 @@ function StatusDataProvider({ baseUrl, children, }) {
136
136
  * Fetch both data files in parallel
137
137
  */
138
138
  const fetchData = (0, react_1.useCallback)(async () => {
139
+ console.log('[StatusDataProvider] Starting fetch from baseUrl:', baseUrl);
139
140
  setLoading(true);
140
141
  setError(null);
141
142
  setSummaryFailed(false);
@@ -144,14 +145,23 @@ function StatusDataProvider({ baseUrl, children, }) {
144
145
  let currentOk = false;
145
146
  try {
146
147
  // Fetch both files in parallel
148
+ const summaryUrl = `${baseUrl}/daily-summary.json`;
149
+ const currentUrl = `${baseUrl}/current.json`;
150
+ console.log('[StatusDataProvider] Fetching:', summaryUrl, currentUrl);
147
151
  const [summaryResponse, currentResponse] = await Promise.all([
148
- fetch(`${baseUrl}/daily-summary.json`).catch(() => null),
149
- fetch(`${baseUrl}/current.json`).catch(() => null),
152
+ fetch(summaryUrl).catch((e) => { console.error('[StatusDataProvider] Summary fetch error:', e); return null; }),
153
+ fetch(currentUrl).catch((e) => { console.error('[StatusDataProvider] Current fetch error:', e); return null; }),
150
154
  ]);
151
155
  // Handle summary response
156
+ console.log('[StatusDataProvider] Summary response:', summaryResponse?.ok, summaryResponse?.status);
152
157
  if (summaryResponse?.ok) {
153
158
  try {
154
159
  const data = await summaryResponse.json();
160
+ console.log('[StatusDataProvider] Parsed daily-summary:', {
161
+ version: data.version,
162
+ lastUpdated: data.lastUpdated,
163
+ serviceKeys: data.services ? Object.keys(data.services) : 'no services',
164
+ });
155
165
  setDailySummary(data);
156
166
  summaryOk = true;
157
167
  // Check for stale data
@@ -163,11 +173,13 @@ function StatusDataProvider({ baseUrl, children, }) {
163
173
  }
164
174
  }
165
175
  }
166
- catch {
176
+ catch (e) {
177
+ console.error('[StatusDataProvider] JSON parse error for summary:', e);
167
178
  setSummaryFailed(true);
168
179
  }
169
180
  }
170
181
  else {
182
+ console.warn('[StatusDataProvider] Summary fetch not ok:', summaryResponse?.status);
171
183
  setSummaryFailed(true);
172
184
  }
173
185
  // Handle current response
@@ -188,11 +200,14 @@ function StatusDataProvider({ baseUrl, children, }) {
188
200
  }
189
201
  // Only set error if both files failed
190
202
  if (!summaryOk && !currentOk) {
203
+ console.error('[StatusDataProvider] Both fetches failed');
191
204
  setError(new Error('No data available'));
192
205
  }
206
+ console.log('[StatusDataProvider] Fetch complete:', { summaryOk, currentOk });
193
207
  setLoading(false);
194
208
  }
195
209
  catch (err) {
210
+ console.error('[StatusDataProvider] Unexpected error:', err);
196
211
  setError(err instanceof Error ? err : new Error('Network error'));
197
212
  setLoading(false);
198
213
  }
@@ -207,12 +222,18 @@ function StatusDataProvider({ baseUrl, children, }) {
207
222
  const getMerged90Days = (0, react_1.useCallback)((serviceName) => {
208
223
  // Return empty array if no data or unknown service
209
224
  const lowerServiceName = serviceName.toLowerCase();
225
+ console.log('[getMerged90Days] Called for:', serviceName, {
226
+ hasDailySummary: !!dailySummary,
227
+ hasServices: !!dailySummary?.services,
228
+ availableServices: dailySummary?.services ? Object.keys(dailySummary.services) : [],
229
+ });
210
230
  const entries = [];
211
231
  const today = new Date().toISOString().split('T')[0];
212
232
  // Get historical data from summary
213
233
  const historicalEntries = dailySummary?.services?.[lowerServiceName] ||
214
234
  dailySummary?.services?.[serviceName] ||
215
235
  [];
236
+ console.log('[getMerged90Days] Historical entries:', historicalEntries.length);
216
237
  // Get today's readings from current.json
217
238
  const todayReadings = currentStatus?.readings
218
239
  ? groupReadingsByDate(currentStatus.readings, serviceName).get(today) ||
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/theme/UptimeBar/index.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AAEH,OAAO,KAAqE,MAAM,OAAO,CAAC;AAC1F,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAGjF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uCAAuC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB;IAClB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IACvD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9D,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EACxB,WAAW,EACX,IAAI,EAAE,YAAY,EAClB,IAAS,EACT,MAAW,EACX,GAAO,EACP,cAAqB,EACrB,cAAqB,EACrB,UAA+B,EAC/B,OAAe,EACf,KAAK,EACL,OAAO,EACP,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,GACV,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CA8LrC;AAGD,eAAe,SAAS,CAAC;AAGzB,YAAY,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/theme/UptimeBar/index.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AAEH,OAAO,KAAqE,MAAM,OAAO,CAAC;AAC1F,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAGjF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uCAAuC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB;IAClB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IACvD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9D,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EACxB,WAAW,EACX,IAAI,EAAE,YAAY,EAClB,IAAS,EACT,MAAW,EACX,GAAO,EACP,cAAqB,EACrB,cAAqB,EACrB,UAA+B,EAC/B,OAAe,EACf,KAAK,EACL,OAAO,EACP,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,GACV,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CAkMrC;AAGD,eAAe,SAAS,CAAC;AAGzB,YAAY,EAAE,SAAS,EAAE,CAAC"}
@@ -81,8 +81,11 @@ function generateAriaLabel(serviceName, days, averageUptime) {
81
81
  * Each cell represents one day, colored by uptime percentage.
82
82
  */
83
83
  function UptimeBar({ serviceName, data: providedData, days = 90, height = 34, gap = 2, showPercentage = true, showDateLabels = true, thresholds = DEFAULT_THRESHOLDS, loading = false, error, onRetry, ariaLabel, onDayClick, onDayHover, className, }) {
84
- // Get data from context or use provided data
85
- const { getMerged90Days } = (0, StatusDataProvider_1.useStatusData)();
84
+ // Get data and loading state from context
85
+ const { getMerged90Days, loading: contextLoading, error: contextError } = (0, StatusDataProvider_1.useStatusData)();
86
+ // Use context loading/error if no data is provided (not using override props)
87
+ const isLoading = loading || (!providedData && contextLoading);
88
+ const displayError = error || (!providedData && contextError);
86
89
  // Roving tabindex state - track which day has focus
87
90
  const [focusedIndex, setFocusedIndex] = (0, react_1.useState)(0);
88
91
  const dayCellRefs = (0, react_1.useRef)([]);
@@ -158,11 +161,11 @@ function UptimeBar({ serviceName, data: providedData, days = 90, height = 34, ga
158
161
  }
159
162
  }, [onDayHover]);
160
163
  // Loading state
161
- if (loading) {
164
+ if (isLoading) {
162
165
  return ((0, jsx_runtime_1.jsx)("div", { className: `${styles_module_css_1.default.uptimeBarContainer} ${styles_module_css_1.default.loading} ${className || ''}`, children: (0, jsx_runtime_1.jsx)("div", { className: styles_module_css_1.default.skeleton, style: { height: `${height}px` } }) }));
163
166
  }
164
167
  // Error state
165
- if (error) {
168
+ if (displayError) {
166
169
  return ((0, jsx_runtime_1.jsxs)("div", { className: `${styles_module_css_1.default.uptimeBarContainer} ${styles_module_css_1.default.error} ${className || ''}`, children: [(0, jsx_runtime_1.jsx)("span", { className: styles_module_css_1.default.errorMessage, children: "Failed to load uptime data" }), onRetry && ((0, jsx_runtime_1.jsx)("button", { type: "button", className: styles_module_css_1.default.retryButton, onClick: onRetry, "aria-label": "Retry loading uptime data", children: "Retry" }))] }));
167
170
  }
168
171
  // Empty state
package/lib/version.d.ts CHANGED
@@ -2,5 +2,5 @@
2
2
  * Plugin version - auto-generated during build
3
3
  * DO NOT EDIT MANUALLY - This file is generated from package.json
4
4
  */
5
- export declare const PLUGIN_VERSION = "0.21.4";
5
+ export declare const PLUGIN_VERSION = "0.21.6";
6
6
  //# sourceMappingURL=version.d.ts.map
package/lib/version.js CHANGED
@@ -5,4 +5,4 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.PLUGIN_VERSION = void 0;
8
- exports.PLUGIN_VERSION = '0.21.4';
8
+ exports.PLUGIN_VERSION = '0.21.6';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amiable-dev/docusaurus-plugin-stentorosaur",
3
- "version": "0.21.4",
3
+ "version": "0.21.6",
4
4
  "description": "A Docusaurus plugin for displaying status monitoring dashboard powered by GitHub Issues and Actions, similar to Upptime",
5
5
  "main": "lib/index.js",
6
6
  "types": "src/plugin-status.d.ts",