import { useAchv, useGoHome } from '@remake/hooks'
import { judge, judgeGrade, judgeGradeByValue } from '@/config'
import { rates } from '@/display'
import { achievements, type Achievement } from '@remake/data'
import './Achv.css'
interface AchievementProps {
id: Achievement['id']
colled: boolean
}
export function AchievementItem({ id, colled }: AchievementProps) {
const { name, grade, description, hide } = achievements.get(id)!
return (
{hide && !colled ? '???' : name}
{hide && !colled ? '???' : description}
)
}
export function Achv() {
const goHome = useGoHome()
const [stats, sorted] = useAchv()
const jtimes = judge('times', stats.times)
const gtimes = judgeGrade('times', jtimes)
const jachv = judge('achievements', stats.achv)
const gachv = judgeGrade('achievements', jachv)
const gevent = judgeGradeByValue('event', stats.event)
const revent = stats.event.toFixed(2) + '%'
const gtalent = judgeGradeByValue('talent', stats.talent)
const rtalent = stats.talent.toFixed(2) + '%'
return (
统计
已重开{stats.times}次
{rates.times[jtimes]}
已收集成就{stats.achv}个
{rates.achievement[jachv]}
事件收集率
{revent}
天赋收集率
{rtalent}
成就
{sorted.map(({ id, colled }) => (
))}
)
}
export default Achv