mirror of
https://github.com/mue/mue.git
synced 2026-07-22 08:17:28 +02:00
perf: use memo, fix quicklinks key err
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
import React, { useState, useEffect, useCallback, useRef } from 'react';
|
||||
import React, { useState, useEffect, useCallback, useRef, memo } from 'react';
|
||||
import { MdOutlineArrowForwardIos, MdOutlineArrowBackIos } from 'react-icons/md';
|
||||
import useEmblaCarousel from 'embla-carousel-react';
|
||||
import Autoplay from 'embla-carousel-autoplay';
|
||||
|
||||
import './carousel.scss';
|
||||
|
||||
export default function EmblaCarousel({ data }) {
|
||||
function EmblaCarousel({ data }) {
|
||||
const autoplay = useRef(
|
||||
Autoplay({ delay: 3000, stopOnInteraction: false }, (emblaRoot) => emblaRoot.parentElement),
|
||||
);
|
||||
@@ -79,3 +79,5 @@ export default function EmblaCarousel({ data }) {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default memo(EmblaCarousel);
|
||||
@@ -1,7 +1,9 @@
|
||||
import { memo } from 'react';
|
||||
|
||||
import variables from 'modules/variables';
|
||||
import './preview.scss';
|
||||
|
||||
export default function Notification(props) {
|
||||
function Notification(props) {
|
||||
return (
|
||||
<div className="preview-mode">
|
||||
<span className="title">{variables.getMessage('modals.main.settings.reminder.title')}</span>
|
||||
@@ -12,3 +14,5 @@ export default function Notification(props) {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default memo(Notification);
|
||||
@@ -1,7 +1,8 @@
|
||||
import { memo } from 'react';
|
||||
import variables from 'modules/variables';
|
||||
import './preview.scss';
|
||||
|
||||
export default function Preview(props) {
|
||||
function Preview(props) {
|
||||
return (
|
||||
<div className="preview-mode">
|
||||
<span className="title">{variables.getMessage('modals.main.settings.reminder.title')}</span>
|
||||
@@ -12,3 +13,5 @@ export default function Preview(props) {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default memo(Preview);
|
||||
@@ -1,3 +1,4 @@
|
||||
import { memo } from 'react';
|
||||
import variables from 'modules/variables';
|
||||
import { MdClose, MdEmail, MdContentCopy } from 'react-icons/md';
|
||||
import { FaTwitter, FaFacebookF } from 'react-icons/fa';
|
||||
@@ -8,7 +9,7 @@ import { toast } from 'react-toastify';
|
||||
|
||||
import './sharemodal.scss';
|
||||
|
||||
export default function ShareModal({ modalClose, data }) {
|
||||
function ShareModal({ modalClose, data }) {
|
||||
const url = variables.constants.MARKETPLACE_URL + '/share/' + (btoa(data.api_name) || '');
|
||||
|
||||
const copyLink = () => {
|
||||
@@ -111,3 +112,5 @@ export default function ShareModal({ modalClose, data }) {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default memo(ShareModal);
|
||||
@@ -1,8 +1,8 @@
|
||||
import { useState } from 'react';
|
||||
import { useState, memo } from 'react';
|
||||
import { useFloating, flip, offset, shift } from '@floating-ui/react-dom';
|
||||
import './tooltip.scss';
|
||||
|
||||
export default function Tooltip({ children, title, style, placement, subtitle }) {
|
||||
function Tooltip({ children, title, style, placement, subtitle }) {
|
||||
const [showTooltip, setShowTooltip] = useState(false);
|
||||
const { x, y, reference, floating, strategy } = useFloating({
|
||||
placement: placement || 'bottom',
|
||||
@@ -39,3 +39,5 @@ export default function Tooltip({ children, title, style, placement, subtitle })
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default memo(Tooltip);
|
||||
@@ -1,12 +1,12 @@
|
||||
import variables from 'modules/variables';
|
||||
import { useState } from 'react';
|
||||
import { useState, memo } from 'react';
|
||||
import { useFloating, flip, offset, shift } from '@floating-ui/react-dom';
|
||||
import { MdClose, MdInfo, MdOpenInNew } from 'react-icons/md';
|
||||
import Tooltip from './Tooltip';
|
||||
|
||||
import './tooltip.scss';
|
||||
|
||||
export default function InfoTooltip({ title, style, placement, subtitle }) {
|
||||
function InfoTooltip({ title, style, placement, subtitle }) {
|
||||
const [showTooltip, setShowTooltip] = useState(false);
|
||||
const { x, y, reference, floating, strategy } = useFloating({
|
||||
placement: placement || 'top-start',
|
||||
@@ -43,3 +43,5 @@ export default function InfoTooltip({ title, style, placement, subtitle }) {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default memo(InfoTooltip);
|
||||
Reference in New Issue
Block a user