Add CatIcon component and update app icon

- Introduced a new CatIcon component in TypeScript using React Native and SVG.
- The CatIcon supports customizable size, color, and optional background.
- Updated the app's icon image located at mobile/assets/icon.png.
This commit is contained in:
2026-03-14 15:07:55 -03:00
parent 73289b461f
commit d1eabfb690
8 changed files with 264 additions and 14 deletions
+4 -14
View File
@@ -11,6 +11,7 @@ import { Button } from '@presentation/components/ui/Button';
import { colors, typography, spacing } from '@shared/theme';
import { loginUseCase } from '@infrastructure/container';
import { useAuthStore } from '@store/authStore';
import { CatIcon } from '@presentation/components/icons/CatIcon';
const schema = z.object({
email: z.string().email('E-mail inválido'),
@@ -64,9 +65,7 @@ export default function LoginScreen(): React.ReactElement {
<Screen scrollable keyboardAvoiding>
{/* Logo */}
<View style={styles.hero}>
<View style={styles.logoContainer}>
<Ionicons name="paw" size={48} color={colors.accent} />
</View>
<CatIcon size={48} color="#1E1B18" withBackground backgroundColor={colors.accent} />
<Text style={styles.appName}>MeowSpool</Text>
<Text style={styles.tagline}>Gerencie seus filamentos com precisão.</Text>
</View>
@@ -78,7 +77,7 @@ export default function LoginScreen(): React.ReactElement {
name="email"
render={({ field }) => (
<Input
label="E-MAIL"
label="E-mail"
placeholder="seu@email.com"
keyboardType="email-address"
autoComplete="email"
@@ -95,7 +94,7 @@ export default function LoginScreen(): React.ReactElement {
name="password"
render={({ field }) => (
<Input
label="SENHA"
label="Senha"
placeholder="••••••••"
isPassword
leftIcon={<Ionicons name="lock-closed-outline" size={18} color={colors.textSecondary} />}
@@ -149,15 +148,6 @@ const styles = StyleSheet.create({
paddingBottom: spacing[10],
gap: spacing[2],
},
logoContainer: {
width: 80,
height: 80,
borderRadius: 20,
backgroundColor: colors.bgSurface,
alignItems: 'center',
justifyContent: 'center',
marginBottom: spacing[2],
},
appName: {
fontFamily: typography.fontFamily.ui,
fontSize: typography.fontSize['2xl'],