diff --git a/.eslintignore b/.eslintignore index 92ff5e55..8ca6e026 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,2 +1,3 @@ -venv/**/*.ts -venv/**/*.js \ No newline at end of file +venv +.venv +standalone_app \ No newline at end of file diff --git a/package.json b/package.json index bfefbb00..4785f085 100644 --- a/package.json +++ b/package.json @@ -6,9 +6,9 @@ "main": "index.js", "scripts": { "fmt": "biome format --write .", - "lint": "npm run lint:eslint && npm run lint:fmt", + "lint": "npm run lint:eslint && npm run lint:biome", "lint:eslint": "eslint . --ext .ts,.tsx --max-warnings 0", - "lint:fmt": "biome format .", + "lint:biome": "biome format . && biome ci standalone_app", "watch": "NODE_ENV=development TYPESCRIPT_LOADER=esbuild-loader webpack --watch", "build": "webpack", "build:dev": "NODE_ENV=development TYPESCRIPT_LOADER=esbuild-loader webpack", diff --git a/standalone_app/src/browser_app_entry.tsx b/standalone_app/src/browser_app_entry.tsx index 146198b1..705200cc 100644 --- a/standalone_app/src/browser_app_entry.tsx +++ b/standalone_app/src/browser_app_entry.tsx @@ -1,8 +1,8 @@ import React from "react" import ReactDOM from "react-dom/client" -import "./index.css" -import { App } from "./components/App" import { RecoilRoot } from "recoil" +import { App } from "./components/App" +import "./index.css" ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( diff --git a/standalone_app/src/components/App.tsx b/standalone_app/src/components/App.tsx index fc24c7a1..0a9b0532 100644 --- a/standalone_app/src/components/App.tsx +++ b/standalone_app/src/components/App.tsx @@ -1,15 +1,15 @@ -import React, { FC, useMemo, useState, useEffect } from "react" -import { HashRouter as Router, Routes, Route } from "react-router-dom" -import { SnackbarProvider } from "notistack" -import blue from "@mui/material/colors/blue" -import pink from "@mui/material/colors/pink" import { - createTheme, - useMediaQuery, - ThemeProvider, Box, CssBaseline, + ThemeProvider, + createTheme, + useMediaQuery, } from "@mui/material" +import blue from "@mui/material/colors/blue" +import pink from "@mui/material/colors/pink" +import { SnackbarProvider } from "notistack" +import React, { FC, useMemo, useState, useEffect } from "react" +import { HashRouter as Router, Route, Routes } from "react-router-dom" import { StudyDetail } from "./StudyDetail" import { StudyList } from "./StudyList" diff --git a/standalone_app/src/components/DataGrid.tsx b/standalone_app/src/components/DataGrid.tsx index ec70e294..1d91883d 100644 --- a/standalone_app/src/components/DataGrid.tsx +++ b/standalone_app/src/components/DataGrid.tsx @@ -1,5 +1,9 @@ -import React from "react" +import { Clear } from "@mui/icons-material" +import KeyboardArrowDownIcon from "@mui/icons-material/KeyboardArrowDown" +import KeyboardArrowUpIcon from "@mui/icons-material/KeyboardArrowUp" import { + Collapse, + IconButton, Table, TableBody, TableCell, @@ -8,18 +12,14 @@ import { TablePagination, TableRow, TableSortLabel, - Collapse, - IconButton, useTheme, } from "@mui/material" import { styled } from "@mui/system" -import KeyboardArrowDownIcon from "@mui/icons-material/KeyboardArrowDown" -import KeyboardArrowUpIcon from "@mui/icons-material/KeyboardArrowUp" -import { Clear } from "@mui/icons-material" +import React from "react" type Order = "asc" | "desc" -// eslint-disable-next-line @typescript-eslint/no-explicit-any +// biome-ignore lint/suspicious/noExplicitAny: type Value = any const defaultRowsPerPageOption = [10, 50, 100, { label: "All", value: -1 }] @@ -97,7 +97,7 @@ function DataGrid(props: { } const filteredRows = rows.filter((row, rowIdx) => { - if (defaultFilter !== undefined && defaultFilter(row)) { + if (defaultFilter?.(row)) { return false } return filters.length === 0 @@ -162,6 +162,7 @@ function DataGrid(props: { {collapseBody ? : null} {columns.map((column, columnIdx) => ( key={columnIdx} padding={column.padding || "normal"} sortDirection={orderBy === column.field ? order : false} @@ -378,4 +379,5 @@ const isNumber = ( return typeof rowsPerPage === "number" } -export { DataGrid, DataGridColumn } +export { DataGrid } +export type { DataGridColumn } diff --git a/standalone_app/src/components/PlotHistory.tsx b/standalone_app/src/components/PlotHistory.tsx index b94c5ac8..44a65e49 100644 --- a/standalone_app/src/components/PlotHistory.tsx +++ b/standalone_app/src/components/PlotHistory.tsx @@ -1,20 +1,20 @@ -import * as plotly from "plotly.js-dist-min" -import React, { ChangeEvent, FC, useEffect, useState } from "react" import { - Grid, - FormControl, - FormLabel, - FormControlLabel, Checkbox, + FormControl, + FormControlLabel, + FormLabel, + Grid, MenuItem, - Switch, - Select, Radio, RadioGroup, - Typography, + Select, SelectChangeEvent, + Switch, + Typography, useTheme, } from "@mui/material" +import * as plotly from "plotly.js-dist-min" +import React, { ChangeEvent, FC, useEffect, useState } from "react" import { plotlyDarkTemplate } from "../PlotlyDarkMode" const plotDomId = "plot-history" @@ -91,6 +91,7 @@ export const PlotHistory: FC<{ Objective ID: