From c0170c09e38f8f6ed25a974d0e0d84dcd9000ebe Mon Sep 17 00:00:00 2001 From: gemini2035 <2530056984@qq.com> Date: Wed, 5 Feb 2025 22:14:13 +0800 Subject: [PATCH 01/10] fix: the info of operator can not be edited properly. --- src/components/editor/operator/EditorPerformer.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/editor/operator/EditorPerformer.tsx b/src/components/editor/operator/EditorPerformer.tsx index 2a15fdf6..1be89868 100644 --- a/src/components/editor/operator/EditorPerformer.tsx +++ b/src/components/editor/operator/EditorPerformer.tsx @@ -22,7 +22,7 @@ import { FC, useEffect, useState } from 'react' import { Control, UseFieldArrayMove, useFieldArray } from 'react-hook-form' import { SetRequired } from 'type-fest' -import type { CopilotDocV1 } from 'models/copilot.schema' +import { CopilotDocV1 } from 'models/copilot.schema' import { FactItem } from '../../FactItem' import { Droppable, Sortable } from '../../dnd' @@ -289,7 +289,7 @@ export const EditorPerformer: FC = ({ control }) => { addOperator() } else { updateOperator( - operators.findIndex(({ name }) => name === operator.name), + operators.findIndex(({ _id }) => _id === operator._id), operator, ) } From f2e8f5d9ee83417a13ac0e5f7420a1408274389f Mon Sep 17 00:00:00 2001 From: gemini2035 <2530056984@qq.com> Date: Wed, 5 Feb 2025 23:31:53 +0800 Subject: [PATCH 02/10] fix: type of operation can not be modified. --- src/components/editor/action/EditorActionAdd.tsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/components/editor/action/EditorActionAdd.tsx b/src/components/editor/action/EditorActionAdd.tsx index 20b2d8bf..d7d42174 100644 --- a/src/components/editor/action/EditorActionAdd.tsx +++ b/src/components/editor/action/EditorActionAdd.tsx @@ -102,9 +102,6 @@ export const EditorActionAdd = ({ useEffect(() => { if (editingAction) { - if ('type' in editingAction) { - setValue('type', editingAction.type) - } // 修复切换type的时候,数据丢失的问题 // 原因:因为切换type的时候会触发页面绘制,导致form和对应的item组件丢失绑定, // 当重置时没办法正常清空item组件内部的值。 From aa78890d0f3db931d43736e7fc86df6252cd21b6 Mon Sep 17 00:00:00 2001 From: gemini2035 <2530056984@qq.com> Date: Thu, 6 Feb 2025 00:28:02 +0800 Subject: [PATCH 03/10] feat: optimized the way in change operation --- src/components/editor/action/EditorActionAdd.tsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/components/editor/action/EditorActionAdd.tsx b/src/components/editor/action/EditorActionAdd.tsx index d7d42174..0a43fecc 100644 --- a/src/components/editor/action/EditorActionAdd.tsx +++ b/src/components/editor/action/EditorActionAdd.tsx @@ -100,6 +100,13 @@ export const EditorActionAdd = ({ [type], ) + useEffect(() => { + if (editingAction?.type) { + setValue('type', editingAction.type) + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [editingAction?._id, setValue]) + useEffect(() => { if (editingAction) { // 修复切换type的时候,数据丢失的问题 From 9ab7c1965baaeb2e80bb3d2910a6147b0a6c6339 Mon Sep 17 00:00:00 2001 From: Guan <821143943@qq.com> Date: Wed, 12 Feb 2025 16:59:34 +0800 Subject: [PATCH 04/10] feat: add option for saving selected operators (#371) --- src/components/Operations.tsx | 32 +++++--------- src/components/OperatorFilter.tsx | 71 +++++++++++++++++++++++++++++++ src/store/selectedOperators.ts | 14 ++---- 3 files changed, 85 insertions(+), 32 deletions(-) create mode 100644 src/components/OperatorFilter.tsx diff --git a/src/components/Operations.tsx b/src/components/Operations.tsx index 2a7db30f..04baced3 100644 --- a/src/components/Operations.tsx +++ b/src/components/Operations.tsx @@ -7,7 +7,7 @@ import { } from '@blueprintjs/core' import { UseOperationsParams } from 'apis/operation' -import { useAtom, useAtomValue } from 'jotai' +import { useAtom } from 'jotai' import { debounce } from 'lodash-es' import { ComponentType, useMemo, useState } from 'react' @@ -15,13 +15,9 @@ import { CardTitle } from 'components/CardTitle' import { OperationList } from 'components/OperationList' import { OperationSetList } from 'components/OperationSetList' import { neoLayoutAtom } from 'store/pref' -import { - selectedOperatorQueryAtom, - selectedOperatorsAtom, -} from 'store/selectedOperators' import { authAtom } from '../store/auth' -import { OperatorSelect } from './OperatorSelect' +import { OperatorFilter } from './OperatorFilter' import { withSuspensable } from './Suspensable' export const Operations: ComponentType = withSuspensable(() => { @@ -31,14 +27,13 @@ export const Operations: ComponentType = withSuspensable(() => { limit: 10, orderBy: 'hot', }) - const [selectedOperators, setSelectedOperators] = useAtom( - selectedOperatorsAtom, - ) - const selectedOperatorQuery = useAtomValue(selectedOperatorQueryAtom) const debouncedSetQueryParams = useMemo( () => debounce(setQueryParams, 500), [], ) + + const [selectedOperators, setSelectedOperators] = useState([]) + const [authState] = useAtom(authAtom) const [neoLayout, setNeoLayout] = useAtom(neoLayoutAtom) const [listMode, setListMode] = useState<'operation' | 'operationSet'>( @@ -104,14 +99,7 @@ export const Operations: ComponentType = withSuspensable(() => { {listMode === 'operation' && (
- +
{ } onBlur={() => debouncedSetQueryParams.flush()} /> - - +
{filterNode} @@ -221,7 +209,7 @@ export const Operations: ComponentType = withSuspensable(() => { {listMode === 'operation' && ( diff --git a/src/components/OperatorFilter.tsx b/src/components/OperatorFilter.tsx new file mode 100644 index 00000000..9f2483d0 --- /dev/null +++ b/src/components/OperatorFilter.tsx @@ -0,0 +1,71 @@ +import { Checkbox } from '@blueprintjs/core' + +import { useAtom } from 'jotai' +import { FC, useEffect } from 'react' + +import { + selectedOperatorsAtom, + shouldSaveSelectedOperatorsAtom, +} from '../store/selectedOperators' +import { OperatorSelect } from './OperatorSelect' + +interface OperatorSelectProps { + className?: string + operators: string[] + onChange: (operators: string[]) => void +} + +export const OperatorFilter: FC = ({ + className, + operators, + onChange, +}) => { + const [shouldSaveSelectedOperators, setShouldSaveSelectedOperators] = useAtom( + shouldSaveSelectedOperatorsAtom, + ) + const [savedSelectedOperators, setSavedSelectedOperators] = useAtom( + selectedOperatorsAtom, + ) + + useEffect(() => { + // 用户在另一个标签页中修改选择时,savedSelectedOperators 会同步到当前标签页,需要手动更新给 operators + if (shouldSaveSelectedOperators) { + onChange(savedSelectedOperators) + } + }, [shouldSaveSelectedOperators, savedSelectedOperators, onChange]) + + const handleSelectOperator = (operators: string[]) => { + onChange(operators) + + if (shouldSaveSelectedOperators) { + setSavedSelectedOperators(operators) + } + } + + const handleShouldSaveSelectedOperators = (shouldSave: boolean) => { + setShouldSaveSelectedOperators(shouldSave) + + if (shouldSave) { + setSavedSelectedOperators(operators) + } + } + + return ( +
+ + {operators.length > 0 && ( +
+
点击干员标签以标记为排除该干员
+ + handleShouldSaveSelectedOperators(e.currentTarget.checked) + } + > + 记住选择 + +
+ )} +
+ ) +} diff --git a/src/store/selectedOperators.ts b/src/store/selectedOperators.ts index a1283b2f..86699607 100644 --- a/src/store/selectedOperators.ts +++ b/src/store/selectedOperators.ts @@ -1,17 +1,11 @@ -import { atom } from 'jotai' import { atomWithStorage } from 'jotai/utils' -interface OperatorEntry { - name: string - exclude?: boolean -} - export const selectedOperatorsAtom = atomWithStorage( 'maa-copilot-selectedOperators', [] as string[], ) -export const selectedOperatorQueryAtom = atom((get) => { - const operators = get(selectedOperatorsAtom) - return operators.join(',') -}) +export const shouldSaveSelectedOperatorsAtom = atomWithStorage( + 'maa-copilot-saveSelectedOperators', + true, +) From 75b2aa5cf38be3a227343bbfae012ad924969b97 Mon Sep 17 00:00:00 2001 From: Guan <821143943@qq.com> Date: Wed, 12 Feb 2025 18:57:11 +0800 Subject: [PATCH 05/10] feat: allow setting difficulty when using a custom level --- src/components/editor/OperationEditor.tsx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/components/editor/OperationEditor.tsx b/src/components/editor/OperationEditor.tsx index f2237120..12d5a04b 100644 --- a/src/components/editor/OperationEditor.tsx +++ b/src/components/editor/OperationEditor.tsx @@ -196,10 +196,18 @@ const DifficultyPicker: FC<{ const stageName = useWatch({ control, name: 'stageName' }) const { data: levels } = useLevels() - const invalid = useMemo( - () => !hasHardMode(levels, stageName), - [levels, stageName], - ) + const invalid = useMemo(() => { + // if the stageName is a custom level, we always allow setting difficulty + if (!findLevelByStageName(levels, stageName)) { + return false + } + + if (hasHardMode(levels, stageName)) { + return false + } + + return true + }, [levels, stageName]) useEffect(() => { if (invalid && value !== OpDifficulty.UNKNOWN) { From 18d5c6c880a3bd8d9fdc52f8064848455df95bc8 Mon Sep 17 00:00:00 2001 From: GalvinGao Date: Fri, 14 Feb 2025 16:49:39 +0000 Subject: [PATCH 06/10] chore: update generated assets [skip ci] --- .../operator-avatars/char_4010_etlchi.png | Bin 0 -> 47992 bytes .../operator-avatars/char_4173_nowell.png | Bin 0 -> 51896 bytes src/models/generated/operators.json | 18 ++++++++++++++++++ 3 files changed, 18 insertions(+) create mode 100644 public/assets/operator-avatars/char_4010_etlchi.png create mode 100644 public/assets/operator-avatars/char_4173_nowell.png diff --git a/public/assets/operator-avatars/char_4010_etlchi.png b/public/assets/operator-avatars/char_4010_etlchi.png new file mode 100644 index 0000000000000000000000000000000000000000..4965d328f2c0853de0abc6e0f4c16a626a7aedc2 GIT binary patch literal 47992 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%0ASk?6p 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 Date: Sat, 15 Feb 2025 23:05:05 +0800 Subject: [PATCH 07/10] build: add pr auto upsert --- .github/workflows/pr-auto-upsert.yml | 65 ++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .github/workflows/pr-auto-upsert.yml diff --git a/.github/workflows/pr-auto-upsert.yml b/.github/workflows/pr-auto-upsert.yml new file mode 100644 index 00000000..6d9a0c85 --- /dev/null +++ b/.github/workflows/pr-auto-upsert.yml @@ -0,0 +1,65 @@ +name: Auto Upsert Release PR + +on: + # trigger on push to dev branch + push: + branches: + - dev + # trigger on manual workflow_dispatch + workflow_dispatch: + +concurrency: + group: pr-upsert-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: write + pull-requests: write + +jobs: + pr-upsert: + name: Upsert PR + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + ref: "dev" + # fetch all history so that git log can get all commit messages + fetch-depth: 0 + + # create a PR from dev to main, with title in form: Release + # where, is the next version number to be released, based on the last release in git tag + - name: Upsert PR Content + uses: actions/github-script@v6 + with: + github-token: ${{ github.token }} + script: | + const prTitle = "Release to Production" + let body = `> *This PR is automatically created by actions defined in this repository. To see the run log of this action, please click [here](/${{ github.repository }}/actions/runs/${{ github.run_id }})*` + const existedPR = await github.rest.pulls.list({ + owner: context.repo.owner, + repo: context.repo.repo, + state: 'open', + head: `${context.repo.owner}:dev`, + base: 'main' + }) + if (existedPR.data.length > 0) { + core.info(`PR already exists: ${existedPR.data[0].html_url}. Updating body...`) + await github.rest.pulls.update({ + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: existedPR.data[0].number, + body: body + }) + core.info(`PR updated: ${existedPR.data[0].html_url}`) + return + } + const pr = await github.rest.pulls.create({ + owner: context.repo.owner, + repo: context.repo.repo, + title: prTitle, + body: body, + head: context.ref, + base: 'main', + draft: true + }) From 6ab07e5a6e8189ed1bce53d5088f3e5e79e4286c Mon Sep 17 00:00:00 2001 From: Guan <821143943@qq.com> Date: Wed, 12 Feb 2025 19:21:24 +0800 Subject: [PATCH 08/10] feat: darken checkbox for color harmony --- src/components/OperatorFilter.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/OperatorFilter.tsx b/src/components/OperatorFilter.tsx index 9f2483d0..611400ef 100644 --- a/src/components/OperatorFilter.tsx +++ b/src/components/OperatorFilter.tsx @@ -57,6 +57,7 @@ export const OperatorFilter: FC = ({
点击干员标签以标记为排除该干员
handleShouldSaveSelectedOperators(e.currentTarget.checked) From 94792d46d207ef7df325fa61f484a1adbc788176 Mon Sep 17 00:00:00 2001 From: Guan <821143943@qq.com> Date: Thu, 13 Feb 2025 04:59:11 +0800 Subject: [PATCH 09/10] feat: hint for additional operators in actions --- .../editor/operator/EditorPerformer.tsx | 63 +++++++++++++++---- 1 file changed, 50 insertions(+), 13 deletions(-) diff --git a/src/components/editor/operator/EditorPerformer.tsx b/src/components/editor/operator/EditorPerformer.tsx index 1be89868..f844762e 100644 --- a/src/components/editor/operator/EditorPerformer.tsx +++ b/src/components/editor/operator/EditorPerformer.tsx @@ -1,4 +1,4 @@ -import { NonIdealState } from '@blueprintjs/core' +import { Callout, Icon, NonIdealState } from '@blueprintjs/core' import { Active, DndContext, @@ -17,9 +17,14 @@ import { verticalListSortingStrategy, } from '@dnd-kit/sortable' -import { uniqueId } from 'lodash-es' -import { FC, useEffect, useState } from 'react' -import { Control, UseFieldArrayMove, useFieldArray } from 'react-hook-form' +import { compact, uniq, uniqueId } from 'lodash-es' +import { FC, useEffect, useMemo, useState } from 'react' +import { + Control, + UseFieldArrayMove, + useFieldArray, + useWatch, +} from 'react-hook-form' import { SetRequired } from 'type-fest' import { CopilotDocV1 } from 'models/copilot.schema' @@ -52,6 +57,7 @@ const getId = (performer: Operator | Group) => { export const EditorPerformer: FC = ({ control }) => { const [editMode, setEditMode] = useState('operator') const sensors = useSensors(useSensor(PointerSensor)) + const actions = useWatch({ control, name: 'actions' }) const { fields: _operators, @@ -79,6 +85,25 @@ export const EditorPerformer: FC = ({ control }) => { const operators: Operator[] = _operators const groups: Group[] = _groups + const additionalOperatorsFromActions = useMemo(() => { + if (!actions) return [] + + const additionalOperators = actions.map((action) => { + if ( + 'name' in action && + !operators.some(({ name }) => name === action.name) && + !groups.some(({ opers }) => + opers?.some(({ name }) => name === action.name), + ) + ) { + return action.name + } + return undefined + }) + + return uniq(compact(additionalOperators)) + }, [actions, operators, groups]) + const [draggingOperator, setDraggingOperator] = useState() const [draggingGroup, setDraggingGroup] = useState() const [editingOperator, setEditingOperator] = useState() @@ -354,14 +379,16 @@ export const EditorPerformer: FC = ({ control }) => { <>
- +
+ +
= ({ control }) => { />
-
+ {additionalOperatorsFromActions.length > 0 && ( + + + 未加入干员:{additionalOperatorsFromActions.join(', ')} + + )} +
Date: Mon, 17 Feb 2025 16:20:09 +0800 Subject: [PATCH 10/10] docs: update changelog --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c6f5a309..fa79bd28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +## 2025-02-17 + +- 修复了编辑作业时无法修改干员名称的问题 [@Gemini2035](https://github.com/Gemini2035) +- 修复了编辑作业时无法修改动作类型的问题 [@Gemini2035](https://github.com/Gemini2035) +- 添加了是否保存干员过滤器的选项 [@guansss](https://github.com/guansss) +- 使用自定义关卡时支持设置难度 [@guansss](https://github.com/guansss) +- 编辑作业时提醒缺失的干员 [@guansss](https://github.com/guansss) + ## 2025-02-06 - 支持作业集内排序 [@hmydgz](https://github.com/hmydgz)