Skip to content

Commit d14e45e

Browse files
authored
Merge pull request instructlab#441 from vishnoianil/issue-367
Follow best practices for react-core component imports
2 parents adad62d + 0cbd75d commit d14e45e

File tree

63 files changed

+296
-495
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+296
-495
lines changed

.eslintrc.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
{
22
"extends": [
33
"next/core-web-vitals",
4-
"@redhat-cloud-services/eslint-config-redhat-cloud-services",
54
"eslint:recommended",
65
"plugin:@typescript-eslint/recommended",
76
"plugin:react/recommended",

src/app/api/pr/knowledge/route.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// src/app/api/pr/knowledge/route.ts
2-
import { NextResponse } from 'next/server';
2+
import { NextRequest, NextResponse } from 'next/server';
33
import { getToken } from 'next-auth/jwt';
4-
import { NextRequest } from 'next/server';
54
import yaml from 'js-yaml';
65
import { KnowledgeYamlData, AttributionData } from '@/types';
76
import { GITHUB_API_URL, BASE_BRANCH } from '@/types/const';

src/app/api/pr/skill/route.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// src/app/api/pr/skill/route.ts
2-
import { NextResponse } from 'next/server';
2+
import { NextRequest, NextResponse } from 'next/server';
33
import { getToken } from 'next-auth/jwt';
4-
import { NextRequest } from 'next/server';
54
import yaml from 'js-yaml';
65
import { SkillYamlData, AttributionData } from '@/types';
76
import { GITHUB_API_URL, BASE_BRANCH } from '@/types/const';

src/app/api/upload/route.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// src/app/api/upload/route.ts
2-
import { NextResponse } from 'next/server';
2+
import { NextRequest, NextResponse } from 'next/server';
33
import { getToken } from 'next-auth/jwt';
4-
import { NextRequest } from 'next/server';
54

65
const GITHUB_API_URL = 'https://api.github.com';
76
const TAXONOMY_DOCUMENTS_REPO = process.env.NEXT_PUBLIC_TAXONOMY_DOCUMENTS_REPO!;

src/app/contribute/knowledge/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// src/app/contribute/knowledge/page.tsx
22
'use client';
33
import { AppLayout } from '@/components/AppLayout';
4-
import { KnowledgeFormGithub } from '@/components/Contribute/Knowledge/Github/index';
5-
import KnowledgeFormNative from '@/components/Contribute/Knowledge/Native/index';
4+
import KnowledgeFormGithub from '@/components/Contribute/Knowledge/Github';
5+
import KnowledgeFormNative from '@/components/Contribute/Knowledge/Native';
66
import { useEffect, useState } from 'react';
77

88
const KnowledgeFormPage: React.FunctionComponent = () => {

src/app/login/devmodelogin.tsx

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,9 @@
11
// src/app/login/DevModeLogin.tsx
22
import React, { useState } from 'react';
33
import { signIn } from 'next-auth/react';
4-
import { Grid, GridItem } from '@patternfly/react-core/dist/dynamic/layouts/Grid';
5-
import { Content } from '@patternfly/react-core/dist/dynamic/components/Content';
6-
import { Form } from '@patternfly/react-core/dist/dynamic/components/Form';
7-
import { FormGroup } from '@patternfly/react-core/dist/dynamic/components/Form';
8-
import { TextInput } from '@patternfly/react-core/dist/dynamic/components/TextInput';
9-
import { Button } from '@patternfly/react-core/dist/dynamic/components/Button';
10-
import { HelperText } from '@patternfly/react-core/dist/dynamic/components/HelperText';
11-
import { HelperTextItem } from '@patternfly/react-core/dist/dynamic/components/HelperText';
12-
import GithubIcon from '@patternfly/react-icons/dist/dynamic/icons/github-icon';
134
import './githublogin.css';
5+
import { Button, Content, Form, FormGroup, Grid, GridItem, HelperText, HelperTextItem, TextInput } from '@patternfly/react-core';
6+
import { GithubIcon } from '@patternfly/react-icons';
147

158
const DevModeLogin: React.FunctionComponent = () => {
169
const [, setShowHelperText] = useState(false);

src/app/login/githublogin.tsx

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
11
import React, { useEffect, useState, Suspense } from 'react';
2-
import { Button } from '@patternfly/react-core/dist/dynamic/components/Button';
3-
import { Content } from '@patternfly/react-core/dist/dynamic/components/Content';
4-
5-
import { Grid } from '@patternfly/react-core/dist/dynamic/layouts/Grid';
6-
import { GridItem } from '@patternfly/react-core/dist/dynamic/layouts/Grid';
7-
import GithubIcon from '@patternfly/react-icons/dist/dynamic/icons/github-icon';
82
import './githublogin.css';
93
import { signIn } from 'next-auth/react';
104
import { useRouter, useSearchParams } from 'next/navigation';
11-
import { Modal, ModalVariant } from '@patternfly/react-core/dist/esm/deprecated/components/Modal';
5+
import { Button, Content, Grid, GridItem, Modal, ModalBody, ModalFooter, ModalHeader, ModalVariant } from '@patternfly/react-core';
6+
import { GithubIcon } from '@patternfly/react-icons';
127

138
const GithubLogin: React.FC = () => {
149
const router = useRouter();
@@ -138,19 +133,23 @@ const GithubLogin: React.FC = () => {
138133
<Modal
139134
variant={ModalVariant.medium}
140135
title="Join InstructLab on GitHub"
141-
titleIconVariant="warning"
142136
isOpen={showError}
143137
onClose={() => handleOnClose()}
144-
actions={[
138+
aria-labelledby="join-ilab-modal-title"
139+
aria-describedby="join-ilab-body-variant"
140+
>
141+
<ModalHeader title="Join InstructLab on GitHub" labelId="join-ilab-modal-title" titleIconVariant="danger" />
142+
<ModalBody id="join-ilab-body-variant">
143+
<p>{errorMsg}</p>
144+
</ModalBody>
145+
<ModalFooter >
145146
<Button key="confirm" variant="primary" onClick={() => sendInvite()}>
146147
Send Invite to {githubUsername}
147148
</Button>,
148149
<Button key="cancel" variant="secondary" onClick={() => handleOnClose()}>
149150
No, Thanks
150151
</Button>
151-
]}
152-
>
153-
<p>{errorMsg}</p>
152+
</ModalFooter>
154153
</Modal>
155154
</div>
156155
)}

src/app/login/nativelogin.tsx

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,8 @@
11
// src/app/login/NativeLogin.tsx
22
import React, { useState } from 'react';
33
import { signIn } from 'next-auth/react';
4-
import { Grid, GridItem } from '@patternfly/react-core/dist/dynamic/layouts/Grid';
5-
import { Content } from '@patternfly/react-core/dist/dynamic/components/Content';
6-
import { Form } from '@patternfly/react-core/dist/dynamic/components/Form';
7-
import { FormGroup } from '@patternfly/react-core/dist/dynamic/components/Form';
8-
import { TextInput } from '@patternfly/react-core/dist/dynamic/components/TextInput';
9-
import { Button } from '@patternfly/react-core/dist/dynamic/components/Button';
10-
import { HelperText } from '@patternfly/react-core/dist/dynamic/components/HelperText';
11-
import { HelperTextItem } from '@patternfly/react-core/dist/dynamic/components/HelperText';
124
import './githublogin.css';
5+
import { Button, Content, Form, FormGroup, Grid, GridItem, HelperText, HelperTextItem, TextInput } from '@patternfly/react-core';
136

147
const NativeLogin: React.FunctionComponent = () => {
158
const [, setShowHelperText] = useState(false);

src/app/playground/chat/page.tsx

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,14 @@
33

44
import React, { useState, useRef, useEffect } from 'react';
55
import { AppLayout } from '@/components/AppLayout';
6-
import { Button } from '@patternfly/react-core/dist/dynamic/components/Button';
7-
import { Form } from '@patternfly/react-core/dist/dynamic/components/Form';
8-
import { FormGroup } from '@patternfly/react-core/dist/dynamic/components/Form';
9-
import { Breadcrumb, BreadcrumbItem, PageBreadcrumb, PageSection, Content, Title } from '@patternfly/react-core/';
10-
import { Select } from '@patternfly/react-core/dist/dynamic/components/Select';
11-
import { SelectOption, SelectList } from '@patternfly/react-core/dist/dynamic/components/Select';
12-
import { MenuToggle, MenuToggleElement } from '@patternfly/react-core/dist/dynamic/components/MenuToggle';
13-
import { Spinner } from '@patternfly/react-core/dist/dynamic/components/Spinner';
14-
import UserIcon from '@patternfly/react-icons/dist/dynamic/icons/user-icon';
15-
import { Alert } from '@patternfly/react-core/dist/dynamic/components/Alert';
6+
import { Breadcrumb, BreadcrumbItem, PageBreadcrumb, PageSection, Content, Title, MenuToggleElement, MenuToggle, SelectOption, Select, SelectList, Button, Spinner, Form, FormGroup, TextInput, Alert } from '@patternfly/react-core/';
167
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
178
import { faBroom } from '@fortawesome/free-solid-svg-icons';
189
import Image from 'next/image';
1910
import styles from './chat.module.css';
2011
import { Endpoint, Message, Model } from '@/types';
2112
import CopyToClipboardButton from '@/components/CopyToClipboardButton';
22-
import { TextInput } from '@patternfly/react-core/dist/dynamic/components/TextInput';
13+
import { UserIcon } from '@patternfly/react-icons';
2314

2415
const ChatPage: React.FC = () => {
2516
const [question, setQuestion] = useState('');

src/app/playground/endpoints/page.tsx

Lines changed: 44 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,11 @@
11
'use client';
22

33
import React, { useState, useEffect } from 'react';
4-
import { Page, PageBreadcrumb, PageSection } from '@patternfly/react-core/dist/dynamic/components/Page';
5-
import {
6-
DataList,
7-
DataListItem,
8-
DataListItemRow,
9-
DataListItemCells,
10-
DataListCell,
11-
DataListAction
12-
} from '@patternfly/react-core/dist/dynamic/components/DataList';
13-
import { Button } from '@patternfly/react-core/dist/dynamic/components/Button';
14-
import { ModalVariant } from '@patternfly/react-core/dist/dynamic/components/Modal';
15-
import { Breadcrumb, BreadcrumbItem, Content } from '@patternfly/react-core/components/';
16-
import { Modal } from '@patternfly/react-core/deprecated';
17-
import { Form, FormGroup } from '@patternfly/react-core/dist/dynamic/components/Form';
18-
import { TextInput } from '@patternfly/react-core/dist/dynamic/components/TextInput';
19-
import { Title } from '@patternfly/react-core/dist/dynamic/components/Title';
20-
import { InputGroup } from '@patternfly/react-core/dist/dynamic/components/InputGroup';
21-
import EyeIcon from '@patternfly/react-icons/dist/dynamic/icons/eye-icon';
22-
import EyeSlashIcon from '@patternfly/react-icons/dist/dynamic/icons/eye-slash-icon';
234
import { v4 as uuidv4 } from 'uuid';
245
import { AppLayout } from '@/components/AppLayout';
256
import { Endpoint } from '@/types';
7+
import { Breadcrumb, BreadcrumbItem, Button, Content, DataList, DataListAction, DataListCell, DataListItem, DataListItemCells, DataListItemRow, Form, FormGroup, InputGroup, Modal, ModalBody, ModalFooter, ModalHeader, ModalVariant, Page, PageBreadcrumb, PageSection, TextInput, Title } from '@patternfly/react-core';
8+
import { EyeSlashIcon, EyeIcon } from '@patternfly/react-icons';
269

2710
interface ExtendedEndpoint extends Endpoint {
2811
isApiKeyVisible?: boolean;
@@ -118,7 +101,7 @@ const EndpointsPage: React.FC = () => {
118101
return isApiKeyVisible ? apiKey : '********';
119102
};
120103

121-
useEffect(() => {}, [url]);
104+
useEffect(() => { }, [url]);
122105

123106
return (
124107
<AppLayout>
@@ -180,49 +163,56 @@ const EndpointsPage: React.FC = () => {
180163
</PageSection>
181164
{isModalOpen && (
182165
<Modal
166+
variant={ModalVariant.medium}
183167
title={currentEndpoint?.id ? 'Edit Endpoint' : 'Add Endpoint'}
184168
isOpen={isModalOpen}
185-
onClose={handleModalToggle}
186-
variant={ModalVariant.medium}
187-
actions={[
169+
onClose={() => handleModalToggle()}
170+
aria-labelledby="endpoint-modal-title"
171+
aria-describedby="endpoint-body-variant"
172+
>
173+
<ModalHeader title={currentEndpoint?.id ? 'Edit Endpoint' : 'Add Endpoint'} labelId="endpoint-modal-title" titleIconVariant="info" />
174+
<ModalBody id="endpoint-body-variant">
175+
176+
<Form>
177+
<FormGroup label="URL" isRequired fieldId="url">
178+
<TextInput isRequired type="text" id="url" name="url" value={url} onChange={(_, value) => setUrl(value)} placeholder="Enter URL" />
179+
</FormGroup>
180+
<FormGroup label="Model Name" isRequired fieldId="modelName">
181+
<TextInput
182+
isRequired
183+
type="text"
184+
id="modelName"
185+
name="modelName"
186+
value={modelName}
187+
onChange={(_, value) => setModelName(value)}
188+
placeholder="Enter Model Name"
189+
/>
190+
</FormGroup>
191+
<FormGroup label="API Key" isRequired fieldId="apiKey">
192+
<InputGroup>
193+
<TextInput
194+
isRequired
195+
type="password"
196+
id="apiKey"
197+
name="apiKey"
198+
value={apiKey}
199+
onChange={(_, value) => setApiKey(value)}
200+
placeholder="Enter API Key"
201+
/>
202+
</InputGroup>
203+
</FormGroup>
204+
</Form>
205+
</ModalBody>
206+
<ModalFooter>
188207
<Button key="save" variant="primary" onClick={handleSaveEndpoint}>
189208
Save
190209
</Button>,
191210
<Button key="cancel" variant="link" onClick={handleModalToggle}>
192211
Cancel
193212
</Button>
194-
]}
195-
>
196-
<Form>
197-
<FormGroup label="URL" isRequired fieldId="url">
198-
<TextInput isRequired type="text" id="url" name="url" value={url} onChange={(_, value) => setUrl(value)} placeholder="Enter URL" />
199-
</FormGroup>
200-
<FormGroup label="Model Name" isRequired fieldId="modelName">
201-
<TextInput
202-
isRequired
203-
type="text"
204-
id="modelName"
205-
name="modelName"
206-
value={modelName}
207-
onChange={(_, value) => setModelName(value)}
208-
placeholder="Enter Model Name"
209-
/>
210-
</FormGroup>
211-
<FormGroup label="API Key" isRequired fieldId="apiKey">
212-
<InputGroup>
213-
<TextInput
214-
isRequired
215-
type="password"
216-
id="apiKey"
217-
name="apiKey"
218-
value={apiKey}
219-
onChange={(_, value) => setApiKey(value)}
220-
placeholder="Enter API Key"
221-
/>
222-
</InputGroup>
223-
</FormGroup>
224-
</Form>
213+
</ModalFooter>
225214
</Modal>
215+
226216
)}
227217
</Page>
228218
</AppLayout>

0 commit comments

Comments
 (0)