mirror of https://github.com/certusone/oyster.git
chore: suppress lint warnings
This commit is contained in:
parent
50326a2298
commit
4082949802
|
@ -1,53 +1,49 @@
|
||||||
import * as CANNON from 'cannon'
|
import * as CANNON from 'cannon';
|
||||||
import React, { useState, useEffect, useContext, useRef } from 'react'
|
import React, { useState, useEffect, useContext, useRef } from 'react';
|
||||||
import { useFrame } from 'react-three-fiber'
|
import { useFrame } from 'react-three-fiber';
|
||||||
|
|
||||||
// Cannon-world context provider
|
// Cannon-world context provider
|
||||||
export const CannonContext = React.createContext<any | null>(
|
export const CannonContext = React.createContext<any | null>(null);
|
||||||
null,
|
|
||||||
);
|
|
||||||
|
|
||||||
export function Provider({ children = null as any }) {
|
export function Provider({ children = null as any }) {
|
||||||
// Set up physics
|
// Set up physics
|
||||||
const [world] = useState(() => new CANNON.World());
|
const [world] = useState(() => new CANNON.World());
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
world.broadphase = new CANNON.NaiveBroadphase()
|
world.broadphase = new CANNON.NaiveBroadphase();
|
||||||
world.solver.iterations = 10
|
world.solver.iterations = 10;
|
||||||
world.gravity.set(0, 0, -25)
|
world.gravity.set(0, 0, -25);
|
||||||
}, [world]);
|
}, [world]);
|
||||||
|
|
||||||
// Run world stepper every frame
|
// Run world stepper every frame
|
||||||
useFrame(() => world.step(1 / 60));
|
useFrame(() => world.step(1 / 60));
|
||||||
// Distribute world via context
|
// Distribute world via context
|
||||||
|
|
||||||
return (
|
return <CannonContext.Provider value={world} children={children} />;
|
||||||
<CannonContext.Provider value={world} children={children} />
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Custom hook to maintain a world physics body
|
// Custom hook to maintain a world physics body
|
||||||
export function useCannon({ ...props }, fn: any, deps = []) {
|
export function useCannon({ ...props }, fn: any, deps = []) {
|
||||||
const ref = useRef<any>()
|
const ref = useRef<any>();
|
||||||
// Get cannon world object
|
// Get cannon world object
|
||||||
const world = useContext(CannonContext)
|
const world = useContext(CannonContext);
|
||||||
// Instanciate a physics body
|
// Instanciate a physics body
|
||||||
const [body] = useState(() => new CANNON.Body(props))
|
const [body] = useState(() => new CANNON.Body(props));
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// Call function so the user can add shapes
|
// Call function so the user can add shapes
|
||||||
fn(body)
|
fn(body);
|
||||||
// Add body to world on mount
|
// Add body to world on mount
|
||||||
world.addBody(body)
|
world.addBody(body);
|
||||||
// Remove body on unmount
|
// Remove body on unmount
|
||||||
return () => world.removeBody(body)
|
return () => world.removeBody(body);
|
||||||
}, deps)
|
}, deps); //eslint-disable-line
|
||||||
|
|
||||||
useFrame(() => {
|
useFrame(() => {
|
||||||
if (ref.current) {
|
if (ref.current) {
|
||||||
// Transport cannon physics into the referenced threejs object
|
// Transport cannon physics into the referenced threejs object
|
||||||
ref.current.position.copy(body.position)
|
ref.current.position.copy(body.position);
|
||||||
ref.current.quaternion.copy(body.quaternion)
|
ref.current.quaternion.copy(body.quaternion);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
|
|
||||||
return ref
|
return ref;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import './../../App.less';
|
import './../../App.less';
|
||||||
import { Breadcrumb, Layout } from 'antd';
|
import { Layout } from 'antd';
|
||||||
import { Link, useLocation } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
|
|
||||||
import { LABELS } from '../../constants';
|
import { LABELS } from '../../constants';
|
||||||
import { components } from '@oyster/common';
|
import { components } from '@oyster/common';
|
||||||
|
@ -11,25 +11,25 @@ import Logo from './dark-horizontal-combined-rainbow.inline.svg';
|
||||||
const { AppBar } = components;
|
const { AppBar } = components;
|
||||||
|
|
||||||
export const AppLayout = React.memo((props: any) => {
|
export const AppLayout = React.memo((props: any) => {
|
||||||
const location = useLocation();
|
// const location = useLocation();
|
||||||
|
|
||||||
const breadcrumbNameMap: any = {
|
// const breadcrumbNameMap: any = {
|
||||||
'/governance': 'Governance',
|
// '/governance': 'Governance',
|
||||||
'/apps/1': 'Application1',
|
// '/apps/1': 'Application1',
|
||||||
'/apps/2': 'Application2',
|
// '/apps/2': 'Application2',
|
||||||
'/apps/1/detail': 'Detail',
|
// '/apps/1/detail': 'Detail',
|
||||||
'/apps/2/detail': 'Detail',
|
// '/apps/2/detail': 'Detail',
|
||||||
};
|
// };
|
||||||
|
|
||||||
const pathSnippets = location.pathname.split('/').filter(i => i);
|
//const pathSnippets = location.pathname.split('/').filter(i => i);
|
||||||
const extraBreadcrumbItems = pathSnippets.map((_, index) => {
|
// const extraBreadcrumbItems = pathSnippets.map((_, index) => {
|
||||||
const url = `/${pathSnippets.slice(0, index + 1).join('/')}`;
|
// const url = `/${pathSnippets.slice(0, index + 1).join('/')}`;
|
||||||
return (
|
// return (
|
||||||
<Breadcrumb.Item key={url}>
|
// <Breadcrumb.Item key={url}>
|
||||||
<Link to={url}>{breadcrumbNameMap[url]}</Link>
|
// <Link to={url}>{breadcrumbNameMap[url]}</Link>
|
||||||
</Breadcrumb.Item>
|
// </Breadcrumb.Item>
|
||||||
);
|
// );
|
||||||
});
|
// });
|
||||||
|
|
||||||
// const breadcrumbItems = [
|
// const breadcrumbItems = [
|
||||||
// <Breadcrumb.Item key="home">
|
// <Breadcrumb.Item key="home">
|
||||||
|
|
|
@ -81,9 +81,9 @@ function useSetupProposalsCache({
|
||||||
setStates: React.Dispatch<React.SetStateAction<{}>>;
|
setStates: React.Dispatch<React.SetStateAction<{}>>;
|
||||||
setConfigs: React.Dispatch<React.SetStateAction<{}>>;
|
setConfigs: React.Dispatch<React.SetStateAction<{}>>;
|
||||||
}) {
|
}) {
|
||||||
|
useEffect(() => {
|
||||||
const PROGRAM_IDS = utils.programIds();
|
const PROGRAM_IDS = utils.programIds();
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
const query = async () => {
|
const query = async () => {
|
||||||
const programAccounts = await connection.getProgramAccounts(
|
const programAccounts = await connection.getProgramAccounts(
|
||||||
PROGRAM_IDS.timelock.programId,
|
PROGRAM_IDS.timelock.programId,
|
||||||
|
@ -187,7 +187,7 @@ function useSetupProposalsCache({
|
||||||
return () => {
|
return () => {
|
||||||
connection.removeProgramAccountChangeListener(subID);
|
connection.removeProgramAccountChangeListener(subID);
|
||||||
};
|
};
|
||||||
}, [connection, PROGRAM_IDS.timelock.programId.toBase58()]);
|
}, [connection]); //eslint-disable-line
|
||||||
}
|
}
|
||||||
export const useProposals = () => {
|
export const useProposals = () => {
|
||||||
const context = useContext(ProposalsContext);
|
const context = useContext(ProposalsContext);
|
||||||
|
|
|
@ -133,7 +133,7 @@ export const GovernanceDashboard = () => {
|
||||||
})),
|
})),
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}, [configs.length, myTokenAccts.join(',')]);
|
}, [configs.length, myTokenAccts.join(',')]); //eslint-disable-line
|
||||||
|
|
||||||
return <Table columns={columns} dataSource={data} />;
|
return <Table columns={columns} dataSource={data} />;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { Card, Col, Grid, Row, Spin, Statistic, Tabs } from 'antd';
|
import { Card, Col, Row, Spin, Statistic, Tabs } from 'antd';
|
||||||
import React, { useMemo, useState } from 'react';
|
import React, { useMemo, useState } from 'react';
|
||||||
import { LABELS } from '../../constants';
|
import { LABELS } from '../../constants';
|
||||||
import { ParsedAccount, TokenIcon } from '@oyster/common';
|
import { ParsedAccount, TokenIcon } from '@oyster/common';
|
||||||
|
@ -30,11 +30,12 @@ import { VoterBubbleGraph } from '../../components/Proposal/VoterBubbleGraph';
|
||||||
import { VoterTable } from '../../components/Proposal/VoterTable';
|
import { VoterTable } from '../../components/Proposal/VoterTable';
|
||||||
const { TabPane } = Tabs;
|
const { TabPane } = Tabs;
|
||||||
|
|
||||||
|
// eslint-disable-next-line
|
||||||
export const urlRegex = /[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/;
|
export const urlRegex = /[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/;
|
||||||
const { useMint } = contexts.Accounts;
|
const { useMint } = contexts.Accounts;
|
||||||
const { useConnectionConfig } = contexts.Connection;
|
const { useConnectionConfig } = contexts.Connection;
|
||||||
const { useAccountByMint } = hooks;
|
const { useAccountByMint } = hooks;
|
||||||
const { useBreakpoint } = Grid;
|
//const { useBreakpoint } = Grid;
|
||||||
|
|
||||||
export enum VoteType {
|
export enum VoteType {
|
||||||
Undecided = 'Undecided',
|
Undecided = 'Undecided',
|
||||||
|
@ -134,7 +135,7 @@ function useLoadGist({
|
||||||
setLoading(false);
|
setLoading(false);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}, [loading]);
|
}, [loading]); //eslint-disable-line
|
||||||
}
|
}
|
||||||
interface PartialGovernanceRecord {
|
interface PartialGovernanceRecord {
|
||||||
info: { yesCount: BN; noCount: BN; undecidedCount: BN };
|
info: { yesCount: BN; noCount: BN; undecidedCount: BN };
|
||||||
|
@ -244,7 +245,7 @@ function InnerProposalView({
|
||||||
const [msg, setMsg] = useState('');
|
const [msg, setMsg] = useState('');
|
||||||
const [width, setWidth] = useState<number>();
|
const [width, setWidth] = useState<number>();
|
||||||
const [height, setHeight] = useState<number>();
|
const [height, setHeight] = useState<number>();
|
||||||
const breakpoint = useBreakpoint();
|
// const breakpoint = useBreakpoint();
|
||||||
|
|
||||||
useLoadGist({
|
useLoadGist({
|
||||||
loading,
|
loading,
|
||||||
|
|
Loading…
Reference in New Issue