Replaced redux with zustand. Fixed login issue, closes #980.

This commit is contained in:
Mike Cao 2022-02-22 22:47:59 -08:00
parent 7071f5fba5
commit 9937caa569
33 changed files with 234 additions and 286 deletions

View file

@ -14,6 +14,14 @@ export default function DateRangeSetting() {
const { startDate, endDate, value } = dateRange;
const options = filterOptions.filter(e => e.value !== 'all');
function handleChange(value) {
if (typeof value === 'string') {
setDateRange(getDateRange(value, locale));
} else {
setDateRange(value);
}
}
function handleReset() {
setDateRange(getDateRange(DEFAULT_DATE_RANGE, locale));
}
@ -25,7 +33,7 @@ export default function DateRangeSetting() {
value={value}
startDate={startDate}
endDate={endDate}
onChange={setDateRange}
onChange={handleChange}
/>
<Button className={styles.button} size="small" onClick={handleReset}>
<FormattedMessage id="label.reset" defaultMessage="Reset" />

View file

@ -1,6 +1,5 @@
import React, { useState } from 'react';
import { FormattedMessage } from 'react-intl';
import { useSelector } from 'react-redux';
import PageHeader from 'components/layout/PageHeader';
import Button from 'components/common/Button';
import Modal from 'components/common/Modal';
@ -11,12 +10,12 @@ import Dots from 'assets/ellipsis-h.svg';
import styles from './ProfileSettings.module.css';
import DateRangeSetting from './DateRangeSetting';
import useEscapeKey from 'hooks/useEscapeKey';
import useUser from 'hooks/useUser';
export default function ProfileSettings() {
const user = useSelector(state => state.user);
const { user } = useUser();
const [changePassword, setChangePassword] = useState(false);
const [message, setMessage] = useState();
const { user_id } = user;
function handleSave() {
setChangePassword(false);
@ -27,6 +26,12 @@ export default function ProfileSettings() {
setChangePassword(false);
});
if (!user) {
return null;
}
const { user_id, username } = user;
return (
<>
<PageHeader>
@ -41,7 +46,7 @@ export default function ProfileSettings() {
<dt>
<FormattedMessage id="label.username" defaultMessage="Username" />
</dt>
<dd>{user.username}</dd>
<dd>{username}</dd>
<dt>
<FormattedMessage id="label.timezone" defaultMessage="Timezone" />
</dt>

View file

@ -1,6 +1,5 @@
import React from 'react';
import { FormattedMessage } from 'react-intl';
import { useSelector } from 'react-redux';
import { useRouter } from 'next/router';
import MenuButton from 'components/common/MenuButton';
import Icon from 'components/common/Icon';
@ -9,9 +8,10 @@ import Chevron from 'assets/chevron-down.svg';
import styles from './UserButton.module.css';
import { removeItem } from 'lib/web';
import { AUTH_TOKEN } from 'lib/constants';
import useUser from 'hooks/useUser';
export default function UserButton() {
const user = useSelector(state => state.user);
const { user } = useUser();
const router = useRouter();
const menuOptions = [

View file

@ -1,6 +1,5 @@
import React, { useState } from 'react';
import { FormattedMessage } from 'react-intl';
import { useSelector } from 'react-redux';
import classNames from 'classnames';
import Link from 'components/common/Link';
import Table from 'components/common/Table';
@ -23,10 +22,11 @@ import Plus from 'assets/plus.svg';
import Code from 'assets/code.svg';
import LinkIcon from 'assets/link.svg';
import useFetch from 'hooks/useFetch';
import useUser from 'hooks/useUser';
import styles from './WebsiteSettings.module.css';
export default function WebsiteSettings() {
const user = useSelector(state => state.user);
const { user } = useUser();
const [editWebsite, setEditWebsite] = useState();
const [resetWebsite, setResetWebsite] = useState();
const [deleteWebsite, setDeleteWebsite] = useState();