React 18 and Vite (#4510)

This commit is contained in:
Matthew Penner 2022-11-25 13:25:03 -07:00 committed by GitHub
parent 1bb1b13f6d
commit 21613fa602
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
244 changed files with 4547 additions and 8933 deletions

View file

@ -1,4 +1,4 @@
import React, { useState } from 'react';
import { useState } from 'react';
import Modal from '@/components/elements/Modal';
import { Form, Formik, FormikHelpers } from 'formik';
import Field from '@/components/elements/Field';
@ -23,17 +23,17 @@ const schema = object().shape({
.max(48, 'Database name must not exceed 48 characters.')
.matches(
/^[\w\-.]{3,48}$/,
'Database name should only contain alphanumeric characters, underscores, dashes, and/or periods.'
'Database name should only contain alphanumeric characters, underscores, dashes, and/or periods.',
),
connectionsFrom: string().matches(/^[\w\-/.%:]+$/, 'A valid host address must be provided.'),
});
export default () => {
const uuid = ServerContext.useStoreState((state) => state.server.data!.uuid);
const uuid = ServerContext.useStoreState(state => state.server.data!.uuid);
const { addError, clearFlashes } = useFlash();
const [visible, setVisible] = useState(false);
const appendDatabase = ServerContext.useStoreActions((actions) => actions.databases.appendDatabase);
const appendDatabase = ServerContext.useStoreActions(actions => actions.databases.appendDatabase);
const submit = (values: Values, { setSubmitting }: FormikHelpers<Values>) => {
clearFlashes('database:create');
@ -41,11 +41,11 @@ export default () => {
databaseName: values.databaseName,
connectionsFrom: values.connectionsFrom || '%',
})
.then((database) => {
.then(database => {
appendDatabase(database);
setVisible(false);
})
.catch((error) => {
.catch(error => {
addError({ key: 'database:create', message: httpErrorToHuman(error) });
setSubmitting(false);
});

View file

@ -1,4 +1,4 @@
import React, { useState } from 'react';
import { useState } from 'react';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faDatabase, faEye, faTrashAlt } from '@fortawesome/free-solid-svg-icons';
import Modal from '@/components/elements/Modal';
@ -26,13 +26,13 @@ interface Props {
}
export default ({ database, className }: Props) => {
const uuid = ServerContext.useStoreState((state) => state.server.data!.uuid);
const uuid = ServerContext.useStoreState(state => state.server.data!.uuid);
const { addError, clearFlashes } = useFlash();
const [visible, setVisible] = useState(false);
const [connectionVisible, setConnectionVisible] = useState(false);
const appendDatabase = ServerContext.useStoreActions((actions) => actions.databases.appendDatabase);
const removeDatabase = ServerContext.useStoreActions((actions) => actions.databases.removeDatabase);
const appendDatabase = ServerContext.useStoreActions(actions => actions.databases.appendDatabase);
const removeDatabase = ServerContext.useStoreActions(actions => actions.databases.removeDatabase);
const jdbcConnectionString = `jdbc:mysql://${database.username}${
database.password ? `:${encodeURIComponent(database.password)}` : ''
@ -44,14 +44,14 @@ export default ({ database, className }: Props) => {
.oneOf([database.name.split('_', 2)[1], database.name], 'The database name must be provided.'),
});
const submit = (values: { confirm: string }, { setSubmitting }: FormikHelpers<{ confirm: string }>) => {
const submit = (_: { confirm: string }, { setSubmitting }: FormikHelpers<{ confirm: string }>) => {
clearFlashes();
deleteServerDatabase(uuid, database.id)
.then(() => {
setVisible(false);
setTimeout(() => removeDatabase(database.id), 150);
})
.catch((error) => {
.catch(error => {
console.error(error);
setSubmitting(false);
addError({ key: 'database:delete', message: httpErrorToHuman(error) });

View file

@ -1,4 +1,4 @@
import React, { useEffect, useState } from 'react';
import { useEffect, useState } from 'react';
import getServerDatabases from '@/api/server/databases/getServerDatabases';
import { ServerContext } from '@/state/server';
import { httpErrorToHuman } from '@/api/http';
@ -9,27 +9,27 @@ import CreateDatabaseButton from '@/components/server/databases/CreateDatabaseBu
import Can from '@/components/elements/Can';
import useFlash from '@/plugins/useFlash';
import tw from 'twin.macro';
import Fade from '@/components/elements/Fade';
import ServerContentBlock from '@/components/elements/ServerContentBlock';
import { useDeepMemoize } from '@/plugins/useDeepMemoize';
import FadeTransition from '@/components/elements/transitions/FadeTransition';
export default () => {
const uuid = ServerContext.useStoreState((state) => state.server.data!.uuid);
const databaseLimit = ServerContext.useStoreState((state) => state.server.data!.featureLimits.databases);
const uuid = ServerContext.useStoreState(state => state.server.data!.uuid);
const databaseLimit = ServerContext.useStoreState(state => state.server.data!.featureLimits.databases);
const { addError, clearFlashes } = useFlash();
const [loading, setLoading] = useState(true);
const databases = useDeepMemoize(ServerContext.useStoreState((state) => state.databases.data));
const setDatabases = ServerContext.useStoreActions((state) => state.databases.setDatabases);
const databases = useDeepMemoize(ServerContext.useStoreState(state => state.databases.data));
const setDatabases = ServerContext.useStoreActions(state => state.databases.setDatabases);
useEffect(() => {
setLoading(!databases.length);
clearFlashes('databases');
getServerDatabases(uuid)
.then((databases) => setDatabases(databases))
.catch((error) => {
.then(databases => setDatabases(databases))
.catch(error => {
console.error(error);
addError({ key: 'databases', message: httpErrorToHuman(error) });
})
@ -42,7 +42,7 @@ export default () => {
{!databases.length && loading ? (
<Spinner size={'large'} centered />
) : (
<Fade timeout={150}>
<FadeTransition duration="duration-150" show>
<>
{databases.length > 0 ? (
databases.map((database, index) => (
@ -73,7 +73,7 @@ export default () => {
</div>
</Can>
</>
</Fade>
</FadeTransition>
)}
</ServerContentBlock>
);

View file

@ -1,4 +1,4 @@
import React, { useState } from 'react';
import { useState } from 'react';
import rotateDatabasePassword from '@/api/server/databases/rotateDatabasePassword';
import { Actions, useStoreActions } from 'easy-peasy';
import { ApplicationStore } from '@/state';
@ -11,7 +11,7 @@ import tw from 'twin.macro';
export default ({ databaseId, onUpdate }: { databaseId: string; onUpdate: (database: ServerDatabase) => void }) => {
const [loading, setLoading] = useState(false);
const { addFlash, clearFlashes } = useStoreActions((actions: Actions<ApplicationStore>) => actions.flashes);
const server = ServerContext.useStoreState((state) => state.server.data!);
const server = ServerContext.useStoreState(state => state.server.data!);
if (!databaseId) {
return null;
@ -22,8 +22,8 @@ export default ({ databaseId, onUpdate }: { databaseId: string; onUpdate: (datab
clearFlashes();
rotateDatabasePassword(server.uuid, databaseId)
.then((database) => onUpdate(database))
.catch((error) => {
.then(database => onUpdate(database))
.catch(error => {
console.error(error);
addFlash({
type: 'error',