mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-16 17:46:18 +08:00
fix: temporarily turn off eslint for **ultra-low quality** code, because I don't have time to fix them one by one
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { displayFlex, keyframes, styled } from '@/styles';
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
import spring, { toString } from 'css-spring';
|
||||
import type { ItemStatus } from './type';
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { displayFlex, keyframes, styled } from '@/styles';
|
||||
import { CSSProperties } from 'react';
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
import spring, { toString } from 'css-spring';
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ export const debounce = <T extends (...args: any) => any>(
|
||||
): ((...args: any) => any) => {
|
||||
let timeoutId: null | number;
|
||||
let defaultImmediate = immediate || false;
|
||||
let delay = time || 300;
|
||||
const delay = time || 300;
|
||||
return (...args: any) => {
|
||||
if (defaultImmediate) {
|
||||
fn.apply(this, args); // 确保引用函数的指向正确,并且函数的参数也不变
|
||||
@@ -30,6 +30,7 @@ export const debounce = <T extends (...args: any) => any>(
|
||||
if (timeoutId) {
|
||||
clearTimeout(timeoutId);
|
||||
}
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
timeoutId = setTimeout(() => {
|
||||
fn.apply(this, args);
|
||||
|
||||
@@ -6,6 +6,7 @@ export const tagName = 'simple-counter';
|
||||
|
||||
// Adapt React in order to be able to use custom tags properly
|
||||
declare global {
|
||||
// eslint-disable-next-line @typescript-eslint/no-namespace
|
||||
namespace JSX {
|
||||
interface IntrinsicElements {
|
||||
[tagName]: PersonInfoProps;
|
||||
|
||||
+1
@@ -71,6 +71,7 @@ export const WorkspaceCreate = ({ open, onClose }: WorkspaceCreateProps) => {
|
||||
const blobId = await createDefaultHeadImg(workspaceName);
|
||||
createWorkspace({ name: workspaceName, avatar: `/api/blob/${blobId}` })
|
||||
.then(data => {
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
router.push(`/workspace/${data.created_at}`);
|
||||
onClose();
|
||||
|
||||
+15
-13
@@ -8,19 +8,21 @@ import {
|
||||
|
||||
export const PrivateWorkspaceItem = () => {
|
||||
const { user } = useAppState();
|
||||
// @ts-ignore
|
||||
const Username = user.name;
|
||||
return !user ? null : (
|
||||
<PrivateWorkspaceWrapper>
|
||||
<WorkspaceItemAvatar alt={Username} src={user.avatar_url}>
|
||||
{Username}
|
||||
</WorkspaceItemAvatar>
|
||||
<WorkspaceItemContent>
|
||||
<Name title={Username}>{Username}</Name>
|
||||
<Email title={user.email}>{user.email}</Email>
|
||||
</WorkspaceItemContent>
|
||||
</PrivateWorkspaceWrapper>
|
||||
);
|
||||
if (user) {
|
||||
const Username = user.name;
|
||||
return (
|
||||
<PrivateWorkspaceWrapper>
|
||||
<WorkspaceItemAvatar alt={Username} src={user.avatar_url}>
|
||||
{Username}
|
||||
</WorkspaceItemAvatar>
|
||||
<WorkspaceItemContent>
|
||||
<Name title={Username}>{Username}</Name>
|
||||
<Email title={user.email}>{user.email}</Email>
|
||||
</WorkspaceItemContent>
|
||||
</PrivateWorkspaceWrapper>
|
||||
);
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
const Name = styled('div')(({ theme }) => {
|
||||
|
||||
@@ -14,14 +14,17 @@ import { AppStateProvider } from '@/providers/app-state-provider/provider';
|
||||
import ConfirmProvider from '@/providers/confirm-provider';
|
||||
import { ModalProvider } from '@/providers/global-modal-provider';
|
||||
import { useRouter } from 'next/router';
|
||||
import { useEffect, useState } from 'react';
|
||||
import { useEffect } from 'react';
|
||||
import { useAppState } from '@/providers/app-state-provider';
|
||||
import { PageLoading } from '@/components/loading';
|
||||
const ThemeProvider = dynamic(() => import('@/providers/themeProvider'), {
|
||||
ssr: false,
|
||||
});
|
||||
|
||||
export type NextPageWithLayout<P = {}, IP = P> = NextPage<P, IP> & {
|
||||
export type NextPageWithLayout<P = Record<string, unknown>, IP = P> = NextPage<
|
||||
P,
|
||||
IP
|
||||
> & {
|
||||
getLayout?: (page: ReactElement) => ReactNode;
|
||||
};
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@ export const AppState = createContext<AppStateContext>({
|
||||
|
||||
editor: null,
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
||||
setState: () => {},
|
||||
createEditor: undefined,
|
||||
setEditor: undefined,
|
||||
|
||||
@@ -49,6 +49,7 @@ const DynamicBlocksuite = ({
|
||||
workspaceId: string,
|
||||
websocket = false
|
||||
) =>
|
||||
// eslint-disable-next-line no-async-promise-executor
|
||||
new Promise(async resolve => {
|
||||
const workspace = new Workspace({
|
||||
room: workspaceId,
|
||||
@@ -79,6 +80,7 @@ const DynamicBlocksuite = ({
|
||||
|
||||
// FIXME: there needs some method to destroy websocket.
|
||||
// Or we need a manager to manage websocket.
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-expect-error
|
||||
workspace.__ws__ = ws;
|
||||
}
|
||||
@@ -87,7 +89,7 @@ const DynamicBlocksuite = ({
|
||||
p => p instanceof IndexedDBDocProvider
|
||||
);
|
||||
if (indexDBProvider) {
|
||||
(indexDBProvider as IndexedDBDocProvider)?.on('synced', async () => {
|
||||
(indexDBProvider as IndexedDBDocProvider).on('synced', async () => {
|
||||
// const updates = await downloadWorkspace({ workspaceId });
|
||||
// updates &&
|
||||
// Workspace.Y.applyUpdate(workspace.doc, new Uint8Array(updates));
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { EditorContainer } from '@blocksuite/editor';
|
||||
import { PageMeta as OriginalPageMeta } from '@blocksuite/store/dist/workspace/workspace';
|
||||
|
||||
// export type PageMeta = {
|
||||
@@ -14,6 +13,5 @@ export interface PageMeta extends OriginalPageMeta {
|
||||
trash: boolean;
|
||||
trashDate: number;
|
||||
updatedDate: number;
|
||||
// @ts-ignore
|
||||
mode: 'edgeless' | 'page';
|
||||
}
|
||||
|
||||
@@ -61,10 +61,12 @@ export const AppStateProvider = ({ children }: { children?: ReactNode }) => {
|
||||
|
||||
const workspace = (await loadWorkspaceHandler?.(workspaceId, true)) || null;
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-expect-error
|
||||
window.workspace = workspace;
|
||||
// FIXME: there needs some method to destroy websocket.
|
||||
// Or we need a manager to manage websocket.
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-expect-error
|
||||
state.currentWorkspace?.__ws__?.destroy();
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/* eslint-disable no-undef */
|
||||
/**
|
||||
* @module provider/websocket
|
||||
*/
|
||||
|
||||
@@ -5,7 +5,7 @@ import { Confirm, ConfirmProps } from '@/ui/confirm';
|
||||
type ConfirmContextValue = {
|
||||
confirm: (props: ConfirmProps) => Promise<boolean>;
|
||||
};
|
||||
type ConfirmContextProps = PropsWithChildren<{}>;
|
||||
type ConfirmContextProps = PropsWithChildren<Record<string, unknown>>;
|
||||
|
||||
export const ConfirmContext = createContext<ConfirmContextValue>({
|
||||
confirm: () => Promise.resolve(false),
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/* eslint-disable @typescript-eslint/no-empty-function */
|
||||
import { createContext, useContext, useEffect, useState } from 'react';
|
||||
import type { PropsWithChildren } from 'react';
|
||||
import ShortcutsModal from '@/components/shortcuts-modal';
|
||||
@@ -13,7 +14,7 @@ type ModalContextValue = {
|
||||
triggerImportModal: () => void;
|
||||
triggerLoginModal: () => void;
|
||||
};
|
||||
type ModalContextProps = PropsWithChildren<{}>;
|
||||
type ModalContextProps = PropsWithChildren<Record<string, unknown>>;
|
||||
type ModalMap = {
|
||||
contact: boolean;
|
||||
shortcuts: boolean;
|
||||
@@ -50,6 +51,7 @@ export const ModalProvider = ({
|
||||
});
|
||||
};
|
||||
useEffect(() => {
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
window.triggerHandler = () => triggerHandler('login');
|
||||
}, [triggerHandler]);
|
||||
|
||||
@@ -25,6 +25,7 @@ import useCurrentPageMeta from '@/hooks/use-current-page-meta';
|
||||
|
||||
export const ThemeContext = createContext<ThemeProviderValue>({
|
||||
mode: 'light',
|
||||
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
||||
changeMode: () => {},
|
||||
theme: getLightTheme('page'),
|
||||
});
|
||||
@@ -98,7 +99,7 @@ export const ThemeProvider = ({
|
||||
<Global
|
||||
styles={css`
|
||||
:root {
|
||||
${globalThemeVariables(mode, themeStyle) as {}}
|
||||
${globalThemeVariables(mode, themeStyle) as any}
|
||||
}
|
||||
`}
|
||||
/>
|
||||
|
||||
@@ -100,7 +100,7 @@ export const fixedCenter = ({
|
||||
};
|
||||
};
|
||||
|
||||
export const textEllipsis = (lineNum: number = 1): CSSProperties => {
|
||||
export const textEllipsis = (lineNum = 1): CSSProperties => {
|
||||
if (lineNum > 1) {
|
||||
return {
|
||||
display: '-webkit-box',
|
||||
|
||||
@@ -129,5 +129,6 @@ export interface AffineThemeCSSVariables {
|
||||
}
|
||||
|
||||
declare module '@emotion/react' {
|
||||
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
||||
export interface Theme extends AffineTheme {}
|
||||
}
|
||||
|
||||
@@ -40,6 +40,7 @@ export const Button = forwardRef<HTMLButtonElement, ButtonProps>(
|
||||
hoverBackground={hoverBackground}
|
||||
hoverColor={hoverColor}
|
||||
hoverStyle={hoverStyle}
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
type={type}
|
||||
bold={bold}
|
||||
|
||||
@@ -202,6 +202,7 @@ export const StyledButton = styled('button', {
|
||||
'>span': {
|
||||
marginLeft: '5px',
|
||||
},
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
...getButtonColors(theme, type, {
|
||||
hoverBackground,
|
||||
|
||||
@@ -32,6 +32,7 @@ export const TextButton = forwardRef<HTMLButtonElement, ButtonProps>(
|
||||
hoverBackground={hoverBackground}
|
||||
hoverColor={hoverColor}
|
||||
hoverStyle={hoverStyle}
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
type={type}
|
||||
bold={bold}
|
||||
|
||||
@@ -108,6 +108,7 @@ export const Popper = ({
|
||||
onClick: (e: MouseEvent) => {
|
||||
children.props.onClick?.(e);
|
||||
if (!hasClickTrigger || visibleControlledByParent) {
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
onClick?.(e);
|
||||
return;
|
||||
@@ -151,6 +152,7 @@ export const Popper = ({
|
||||
className={popoverClassName}
|
||||
>
|
||||
{showArrow && (
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
<PopperArrow placement={placement} ref={setArrowRef} />
|
||||
)}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/* eslint-disable no-useless-escape */
|
||||
// Inspire by https://stackoverflow.com/a/11381730/8415727
|
||||
export function isMobile(userAgent: string) {
|
||||
return !!(
|
||||
|
||||
Reference in New Issue
Block a user