diff --git a/src/functions/export.js b/src/functions/export.js index 370eba6a..11fe17f9 100644 --- a/src/functions/export.js +++ b/src/functions/export.js @@ -1,4 +1,3 @@ -import { Workbook } from 'exceljs'; import dayjs from 'dayjs'; import { banners } from '../data/banners'; @@ -7,6 +6,8 @@ import { bannersDual } from '../data/bannersDual'; import { getTimeOffset } from '../stores/server'; import { process } from './wish'; +let Workbook; + const bannerCategories = { 'character-event': 'Character Event', 'weapon-event': 'Weapon Event', @@ -14,7 +15,9 @@ const bannerCategories = { beginners: "Beginners' Wish", }; -function createWorkbook() { +async function createWorkbook() { + Workbook = (await import('exceljs')).Workbook; + const workbook = new Workbook(); workbook.creator = 'Paimon.moe'; workbook.created = new Date(); @@ -223,7 +226,7 @@ async function downloadFile(workbook) { } export async function exportToExcel() { - const workbook = createWorkbook(); + const workbook = await createWorkbook(); addSheet(workbook); await addBanners(workbook); diff --git a/src/routes/wish/_settingModal.svelte b/src/routes/wish/_settingModal.svelte index 37abcda1..f41049f7 100644 --- a/src/routes/wish/_settingModal.svelte +++ b/src/routes/wish/_settingModal.svelte @@ -8,16 +8,16 @@ import { exportToExcel } from '../../functions/export'; import { pushToast } from '../../stores/toast'; - import ExcelImportModal from './_excelImport.svelte'; import { getContext } from 'svelte'; - const { open: openModal, close: closeModal } = getContext('simple-modal'); + const { open: openModal } = getContext('simple-modal'); export let setManualInput; export let settings; export let closeImportModal; let loadingExport = false; + let loadingImport = false; let enableManual = settings.manualInput; @@ -32,9 +32,13 @@ pushToast($t('wish.help.exportFinish')); } - function openImporter() { + async function openImporter() { + loadingImport = true; + const modal = await import('./_excelImport.svelte'); + loadingImport = false; + openModal( - ExcelImportModal, + modal.default, { closeModal: closeImportModal, }, @@ -52,13 +56,18 @@

{$t('wish.help.exportTitle')}

{$t('wish.help.exportMessage')}

- - +

{$t('wish.help.manualTitle')}