MCPcopy Create free account
hub / github.com/OpenHands/OpenHands / getFirstAvailablePath

Function getFirstAvailablePath

frontend/src/utils/settings-utils.ts:88–121  ·  view source on GitHub ↗
(
  isSaas: boolean,
  featureFlags: WebClientFeatureFlags | undefined,
)

Source from the content-addressed store, hash-verified

86 * Returns null if no page is available (shouldn't happen in practice).
87 */
88export function getFirstAvailablePath(
89 isSaas: boolean,
90 featureFlags: WebClientFeatureFlags | undefined,
91): string | null {
92 const saasFallbackOrder = [
93 { path: "/settings/user", hidden: !!featureFlags?.hide_users_page },
94 {
95 path: "/settings/integrations",
96 hidden: !!featureFlags?.hide_integrations_page,
97 },
98 { path: "/settings/app", hidden: false },
99 { path: "/settings", hidden: !!featureFlags?.hide_llm_settings },
100 { path: "/settings/billing", hidden: !!featureFlags?.hide_billing_page },
101 { path: "/settings/secrets", hidden: false },
102 { path: "/settings/api-keys", hidden: false },
103 { path: "/settings/mcp", hidden: false },
104 ];
105
106 const ossFallbackOrder = [
107 { path: "/settings", hidden: !!featureFlags?.hide_llm_settings },
108 { path: "/settings/mcp", hidden: false },
109 {
110 path: "/settings/integrations",
111 hidden: !!featureFlags?.hide_integrations_page,
112 },
113 { path: "/settings/app", hidden: false },
114 { path: "/settings/secrets", hidden: false },
115 ];
116
117 const fallbackOrder = isSaas ? saasFallbackOrder : ossFallbackOrder;
118 const firstAvailable = fallbackOrder.find((item) => !item.hidden);
119
120 return firstAvailable?.path ?? null;
121}

Callers 4

getFallbackPathFunction · 0.90
clientLoaderFunction · 0.90
settings.test.tsxFile · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected