/** * * Copyright 2023-2025 InspectorRAGet Team * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * **/ 'use client'; import Link from 'next/link'; import { React, memo } from 'react'; import { Header, HeaderName, HeaderGlobalBar, HeaderGlobalAction, Theme, } from '@carbon/react'; import { Home, DocumentExport, Debug, LogoGithub, Awake, Asleep, } from '@carbon/icons-react'; import { useTheme } from '@/src/theme'; import { useDataStore } from '@/src/store'; import { useNotification } from '@/src/components/notification/Notification'; import { exportData } from '@/src/processor'; import classes from './Header.module.scss'; export default memo(function HeaderView() { const { theme, set } = useTheme(); const { item, taskMap } = useDataStore(); const { createNotification } = useNotification(); return (
InspectorRAGet { theme === 'g10' ? set('g90') : set('g10'); }} > {theme === 'g10' ? : } { const success = exportData(item, Array.from(taskMap.values())); if (success) { // Notify user about successfuly export createNotification({ kind: 'success', title: 'Export successful.', subtitle: 'Please look into browser default save location.', }); } else { // Notify user about invalid request createNotification({ kind: 'error', title: 'Export unsuccessful.', subtitle: 'No visualized analytics data available to export.', }); } }} > { window.open( 'https://github.com/IBM/InspectorRAGet/issues/new?assignees=&labels=&template=bug_report.md&title=', '_blank', ); }} > { window.open('https://github.com/IBM/InspectorRAGet', '_blank'); }} >
); });