feat(game): 重构游戏组件并新增自动设置模态框

- 将多个组件中的背景图片样式替换为 SmartBackground 组件
- 在 CenterModal 中新增 isShowClose 属性控制关闭按钮显示
- 新增 DesktopAutoSettingModal 组件实现自动设置功能
- 新增 DesktopProceduresModal 和 DesktopWithdrawTopupModal 组件
- 配置 shadcn/ui 并集成 Geist 字体和动画库
- 更新 CSS 样式添加暗色主题变量和输入框样式
- 修复 utils 导入路径错误问题
This commit is contained in:
JiaJun
2026-05-08 17:56:06 +08:00
parent 9ee3192c49
commit 7622d4121f
35 changed files with 4184 additions and 137 deletions

View File

@@ -1,26 +1,26 @@
import statusCenter from '@/assets/system/status-center.webp'
import statusLine from '@/assets/system/status-line.webp'
import { SmartBackground } from '@/components/smart-background.tsx'
import { DesktopCountdown } from '@/features/game/components/desktop/desktop-countdown.tsx'
import { DesktopTitle } from '@/features/game/components/desktop/desktop-title.tsx'
export function DesktopStatusLine() {
return (
<div className={'relative w-full flex flex-col text-design-22'}>
<div
<SmartBackground
src={statusLine}
size="100% 100%"
className="w-full h-design-60 bg-no-repeat bg-center flex items-center justify-center"
style={{
backgroundImage: `url(${statusLine})`,
backgroundSize: '100% 100%',
}}
>
<div className={'flex-1 flex items-center justify-center'}>
<div>Odds: 1:33</div>
<div>Streak: X2</div>
<div>Limit: 100</div>
</div>
<div
<SmartBackground
src={statusCenter}
className="w-design-360 h-[105px] font-countdown bg-no-repeat bg-center bg-contain flex items-center justify-center"
style={{ backgroundImage: `url(${statusCenter})` }}
size="contain"
>
<DesktopCountdown
initialSeconds={30}
@@ -28,7 +28,7 @@ export function DesktopStatusLine() {
console.log('countdown finished')
}}
/>
</div>
</SmartBackground>
<div className={'flex-1 flex items-center justify-center gap-10'}>
<div>Round ID:20241026120</div>
<div className={'flex items-center gap-2'}>
@@ -41,7 +41,7 @@ export function DesktopStatusLine() {
<div>(Menerima Taruhan)</div>
</div>
</div>
</div>
</SmartBackground>
<div
className={
'absolute top-design-60 left-1/2 -translate-x-1/2 -z-10 w-full px-design-16'