Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/scripts-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:

- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v4
uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: 'chore: update generated assets [skip ci]'
Expand Down
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
## 2025-05-02

- 添加用户名重复校验 [@dragove](https://github.com/dragove)

## 2025-04-19

- 首页作业多选功能 [@guansss](https://github.com/guansss)
- 作业集内自动排序功能 [@guansss](https://github.com/guansss)
- 优化了资源缓存 [@martinwang2002](https://github.com/martinwang2002)

## 2025-04-10

- 修复了搜索时按关卡过滤不够精准的问题 [@Aliothmoon](https://github.com/Aliothmoon)
- 修改作业时会在新标签页打开 [@guansss](https://github.com/guansss)
- 对搜索面板进行了正面优化(确信) [@guansss](https://github.com/guansss)
- 广告更新
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/operator-avatars/char_604_ccast.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion scripts/shared.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ export async function getOperators() {
},
]
}),
(el) => el.name,
(el) => el.id,
).sort((a, b) => {
// 默认的 pinyin.compare() 没有传入 locale 参数,导致在不同的系统上有不同的排序结果,
// 所以这里手动实现一下,并带上 locale
Expand Down
2 changes: 1 addition & 1 deletion src/components/OperatorSelect.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ export const OperatorSelect: FC<OperatorSelectProps> = ({
modifiers.active && Classes.ACTIVE,
selectedItems.includes(item) && Classes.SELECTED,
)}
key={item.name}
key={item.id}
text={
<div className="flex items-center gap-2">
<OperatorAvatar
Expand Down
3 changes: 2 additions & 1 deletion src/components/account/AuthFormShared.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
} from 'react-hook-form'

import { FormField, FormFieldProps } from 'components/FormField'
import { REGEX_EMAIL } from 'utils/regexes'
import { REGEX_EMAIL, REGEX_USERNAME } from 'utils/regexes'

export type RuleKeys = 'email' | 'password' | 'username' | 'registertoken'

Expand All @@ -25,6 +25,7 @@ export const rule: Record<RuleKeys, UseControllerProps['rules']> = {
required: '用户名为必填项',
minLength: { value: 4, message: '用户名长度不能小于 4 位' },
maxLength: { value: 24, message: '用户名长度不能大于 24 位' },
pattern: { value: REGEX_USERNAME, message: '用户名前后不能包含空格' },
},
registertoken: {
required: '邮箱验证码为必填项',
Expand Down
2 changes: 1 addition & 1 deletion src/components/editor/operator/EditorOperator.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ export const EditorOperatorName = <T extends FieldValues>({
onReset={() => onChange('')}
itemRenderer={(item, { handleClick, handleFocus, modifiers }) => (
<MenuItem
key={item.name}
key={'id' in item ? item.id : item.name}
text={item.name}
icon={
isOperator(item) ? (
Expand Down
Loading