Oi devs! Esse é o primeiro tutorial da série sobre o UI Clone do Ifood :)
Oi devs! Esse é o primeiro tutorial da série sobre o UI Clone do Ifood :) | ||
Para iniciar o aplicativo, deixei aqui uma estrutura inicial nesse link , que será usado no nosso aplicativo. | ||
O tutorial irá conter os seguintes conteúdos: | ||
| ||
1. Inserir as cores que serão usados no app | ||
Para manter uma melhor organização na estrutura do app, iremos deixar as cores dentro das pastas /Themes e depois importá-las de acordo com a necessidade. | ||
Eu peguei as cores do aplicativo de acordo com a identidade visual dele, que você pode encontrar nesse link: Identidade Visual Ifood . | ||
| ||
Agora seu app estará pronto para recebê-las. | ||
2 Definir as telas: | ||
O clone em questão só possui duas telas. A Home, que tem as abas de Restaurante e do Mercado e a Products, que ao clicar em alguma loja, você será redirecionado para os produtos dela. | ||
Na nossa estrutura inicial, a Home já é incluída. Então basta adicionar outra pasta chamada Products. | ||
Dentro da pasta /pages crie uma pasta nomeada Products e dentro dela insira o index.tsx e o styles.tsx. | ||
Dentro de index.tsx insira o código padrão: | ||
E assim, as telas estarão definidas. | ||
3 Inserir as rotas da aplicação: | ||
As rotas são as formas de navegação entre as telas. Quando temos mais de uma tela, é preciso defini-las para podermos percorrer por todo o app. | ||
Para isso, iremos inserir a lib @react-navigation , que é a mais comum para esse fim nas aplicações com RN. | ||
Para adicion-la, abra o terminal em que está o seu projeto e digite: | ||
E em seguida, iremos instalar as dependências dela: | ||
yarn add react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-native-community/masked-viewCopy | ||
Com a lib já instalada corretamente no projeto, crie uma pasta nomeada routes.tsx em /src , onde ficarão as rotas da nossa aplicação. | ||
No arquivo, importe a lib e as telas do app (Home e Products). Para definir as rotas, é necessário utilizar o NavigationContainer e o StackNavigator. | ||
O primeiro componente deve ser definido para gerenciar todas as formas de navegação do nosso aplicativo. Já o segundo, oferece uma transição entre as telas em formato de pilha, ou seja, quando quiser passar do Restaurante / Mercado para a aba dos produtos, uma nova tela irá se colocar em cima da anterior. | ||
| ||
O arquivo ficará assim: | ||
| ||
Sua execução deve estar assim: | ||
Como podemos ver nos nossos componentes. A parte superior compõe o Header , que terá o nome da rua à esquerda (HeaderLeft) e o ícone do QrCode à direita (HeaderRight). | ||
Então, temos que definir esses componentes e depois os substituir no Header padrão. | ||
Crie uma pasta Header em /Components e insira os arquivos: HeaderLeft.tsx, HeaderRight.tsx e styles.ts | ||
| ||
Vamos definir os estilos de acordo com os componentes: | ||
E agora adicioná-los nos componentes: | ||
| ||
E agora vamos estilizar nosso conteúdo à esquerda: | ||
- flex-direction: row - Alinha os conteúdo em uma linha. Padrão é coluna | ||
- align-items: center - Alinha os conteúdos ao centro | ||
| ||
| ||
- padding-right: 10px - "Empurra" o conteúdo 10px para a direita, para não colar na borda. | ||
| ||
E o arquivo final ficará assim: | ||
Na tela do seu celular ou emulador estará aparecendo a aplicação que acabamos de contruir: | ||
Prontinho :) Finalizamos a primeira parte! | ||
Se você quer continuar vendo mais tutoriais sobre essa série, digite seu email aqui vai me ajudar bastante :) | ||
Esse aqui é o link do projeto inteiro, caso queiram dar uma olhada: IfoodClone | ||