diff --git a/locales/en.json b/locales/en.json index 4de9540a..7c8967b9 100644 --- a/locales/en.json +++ b/locales/en.json @@ -22,7 +22,8 @@ "scroll_mode": "Scroll mode", "setting": "Settings", "translate_current_page": "Translate current page", - "zoom_in": "Zoom in" + "zoom_in": "Zoom in", + "zoom_out": "Zoom out" }, "description": "Add enhanced features to the comic site for optimized experience, including dual-page reading and translation.", "end_page": { diff --git a/locales/ru.json b/locales/ru.json index 147c9a86..92ded62f 100644 --- a/locales/ru.json +++ b/locales/ru.json @@ -22,7 +22,8 @@ "scroll_mode": "Режим прокрутки", "setting": "Настройки", "translate_current_page": "Перевести текущую страницу", - "zoom_in": "Приблизить" + "zoom_in": "Приблизить", + "zoom_out": "Уменьшить" }, "description": "Добавляет расширенные функции для удобства на сайт, такие как двухстраничный режим и перевод.", "end_page": { diff --git a/locales/zh.json b/locales/zh.json index 80551f99..9b1d02fd 100644 --- a/locales/zh.json +++ b/locales/zh.json @@ -22,7 +22,8 @@ "scroll_mode": "卷轴模式", "setting": "设置", "translate_current_page": "翻译当前页", - "zoom_in": "放大" + "zoom_in": "放大", + "zoom_out": "缩小" }, "description": "为漫画站增加双页阅读、翻译等优化体验的增强功能。", "end_page": { diff --git a/src/components/Manga/actions/imageSize.ts b/src/components/Manga/actions/imageSize.ts index fb2a5f47..93e72505 100644 --- a/src/components/Manga/actions/imageSize.ts +++ b/src/components/Manga/actions/imageSize.ts @@ -23,14 +23,14 @@ const getImgDisplaySize = (state: State, index: number) => { width = img.width ?? placeholderSize().width; if (!state.option.scrollMode.enabled) return { height, width }; - if (isAbreastMode()) return setWidth(abreastColumnWidth()); - if (state.option.scrollMode.fitToWidth || width > state.rootSize.width) - return setWidth(state.rootSize.width); + if (state.option.scrollMode.fitToWidth) return setWidth(state.rootSize.width); height *= state.option.scrollMode.imgScale; width *= state.option.scrollMode.imgScale; + if (width > state.rootSize.width) return setWidth(state.rootSize.width); + return { height, width }; }; diff --git a/src/components/Manga/defaultButtonList.tsx b/src/components/Manga/defaultButtonList.tsx index 63385202..33a900af 100644 --- a/src/components/Manga/defaultButtonList.tsx +++ b/src/components/Manga/defaultButtonList.tsx @@ -3,10 +3,11 @@ import MdLooksTwo from '@material-design-icons/svg/round/looks_two.svg'; import MdViewDay from '@material-design-icons/svg/round/view_day.svg'; import MdQueue from '@material-design-icons/svg/round/queue.svg'; import MdSettings from '@material-design-icons/svg/round/settings.svg'; -import MdSearch from '@material-design-icons/svg/round/search.svg'; import MdTranslate from '@material-design-icons/svg/round/translate.svg'; import MdGrid from '@material-design-icons/svg/round/grid_4x4.svg'; -import { createMemo, type Component, createSignal } from 'solid-js'; +import MdZoomIn from '@material-design-icons/svg/round/zoom_in.svg'; +import MdZoomOut from '@material-design-icons/svg/round/zoom_out.svg'; +import { createMemo, type Component, createSignal, Show } from 'solid-js'; import { t } from 'helper/i18n'; import { IconButton } from '../IconButton'; @@ -34,6 +35,21 @@ export const buttonListDivider: Component = () => (
); +const ZoomButton = () => ( + } + children={} + /> + } + /> +); + /** 工具栏的默认按钮列表 */ export const defaultButtonList: ToolbarButtonList = [ // 单双页模式 @@ -80,25 +96,20 @@ export const defaultButtonList: ToolbarButtonList = [ buttonListDivider, // 放大模式 () => ( - 1) - } - onClick={() => { - if (!store.option.scrollMode.enabled) return doubleClickZoom(); - - if ( - store.option.scrollMode.imgScale >= 1 && - store.option.scrollMode.imgScale < 1.6 - ) - return zoomScrollModeImg(0.2); - return zoomScrollModeImg(1, true); - }} - children={} - /> + }> + = 3} + onClick={() => zoomScrollModeImg(0.05)} + children={} + /> + zoomScrollModeImg(-0.05)} + children={} + /> + ), // 翻译设置 () => (