Commit 7e6f9eae authored by timel's avatar timel Committed by Chunchi Che

fix: remove unused codes, fmt

parent ee27706b
...@@ -19,12 +19,12 @@ ...@@ -19,12 +19,12 @@
* 在进行代码开发的时候需要注意这点。 * 在进行代码开发的时候需要注意这点。
* *
* */ * */
import { ProConfigProvider } from "@ant-design/pro-provider";
import { ConfigProvider, theme } from "antd"; import { ConfigProvider, theme } from "antd";
import zhCN from "antd/locale/zh_CN"; import zhCN from "antd/locale/zh_CN";
import React from "react"; import React from "react";
import ReactDOM from "react-dom/client"; import ReactDOM from "react-dom/client";
import { BrowserRouter } from "react-router-dom"; import { BrowserRouter } from "react-router-dom";
import { ProConfigProvider } from "@ant-design/pro-provider";
import Neos from "./ui/Neos"; import Neos from "./ui/Neos";
......
import { ygopro } from "@/api"; import { ygopro } from "@/api";
import { sleep } from "@/infra"; import { sleep } from "@/infra";
import { matStore } from "@/stores"; import { matStore } from "@/stores";
import { showWaiting } from "@/ui/Duel/Message";
import onAnnounce from "./announce"; import onAnnounce from "./announce";
import onMsgAttack from "./attack"; import onMsgAttack from "./attack";
...@@ -53,8 +54,6 @@ import onMsgUpdateHp from "./updateHp"; ...@@ -53,8 +54,6 @@ import onMsgUpdateHp from "./updateHp";
import onMsgWait from "./wait"; import onMsgWait from "./wait";
import onMsgWin from "./win"; import onMsgWin from "./win";
import { showWaiting } from "@/ui/Duel/Message";
const ActiveList = [ const ActiveList = [
"select_idle_cmd", "select_idle_cmd",
"select_place", "select_place",
......
import { ygopro } from "@/api"; import { ygopro } from "@/api";
import MsgSelectCard = ygopro.StocGameMessage.MsgSelectCard; import MsgSelectCard = ygopro.StocGameMessage.MsgSelectCard;
import { fetchCheckCardMeta, messageStore } from "@/stores";
import { displaySelectActionsModal } from "@/ui/Duel/Message/SelectActionsModal"; import { displaySelectActionsModal } from "@/ui/Duel/Message/SelectActionsModal";
import { fetchCheckCardMeta as FIXME_fetchCheckCardMeta } from "../utils";
import { fetchCheckCardMeta } from "../utils";
export default async (selectCard: MsgSelectCard) => { export default async (selectCard: MsgSelectCard) => {
const { cancelable, min, max, cards } = selectCard; const { cancelable, min, max, cards } = selectCard;
// TODO: handle release_param // TODO: handle release_param
messageStore.selectCardActions.min = min;
messageStore.selectCardActions.max = max;
messageStore.selectCardActions.cancelAble = cancelable;
for (const card of cards) {
fetchCheckCardMeta({
code: card.code,
location: card.location,
response: card.response,
});
}
messageStore.selectCardActions.isValid = true;
messageStore.selectCardActions.isOpen = true;
const { selecteds, mustSelects, selectables } = const { selecteds, mustSelects, selectables } = await fetchCheckCardMeta(
await FIXME_fetchCheckCardMeta(cards); cards
);
await displaySelectActionsModal({ await displaySelectActionsModal({
cancelable, cancelable,
min, min,
......
import { sendSelectSingleResponse, ygopro } from "@/api"; import { sendSelectSingleResponse, ygopro } from "@/api";
import { useConfig } from "@/config"; import { useConfig } from "@/config";
import { import { fetchSelectHintMeta, messageStore } from "@/stores";
fetchCheckCardMeta,
fetchSelectHintMeta,
messageStore,
} from "@/stores";
import { displaySelectActionsModal } from "@/ui/Duel/Message/SelectActionsModal"; import { displaySelectActionsModal } from "@/ui/Duel/Message/SelectActionsModal";
import { fetchCheckCardMeta as FIXME_fetchCheckCardMeta } from "../utils";
import { fetchCheckCardMeta } from "../utils";
const NeosConfig = useConfig(); const NeosConfig = useConfig();
...@@ -66,27 +63,12 @@ export default async (selectChain: MsgSelectChain) => { ...@@ -66,27 +63,12 @@ export default async (selectChain: MsgSelectChain) => {
case 2: // 处理多张 case 2: // 处理多张
case 3: { case 3: {
// 处理强制发动的卡 // 处理强制发动的卡
messageStore.selectCardActions.isChain = true;
messageStore.selectCardActions.min = 1;
messageStore.selectCardActions.max = 1;
messageStore.selectCardActions.cancelAble = !forced;
for (const chain of chains) {
fetchCheckCardMeta({
code: chain.code,
location: chain.location,
response: chain.response,
effectDescCode: chain.effect_description,
});
}
fetchSelectHintMeta({ fetchSelectHintMeta({
selectHintData: 203, selectHintData: 203,
}); });
messageStore.selectCardActions.isValid = true; const { selecteds, mustSelects, selectables } = await fetchCheckCardMeta(
messageStore.selectCardActions.isOpen = true; chains
const { selecteds, mustSelects, selectables } = );
await FIXME_fetchCheckCardMeta(chains);
await displaySelectActionsModal({ await displaySelectActionsModal({
isChain: true, isChain: true,
cancelable: !forced, cancelable: !forced,
......
import { ygopro } from "@/api"; import { ygopro } from "@/api";
import { fetchCheckCardMeta, messageStore } from "@/stores";
import { displaySelectActionsModal } from "@/ui/Duel/Message/SelectActionsModal"; import { displaySelectActionsModal } from "@/ui/Duel/Message/SelectActionsModal";
import { fetchCheckCardMeta as FIXME_fetchCheckCardMeta } from "../utils";
import { fetchCheckCardMeta } from "../utils";
type MsgSelectSum = ygopro.StocGameMessage.MsgSelectSum; type MsgSelectSum = ygopro.StocGameMessage.MsgSelectSum;
export default async (selectSum: MsgSelectSum) => { export default async (selectSum: MsgSelectSum) => {
messageStore.selectCardActions.overflow = selectSum.overflow != 0;
messageStore.selectCardActions.totalLevels = selectSum.level_sum;
messageStore.selectCardActions.min = selectSum.min;
messageStore.selectCardActions.max = selectSum.max;
for (const option of selectSum.must_select_cards) {
fetchCheckCardMeta(option, false, true);
}
for (const option of selectSum.selectable_cards) {
fetchCheckCardMeta(option);
}
messageStore.selectCardActions.isValid = true;
messageStore.selectCardActions.isOpen = true;
const { const {
selecteds: selecteds1, selecteds: selecteds1,
mustSelects: mustSelect1, mustSelects: mustSelect1,
selectables: selectable1, selectables: selectable1,
} = await FIXME_fetchCheckCardMeta(selectSum.must_select_cards, false, true); } = await fetchCheckCardMeta(selectSum.must_select_cards, false, true);
const { const {
selecteds: selecteds2, selecteds: selecteds2,
mustSelects: mustSelect2, mustSelects: mustSelect2,
selectables: selectable2, selectables: selectable2,
} = await FIXME_fetchCheckCardMeta(selectSum.selectable_cards); } = await fetchCheckCardMeta(selectSum.selectable_cards);
await displaySelectActionsModal({ await displaySelectActionsModal({
overflow: selectSum.overflow !== 0, overflow: selectSum.overflow !== 0,
totalLevels: selectSum.level_sum, totalLevels: selectSum.level_sum,
......
import { ygopro } from "@/api"; import { ygopro } from "@/api";
import { fetchCheckCardMeta, messageStore } from "@/stores";
import { displaySelectActionsModal } from "@/ui/Duel/Message/SelectActionsModal"; import { displaySelectActionsModal } from "@/ui/Duel/Message/SelectActionsModal";
import { fetchCheckCardMeta as FIXME_fetchCheckCardMeta } from "../utils";
import { fetchCheckCardMeta } from "../utils";
type MsgSelectTribute = ygopro.StocGameMessage.MsgSelectTribute; type MsgSelectTribute = ygopro.StocGameMessage.MsgSelectTribute;
export default async (selectTribute: MsgSelectTribute) => { export default async (selectTribute: MsgSelectTribute) => {
// TODO: 当玩家选择卡数大于`max`时,是否也合法? // TODO: 当玩家选择卡数大于`max`时,是否也合法?
messageStore.selectCardActions.overflow = true; const { selecteds, mustSelects, selectables } = await fetchCheckCardMeta(
messageStore.selectCardActions.totalLevels = 0; selectTribute.selectable_cards
messageStore.selectCardActions.min = selectTribute.min; );
messageStore.selectCardActions.max = selectTribute.max;
for (const option of selectTribute.selectable_cards) {
fetchCheckCardMeta(option);
}
messageStore.selectCardActions.isValid = true;
messageStore.selectCardActions.isOpen = true;
const { selecteds, mustSelects, selectables } =
await FIXME_fetchCheckCardMeta(selectTribute.selectable_cards);
await displaySelectActionsModal({ await displaySelectActionsModal({
overflow: true, overflow: true,
totalLevels: 0, totalLevels: 0,
......
import { ygopro } from "@/api"; import { ygopro } from "@/api";
import { fetchCheckCardMeta, messageStore } from "@/stores";
import { displaySelectActionsModal } from "@/ui/Duel/Message/SelectActionsModal"; import { displaySelectActionsModal } from "@/ui/Duel/Message/SelectActionsModal";
import { fetchCheckCardMeta as FIXME_fetchCheckCardMeta } from "../utils";
import { fetchCheckCardMeta } from "../utils";
type MsgSelectUnselectCard = ygopro.StocGameMessage.MsgSelectUnselectCard; type MsgSelectUnselectCard = ygopro.StocGameMessage.MsgSelectUnselectCard;
export default async ({ export default async ({
...@@ -12,33 +12,16 @@ export default async ({ ...@@ -12,33 +12,16 @@ export default async ({
selectable_cards: selectableCards, selectable_cards: selectableCards,
selected_cards: selectedCards, selected_cards: selectedCards,
}: MsgSelectUnselectCard) => { }: MsgSelectUnselectCard) => {
messageStore.selectCardActions.finishAble = finishable;
messageStore.selectCardActions.cancelAble = cancelable;
messageStore.selectCardActions.min = min;
messageStore.selectCardActions.max = max;
messageStore.selectCardActions.single = true;
for (const option of selectableCards) {
await fetchCheckCardMeta(option);
}
for (const option of selectedCards) {
await fetchCheckCardMeta(option, true);
}
messageStore.selectCardActions.isValid = true;
messageStore.selectCardActions.isOpen = true;
const { const {
selecteds: selecteds1, selecteds: selecteds1,
mustSelects: mustSelect1, mustSelects: mustSelect1,
selectables: selectable1, selectables: selectable1,
} = await FIXME_fetchCheckCardMeta(selectableCards); } = await fetchCheckCardMeta(selectableCards);
const { const {
selecteds: selecteds2, selecteds: selecteds2,
mustSelects: mustSelect2, mustSelects: mustSelect2,
selectables: selectable2, selectables: selectable2,
} = await FIXME_fetchCheckCardMeta(selectedCards, true); } = await fetchCheckCardMeta(selectedCards, true);
await displaySelectActionsModal({ await displaySelectActionsModal({
finishable, finishable,
cancelable, cancelable,
......
...@@ -3,7 +3,6 @@ export * from "./chatStore"; ...@@ -3,7 +3,6 @@ export * from "./chatStore";
export * from "./joinStore"; export * from "./joinStore";
export * from "./matStore"; export * from "./matStore";
export * from "./messageStore"; export * from "./messageStore";
export * from "./methods";
export * from "./moraStore"; export * from "./moraStore";
export * from "./placeStore"; export * from "./placeStore";
export * from "./playerStore"; export * from "./playerStore";
......
export * from "./methods";
export * from "./store"; export * from "./store";
import { messageStore } from "../store";
const { selectCardActions } = messageStore;
export const clearSelectActions = () => {
selectCardActions.isOpen = false;
selectCardActions.isValid = false;
selectCardActions.isChain = undefined;
selectCardActions.min = undefined;
selectCardActions.max = undefined;
selectCardActions.cancelAble = false;
selectCardActions.totalLevels = undefined;
selectCardActions.selecteds = [];
selectCardActions.selectables = [];
selectCardActions.mustSelects = [];
selectCardActions.finishAble = false;
selectCardActions.overflow = false;
selectCardActions.single = undefined;
};
export * from "./clearSelectActions";
...@@ -5,15 +5,6 @@ import type { ModalState } from "./types"; ...@@ -5,15 +5,6 @@ import type { ModalState } from "./types";
export const messageStore = proxy<ModalState>({ export const messageStore = proxy<ModalState>({
cardModal: { isOpen: false, interactivies: [], counters: {} }, cardModal: { isOpen: false, interactivies: [], counters: {} },
cardListModal: { isOpen: false, list: [] }, cardListModal: { isOpen: false, list: [] },
selectCardActions: {
isOpen: false,
isValid: false,
cancelAble: false,
finishAble: false,
selecteds: [],
selectables: [],
mustSelects: [],
},
yesNoModal: { isOpen: false }, yesNoModal: { isOpen: false },
positionModal: { isOpen: false, positions: [] }, positionModal: { isOpen: false, positions: [] },
checkCounterModal: { checkCounterModal: {
......
...@@ -29,31 +29,6 @@ export interface ModalState { ...@@ -29,31 +29,6 @@ export interface ModalState {
interactivies: { desc: string; response: number }[]; interactivies: { desc: string; response: number }[];
}[]; }[];
}; };
// 卡牌选择状态
selectCardActions: {
// 是否打开
isOpen: boolean;
// 是否有效,当有`MSG_SELECT_xxx`到前端时为true,用户选择完成后设置为false
isValid: boolean;
// 如果是连锁,发response给后端的方式稍微有点不同,这里标记下
isChain?: boolean;
min?: number;
max?: number;
// 是否只能选择单个
single?: boolean;
cancelAble: boolean;
finishAble: boolean;
// 上级/同调/超量/链接召唤的总cost
totalLevels?: number;
// cost是否可以溢出,比如同调召唤是false,某些链接召唤是true
overflow?: boolean;
// 已经选择的列表
selecteds: Option[];
// 可以选择的列表
selectables: Option[];
// 必须选择的列表
mustSelects: Option[];
};
// Yes or No弹窗 // Yes or No弹窗
yesNoModal: { yesNoModal: {
isOpen: boolean; isOpen: boolean;
......
import { ygopro } from "@/api";
import { fetchCard, getCardStr } from "@/api/cards";
import { cardStore, messageStore } from "@/stores";
export const fetchCheckCardMeta = async (
{
code,
location,
level1,
level2,
response,
effectDescCode,
}: {
code: number;
location: ygopro.CardLocation;
level1?: number;
level2?: number;
response: number;
effectDescCode?: number;
},
selected?: boolean,
mustSelect?: boolean
) => {
const controller = location.controller;
const newID =
code != 0
? code
: cardStore.at(location.zone, controller, location.sequence)?.code || 0;
const meta = await fetchCard(newID);
const effectDesc = effectDescCode
? getCardStr(meta, effectDescCode & 0xf)
: undefined;
const newOption = {
meta,
location: location.toObject(),
level1,
level2,
effectDesc,
response,
};
if (selected) {
messageStore.selectCardActions.selecteds.push(newOption);
} else if (mustSelect) {
messageStore.selectCardActions.mustSelects.push(newOption);
} else {
messageStore.selectCardActions.selectables.push(newOption);
}
};
export * from "./fetchCheckCardMeta";
...@@ -2,12 +2,12 @@ import { Drawer, Space } from "antd"; ...@@ -2,12 +2,12 @@ import { Drawer, Space } from "antd";
import React from "react"; import React from "react";
import { proxy, useSnapshot } from "valtio"; import { proxy, useSnapshot } from "valtio";
import { ygopro } from "@/api";
import { useConfig } from "@/config"; import { useConfig } from "@/config";
import { CardType, messageStore, cardStore } from "@/stores"; import { cardStore, CardType, messageStore } from "@/stores";
import { YgoCard } from "@/ui/Shared";
import { showCardModal } from "./CardModal"; import { showCardModal } from "./CardModal";
import { ygopro } from "@/api";
import { YgoCard } from "@/ui/Shared";
const NeosConfig = useConfig(); const NeosConfig = useConfig();
......
import "./Desc.scss"; import "./Desc.scss";
import { Fragment } from "react"; import { Fragment } from "react";
export const Desc: React.FC<{ desc?: string }> = ({ desc = "" }) => { export const Desc: React.FC<{ desc?: string }> = ({ desc = "" }) => {
......
import "@/styles/card-modal.scss"; import "@/styles/card-modal.scss";
import "./index.scss";
import { LeftOutlined } from "@ant-design/icons";
import { Divider, Drawer, Space, Tag, Timeline, Typography } from "antd";
import classnames from "classnames"; import classnames from "classnames";
import React, { FC } from "react"; import React, { FC } from "react";
import { useSnapshot, proxy } from "valtio"; import { proxy, useSnapshot } from "valtio";
import { fetchStrings, sendSelectIdleCmdResponse, type CardMeta } from "@/api"; import { type CardMeta, fetchStrings, sendSelectIdleCmdResponse } from "@/api";
import { useConfig } from "@/config"; import { useConfig } from "@/config";
import { cardStore, messageStore, type CardType } from "@/stores"; import { cardStore, type CardType, messageStore } from "@/stores";
import { YgoCard } from "@/ui/Shared";
import { import {
Attribute2StringCodeMap, Attribute2StringCodeMap,
...@@ -14,13 +18,6 @@ import { ...@@ -14,13 +18,6 @@ import {
Race2StringCodeMap, Race2StringCodeMap,
Type2StringCodeMap, Type2StringCodeMap,
} from "../../../../common"; } from "../../../../common";
import { Drawer, Space, Tag, Divider, Timeline, Typography } from "antd";
import { LeftOutlined } from "@ant-design/icons";
import "./index.scss";
import { YgoCard } from "@/ui/Shared";
import { Desc } from "./Desc"; import { Desc } from "./Desc";
const { cardModal } = messageStore; const { cardModal } = messageStore;
......
import { notification, message } from "antd"; import { message, notification } from "antd";
import React, { useEffect } from "react"; import React, { useEffect } from "react";
import { useSnapshot } from "valtio"; import { useSnapshot } from "valtio";
......
import { Button, Modal, type ModalProps } from "antd"; import "./index.scss";
import { type FC, useRef, useState, type CSSProperties } from "react";
import { MinusOutlined, UpOutlined } from "@ant-design/icons"; import { MinusOutlined, UpOutlined } from "@ant-design/icons";
import { Button, Modal, type ModalProps } from "antd";
import classNames from "classnames"; import classNames from "classnames";
import "./index.scss"; import { type CSSProperties, type FC, useRef, useState } from "react";
interface Props extends ModalProps { interface Props extends ModalProps {
canBeMinimized?: boolean; canBeMinimized?: boolean;
......
import { CheckCard } from "@ant-design/pro-components"; import { CheckCard } from "@ant-design/pro-components";
import { Button } from "antd"; import { Button } from "antd";
import React, { useState } from "react"; import React, { useState } from "react";
import { useSnapshot, proxy } from "valtio"; import { proxy, useSnapshot } from "valtio";
import { import {
type CardMeta, type CardMeta,
getCardStr,
sendSelectIdleCmdResponse,
sendSelectOptionResponse, sendSelectOptionResponse,
ygopro, ygopro,
sendSelectIdleCmdResponse,
getCardStr,
} from "@/api"; } from "@/api";
import { NeosModal } from "./NeosModal"; import { NeosModal } from "./NeosModal";
type Options = { msg: string; response: number }[]; type Options = { msg: string; response: number }[];
......
import "./index.scss";
import { CheckCard, CheckCardProps } from "@ant-design/pro-components"; import { CheckCard, CheckCardProps } from "@ant-design/pro-components";
import { import {
Button, Button,
...@@ -5,30 +7,28 @@ import { ...@@ -5,30 +7,28 @@ import {
Col, Col,
Popover, Popover,
Row, Row,
Tabs,
Segmented, Segmented,
Space, Space,
Typography, Tabs,
Tooltip, Tooltip,
Typography,
} from "antd"; } from "antd";
import { type FC, useState, useEffect } from "react"; import { type FC, useEffect, useState } from "react";
import { useSnapshot, proxy } from "valtio"; import { proxy, useSnapshot } from "valtio";
import type { CardMeta, ygopro } from "@/api";
import { import {
fetchStrings, fetchStrings,
sendSelectMultiResponse, sendSelectMultiResponse,
sendSelectSingleResponse, sendSelectSingleResponse,
} from "@/api"; } from "@/api";
import type { CardMeta, ygopro } from "@/api";
import { useConfig } from "@/config"; import { useConfig } from "@/config";
import { matStore } from "@/stores"; import { matStore } from "@/stores";
import { YgoCard } from "@/ui/Shared";
import { groupBy } from "../../utils"; import { groupBy } from "../../utils";
import { NeosModal } from "../NeosModal";
import { YgoCard } from "@/ui/Shared";
import "./index.scss";
import { showCardModal } from "../CardModal"; import { showCardModal } from "../CardModal";
import { NeosModal } from "../NeosModal";
const CANCEL_RESPONSE = -1; const CANCEL_RESPONSE = -1;
const FINISH_RESPONSE = -1; const FINISH_RESPONSE = -1;
......
import "./index.scss"; import "./index.scss";
import {
DownloadOutlined,
UploadOutlined,
UpOutlined,
} from "@ant-design/icons";
import { animated, to, useSpring } from "@react-spring/web"; import { animated, to, useSpring } from "@react-spring/web";
import { Button, Dropdown, type MenuProps } from "antd";
import classnames from "classnames"; import classnames from "classnames";
import React, { type CSSProperties, type FC, useEffect, useState } from "react"; import React, { type CSSProperties, type FC, useEffect, useState } from "react";
import { useSnapshot } from "valtio"; import { useSnapshot } from "valtio";
import { getCardStr, ygopro } from "@/api"; import { getCardStr, ygopro } from "@/api";
import { type CardMeta, fetchStrings, sendSelectIdleCmdResponse } from "@/api";
import { useConfig } from "@/config"; import { useConfig } from "@/config";
import { eventbus, Task } from "@/infra"; import { eventbus, Task } from "@/infra";
import { cardStore, CardType, messageStore } from "@/stores"; import { cardStore, CardType, messageStore } from "@/stores";
import { closeCardModal, showCardModal } from "@/ui/Duel/Message/CardModal";
import { YgoCard } from "@/ui/Shared";
import { displayCardListModal, displayOptionModal } from "../../Message";
import { interactTypeToString } from "../../utils"; import { interactTypeToString } from "../../utils";
import { import {
attack, attack,
...@@ -20,18 +30,6 @@ import { ...@@ -20,18 +30,6 @@ import {
moveToOutside, moveToOutside,
} from "./springs"; } from "./springs";
import type { SpringApiProps } from "./springs/types"; import type { SpringApiProps } from "./springs/types";
import { YgoCard } from "@/ui/Shared";
import { showCardModal, closeCardModal } from "@/ui/Duel/Message/CardModal";
import { Button, Dropdown, type MenuProps } from "antd";
import {
UploadOutlined,
DownloadOutlined,
UpOutlined,
} from "@ant-design/icons";
import { fetchStrings, sendSelectIdleCmdResponse, type CardMeta } from "@/api";
import { displayCardListModal, displayOptionModal } from "../../Message";
const NeosConfig = useConfig(); const NeosConfig = useConfig();
const { HAND, GRAVE, REMOVED, DECK, EXTRA, MZONE, SZONE, TZONE } = const { HAND, GRAVE, REMOVED, DECK, EXTRA, MZONE, SZONE, TZONE } =
......
import { type SpringRef } from "@react-spring/web"; import { type SpringRef } from "@react-spring/web";
export type SpringApiProps = { export interface SpringApiProps {
x: number; x: number;
y: number; y: number;
z: number; z: number;
...@@ -14,6 +14,6 @@ export type SpringApiProps = { ...@@ -14,6 +14,6 @@ export type SpringApiProps = {
focusDisplay: string; focusDisplay: string;
focusOpacity: number; focusOpacity: number;
// <<< focus // <<< focus
}; }
export type SpringApi = SpringRef<SpringApiProps>; export type SpringApi = SpringRef<SpringApiProps>;
import { type FC, useMemo, CSSProperties } from "react"; import "./index.scss";
import { useConfig } from "@/config";
import classNames from "classnames"; import classNames from "classnames";
import "./index.scss"; import { CSSProperties, type FC, useMemo } from "react";
import { useConfig } from "@/config";
interface Props { interface Props {
className?: string; className?: string;
......
...@@ -30,7 +30,7 @@ import { DeckManager, fetchDeck, type IDeck } from "@/api/deck"; ...@@ -30,7 +30,7 @@ import { DeckManager, fetchDeck, type IDeck } from "@/api/deck";
import { useConfig } from "@/config"; import { useConfig } from "@/config";
import socketMiddleWare, { socketCmd } from "@/middleware/socket"; import socketMiddleWare, { socketCmd } from "@/middleware/socket";
import sqliteMiddleWare, { sqliteCmd } from "@/middleware/sqlite"; import sqliteMiddleWare, { sqliteCmd } from "@/middleware/sqlite";
import { joinStore, chatStore, moraStore, playerStore } from "@/stores"; import { chatStore, joinStore, moraStore, playerStore } from "@/stores";
const NeosConfig = useConfig(); const NeosConfig = useConfig();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment