Browse Source

feat: 首页更新

master
echo 4 weeks ago
parent
commit
54bf84b19b
  1. 30
      README.md
  2. 28
      app/(tabs)/demo.tsx
  3. 27
      app/(tabs)/paper.tsx
  4. 71
      app/theme-example.tsx
  5. 123
      app/theme-test.tsx
  6. BIN
      assets/images/game/blockThird/color_1390.png
  7. BIN
      assets/images/game/blockThird/color_1391.png
  8. BIN
      assets/images/game/blockThird/color_1392.png
  9. BIN
      assets/images/game/blockThird/color_1560.png
  10. BIN
      assets/images/game/blockThird/h_1390.png
  11. BIN
      assets/images/game/blockThird/h_1391.png
  12. BIN
      assets/images/game/blockThird/h_1391.webp
  13. BIN
      assets/images/game/blockThird/h_1392.png
  14. BIN
      assets/images/game/blockThird/h_1560.png
  15. BIN
      assets/images/game/blockThird/m_1390.png
  16. BIN
      assets/images/game/blockThird/m_1390.webp
  17. BIN
      assets/images/game/blockThird/m_1391.png
  18. BIN
      assets/images/game/blockThird/m_1391.webp
  19. BIN
      assets/images/game/blockThird/m_1392.png
  20. BIN
      assets/images/game/blockThird/m_1392.webp
  21. BIN
      assets/images/game/blockThird/m_1560.png
  22. BIN
      assets/images/game/chess/color_1033.png
  23. BIN
      assets/images/game/chess/color_1036.png
  24. BIN
      assets/images/game/chess/color_1383.png
  25. BIN
      assets/images/game/chess/color_1537.png
  26. BIN
      assets/images/game/chess/color_1537.webp
  27. BIN
      assets/images/game/chess/color_297.png
  28. BIN
      assets/images/game/chess/color_299.png
  29. BIN
      assets/images/game/chess/color_382.png
  30. BIN
      assets/images/game/chess/color_388.png
  31. BIN
      assets/images/game/chess/color_393.png
  32. BIN
      assets/images/game/chess/color_394.png
  33. BIN
      assets/images/game/chess/color_401.png
  34. BIN
      assets/images/game/chess/color_404.png
  35. BIN
      assets/images/game/chess/color_417.png
  36. BIN
      assets/images/game/chess/color_506.png
  37. BIN
      assets/images/game/chess/color_709.png
  38. BIN
      assets/images/game/chess/color_744.png
  39. BIN
      assets/images/game/chess/color_745.png
  40. BIN
      assets/images/game/chess/color_746.png
  41. BIN
      assets/images/game/chess/color_927.png
  42. BIN
      assets/images/game/chess/color_928.png
  43. BIN
      assets/images/game/chess/dark_1383.png
  44. BIN
      assets/images/game/chess/dark_297.png
  45. BIN
      assets/images/game/chess/dark_299.png
  46. BIN
      assets/images/game/chess/dark_382.png
  47. BIN
      assets/images/game/chess/dark_388.png
  48. BIN
      assets/images/game/chess/dark_388.webp
  49. BIN
      assets/images/game/chess/dark_393.png
  50. BIN
      assets/images/game/chess/dark_394.png
  51. BIN
      assets/images/game/chess/dark_401.png
  52. BIN
      assets/images/game/chess/dark_404.png
  53. BIN
      assets/images/game/chess/dark_417.png
  54. BIN
      assets/images/game/chess/dark_506.png
  55. BIN
      assets/images/game/chess/dark_709.png
  56. BIN
      assets/images/game/chess/dark_744.png
  57. BIN
      assets/images/game/chess/dark_745.png
  58. BIN
      assets/images/game/chess/dark_746.png
  59. BIN
      assets/images/game/chess/dark_927.png
  60. BIN
      assets/images/game/chess/dark_928.png
  61. BIN
      assets/images/game/chess/h_1036.png
  62. BIN
      assets/images/game/chess/h_1036.webp
  63. BIN
      assets/images/game/chess/h_1383.png
  64. BIN
      assets/images/game/chess/h_1383.webp
  65. BIN
      assets/images/game/chess/h_1537.png
  66. BIN
      assets/images/game/chess/h_1537.webp
  67. BIN
      assets/images/game/chess/h_297.png
  68. BIN
      assets/images/game/chess/h_297.webp
  69. BIN
      assets/images/game/chess/h_299.png
  70. BIN
      assets/images/game/chess/h_299.webp
  71. BIN
      assets/images/game/chess/h_382.png
  72. BIN
      assets/images/game/chess/h_382.webp
  73. BIN
      assets/images/game/chess/h_388.png
  74. BIN
      assets/images/game/chess/h_388.webp
  75. BIN
      assets/images/game/chess/h_393.png
  76. BIN
      assets/images/game/chess/h_393.webp
  77. BIN
      assets/images/game/chess/h_394.png
  78. BIN
      assets/images/game/chess/h_394.webp
  79. BIN
      assets/images/game/chess/h_401.png
  80. BIN
      assets/images/game/chess/h_401.webp
  81. BIN
      assets/images/game/chess/h_404.png
  82. BIN
      assets/images/game/chess/h_404.webp
  83. BIN
      assets/images/game/chess/h_506.png
  84. BIN
      assets/images/game/chess/h_506.webp
  85. BIN
      assets/images/game/chess/h_709.png
  86. BIN
      assets/images/game/chess/h_709.webp
  87. BIN
      assets/images/game/chess/h_744.png
  88. BIN
      assets/images/game/chess/h_744.webp
  89. BIN
      assets/images/game/chess/h_745.png
  90. BIN
      assets/images/game/chess/h_745.webp
  91. BIN
      assets/images/game/chess/h_746.png
  92. BIN
      assets/images/game/chess/h_746.webp
  93. BIN
      assets/images/game/chess/h_927.png
  94. BIN
      assets/images/game/chess/h_927.webp
  95. BIN
      assets/images/game/chess/h_928.png
  96. BIN
      assets/images/game/chess/h_928.webp
  97. BIN
      assets/images/game/chess/light_1383.png
  98. BIN
      assets/images/game/chess/light_297.png
  99. BIN
      assets/images/game/chess/light_299.png
  100. BIN
      assets/images/game/chess/light_382.png
  101. Some files were not shown because too many files have changed in this diff Show More

