Skip to content

Commit 4f63e97

Browse files
committed
fix(webapp): resolve ESLint errors in chatroom and toolbar components
- Remove empty Props types in message action components - Fix unsafe optional chaining in useEmojiBoxHandler - Add block scope for lexical declarations in switch case - Fix no-unused-expressions by converting ternaries to if statements - Add className prop to Link, ClearMark, ImageBox icons - Fix duplicate setupFilesAfterEnv in jest.config.js - Add missing serialize import in getSupabaseSession - Prefix unused variables with underscore
1 parent 15b446e commit 4f63e97

16 files changed

Lines changed: 69 additions & 59 deletions

File tree

packages/webapp/jest.config.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ const customJestConfig = {
2626
'^@config$': '<rootDir>/src/config/index.ts',
2727
'^@helpers$': '<rootDir>/src/lib/helpers/index.ts'
2828
},
29-
moduleDirectories: ['node_modules', '<rootDir>/'],
30-
setupFilesAfterEnv: ['<rootDir>/jest.setup.js'] // For custom Jest setup
29+
moduleDirectories: ['node_modules', '<rootDir>/']
3130
}
3231

3332
// Export Jest config

packages/webapp/src/components/TipTap/hyperlinkPopovers/previewHyperlink.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ const createMetadataContent = (data: MetadataResponse | null, href: string): HTM
158158
this.style.display = 'none'
159159
}
160160
}) as HTMLImageElement
161-
iconElement && container.removeChild(iconElement)
161+
if (iconElement) container.removeChild(iconElement)
162162
container.prepend(img)
163163
}
164164

