diff --git a/src/components/HeaderNav.vue b/src/components/HeaderNav.vue index c510a09..bc37ad7 100644 --- a/src/components/HeaderNav.vue +++ b/src/components/HeaderNav.vue @@ -134,12 +134,15 @@ const getCurrentPath = () => { {{ $t('header.glossary') }} + {{ + $t('header.help') + }} {{ $t('header.api_manager') }} - { const logMessage = `Loading glossary { version: ${OBP_API_VERSION} }` console.log(logMessage) updateLoadingInfoMessage(logMessage) - return await get(`obp/${OBP_API_VERSION}/api/glossary`) + const glossary = await get(`obp/${OBP_API_VERSION}/api/glossary`) + + // Check if the API call failed + if (glossary && glossary.error) { + console.error('Failed to load glossary:', glossary.error) + return glossary + } + + if (glossary && glossary.glossary_items) { + const itemCount = glossary.glossary_items.length + console.log(`✓ Loaded ${itemCount} glossary items`) + + // Log specific items of interest + const helpItem = glossary.glossary_items.find( + (item: any) => item.title === 'API-Explorer-II-Help' + ) + if (helpItem) { + console.log('✓ Found glossary item: API-Explorer-II-Help') + } else { + console.warn( + '⚠ Glossary item not found: API-Explorer-II-Help (Help page will show error message)' + ) + } + } else { + console.warn('⚠ Glossary response does not contain glossary_items array') + } + + return glossary +} + +// Get a specific glossary item by title +export function getGlossaryItemByTitle(glossary: any, title: string): any | null { + if (!glossary || !glossary.glossary_items) { + console.warn(`Cannot retrieve glossary item "${title}": glossary data is not available`) + return null + } + const item = glossary.glossary_items.find((item: any) => item.title === title) + if (item) { + console.log(`Retrieved glossary item: ${title}`) + } else { + console.warn(`Glossary item not found: ${title}`) + } + return item || null } diff --git a/src/router/index.ts b/src/router/index.ts index 07cf1c0..d042d98 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -27,6 +27,7 @@ import { createRouter, createWebHistory } from 'vue-router' import GlossaryView from '../views/GlossaryView.vue' +import HelpView from '../views/HelpView.vue' import MessageDocsView from '../views/MessageDocsView.vue' import BodyView from '../views/BodyView.vue' import Content from '../components/Content.vue' @@ -58,10 +59,15 @@ export default async function router(): Promise { name: 'glossary', component: isServerActive ? GlossaryView : InternalServerErrorView }, + { + path: '/help', + name: 'help', + component: isServerActive ? HelpView : InternalServerErrorView + }, { path: '/message-docs/:id', name: 'message-docs', - component: isServerActive ? MessageDocsView : InternalServerErrorView, + component: isServerActive ? MessageDocsView : InternalServerErrorView }, { path: '/operationid', diff --git a/src/views/HelpView.vue b/src/views/HelpView.vue new file mode 100644 index 0000000..a96146b --- /dev/null +++ b/src/views/HelpView.vue @@ -0,0 +1,250 @@ + + + + + + +