30
README.md

@ -301,17 +301,17 @@ rn-demo/
项目已安装并配置好以下工具库:
| 类别 | 工具库 | 用途 | 状态 |
| ------------ | ----------------------------------------- | ------------------- | ---- |
| **工具类** | lodash-es | JavaScript 工具函数 | ✅ |
| | dayjs | 日期处理 | ✅ |
| | axios | HTTP 请求 | ✅ |
| **状态管理** | zustand | 轻量级状态管理 | ✅ |
| **表单处理** | react-hook-form | 表单管理 | ✅ |
| | zod | 数据验证 | ✅ |
| **原生功能** | @react-native-async-storage/async-storage | 本地存储 | ✅ |
| | expo-image | 优化的图片组件 | ✅ |
| | expo-haptics | 触觉反馈 | ✅ |
| 类别 | 工具库 | 用途 | 状态 |
| ------------ | ----------------------------------------- | -------------------- | ---- |
| **工具类** | lodash-es | JavaScript 工具函数 | ✅ |
| | dayjs | 日期处理 | ✅ |
| | axios | HTTP 请求 | ✅ |
| **状态管理** | zustand | 轻量级状态管理 | ✅ |
| **表单处理** | react-hook-form | 表单管理 | ✅ |
| | zod | 数据验证 | ✅ |
| **原生功能** | @react-native-async-storage/async-storage | 本地存储 | ✅ |
| | expo-image | 优化的图片组件 | ✅ |
| | expo-haptics | 触觉反馈 | ✅ |
| **UI 组件** | react-native-paper | Material Design 组件 | ✅ |
### 快速开始
@ -325,7 +325,13 @@ rn-demo/
import { Storage, SessionStorage, StorageManager, formatDate } from '@/utils';
import { useUser, useTheme, useLanguage } from '@/stores';
import { authService, userService } from '@/services';
import { useDebounce, useHaptics, useColorScheme, useThemeColors, useClientOnlyValue } from '@/hooks';
import {
useDebounce,
useHaptics,
useColorScheme,
useThemeColors,
useClientOnlyValue,
} from '@/hooks';
import { loginSchema } from '@/schemas';
// ✅ 主题系统:统一从 theme 目录导入 🎯 NEW!

