@rspress-theme-anatole/theme-default 0.7.42 → 0.7.43

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 (2) hide show
  1. package/dist/bundle.js +15 -0
  2. package/package.json +3 -3
package/dist/bundle.js CHANGED
@@ -342,6 +342,11 @@ function normalizeRoleList(value) {
342
342
  // Cache for user context fetched from userContext endpoint
343
343
  let _cachedUserContext = null;
344
344
  let _userContextFetchPromise = null;
345
+ let _userContextResolved = false;
346
+
347
+ function isUserContextResolved() {
348
+ return _userContextResolved;
349
+ }
345
350
 
346
351
  function getUserContext() {
347
352
  // Return cached user context if available
@@ -360,6 +365,7 @@ async function fetchUserContext(userContextUrl) {
360
365
  if (!response.ok) {
361
366
  console.warn('Failed to fetch user context:', response.status);
362
367
  _cachedUserContext = { isAuthenticated: false, userId: null };
368
+ _userContextResolved = true;
363
369
  return _cachedUserContext;
364
370
  }
365
371
  const data = await response.json();
@@ -367,6 +373,7 @@ async function fetchUserContext(userContextUrl) {
367
373
  isAuthenticated: data?.isAuthenticated || false,
368
374
  userId: data?.userId || null
369
375
  };
376
+ _userContextResolved = true;
370
377
  // Dispatch event to trigger sidebar re-render
371
378
  if (typeof window !== 'undefined') {
372
379
  window.dispatchEvent(new Event('UserContextReady'));
@@ -375,6 +382,7 @@ async function fetchUserContext(userContextUrl) {
375
382
  } catch (e) {
376
383
  console.warn('Error fetching user context:', e);
377
384
  _cachedUserContext = { isAuthenticated: false, userId: null };
385
+ _userContextResolved = true;
378
386
  return _cachedUserContext;
379
387
  } finally {
380
388
  _userContextFetchPromise = null;
@@ -420,6 +428,9 @@ function useSidebarData() {
420
428
  const userContextUrl = siteData?.auth?.endpoints?.userContext;
421
429
  if (userContextUrl) {
422
430
  fetchUserContext(userContextUrl);
431
+ } else {
432
+ // No auth endpoint configured — mark as resolved immediately
433
+ _userContextResolved = true;
423
434
  }
424
435
  }, [siteData?.auth?.endpoints?.userContext]);
425
436
 
@@ -507,10 +518,14 @@ function getFirstAccessiblePage(items) {
507
518
  function useRedirectToAccessiblePage() {
508
519
  const { pathname } = (0, __WEBPACK_EXTERNAL_MODULE__rspress_runtime_0abd3046__.useLocation)();
509
520
  const navigate = (0, __WEBPACK_EXTERNAL_MODULE__rspress_runtime_0abd3046__.useNavigate)();
521
+ const { siteData } = (0, __WEBPACK_EXTERNAL_MODULE__rspress_runtime_0abd3046__.usePageData)();
510
522
  const items = useSidebarData();
523
+ const hasAuthEndpoint = !!siteData?.auth?.endpoints?.userContext;
511
524
 
512
525
  (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(() => {
513
526
  if (!items || items.length === 0) return;
527
+ // If auth endpoint is configured, wait for user context to resolve before redirecting
528
+ if (hasAuthEndpoint && !isUserContextResolved()) return;
514
529
 
515
530
  // Find current page in sidebar
516
531
  const findCurrentPage = (items, targetPath) => {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rspress-theme-anatole/theme-default",
3
3
  "author": "Anatole Tong",
4
- "version": "0.7.42",
4
+ "version": "0.7.43",
5
5
  "license": "MIT",
6
6
  "sideEffects": [
7
7
  "*.css",
@@ -21,8 +21,8 @@
21
21
  "types": "./dist/bundle.d.ts",
22
22
  "dependencies": {
23
23
  "@mdx-js/react": "2.3.0",
24
- "@rspress-theme-anatole/rspress-plugin-mermaid": "0.7.42",
25
- "@rspress-theme-anatole/shared": "0.7.42",
24
+ "@rspress-theme-anatole/rspress-plugin-mermaid": "0.7.43",
25
+ "@rspress-theme-anatole/shared": "0.7.43",
26
26
  "@rspress/runtime": "1.43.8",
27
27
  "body-scroll-lock": "4.0.0-beta.0",
28
28
  "copy-to-clipboard": "^3.3.3",