chore: migrate nextui to heroui (#141)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
'use client';
|
||||
import { useEffect, useState, useContext } from 'react';
|
||||
import { Button } from '@nextui-org/react';
|
||||
import { Button } from '@heroui/react';
|
||||
import { Plus } from 'lucide-react';
|
||||
import { TokenContext } from '@/utils/TokenProvider';
|
||||
import { ProjectDialogMessages, ProjectType, ProjectsMessages } from '@/types/project';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useState, useMemo, useCallback, ReactNode } from 'react';
|
||||
import { Table, TableHeader, TableColumn, TableBody, TableRow, TableCell, SortDescriptor } from '@nextui-org/react';
|
||||
import { Table, TableHeader, TableColumn, TableBody, TableRow, TableCell, SortDescriptor } from '@heroui/react';
|
||||
import { Link, NextUiLinkClasses } from '@/src/i18n/routing';
|
||||
import { ProjectType, ProjectsMessages } from '@/types/project';
|
||||
import dayjs from 'dayjs';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
'use client';
|
||||
import { useState, useEffect } from 'react';
|
||||
import { Listbox, ListboxItem } from '@nextui-org/react';
|
||||
import { Listbox, ListboxItem } from '@heroui/react';
|
||||
import { Home, Files, FlaskConical, Users, Settings } from 'lucide-react';
|
||||
import { usePathname, useRouter } from '@/src/i18n/routing';
|
||||
import useGetCurrentIds from '@/utils/useGetCurrentIds';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
'use client';
|
||||
import React from 'react';
|
||||
import { useState, useEffect } from 'react';
|
||||
import { Button, Input, Textarea, Modal, ModalContent, ModalHeader, ModalBody, ModalFooter } from '@nextui-org/react';
|
||||
import { Button, Input, Textarea, Modal, ModalContent, ModalHeader, ModalBody, ModalFooter } from '@heroui/react';
|
||||
import { FolderType, FoldersMessages } from '@/types/folder';
|
||||
|
||||
type Props = {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useState, useEffect } from 'react';
|
||||
import { Button, Dropdown, DropdownTrigger, DropdownMenu, DropdownItem } from '@nextui-org/react';
|
||||
import { Button, Dropdown, DropdownTrigger, DropdownMenu, DropdownItem } from '@heroui/react';
|
||||
import { MoreVertical } from 'lucide-react';
|
||||
import { FolderType, FoldersMessages } from '@/types/folder';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
'use client';
|
||||
import { FolderType, FoldersMessages } from '@/types/folder';
|
||||
import { useState, useEffect, useContext } from 'react';
|
||||
import { Button, Listbox, ListboxItem } from '@nextui-org/react';
|
||||
import { Button, Listbox, ListboxItem } from '@heroui/react';
|
||||
import { Folder, Plus } from 'lucide-react';
|
||||
import { usePathname, useRouter } from '@/src/i18n/routing';
|
||||
import { TokenContext } from '@/utils/TokenProvider';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
'use client';
|
||||
import React from 'react';
|
||||
import { useState, useEffect } from 'react';
|
||||
import { Button, Input, Textarea, Modal, ModalContent, ModalHeader, ModalBody, ModalFooter } from '@nextui-org/react';
|
||||
import { Button, Input, Textarea, Modal, ModalContent, ModalHeader, ModalBody, ModalFooter } from '@heroui/react';
|
||||
import { CasesMessages } from '@/types/case';
|
||||
|
||||
type Props = {
|
||||
|
||||
@@ -13,7 +13,7 @@ import {
|
||||
DropdownItem,
|
||||
Selection,
|
||||
SortDescriptor,
|
||||
} from '@nextui-org/react';
|
||||
} from '@heroui/react';
|
||||
import { Link, NextUiLinkClasses } from '@/src/i18n/routing';
|
||||
import { Plus, MoreVertical, Trash } from 'lucide-react';
|
||||
import { CaseType, CasesMessages } from '@/types/case';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Image, Button, Tooltip, Card, CardBody } from '@nextui-org/react';
|
||||
import { Image, Button, Tooltip, Card, CardBody } from '@heroui/react';
|
||||
import { AttachmentType, CaseMessages } from '@/types/case';
|
||||
import { Trash, ArrowDownToLine, ArrowUpFromLine } from 'lucide-react';
|
||||
import { isImage } from './isImage';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
'use client';
|
||||
import { useState, useEffect, useContext, ChangeEvent, DragEvent } from 'react';
|
||||
import { Input, Textarea, Select, SelectItem, Button, Divider, Tooltip } from '@nextui-org/react';
|
||||
import { Input, Textarea, Select, SelectItem, Button, Divider, Tooltip, addToast } from '@heroui/react';
|
||||
import { useRouter } from '@/src/i18n/routing';
|
||||
import { Save, Plus, ArrowLeft, Circle } from 'lucide-react';
|
||||
import { priorities, testTypes, templates } from '@/config/selection';
|
||||
@@ -10,7 +10,6 @@ import { fetchCase, updateCase } from '@/utils/caseControl';
|
||||
import { updateSteps } from './stepControl';
|
||||
import { fetchCreateAttachments, fetchDownloadAttachment, fetchDeleteAttachment } from './attachmentControl';
|
||||
import { TokenContext } from '@/utils/TokenProvider';
|
||||
import { ToastContext } from '@/utils/ToastProvider';
|
||||
import { useFormGuard } from '@/utils/formGuard';
|
||||
import { CaseType, AttachmentType, CaseMessages, StepType } from '@/types/case';
|
||||
import { PriorityMessages } from '@/types/priority';
|
||||
@@ -54,7 +53,6 @@ export default function CaseEditor({
|
||||
locale,
|
||||
}: Props) {
|
||||
const tokenContext = useContext(TokenContext);
|
||||
const toastContext = useContext(ToastContext);
|
||||
const [testCase, setTestCase] = useState<CaseType>(defaultTestCase);
|
||||
const [isTitleInvalid, setIsTitleInvalid] = useState<boolean>(false);
|
||||
const [isUpdating, setIsUpdating] = useState<boolean>(false);
|
||||
@@ -242,7 +240,10 @@ export default function CaseEditor({
|
||||
await updateSteps(tokenContext.token.access_token, Number(caseId), testCase.Steps);
|
||||
}
|
||||
|
||||
toastContext.showToast(messages.updatedTestCase, 'dark');
|
||||
addToast({
|
||||
title: 'Info',
|
||||
description: messages.updatedTestCase,
|
||||
});
|
||||
setIsUpdating(false);
|
||||
setIsDirty(false);
|
||||
}}
|
||||
@@ -298,10 +299,8 @@ export default function CaseEditor({
|
||||
label={messages.priority}
|
||||
className="mt-3 max-w-xs"
|
||||
>
|
||||
{priorities.map((priority, index) => (
|
||||
<SelectItem key={priority.uid} value={index}>
|
||||
{priorityMessages[priority.uid]}
|
||||
</SelectItem>
|
||||
{priorities.map((priority) => (
|
||||
<SelectItem key={priority.uid}>{priorityMessages[priority.uid]}</SelectItem>
|
||||
))}
|
||||
</Select>
|
||||
</div>
|
||||
@@ -321,10 +320,8 @@ export default function CaseEditor({
|
||||
label={messages.type}
|
||||
className="mt-3 max-w-xs"
|
||||
>
|
||||
{testTypes.map((type, index) => (
|
||||
<SelectItem key={type.uid} value={index}>
|
||||
{testTypeMessages[type.uid]}
|
||||
</SelectItem>
|
||||
{testTypes.map((type) => (
|
||||
<SelectItem key={type.uid}>{testTypeMessages[type.uid]}</SelectItem>
|
||||
))}
|
||||
</Select>
|
||||
</div>
|
||||
@@ -344,10 +341,8 @@ export default function CaseEditor({
|
||||
label={messages.template}
|
||||
className="mt-3 max-w-xs"
|
||||
>
|
||||
{templates.map((template, index) => (
|
||||
<SelectItem key={template.uid} value={index}>
|
||||
{messages[template.uid]}
|
||||
</SelectItem>
|
||||
{templates.map((template) => (
|
||||
<SelectItem key={template.uid}>{messages[template.uid]}</SelectItem>
|
||||
))}
|
||||
</Select>
|
||||
</div>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Textarea, Button, Tooltip, Avatar } from '@nextui-org/react';
|
||||
import { Textarea, Button, Tooltip, Avatar } from '@heroui/react';
|
||||
import { CaseMessages, StepType } from '@/types/case';
|
||||
import { Plus, Trash } from 'lucide-react';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
'use client';
|
||||
import { useState, useEffect, useContext } from 'react';
|
||||
import { title, subtitle } from '@/components/primitives';
|
||||
import { Card, CardBody, Chip, Divider } from '@nextui-org/react';
|
||||
import { Card, CardBody, Chip, Divider } from '@heroui/react';
|
||||
import { Folder, Clipboard, FlaskConical } from 'lucide-react';
|
||||
import { ProgressSeriesType } from '@/types/run';
|
||||
import { HomeMessages } from './page';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
'use client';
|
||||
import React from 'react';
|
||||
import { useState, useEffect, useContext } from 'react';
|
||||
import { Button, Input, Modal, ModalContent, ModalHeader, ModalBody, ModalFooter } from '@nextui-org/react';
|
||||
import { Button, Input, Modal, ModalContent, ModalHeader, ModalBody, ModalFooter } from '@heroui/react';
|
||||
import { TokenContext } from '@/utils/TokenProvider';
|
||||
import { UserType } from '@/types/user';
|
||||
import { searchUsers } from '@/utils/usersControl';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useMemo, useCallback } from 'react';
|
||||
import { Button, Table, TableHeader, TableColumn, TableBody, TableRow, TableCell } from '@nextui-org/react';
|
||||
import { Button, Table, TableHeader, TableColumn, TableBody, TableRow, TableCell } from '@heroui/react';
|
||||
import { UserType } from '@/types/user';
|
||||
import Avatar from 'boring-avatars';
|
||||
import { MembersMessages } from '@/types/member';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
'use client';
|
||||
import React from 'react';
|
||||
import { useState, useEffect, useContext } from 'react';
|
||||
import { Button } from '@nextui-org/react';
|
||||
import { Button } from '@heroui/react';
|
||||
import { Plus } from 'lucide-react';
|
||||
import { MemberType, UserType } from '@/types/user';
|
||||
import { MembersMessages } from '@/types/member';
|
||||
|
||||
@@ -12,7 +12,7 @@ import {
|
||||
Dropdown,
|
||||
DropdownMenu,
|
||||
DropdownItem,
|
||||
} from '@nextui-org/react';
|
||||
} from '@heroui/react';
|
||||
import { ChevronDown } from 'lucide-react';
|
||||
import { MemberType, UserType } from '@/types/user';
|
||||
import { memberRoles } from '@/config/selection';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
'use client';
|
||||
import React from 'react';
|
||||
import { useState, useEffect } from 'react';
|
||||
import { Button, Input, Textarea, Modal, ModalContent, ModalHeader, ModalBody, ModalFooter } from '@nextui-org/react';
|
||||
import { Button, Input, Textarea, Modal, ModalContent, ModalHeader, ModalBody, ModalFooter } from '@heroui/react';
|
||||
import { RunType, RunsMessages } from '@/types/run';
|
||||
|
||||
type Props = {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
'use client';
|
||||
import { useEffect, useState, useContext } from 'react';
|
||||
import { Button } from '@nextui-org/react';
|
||||
import { Button } from '@heroui/react';
|
||||
import { Plus } from 'lucide-react';
|
||||
import RunsTable from './RunsTable';
|
||||
import { fetchRuns, createRun, updateRun, deleteRun } from './runsControl';
|
||||
|
||||
@@ -12,7 +12,7 @@ import {
|
||||
DropdownMenu,
|
||||
DropdownItem,
|
||||
SortDescriptor,
|
||||
} from '@nextui-org/react';
|
||||
} from '@heroui/react';
|
||||
import { Link, NextUiLinkClasses } from '@/src/i18n/routing';
|
||||
import { MoreVertical } from 'lucide-react';
|
||||
import { RunsMessages, RunType } from '@/types/run';
|
||||
|
||||
@@ -17,7 +17,8 @@ import {
|
||||
Dropdown,
|
||||
DropdownMenu,
|
||||
DropdownItem,
|
||||
} from '@nextui-org/react';
|
||||
addToast,
|
||||
} from '@heroui/react';
|
||||
import { Save, Circle, ArrowLeft, Folder, ChevronDown, CopyPlus, CopyMinus, RotateCw } from 'lucide-react';
|
||||
import RunProgressChart from './RunPregressDonutChart';
|
||||
import TestCaseSelector from './TestCaseSelector';
|
||||
@@ -35,7 +36,6 @@ import {
|
||||
} from '../runsControl';
|
||||
import { fetchFolders } from '../../folders/foldersControl';
|
||||
import { TokenContext } from '@/utils/TokenProvider';
|
||||
import { ToastContext } from '@/utils/ToastProvider';
|
||||
import { useTheme } from 'next-themes';
|
||||
import { useFormGuard } from '@/utils/formGuard';
|
||||
import { PriorityMessages } from '@/types/priority';
|
||||
@@ -75,7 +75,6 @@ export default function RunEditor({
|
||||
locale,
|
||||
}: Props) {
|
||||
const tokenContext = useContext(TokenContext);
|
||||
const toastContext = useContext(ToastContext);
|
||||
const { theme, setTheme } = useTheme();
|
||||
const [testRun, setTestRun] = useState<RunType>(defaultTestRun);
|
||||
const [folders, setFolders] = useState<FolderType[]>([]);
|
||||
@@ -174,7 +173,10 @@ export default function RunEditor({
|
||||
await updateRunCases(tokenContext.token.access_token, Number(runId), testCases);
|
||||
await initTestCases();
|
||||
|
||||
toastContext.showToast(messages.updatedTestRun, 'dark');
|
||||
addToast({
|
||||
title: 'Info',
|
||||
description: messages.updatedTestRun,
|
||||
});
|
||||
setIsUpdating(false);
|
||||
setIsDirty(false);
|
||||
};
|
||||
@@ -279,10 +281,8 @@ export default function RunEditor({
|
||||
label={messages.status}
|
||||
className="mt-3 max-w-xs"
|
||||
>
|
||||
{testRunStatus.map((status, index) => (
|
||||
<SelectItem key={status.uid} value={index}>
|
||||
{runStatusMessages[status.uid]}
|
||||
</SelectItem>
|
||||
{testRunStatus.map((status) => (
|
||||
<SelectItem key={status.uid}>{runStatusMessages[status.uid]}</SelectItem>
|
||||
))}
|
||||
</Select>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useState, useEffect, useContext } from 'react';
|
||||
import { Button, Modal, ModalContent, ModalHeader, ModalBody, ModalFooter, Avatar, Textarea } from '@nextui-org/react';
|
||||
import { Button, Modal, ModalContent, ModalHeader, ModalBody, ModalFooter, Avatar, Textarea } from '@heroui/react';
|
||||
import { testTypes, templates } from '@/config/selection';
|
||||
import { RunMessages } from '@/types/run';
|
||||
import { CaseType, StepType } from '@/types/case';
|
||||
|
||||
@@ -13,7 +13,7 @@ import {
|
||||
DropdownItem,
|
||||
Selection,
|
||||
SortDescriptor,
|
||||
} from '@nextui-org/react';
|
||||
} from '@heroui/react';
|
||||
import {
|
||||
ChevronDown,
|
||||
MoveDiagonal,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
'use client';
|
||||
import React from 'react';
|
||||
import { useState, useEffect, useContext } from 'react';
|
||||
import { Button, Table, TableHeader, TableColumn, TableBody, TableRow, TableCell } from '@nextui-org/react';
|
||||
import { Button, Table, TableHeader, TableColumn, TableBody, TableRow, TableCell } from '@heroui/react';
|
||||
import Avatar from 'boring-avatars';
|
||||
import { Pencil, Trash } from 'lucide-react';
|
||||
import { SettingsMessages } from '@/types/settings';
|
||||
|
||||
Reference in New Issue
Block a user