From a0e3f1b355c4204aaf536d93cb956f0c56c8f244 Mon Sep 17 00:00:00 2001 From: Vick Scarlet Date: Sat, 15 Aug 2026 18:16:38 +0800 Subject: [PATCH] update: character allocation --- apps/web/src/containers/Alloc.css | 8 ++- apps/web/src/containers/Alloc.tsx | 47 +++++++++++------ apps/web/src/containers/Chara.tsx | 8 +-- apps/web/src/containers/Summary.tsx | 9 +++- apps/web/src/styles/common.css | 2 - packages/core/src/character.ts | 19 +++---- packages/hooks/src/alloc.ts | 82 +++++++++++++++++++++-------- packages/hooks/src/character.ts | 32 +++++------ packages/hooks/src/play.ts | 14 +++-- packages/vitex/index.ts | 9 ++++ 10 files changed, 149 insertions(+), 81 deletions(-) diff --git a/apps/web/src/containers/Alloc.css b/apps/web/src/containers/Alloc.css index 65605bf..3c75ac2 100644 --- a/apps/web/src/containers/Alloc.css +++ b/apps/web/src/containers/Alloc.css @@ -80,8 +80,8 @@ > span { width: 100%; height: calc(2rem * var(--ratio)); - color: var(--base-background-color); - background: var(--grade-color); + color: var(--grade-color); + background: var(--base-background-color); border: 0.0625rem solid var(--grade-color); border-bottom: none; display: flex; @@ -91,6 +91,10 @@ font-weight: bold; transition: all 0.2s ease-in-out; } + > span.name { + color: var(--base-background-color); + background: var(--grade-color); + } } > li.left { --left-color: var(--color-error); diff --git a/apps/web/src/containers/Alloc.tsx b/apps/web/src/containers/Alloc.tsx index 0b06b4e..c38b42e 100644 --- a/apps/web/src/containers/Alloc.tsx +++ b/apps/web/src/containers/Alloc.tsx @@ -1,10 +1,10 @@ import { useState } from 'react' import { useAllocator, usePointRandomizer, useLeftPoints } from '@remake/hooks' -import { usePicked, useReplaced, useStart } from '@remake/hooks' +import { usePicked, useReplaced, useStart, useIsClassic } from '@remake/hooks' import type { AdditionalPoint } from '@remake/hooks' import { properties } from '@/display' import { keys } from '@remake/vitex' -import { BasePoints, judgeGradeByValue } from '@/config' +import { judgeGradeByValue } from '@/config' import { talents } from '@remake/data' import Replaced from '@/components/Replaced' import './Alloc.css' @@ -30,15 +30,17 @@ function AllocInput(props: AllocInputProps) { } interface PointsDetailProps { + base: number source: AdditionalPoint[] + fixed?: boolean } -function PointsDetail({ source }: PointsDetailProps) { +function PointsDetail({ base, source, fixed }: PointsDetailProps) { return ( -