28
app/(tabs)/demo.tsx

@ -28,7 +28,7 @@ import {
STORAGE_KEYS,
formatDate,
formatRelativeTime,
formatChatTime
formatChatTime,
} from '@/utils';
// 状态管理
@ -266,7 +266,7 @@ export default function DemoScreen() {
const handleThemeChange = () => {
haptics.selection();
const themes: Array<'light' | 'dark' | 'auto'> = ['light', 'dark', 'auto'];
const currentIndex = themes.indexOf(theme);
const currentIndex = themes.indexOf(theme as 'light' | 'dark' | 'auto');
const nextTheme = themes[(currentIndex + 1) % themes.length];
setTheme(nextTheme);
};
@ -296,9 +296,7 @@ export default function DemoScreen() {
>
<Text style={styles.buttonText}> </Text>
</TouchableOpacity>
<Text style={styles.infoText}>
tabs
</Text>
<Text style={styles.infoText}> tabs</Text>
<TouchableOpacity
style={[styles.button, { backgroundColor: '#9333ea', marginTop: 12 }]}
@ -309,9 +307,7 @@ export default function DemoScreen() {
>
<Text style={styles.buttonText}>🎨 </Text>
</TouchableOpacity>
<Text style={styles.infoText}>
</Text>
<Text style={styles.infoText}></Text>
<TouchableOpacity
style={[styles.button, { backgroundColor: '#06b6d4', marginTop: 12 }]}
@ -322,26 +318,18 @@ export default function DemoScreen() {
>
<Text style={styles.buttonText}>📚 </Text>
</TouchableOpacity>
<Text style={styles.infoText}>
使 CSS
</Text>
<Text style={styles.infoText}>使 CSS </Text>
</View>
{/* 租户信息显示 */}
<View style={styles.section}>
<Text style={styles.sectionTitle}>🏢 </Text>
<Text style={styles.infoText}>
: {tenantLoad ? '✅ 已加载' : '❌ 未加载'}
</Text>
<Text style={styles.infoText}>: {tenantLoad ? '✅ 已加载' : '❌ 未加载'}</Text>
{tenantInfo ? (
<>
<Text style={styles.infoText}>TID: {tenantInfo.tid || '无'}</Text>
<Text style={styles.infoText}>
: {tenantInfo.create_time || '无'}
</Text>
<Text style={styles.infoText}>
: {tenantInfo.domain_addr || '无'}
</Text>
<Text style={styles.infoText}>: {tenantInfo.create_time || '无'}</Text>
<Text style={styles.infoText}>: {tenantInfo.domain_addr || '无'}</Text>
</>
) : null}
</View>

27
app/(tabs)/paper.tsx

@ -82,7 +82,11 @@ export default function PaperDemo() {
🔘
</Text>
<View style={styles.buttonRow}>
<Button mode="contained" onPress={() => setSnackbarVisible(true)} style={{ marginRight: 8 }}>
<Button
mode="contained"
onPress={() => setSnackbarVisible(true)}
style={{ marginRight: 8 }}
>
Contained
</Button>
<Button mode="outlined" onPress={() => setSnackbarVisible(true)}>
@ -90,7 +94,11 @@ export default function PaperDemo() {
</Button>
</View>
<View style={styles.buttonRow}>
<Button mode="text" onPress={() => setSnackbarVisible(true)} style={{ marginRight: 8 }}>
<Button
mode="text"
onPress={() => setSnackbarVisible(true)}
style={{ marginRight: 8 }}
>
Text
</Button>
<Button mode="elevated" onPress={() => setSnackbarVisible(true)} icon="camera">
@ -140,10 +148,21 @@ export default function PaperDemo() {
<Chip icon="star" onPress={() => {}} style={{ marginRight: 8, marginBottom: 8 }}>
</Chip>
<Chip icon="heart" mode="outlined" onPress={() => {}} style={{ marginRight: 8, marginBottom: 8 }}>
<Chip
icon="heart"
mode="outlined"
onPress={() => {}}
style={{ marginRight: 8, marginBottom: 8 }}
>
</Chip>
<Chip icon="close" onPress={() => {}} onClose={() => {}} closeIcon="close-circle" style={{ marginBottom: 8 }}>
<Chip
icon="close"
onPress={() => {}}
onClose={() => {}}
closeIcon="close-circle"
style={{ marginBottom: 8 }}
>
</Chip>
</View>

71
app/theme-example.tsx

@ -1,6 +1,6 @@
/**
* 使
*
*
* 使
*/
@ -78,9 +78,7 @@ export default function ThemeExampleScreen() {
<ScrollView style={s.containerPadded}>
{/* 自定义样式示例 */}
<View style={custom.header}>
<Text style={custom.headerText}>
使
</Text>
<Text style={custom.headerText}>使</Text>
<Text style={[custom.headerText, { fontSize: 14, marginTop: 8 }]}>
: {theme} {isDark ? '🌙' : '☀'}
</Text>
@ -88,9 +86,7 @@ export default function ThemeExampleScreen() {
{/* 方式 1: 使用主题组件 */}
<View style={custom.section}>
<Text style={custom.sectionTitle}>
1: 使用主题组件
</Text>
<Text style={custom.sectionTitle}> 1: 使用主题组件</Text>
<ThemedView style={{ padding: 12, borderRadius: 6 }}>
<ThemedText type="title"></ThemedText>
<ThemedText type="subtitle"></ThemedText>
@ -109,9 +105,7 @@ export default function ThemeExampleScreen() {
{/* 方式 2: 使用通用样式类 */}
<View style={custom.section}>
<Text style={custom.sectionTitle}>
2: 使用通用样式类 CSS
</Text>
<Text style={custom.sectionTitle}> 2: 使用通用样式类 CSS </Text>
<View style={s.card}>
<Text style={s.textTitle}></Text>
<Text style={s.textSecondary}></Text>
@ -143,9 +137,7 @@ const s = commonStyles[theme];
{/* 方式 3: 使用自定义主题样式 */}
<View style={custom.section}>
<Text style={custom.sectionTitle}>
3: 使用自定义主题样式
</Text>
<Text style={custom.sectionTitle}> 3: 使用自定义主题样式</Text>
<View style={{ padding: 12 }}>
<Text style={{ color: colors.text }}>
header section 使
@ -176,14 +168,14 @@ const theme = useColorScheme();
{/* 方式 4: 使用 Hooks + 内联样式 */}
<View style={custom.section}>
<Text style={custom.sectionTitle}>
4: 使用 Hooks +
</Text>
<View style={{
backgroundColor: colors.backgroundSecondary,
padding: 16,
borderRadius: 8,
}}>
<Text style={custom.sectionTitle}> 4: 使用 Hooks + </Text>
<View
style={{
backgroundColor: colors.backgroundSecondary,
padding: 16,
borderRadius: 8,
}}
>
<Text style={{ color: colors.text, fontSize: 16 }}>
使 useThemeColors()
</Text>
@ -212,9 +204,7 @@ const colors = useThemeColors();
{/* 颜色展示 */}
<View style={custom.section}>
<Text style={custom.sectionTitle}>
</Text>
<Text style={custom.sectionTitle}></Text>
<View style={{ flexDirection: 'row', flexWrap: 'wrap', gap: 8 }}>
{Object.entries(colors).map(([key, value]) => (
<View
@ -228,21 +218,27 @@ const colors = useThemeColors();
borderColor: colors.border,
}}
>
<Text style={{
color: key.includes('background') || key.includes('card') || key.includes('input')
? colors.text
: '#FFFFFF',
fontSize: 10,
fontWeight: '600',
}}>
<Text
style={{
color:
key.includes('background') || key.includes('card') || key.includes('input')
? colors.text
: '#FFFFFF',
fontSize: 10,
fontWeight: '600',
}}
>
{key}
</Text>
<Text style={{
color: key.includes('background') || key.includes('card') || key.includes('input')
? colors.textSecondary
: '#FFFFFF',
fontSize: 8,
}}>
<Text
style={{
color:
key.includes('background') || key.includes('card') || key.includes('input')
? colors.textSecondary
: '#FFFFFF',
fontSize: 8,
}}
>
{value}
</Text>
</View>
@ -256,4 +252,3 @@ const colors = useThemeColors();
</>
);
}

123
app/theme-test.tsx

@ -1,4 +1,11 @@
import { StyleSheet, ScrollView, TouchableOpacity, View, Text, useColorScheme as useSystemColorScheme } from 'react-native';
import {
StyleSheet,
ScrollView,
TouchableOpacity,
View,
Text,
useColorScheme as useSystemColorScheme,
} from 'react-native';
import { Stack } from 'expo-router';
import { useState, useEffect, useMemo } from 'react';
import { useTheme, useSettingsStore } from '@/stores';
@ -17,7 +24,9 @@ export default function ThemeTestScreen() {
// 直接计算实际应用的主题 - 不使用 useColorScheme hook
const actualTheme: 'light' | 'dark' = useMemo(() => {
return currentTheme === 'auto'
? (systemColorScheme === 'dark' ? 'dark' : 'light')
? systemColorScheme === 'dark'
? 'dark'
: 'light'
: currentTheme;
}, [currentTheme, systemColorScheme]);
@ -30,7 +39,7 @@ export default function ThemeTestScreen() {
// 监听主题变化
useEffect(() => {
console.log('🎨 Theme changed:', { currentTheme, systemColorScheme, actualTheme, renderKey });
setRenderKey(prev => prev + 1);
setRenderKey((prev) => prev + 1);
}, [currentTheme, systemColorScheme, actualTheme]);
const handleThemeChange = (newTheme: 'light' | 'dark' | 'auto') => {
@ -50,14 +59,10 @@ export default function ThemeTestScreen() {
headerTintColor: colors.text,
}}
/>
<ScrollView
style={[styles.container, { backgroundColor: colors.background }]}
>
<ScrollView style={[styles.container, { backgroundColor: colors.background }]}>
{/* 主题信息 */}
<View style={[styles.section, { backgroundColor: colors.backgroundSecondary }]}>
<Text style={[styles.title, { color: colors.text }]}>
</Text>
<Text style={[styles.title, { color: colors.text }]}></Text>
<Text style={[styles.infoText, { color: colors.textSecondary }]}>
: {currentTheme}
</Text>
@ -74,24 +79,25 @@ export default function ThemeTestScreen() {
{/* 主题切换按钮 */}
<View style={[styles.section, { backgroundColor: colors.backgroundSecondary }]}>
<Text style={[styles.title, { color: colors.text }]}>
</Text>
<Text style={[styles.title, { color: colors.text }]}></Text>
<View style={styles.buttonRow}>
<TouchableOpacity
style={[
styles.themeButton,
{
backgroundColor: currentTheme === 'light' ? colors.primary : colors.backgroundTertiary,
backgroundColor:
currentTheme === 'light' ? colors.primary : colors.backgroundTertiary,
borderColor: colors.border,
}
},
]}
onPress={() => handleThemeChange('light')}
>
<Text style={[
styles.buttonText,
{ color: currentTheme === 'light' ? '#fff' : colors.text }
]}>
<Text
style={[
styles.buttonText,
{ color: currentTheme === 'light' ? '#fff' : colors.text },
]}
>
</Text>
</TouchableOpacity>
@ -100,16 +106,19 @@ export default function ThemeTestScreen() {
style={[
styles.themeButton,
{
backgroundColor: currentTheme === 'dark' ? colors.primary : colors.backgroundTertiary,
backgroundColor:
currentTheme === 'dark' ? colors.primary : colors.backgroundTertiary,
borderColor: colors.border,
}
},
]}
onPress={() => handleThemeChange('dark')}
>
<Text style={[
styles.buttonText,
{ color: currentTheme === 'dark' ? '#fff' : colors.text }
]}>
<Text
style={[
styles.buttonText,
{ color: currentTheme === 'dark' ? '#fff' : colors.text },
]}
>
🌙
</Text>
</TouchableOpacity>
@ -118,16 +127,19 @@ export default function ThemeTestScreen() {
style={[
styles.themeButton,
{
backgroundColor: currentTheme === 'auto' ? colors.primary : colors.backgroundTertiary,
backgroundColor:
currentTheme === 'auto' ? colors.primary : colors.backgroundTertiary,
borderColor: colors.border,
}
},
]}
onPress={() => handleThemeChange('auto')}
>
<Text style={[
styles.buttonText,
{ color: currentTheme === 'auto' ? '#fff' : colors.text }
]}>
<Text
style={[
styles.buttonText,
{ color: currentTheme === 'auto' ? '#fff' : colors.text },
]}
>
🔄
</Text>
</TouchableOpacity>
@ -136,9 +148,7 @@ export default function ThemeTestScreen() {
{/* 文本颜色展示 */}
<View style={[styles.section, { backgroundColor: colors.backgroundSecondary }]}>
<Text style={[styles.title, { color: colors.text }]}>
</Text>
<Text style={[styles.title, { color: colors.text }]}></Text>
<Text style={[styles.colorText, { color: colors.text }]}>
Primary Text - {colors.text}
</Text>
@ -152,15 +162,22 @@ export default function ThemeTestScreen() {
{/* 背景颜色展示 */}
<View style={[styles.section, { backgroundColor: colors.backgroundSecondary }]}>
<Text style={[styles.title, { color: colors.text }]}>
</Text>
<Text style={[styles.title, { color: colors.text }]}></Text>
<View style={[styles.colorBox, { backgroundColor: colors.background }]}>
<Text style={[styles.colorText, { color: colors.text }]}>
Primary Background - {colors.background}
</Text>
</View>
<View style={[styles.colorBox, { backgroundColor: colors.backgroundSecondary, borderWidth: 1, borderColor: colors.border }]}>
<View
style={[
styles.colorBox,
{
backgroundColor: colors.backgroundSecondary,
borderWidth: 1,
borderColor: colors.border,
},
]}
>
<Text style={[styles.colorText, { color: colors.text }]}>
Secondary Background - {colors.backgroundSecondary}
</Text>
@ -174,15 +191,15 @@ export default function ThemeTestScreen() {
{/* 主题颜色展示 */}
<View style={[styles.section, { backgroundColor: colors.backgroundSecondary }]}>
<Text style={[styles.title, { color: colors.text }]}>
</Text>
<Text style={[styles.title, { color: colors.text }]}></Text>
<View style={styles.colorGrid}>
<View style={[styles.colorBox, { backgroundColor: colors.primary }]}>
<Text style={[styles.colorText, { color: '#fff' }]}>Primary - {colors.primary}</Text>
</View>
<View style={[styles.colorBox, { backgroundColor: colors.secondary }]}>
<Text style={[styles.colorText, { color: '#fff' }]}>Secondary - {colors.secondary}</Text>
<Text style={[styles.colorText, { color: '#fff' }]}>
Secondary - {colors.secondary}
</Text>
</View>
<View style={[styles.colorBox, { backgroundColor: colors.success }]}>
<Text style={[styles.colorText, { color: '#fff' }]}>Success - {colors.success}</Text>
@ -201,30 +218,27 @@ export default function ThemeTestScreen() {
{/* UI 元素展示 */}
<View style={[styles.section, { backgroundColor: colors.backgroundSecondary }]}>
<Text style={[styles.title, { color: colors.text }]}>
UI
</Text>
<Text style={[styles.title, { color: colors.text }]}>UI </Text>
<View style={[styles.card, { backgroundColor: colors.card, borderColor: colors.border }]}>
<Text style={[styles.cardText, { color: colors.text }]}>
</Text>
<Text style={[styles.cardText, { color: colors.text }]}></Text>
<Text style={[styles.cardSubtext, { color: colors.textSecondary }]}>
: {colors.card}
</Text>
</View>
<View style={[styles.input, { backgroundColor: colors.inputBackground, borderColor: colors.inputBorder }]}>
<Text style={[styles.inputText, { color: colors.textSecondary }]}>
</Text>
<View
style={[
styles.input,
{ backgroundColor: colors.inputBackground, borderColor: colors.inputBorder },
]}
>
<Text style={[styles.inputText, { color: colors.textSecondary }]}></Text>
</View>
<View style={[styles.separator, { backgroundColor: colors.separator }]} />
<TouchableOpacity style={[styles.button, { backgroundColor: colors.buttonPrimary }]}>
<Text style={[styles.buttonText, { color: '#fff' }]}>
</Text>
<Text style={[styles.buttonText, { color: '#fff' }]}></Text>
</TouchableOpacity>
</View>
</ScrollView>
@ -314,4 +328,3 @@ const styles = StyleSheet.create({
alignItems: 'center',
},
});

BIN
assets/images/game/blockThird/color_1390.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
assets/images/game/blockThird/color_1391.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
assets/images/game/blockThird/color_1392.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
assets/images/game/blockThird/color_1560.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

BIN
assets/images/game/blockThird/h_1390.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
assets/images/game/blockThird/h_1391.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
assets/images/game/blockThird/h_1391.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

BIN
assets/images/game/blockThird/h_1392.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
assets/images/game/blockThird/h_1560.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

BIN
assets/images/game/blockThird/m_1390.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

BIN
assets/images/game/blockThird/m_1390.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
assets/images/game/blockThird/m_1391.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

BIN
assets/images/game/blockThird/m_1391.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
assets/images/game/blockThird/m_1392.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

BIN
assets/images/game/blockThird/m_1392.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
assets/images/game/blockThird/m_1560.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

BIN
assets/images/game/chess/color_1033.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
assets/images/game/chess/color_1036.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
assets/images/game/chess/color_1383.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
assets/images/game/chess/color_1537.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

BIN
assets/images/game/chess/color_1537.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

BIN
assets/images/game/chess/color_297.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
assets/images/game/chess/color_299.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
assets/images/game/chess/color_382.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
assets/images/game/chess/color_388.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
assets/images/game/chess/color_393.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
assets/images/game/chess/color_394.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
assets/images/game/chess/color_401.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
assets/images/game/chess/color_404.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
assets/images/game/chess/color_417.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
assets/images/game/chess/color_506.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
assets/images/game/chess/color_709.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
assets/images/game/chess/color_744.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
assets/images/game/chess/color_745.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
assets/images/game/chess/color_746.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
assets/images/game/chess/color_927.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
assets/images/game/chess/color_928.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
assets/images/game/chess/dark_1383.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 981 B

BIN
assets/images/game/chess/dark_297.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
assets/images/game/chess/dark_299.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
assets/images/game/chess/dark_382.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
assets/images/game/chess/dark_388.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

BIN
assets/images/game/chess/dark_388.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
assets/images/game/chess/dark_393.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
assets/images/game/chess/dark_394.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
assets/images/game/chess/dark_401.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 940 B

BIN
assets/images/game/chess/dark_404.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
assets/images/game/chess/dark_417.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
assets/images/game/chess/dark_506.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
assets/images/game/chess/dark_709.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
assets/images/game/chess/dark_744.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
assets/images/game/chess/dark_745.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
assets/images/game/chess/dark_746.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

BIN
assets/images/game/chess/dark_927.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

BIN
assets/images/game/chess/dark_928.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
assets/images/game/chess/h_1036.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
assets/images/game/chess/h_1036.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

BIN
assets/images/game/chess/h_1383.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
assets/images/game/chess/h_1383.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
assets/images/game/chess/h_1537.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
assets/images/game/chess/h_1537.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
assets/images/game/chess/h_297.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
assets/images/game/chess/h_297.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
assets/images/game/chess/h_299.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
assets/images/game/chess/h_299.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
assets/images/game/chess/h_382.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
assets/images/game/chess/h_382.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
assets/images/game/chess/h_388.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
assets/images/game/chess/h_388.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
assets/images/game/chess/h_393.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
assets/images/game/chess/h_393.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
assets/images/game/chess/h_394.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
assets/images/game/chess/h_394.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
assets/images/game/chess/h_401.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
assets/images/game/chess/h_401.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
assets/images/game/chess/h_404.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
assets/images/game/chess/h_404.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
assets/images/game/chess/h_506.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
assets/images/game/chess/h_506.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
assets/images/game/chess/h_709.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
assets/images/game/chess/h_709.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
assets/images/game/chess/h_744.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
assets/images/game/chess/h_744.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
assets/images/game/chess/h_745.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
assets/images/game/chess/h_745.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
assets/images/game/chess/h_746.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
assets/images/game/chess/h_746.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
assets/images/game/chess/h_927.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
assets/images/game/chess/h_927.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
assets/images/game/chess/h_928.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
assets/images/game/chess/h_928.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
assets/images/game/chess/light_1383.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
assets/images/game/chess/light_297.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
assets/images/game/chess/light_299.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 980 B

BIN
assets/images/game/chess/light_382.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save