Skip to content

Commit 8fced49

Browse files
Merge pull request #1062 from bilkee/feature/performance-and-versioning-updates
Feat: Performance and Versioning Improvements
2 parents 9f810a2 + 048f793 commit 8fced49

11 files changed

Lines changed: 174 additions & 238 deletions

File tree

.github/dependabot.yml

Lines changed: 0 additions & 16 deletions
This file was deleted.

app.config.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { ExpoConfig, ConfigContext } from '@expo/config';
2+
3+
const packageJson = require('./package.json');
4+
5+
export default ({ config }: ConfigContext): ExpoConfig => {
6+
return {
7+
...config,
8+
version: packageJson.version,
9+
ios: {
10+
...config.ios,
11+
buildNumber: String(packageJson.version.split('.')[2]),
12+
},
13+
android: {
14+
...config.android,
15+
versionCode: Number(packageJson.version.replace(/\./g, '')),
16+
},
17+
};
18+
};

app.json

Lines changed: 0 additions & 132 deletions
This file was deleted.

package.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -173,11 +173,8 @@
173173
"yaml": "^2.9.0"
174174
},
175175
"overrides": {
176-
"@tootallnate/once": "^3.0.1",
177176
"brace-expansion": "^1.1.13",
178177
"postcss": "^8.5.12",
179-
"tmp": "^0.2.6",
180-
"ws": "^8.21.0",
181178
"uuid": "^11.0.3"
182179
},
183180
"private": true,
@@ -211,4 +208,4 @@
211208
"optionalDependencies": {
212209
"lightningcss-linux-x64-gnu": "^1.32.0"
213210
}
214-
}
211+
}

renovate.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,16 @@
1010
"dependencies"
1111
],
1212
"packageRules": [
13+
{
14+
"matchUpdateTypes": ["patch"],
15+
"groupName": "patch dependencies",
16+
"groupSlug": "patch-dependencies"
17+
},
18+
{
19+
"matchManagers": ["github-actions"],
20+
"groupName": "GitHub Actions",
21+
"groupSlug": "github-actions"
22+
},
1323
{
1424
"matchUpdateTypes": ["patch"],
1525
"matchDepTypes": ["devDependencies"],
@@ -60,4 +70,4 @@
6070
"commitMessageTopic": "lock file maintenance",
6171
"commitMessageAction": "Update"
6272
}
63-
}
73+
}

src/components/mobile/AchievementBadges.tsx

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ const RARITY_LABELS: Record<BadgeRarity, string> = {
6666
legendary: 'Legendary',
6767
};
6868

69+
import { VirtualList } from './VirtualList';
70+
6971
const AchievementBadgesComponent: React.FC<AchievementBadgesProps> = ({
7072
achievements,
7173
isDark = false,
@@ -83,7 +85,7 @@ const AchievementBadgesComponent: React.FC<AchievementBadgesProps> = ({
8385
announceToScreenReader(`Opening details for ${achievement.name} badge.`);
8486
}, []);
8587

86-
const renderBadge = (achievement: Achievement) => {
88+
const renderBadge = useCallback(({ item: achievement }: { item: Achievement }) => {
8789
const rarity = achievement.rarity ?? 'common';
8890
const gradColors = RARITY_COLORS[rarity];
8991
const isLocked = achievement.isLocked;
@@ -171,7 +173,7 @@ const AchievementBadgesComponent: React.FC<AchievementBadgesProps> = ({
171173
)}
172174
</TouchableOpacity>
173175
);
174-
};
176+
}, [isDark, handleSelectBadge]);
175177

176178
return (
177179
<View style={[styles.container, { backgroundColor: isDark ? '#0f172a' : '#fff' }]}>
@@ -194,15 +196,20 @@ const AchievementBadgesComponent: React.FC<AchievementBadgesProps> = ({
194196
</View>
195197

196198
{achievements.length > 0 ? (
197-
<ScrollView
199+
<VirtualList
200+
data={achievements}
201+
renderItem={renderBadge}
202+
keyExtractor={item => item.id}
198203
horizontal
199204
showsHorizontalScrollIndicator={false}
200205
contentContainerStyle={styles.scrollContent}
201206
accessibilityLabel="Horizontal achievements list"
202207
removeClippedSubviews={true}
203-
>
204-
{achievements.map(renderBadge)}
205-
</ScrollView>
208+
initialNumToRender={5}
209+
maxToRenderPerBatch={5}
210+
windowSize={3}
211+
itemSize={72}
212+
/>
206213
) : (
207214
<View
208215
style={styles.emptyState}
@@ -536,4 +543,4 @@ const styles = StyleSheet.create({
536543
height: '100%',
537544
borderRadius: 3,
538545
},
539-
});
546+
});

0 commit comments

Comments
 (0)