feat: Remember the tranbox position and size
This commit is contained in:
@@ -16,6 +16,7 @@ export const STOKEY_RULES = `${APP_NAME}_rules_v${APP_VERSION[0]}`;
|
|||||||
export const STOKEY_WORDS = `${APP_NAME}_words`;
|
export const STOKEY_WORDS = `${APP_NAME}_words`;
|
||||||
export const STOKEY_SYNC = `${APP_NAME}_sync`;
|
export const STOKEY_SYNC = `${APP_NAME}_sync`;
|
||||||
export const STOKEY_FAB = `${APP_NAME}_fab`;
|
export const STOKEY_FAB = `${APP_NAME}_fab`;
|
||||||
|
export const STOKEY_TRANBOX = `${APP_NAME}_tranbox`;
|
||||||
export const STOKEY_RULESCACHE_PREFIX = `${APP_NAME}_rulescache_`;
|
export const STOKEY_RULESCACHE_PREFIX = `${APP_NAME}_rulescache_`;
|
||||||
|
|
||||||
export const CACHE_NAME = `${APP_NAME}_cache`;
|
export const CACHE_NAME = `${APP_NAME}_cache`;
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import {
|
|||||||
STOKEY_RULES_OLD,
|
STOKEY_RULES_OLD,
|
||||||
STOKEY_WORDS,
|
STOKEY_WORDS,
|
||||||
STOKEY_FAB,
|
STOKEY_FAB,
|
||||||
|
STOKEY_TRANBOX,
|
||||||
STOKEY_SYNC,
|
STOKEY_SYNC,
|
||||||
STOKEY_MSAUTH,
|
STOKEY_MSAUTH,
|
||||||
STOKEY_BDAUTH,
|
STOKEY_BDAUTH,
|
||||||
@@ -135,6 +136,13 @@ export const getFabWithDefault = async () => (await getFab()) || {};
|
|||||||
export const setFab = (obj) => setObj(STOKEY_FAB, obj);
|
export const setFab = (obj) => setObj(STOKEY_FAB, obj);
|
||||||
export const putFab = (obj) => putObj(STOKEY_FAB, obj);
|
export const putFab = (obj) => putObj(STOKEY_FAB, obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* tranbox位置大小
|
||||||
|
*/
|
||||||
|
export const getTranBox = () => getObj(STOKEY_TRANBOX);
|
||||||
|
export const putTranBox = (obj) => putObj(STOKEY_TRANBOX, obj);
|
||||||
|
export const debouncePutTranBox = debounce(putTranBox, 300);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数据同步
|
* 数据同步
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import {
|
|||||||
import { isMobile } from "../../libs/mobile";
|
import { isMobile } from "../../libs/mobile";
|
||||||
import { kissLog } from "../../libs/log";
|
import { kissLog } from "../../libs/log";
|
||||||
import { useLangMap } from "../../hooks/I18n";
|
import { useLangMap } from "../../hooks/I18n";
|
||||||
|
import { debouncePutTranBox, getTranBox } from "../../libs/storage";
|
||||||
|
|
||||||
export default function Slection({
|
export default function Slection({
|
||||||
contextMenuType,
|
contextMenuType,
|
||||||
@@ -107,6 +108,29 @@ export default function Slection({
|
|||||||
return "onMouseUp";
|
return "onMouseUp";
|
||||||
}, [triggerMode]);
|
}, [triggerMode]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
(async () => {
|
||||||
|
try {
|
||||||
|
const { w, h, x, y } = (await getTranBox()) || {};
|
||||||
|
if (w !== undefined && h !== undefined) {
|
||||||
|
setBoxSize({ w, h });
|
||||||
|
}
|
||||||
|
if (x !== undefined && y !== undefined) {
|
||||||
|
setBoxPosition({
|
||||||
|
x: limitNumber(x, 0, window.innerWidth),
|
||||||
|
y: limitNumber(y, 0, window.innerHeight),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
debouncePutTranBox({ ...boxSize, ...boxPosition });
|
||||||
|
}, [boxSize, boxPosition]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
async function handleMouseup(e) {
|
async function handleMouseup(e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
|
|||||||
Reference in New Issue
Block a user