@@ -169,7 +169,7 @@ const fetchMetadata = async (
169169
href: string,
170170
metadataContainer: HTMLDivElement,
171171
editor: Editor,
172-
nodePos: number
172+
_nodePos: number
173173
): Promise<void> => {
174174
const defaultContent = createMetadataContent(null, href)
175175
metadataContainer.appendChild(defaultContent)
@@ -207,7 +207,7 @@ const fetchMetadata = async (
207207
const { left: x, top: y } = editor.view.coordsAtPos(from)
208208
let el = document.elementFromPoint(x, y)
209209
el = el?.closest('a[href]') as HTMLElement | null
210-
el && updateCurrentToolbarPosition(el as HTMLElement)
210+
if (el) updateCurrentToolbarPosition(el as HTMLElement)
211211
} else {
212212
console.error('Metadata API error:', data.message)
213213
}
@@ -217,7 +217,7 @@ const fetchMetadata = async (
217217
}
218218

219219
export default function previewHyperlink(options: HyperlinkModalOptions) {
220-
const { link, editor, nodePos, node, attrs } = options
220+
const { link, editor, nodePos, node: _node, attrs } = options
221221
const href = link.href
222222

223223
const hyperlinkLinkModal = createHTMLElement('div', { className: 'hyperlinkPreviewPopover' })

packages/webapp/src/components/TipTap/toolbar/Icon.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import {
2929
import { TbBlockquote } from 'react-icons/tb'
3030

3131
const icons: {
32-
[key: string]: React.ComponentType<{ size?: number; fill?: string; className?: string }>
32+
[key: string]: React.ComponentType<{ size?: number; fill?: string; className?: any }>
3333
} = {
3434
Bold,
3535
Italic,

packages/webapp/src/components/TipTap/toolbar/toolbarUtils.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,14 @@ export const applySearchThroughHeading = (searchInput: string, router: NextRoute
5656
router.push(url.toString(), undefined, { shallow: true })
5757
}
5858

59-
interface DocumentMetadata {
59+
interface DocumentMetadataUpdate {
6060
documentId: string
61-
description: string
62-
keywords: string[]
61+
description?: string
62+
keywords?: string[]
6363
}
6464

65-
export const saveDocDescriptionHandler = (
66-
mutate: UseMutateFunction<unknown, unknown, DocumentMetadata>,
65+
export const saveDocDescriptionHandler = <TData = unknown, TError = unknown, TContext = unknown>(
66+
mutate: UseMutateFunction<TData, TError, DocumentMetadataUpdate, TContext>,
6767
docId: string,
6868
docDescription: string,
6969
tags: string[]
@@ -77,11 +77,11 @@ export const saveDocDescriptionHandler = (
7777

7878
interface ReadOnlyUpdate {
7979
documentId: string
80-
readOnly: boolean
80+
readOnly?: boolean
8181
}
8282

83-
export const saveDocReadOnlyPage = (
84-
mutate: UseMutateFunction<unknown, unknown, ReadOnlyUpdate>,
83+
export const saveDocReadOnlyPage = <TData = unknown, TError = unknown, TContext = unknown>(
84+
mutate: UseMutateFunction<TData, TError, ReadOnlyUpdate, TContext>,
8585
documentId: string,
8686
readOnly: boolean
8787
): void => {

packages/webapp/src/components/chatroom/components/MessageCard/components/MessageActions/components/MoreActionsDropdown/components/CopyToDocAction.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ import { useMessageCardContext } from '@components/chatroom/components/MessageCa
22
import { useCopyMessageToDocHandler } from '@components/chatroom/components/MessageCard/hooks/useCopyMessageToDocHandler'
33
import { MdOutlineFileOpen } from 'react-icons/md'
44

5-
type Props = {}
6-
export const CopyToDocAction = ({}: Props) => {
5+
export const CopyToDocAction = () => {
76
const { copyMessageToDocHandler } = useCopyMessageToDocHandler()
87
const { message } = useMessageCardContext()
98

packages/webapp/src/components/chatroom/components/MessageCard/components/MessageActions/components/MoreActionsDropdown/components/DeleteAction.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import { useChatroomContext } from '@components/chatroom/ChatroomContext'
55
import { DeleteMessageConfirmationDialog } from '@components/chatroom/components/MessageCard/components/common/DeleteMessageConfirmationDialog'
66
import { useMemo } from 'react'
77

8-
type Props = {}
9-
export const DeleteAction = ({}: Props) => {
8+
export const DeleteAction = () => {
109
const { message } = useMessageCardContext()
1110
const profile = useAuthStore((state) => state.profile)
1211
const { openDialog } = useChatroomContext()

packages/webapp/src/components/chatroom/components/MessageCard/components/MessageActions/components/MoreActionsDropdown/components/EditAction.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ import { useAuthStore } from '@stores'
44
import { useMemo } from 'react'
55
import { MdOutlineEdit } from 'react-icons/md'
66

7-
type Props = {}
8-
export const EditAction = ({}: Props) => {
7+
export const EditAction = () => {
98
const { message } = useMessageCardContext()
109
const { editMessageHandler } = useEditMessageHandler()
1110
const profile = useAuthStore((state) => state.profile)

packages/webapp/src/components/chatroom/components/MessageCard/components/MessageContent/components/CommentReference.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ import { MdInsertComment } from 'react-icons/md'
22
import { useMessageCardContext } from '../../../MessageCardContext'
33
import { getMetadataProperty } from '@utils/metadata'
44

5-
type Props = {}
6-
7-
export const CommentReference = ({}: Props) => {
5+
export const CommentReference = () => {
86
const { message } = useMessageCardContext()
97

108
const comment = getMetadataProperty<{ content?: string; html?: string }>(

packages/webapp/src/components/chatroom/components/MessageCard/components/MessageContent/components/ReplyReference.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import { useMessageCardContext } from '../../../MessageCardContext'
22
import { useMemo } from 'react'
33

4-
type Props = {}
5-
export const ReplyReference = ({}: Props) => {
4+
export const ReplyReference = () => {
65
const { message } = useMessageCardContext()
76

87
const userReplyTo = useMemo(() => {

packages/webapp/src/components/chatroom/components/MessageCard/hooks/usePinMessageHandler.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@ export const usePinMessageHandler = () => {
1818
toast.Error(`Message not ${actionType}`)
1919
} else {
2020
toast.Success(`Message ${actionType} successfully`)
21-
actionType === 'pin'
22-
? addChannelPinnedMessage(message.channel_id, message)
23-
: removeChannelPinnedMessage(message.channel_id, message.id)
21+
if (actionType === 'pin') {
22+
addChannelPinnedMessage(message.channel_id, message)
23+
} else {
24+
removeChannelPinnedMessage(message.channel_id, message.id)
25+
}
2426

2527
// await workspaceBroadcaster.send({
2628
// type: 'broadcast',

0 commit comments

Comments
 (0)