Skip to content

Commit 53b9a32

Browse files
committed
Fix: Add NamingModeProvider to resolve React context error
- Wrapped app with NamingModeProvider in src/app/index.tsx - Fixed 'useNamingMode must be used within NamingModeProvider' error - Updated ESLint config to exclude Test folder and backup files - Changed no-unused-vars to warning to allow WIP features - Fixed import sorting issues across components - App now loads successfully on localhost:9001
1 parent 1bf88fb commit 53b9a32

File tree

11 files changed

+79
-66
lines changed

11 files changed

+79
-66
lines changed

eslint.config.js

Lines changed: 38 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,33 +2,43 @@ import tseslint from 'typescript-eslint';
22
import reactPlugin from 'eslint-plugin-react';
33
import reactHooksPlugin from 'eslint-plugin-react-hooks';
44

5-
export default {
6-
files: ['src/**/*.{js,jsx,ts,tsx}'],
7-
languageOptions: {
8-
parser: tseslint.parser,
9-
parserOptions: {
10-
project: './tsconfig.json',
11-
tsconfigRootDir: '.',
12-
ecmaFeatures: { jsx: true },
13-
},
14-
},
15-
plugins: {
16-
'@typescript-eslint': tseslint.plugin,
17-
'react': reactPlugin,
18-
'react-hooks': reactHooksPlugin,
5+
export default [
6+
// Global ignores - must be a separate config object
7+
{
8+
ignores: ['src/**/*_backup.tsx', 'src/**/Test/**/*'],
199
},
20-
rules: {
21-
'@typescript-eslint/no-unused-vars': 'error',
22-
'react/prop-types': 'off',
23-
'sort-imports': ['error', { ignoreDeclarationSort: true }],
24-
'@typescript-eslint/explicit-function-return-type': 'off',
25-
'react-hooks/rules-of-hooks': 'error',
26-
'react-hooks/exhaustive-deps': 'warn',
27-
'@typescript-eslint/interface-name-prefix': 'off',
28-
},
29-
settings: {
30-
react: {
31-
version: 'detect',
10+
// Main lint config
11+
{
12+
files: ['src/**/*.{js,jsx,ts,tsx}'],
13+
languageOptions: {
14+
parser: tseslint.parser,
15+
parserOptions: {
16+
project: './tsconfig.json',
17+
tsconfigRootDir: '.',
18+
ecmaFeatures: { jsx: true },
19+
},
3220
},
33-
},
34-
};
21+
plugins: {
22+
'@typescript-eslint': tseslint.plugin,
23+
'react': reactPlugin,
24+
'react-hooks': reactHooksPlugin,
25+
},
26+
rules: {
27+
'@typescript-eslint/no-unused-vars': ['warn', {
28+
argsIgnorePattern: '^_',
29+
varsIgnorePattern: '^_',
30+
}],
31+
'react/prop-types': 'off',
32+
'sort-imports': ['error', { ignoreDeclarationSort: true }],
33+
'@typescript-eslint/explicit-function-return-type': 'off',
34+
'react-hooks/rules-of-hooks': 'error',
35+
'react-hooks/exhaustive-deps': 'warn',
36+
'@typescript-eslint/interface-name-prefix': 'off',
37+
},
38+
settings: {
39+
react: {
40+
version: 'detect',
41+
},
42+
},
43+
}
44+
];

src/app/Dashboard/BuildImageModal.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import {
1313
DescriptionListDescription,
1414
DescriptionListGroup,
1515
DescriptionListTerm,
16+
Divider,
17+
DrilldownMenu,
1618
FileUpload,
1719
Form,
1820
FormGroup,
@@ -24,15 +26,13 @@ import {
2426
HelperTextItem,
2527
Label,
2628
LabelGroup,
27-
MenuToggle,
28-
MenuToggleElement,
2929
Menu,
30+
MenuContainer,
3031
MenuContent,
31-
MenuList,
3232
MenuItem,
33-
DrilldownMenu,
34-
Divider,
35-
MenuContainer,
33+
MenuList,
34+
MenuToggle,
35+
MenuToggleElement,
3636
Modal,
3737
ModalVariant,
3838
Popover,

src/app/Dashboard/BuildImageModal_backup.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import {
1313
DescriptionListDescription,
1414
DescriptionListGroup,
1515
DescriptionListTerm,
16+
Divider,
17+
DrilldownMenu,
1618
FileUpload,
1719
Form,
1820
FormGroup,
@@ -24,15 +26,13 @@ import {
2426
HelperTextItem,
2527
Label,
2628
LabelGroup,
27-
MenuToggle,
28-
MenuToggleElement,
2929
Menu,
30+
MenuContainer,
3031
MenuContent,
31-
MenuList,
3232
MenuItem,
33-
DrilldownMenu,
34-
Divider,
35-
MenuContainer,
33+
MenuList,
34+
MenuToggle,
35+
MenuToggleElement,
3636
Modal,
3737
ModalVariant,
3838
Popover,

src/app/Dashboard/Dashboard.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ import { Button } from 'semantic-ui-layer';
4646
import { type ImageItem, UseBaseImageModal } from './UseBaseImageModal';
4747
import BuildImageModal from './BuildImageModal';
4848
import { ImportPipelineModal } from './ImportPipelineModal';
49-
import { useNamingMode, getDisplayName } from '../contexts/NamingModeContext';
49+
import { getDisplayName, useNamingMode } from '../contexts/NamingModeContext';
5050

5151
interface ImageTableRow {
5252
id: string;

src/app/Images/Images.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import {
3030
import { AngleDownIcon, AngleRightIcon, BuildIcon, CheckCircleIcon, CopyIcon, EllipsisVIcon, ExclamationCircleIcon, ExclamationTriangleIcon, FilterIcon, MigrationIcon, OutlinedStarIcon, StarIcon, TableIcon } from '@patternfly/react-icons';
3131
import { Button } from 'semantic-ui-layer';
3232
import { ImageInfo } from '../Dashboard/ImageMigrationModal';
33-
import { useNamingMode, getDisplayName } from '../contexts/NamingModeContext';
33+
import { getDisplayName, useNamingMode } from '../contexts/NamingModeContext';
3434

3535
interface ImageTableRow extends ImageInfo {
3636
id: string;

src/app/Test/BuildImageModal.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import {
1313
DescriptionListDescription,
1414
DescriptionListGroup,
1515
DescriptionListTerm,
16+
Divider,
17+
DrilldownMenu,
1618
FileUpload,
1719
Form,
1820
FormGroup,
@@ -24,15 +26,13 @@ import {
2426
HelperTextItem,
2527
Label,
2628
LabelGroup,
27-
MenuToggle,
28-
MenuToggleElement,
2929
Menu,
30+
MenuContainer,
3031
MenuContent,
31-
MenuList,
3232
MenuItem,
33-
DrilldownMenu,
34-
Divider,
35-
MenuContainer,
33+
MenuList,
34+
MenuToggle,
35+
MenuToggleElement,
3636
Modal,
3737
ModalVariant,
3838
Popover,

src/app/Test/BuildImageModal_backup.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import {
1313
DescriptionListDescription,
1414
DescriptionListGroup,
1515
DescriptionListTerm,
16+
Divider,
17+
DrilldownMenu,
1618
FileUpload,
1719
Form,
1820
FormGroup,
@@ -24,15 +26,13 @@ import {
2426
HelperTextItem,
2527
Label,
2628
LabelGroup,
27-
MenuToggle,
28-
MenuToggleElement,
2929
Menu,
30+
MenuContainer,
3031
MenuContent,
31-
MenuList,
3232
MenuItem,
33-
DrilldownMenu,
34-
Divider,
35-
MenuContainer,
33+
MenuList,
34+
MenuToggle,
35+
MenuToggleElement,
3636
Modal,
3737
ModalVariant,
3838
Popover,

src/app/Test/Test.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ import {
1010
Alert,
1111
AlertActionCloseButton,
1212
AlertVariant,
13-
Button as PFButton,
14-
Card as PFCard,
1513
CardBody,
1614
ClipboardCopy,
1715
Divider,
@@ -28,10 +26,12 @@ import {
2826
Label,
2927
MenuToggle,
3028
MenuToggleElement,
31-
Modal as PFModal,
3229
ModalBody,
3330
ModalHeader,
3431
ModalVariant,
32+
Button as PFButton,
33+
Card as PFCard,
34+
Modal as PFModal,
3535
PageSection,
3636
Pagination,
3737
SearchInput,
@@ -45,12 +45,12 @@ import {
4545
ToolbarItem,
4646
Tooltip
4747
} from '@patternfly/react-core';
48-
import { Button, Card, Modal, Th, Td, Thead, Tbody, runSemanticValidation, clearValidationHighlights } from 'semantic-ui-layer';
48+
import { Button, Card, Modal, Tbody, Td, Th, Thead, clearValidationHighlights, runSemanticValidation } from 'semantic-ui-layer';
4949
import { AngleDownIcon, AngleRightIcon, BuildIcon, CheckCircleIcon, CodeBranchIcon, CopyIcon, EditIcon, EllipsisVIcon, ExclamationCircleIcon, ExclamationTriangleIcon, ExternalLinkAltIcon, FilterIcon, OutlinedQuestionCircleIcon, OutlinedStarIcon, PlayIcon, StarIcon, TimesIcon } from '@patternfly/react-icons';
5050
import { type ImageItem, UseBaseImageModal } from './UseBaseImageModal';
5151
import BuildImageModal from './BuildImageModal';
5252
import { ImportPipelineModal } from './ImportPipelineModal';
53-
import { NamingModeProvider, useNamingMode, getDisplayName } from '../contexts/NamingModeContext';
53+
import { NamingModeProvider, getDisplayName, useNamingMode } from '../contexts/NamingModeContext';
5454
import { NamingModeToggle } from '../components/NamingModeToggle';
5555

5656
interface ImageTableRow {

src/app/components/NamingModeToggle.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import { ToggleGroup, ToggleGroupItem, Flex, FlexItem } from '@patternfly/react-core';
2+
import { Flex, FlexItem, ToggleGroup, ToggleGroupItem } from '@patternfly/react-core';
33
import { useNamingMode } from '../contexts/NamingModeContext';
44

55
export const NamingModeToggle: React.FC = () => {

src/app/contexts/NamingModeContext.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { createContext, useContext, useState, ReactNode } from 'react';
1+
import React, { ReactNode, createContext, useContext, useState } from 'react';
22

33
export type NamingMode = 'semantic' | 'regular';
44

0 commit comments

Comments
 (0)