feat(all): upgrade to v3.4.0

This commit is contained in:
Amruth Pillai
2022-04-30 12:58:17 +02:00
parent ccfb4d3cb0
commit 87d381fe8e
61 changed files with 23676 additions and 1291 deletions

View File

@ -5,11 +5,12 @@ import { useRouter } from 'next/router';
import styles from './BaseModal.module.scss';
type Props = {
icon?: React.ReactNode;
isOpen: boolean;
heading: string;
handleClose: () => void;
icon?: React.ReactNode;
children?: React.ReactNode;
footerChildren?: React.ReactNode;
handleClose: () => void;
};
const BaseModal: React.FC<Props> = ({ icon, isOpen, heading, children, handleClose, footerChildren }) => {

View File

@ -76,6 +76,7 @@ const List: React.FC<Props> = ({
return (
<ListItem
key={item.id}
path={path}
item={item}
index={index}
title={title}

View File

@ -17,6 +17,7 @@ interface DragItem {
type Props = {
item: ListItemType;
path: string;
index: number;
title: string;
subtitle?: string;
@ -26,14 +27,14 @@ type Props = {
onDuplicate?: (item: ListItemType) => void;
};
const ListItem: React.FC<Props> = ({ item, index, title, subtitle, onMove, onEdit, onDelete, onDuplicate }) => {
const ListItem: React.FC<Props> = ({ item, path, index, title, subtitle, onMove, onEdit, onDelete, onDuplicate }) => {
const { t } = useTranslation();
const ref = useRef<HTMLDivElement>(null);
const [anchorEl, setAnchorEl] = useState<Element | null>(null);
const [{ handlerId }, drop] = useDrop<DragItem, any, any>({
accept: 'ListItem',
accept: path,
collect(monitor) {
return { handlerId: monitor.getHandlerId() };
},
@ -68,7 +69,7 @@ const ListItem: React.FC<Props> = ({ item, index, title, subtitle, onMove, onEdi
});
const [{ isDragging }, drag] = useDrag({
type: 'ListItem',
type: path,
item: () => {
return { id: item.id, index };
},

View File

@ -1,5 +0,0 @@
import dynamic from 'next/dynamic';
const NoSSR: React.FC = ({ children }) => <>{children}</>;
export default dynamic(() => Promise.resolve(NoSSR), { ssr: false });

View File

@ -1,4 +1,7 @@
import { DatePicker } from '@mui/lab';
import { TextField } from '@mui/material';
import dayjs from 'dayjs';
import { isEmpty } from 'lodash';
import get from 'lodash/get';
import { useEffect, useState } from 'react';
@ -8,7 +11,7 @@ import { setResumeState } from '@/store/resume/resumeSlice';
import MarkdownSupported from './MarkdownSupported';
interface Props {
type?: 'text' | 'textarea';
type?: 'text' | 'textarea' | 'date';
label: string;
path: string;
className?: string;
@ -31,6 +34,11 @@ const ResumeInput: React.FC<Props> = ({ type = 'text', label, path, className, m
dispatch(setResumeState({ path, value: event.target.value }));
};
const onChangeValue = (value: string) => {
setValue(value);
dispatch(setResumeState({ path, value }));
};
if (type === 'textarea') {
return (
<TextField
@ -45,6 +53,22 @@ const ResumeInput: React.FC<Props> = ({ type = 'text', label, path, className, m
);
}
if (type === 'date') {
return (
<DatePicker
openTo="year"
label={label}
value={value}
views={['year', 'month', 'day']}
renderInput={(params) => <TextField {...params} error={false} className={className} />}
onChange={(date: Date | null, keyboardInputValue: string | undefined) => {
isEmpty(keyboardInputValue) && onChangeValue('');
date && dayjs(date).isValid() && onChangeValue(date.toISOString());
}}
/>
);
}
return <TextField type={type} label={label} value={value} onChange={onChange} className={className} />;
};