mirror of https://github.com/fantasticit/think.git
tiptap: update preload
This commit is contained in:
parent
e382686b3b
commit
4966dfc509
|
@ -10,7 +10,7 @@ import App from 'next/app';
|
||||||
import Head from 'next/head';
|
import Head from 'next/head';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { Hydrate, QueryClient, QueryClientProvider } from 'react-query';
|
import { Hydrate, QueryClient, QueryClientProvider } from 'react-query';
|
||||||
import { preload } from 'tiptap/preload';
|
import { preloadTiptapResources } from 'tiptap/preload';
|
||||||
|
|
||||||
class MyApp extends App<{ isMobile: boolean }> {
|
class MyApp extends App<{ isMobile: boolean }> {
|
||||||
state = {
|
state = {
|
||||||
|
@ -45,7 +45,7 @@ class MyApp extends App<{ isMobile: boolean }> {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import('requestidlecallback-polyfill'),
|
import('requestidlecallback-polyfill'),
|
||||||
]).then(() => {
|
]).then(() => {
|
||||||
preload();
|
preloadTiptapResources();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,34 +1,13 @@
|
||||||
import { DOCUMENT_COVERS } from '@think/constants';
|
import { DOCUMENT_COVERS } from '@think/constants';
|
||||||
|
|
||||||
const preloadImage = (url) => {
|
const preloadImage = (url) => {
|
||||||
// @ts-ignore
|
|
||||||
window.requestIdleCallback =
|
|
||||||
window.requestIdleCallback ||
|
|
||||||
function (cb) {
|
|
||||||
const start = Date.now();
|
|
||||||
return setTimeout(function () {
|
|
||||||
cb({
|
|
||||||
didTimeout: false,
|
|
||||||
timeRemaining: function () {
|
|
||||||
return Math.max(0, 50 - (Date.now() - start));
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}, 1);
|
|
||||||
};
|
|
||||||
|
|
||||||
window.cancelIdleCallback =
|
|
||||||
window.cancelIdleCallback ||
|
|
||||||
function (id) {
|
|
||||||
clearTimeout(id);
|
|
||||||
};
|
|
||||||
|
|
||||||
requestIdleCallback(() => {
|
requestIdleCallback(() => {
|
||||||
const image = document.createElement('img');
|
const image = document.createElement('img');
|
||||||
image.src = url;
|
image.src = url;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
export function preload() {
|
export function preloadTiptapResources() {
|
||||||
if (typeof window === 'undefined') return;
|
if (typeof window === 'undefined') return;
|
||||||
DOCUMENT_COVERS.forEach(preloadImage);
|
DOCUMENT_COVERS.forEach(preloadImage);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue