diff --git a/apps/expo/features/feed/components/PostCard.tsx b/apps/expo/features/feed/components/PostCard.tsx index fdabdc2f99..831b1fe45a 100644 --- a/apps/expo/features/feed/components/PostCard.tsx +++ b/apps/expo/features/feed/components/PostCard.tsx @@ -69,10 +69,9 @@ export const PostCard: React.FC = ({ post, onLike, onDelete, curr showsHorizontalScrollIndicator={false} style={styles.imageScroll} > - {post.images.map((img, idx) => ( - // biome-ignore lint/suspicious/noArrayIndexKey: images have no stable id + {post.images.map((img) => ( - {post.images.map((img, idx) => ( - // biome-ignore lint/suspicious/noArrayIndexKey: images have no stable id + {post.images.map((img) => ( - - - - - - - - - {displayTitle} - {subtitle && {subtitle}} - - - - {/* */} - + + + + + + + + {displayTitle} + {subtitle && {subtitle}} + - - {hasLocations ? ( - - {locations.map((location) => ( - setSelectedLocation(location)} - className={cn( - 'flex-row items-center rounded-lg p-2 border border-border bg-card', - location.id === selectedLocation?.id && 'border-primary', + + {/* */} + + + + + {hasLocations ? ( + + {locations.map((location) => ( + setSelectedLocation(location)} + className={cn( + 'flex-row items-center rounded-lg p-2 border border-border bg-card', + location.id === selectedLocation?.id && 'border-primary', + )} + style={({ pressed }) => (pressed ? { opacity: 0.7 } : {})} + > + + + + + {location.name} + {location.condition} + + + {location.id === activeLocation?.id && ( + <> + {t('common.default')} + + )} - style={({ pressed }) => (pressed ? { opacity: 0.7 } : {})} - > - - - - - {location.name} - {location.condition} - - - {location.id === activeLocation?.id && ( - <> - {t('common.default')} - - - )} - {location.temperature}° - - - ))} + {location.temperature}° + + + ))} + + ) : ( + + + - ) : ( - - - - - - {t('weather.noSavedLocations')} - - {t('weather.addLocation')} - - - + + {t('weather.noSavedLocations')} + + {t('weather.addLocation')} + - )} - - - {onSkip && ( - - )} + + )} + + + {onSkip && ( - - - - + )} + + + + ); } diff --git a/packages/analytics/src/core/spec-parser.ts b/packages/analytics/src/core/spec-parser.ts index 0ac65dc3cb..f85c3b374d 100644 --- a/packages/analytics/src/core/spec-parser.ts +++ b/packages/analytics/src/core/spec-parser.ts @@ -111,13 +111,13 @@ export function parseTempRatingF(text: string): number | null { // Range: take lower bound ("20/30F" → 20F) const range = TEMP_RANGE.exec(text); if (range?.[1] !== undefined && range[2] !== undefined && range[3] !== undefined) { - const lower = Math.min(Number.parseInt(range[1]), Number.parseInt(range[2])); + const lower = Math.min(Number.parseInt(range[1], 10), Number.parseInt(range[2], 10)); return toFahrenheit(lower, range[3]); } const single = TEMP_SINGLE.exec(text); if (single?.[1] !== undefined && single[2] !== undefined) { - return toFahrenheit(Number.parseInt(single[1]), single[2]); + return toFahrenheit(Number.parseInt(single[1], 10), single[2]); } return null; } @@ -125,7 +125,7 @@ export function parseTempRatingF(text: string): number | null { export function parseFillPower(text: string): number | null { const match = FILL_POWER.exec(text); if (match?.[1] !== undefined) { - const val = Number.parseInt(match[1]); + const val = Number.parseInt(match[1], 10); return val >= 300 && val <= 1200 ? val : null; } return null; @@ -134,7 +134,7 @@ export function parseFillPower(text: string): number | null { export function parseWaterproofRating(text: string): number | null { const match = WATERPROOF.exec(text); if (match?.[1] !== undefined) { - const raw = Number.parseInt(match[1].replace(/,/g, '')); + const raw = Number.parseInt(match[1].replace(/,/g, ''), 10); // If "k" or "K" prefix was captured in the regex (e.g., "20k mm"), multiply by 1000 const hasKMultiplier = /(\d[\d,]*)\s*k\s*mm\b/i.exec(text); return hasKMultiplier ? raw * 1000 : raw;