This source code is licensed under the MIT license found in the LICENSE file in the root
5 | * directory of this source tree.
6 | */
7 | package com.meispot;
8 |
9 | import android.content.Context;
10 | import com.facebook.flipper.android.AndroidFlipperClient;
11 | import com.facebook.flipper.android.utils.FlipperUtils;
12 | import com.facebook.flipper.core.FlipperClient;
13 | import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin;
14 | import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin;
15 | import com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin;
16 | import com.facebook.flipper.plugins.inspector.DescriptorMapping;
17 | import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin;
18 | import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor;
19 | import com.facebook.flipper.plugins.network.NetworkFlipperPlugin;
20 | import com.facebook.flipper.plugins.react.ReactFlipperPlugin;
21 | import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin;
22 | import com.facebook.react.ReactInstanceManager;
23 | import com.facebook.react.bridge.ReactContext;
24 | import com.facebook.react.modules.network.NetworkingModule;
25 | import okhttp3.OkHttpClient;
26 |
27 | public class ReactNativeFlipper {
28 | public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) {
29 | if (FlipperUtils.shouldEnableFlipper(context)) {
30 | final FlipperClient client = AndroidFlipperClient.getInstance(context);
31 |
32 | client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults()));
33 | client.addPlugin(new ReactFlipperPlugin());
34 | client.addPlugin(new DatabasesFlipperPlugin(context));
35 | client.addPlugin(new SharedPreferencesFlipperPlugin(context));
36 | client.addPlugin(CrashReporterPlugin.getInstance());
37 |
38 | NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin();
39 | NetworkingModule.setCustomClientBuilder(
40 | new NetworkingModule.CustomClientBuilder() {
41 | @Override
42 | public void apply(OkHttpClient.Builder builder) {
43 | builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin));
44 | }
45 | });
46 | client.addPlugin(networkFlipperPlugin);
47 | client.start();
48 |
49 | // Fresco Plugin needs to ensure that ImagePipelineFactory is initialized
50 | // Hence we run if after all native modules have been initialized
51 | ReactContext reactContext = reactInstanceManager.getCurrentReactContext();
52 | if (reactContext == null) {
53 | reactInstanceManager.addReactInstanceEventListener(
54 | new ReactInstanceManager.ReactInstanceEventListener() {
55 | @Override
56 | public void onReactContextInitialized(ReactContext reactContext) {
57 | reactInstanceManager.removeReactInstanceEventListener(this);
58 | reactContext.runOnNativeModulesQueueThread(
59 | new Runnable() {
60 | @Override
61 | public void run() {
62 | client.addPlugin(new FrescoFlipperPlugin());
63 | }
64 | });
65 | }
66 | });
67 | } else {
68 | client.addPlugin(new FrescoFlipperPlugin());
69 | }
70 | }
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/src/components/Select/Button/index.tsx:
--------------------------------------------------------------------------------
1 | import React, { useState } from 'react';
2 | import { FlatList, StyleSheet, Text, View } from 'react-native';
3 | import { CustomButton } from '../../CustomButton';
4 | import { Colors } from '../../../constants/colors';
5 | import { Fonts } from '../../../constants/fonts';
6 | import { Constants } from '../../../constants';
7 | import { FloatActionButton } from '../../FloatButton';
8 | import ReactNativeModal from 'react-native-modal';
9 |
10 | interface IItem {
11 | id: any;
12 | name: string;
13 | }
14 |
15 | export interface IOptionComponent {
16 | item: IItem;
17 | selected: string;
18 | change: (id: any, name: string) => any;
19 | }
20 |
21 | interface IProps {
22 | data: any[];
23 | onChangeSelect: (id: any) => void;
24 | title?: string;
25 | defaultValue?: string;
26 | color: string;
27 | icon: string;
28 | OptionComponent: ({
29 | item,
30 | selected,
31 | change,
32 | }: IOptionComponent) => JSX.Element;
33 | }
34 |
35 | export const FABSelect: React.FC
4 |
8 |
9 | ## **:computer: Tecnologias**
10 |
11 | #### **Mobile** ([React Native](https://reactnative.dev/) + [TypeScript](https://www.typescriptlang.org/))
12 |
13 | - **[WatermelonDB](https://github.com/Nozbe/WatermelonDB)**
14 | - **[React Navigation](https://reactnavigation.org/)**
15 | - **[Axios](https://github.com/axios/axios)**
16 |
17 | ## **:wine_glass: COMO UTILIZAR**
18 |
19 | Primeiro, você precisa ter o [NodeJS](https://nodejs.org/en/download/) instalado na sua máquina.
20 |
21 | Se você estiver utilizando o **Linux**, você pode optar por instalar o **Node** através do gerênciador de versões [nvm](https://github.com/nvm-sh/nvm) para facilitar o processo de mudança da versão do **Node**, quando for necessário.
22 |
23 | Você pode optar também por utilizar o **yarn** no lugar do **npm**. Você pode instalar clicando neste [link](https://yarnpkg.com/).
24 |
25 | Após ter o **Node** instalado, instale as dependências do **React Native** instale as dependências contidas nos arquivos `package.json` que se encontram na raíz do repositório (para o gerenciamento de commits), no diretório do **app**. Para instalar as dependências, basta abrir o terminal no diretório e digitar o comando:
26 |
27 | ```sh
28 | $ yarn
29 | ou
30 | $ npm install
31 | ```
32 |
33 | Você precisará criar um arquivo na raíz do projeto chamado **.env** com a chave de requisição da API do servidor [Backend](https://github.com/alenquer/prisma-meispot-v1).
34 |
35 | Dentro do arquivo coloque o URL de seu servidor, em ambiente de desenvolvimento utilize o endereço local da sua máquina:
36 |
37 | ```sh
38 | # exemplo
39 | API_URL="http://192.168.1.22:5000/"
40 | ```
41 |
42 | Após ter instalado todas as dependências e criado o arquivo com a chave de requisição, você poderá gerar a build do app para o seu dispositivo com:
43 |
44 | ```sh
45 | $ yarn android
46 | ```
47 |
48 | ### ** :worried: Troubleshoots**
49 |
50 | Cannot read properties of undefined (reading 'transformFile') at Bundler.transformFile
51 |
52 | ```sh
53 | Ran into the same issue with Node.js 17.0.0. To solve it, I downgraded to version 14.18.1, deleted node_modules and reinstalled.
54 | ```
55 |
56 | ## **:octocat: COMO CONTRIBUIR**
57 |
58 | - Verifique as **Issues** que estão abertas e se já não existe alguma com a sua feature;
59 | - Abra uma **Issue** com o nome e descrição da sua feature e assine com o seu usuário informando que irá fazê-la;
60 | - Faça um **[fork](https://help.github.com/pt/github/getting-started-with-github/fork-a-repo)** do repositório;
61 | - Entre no sua página do GitHub e faça um **clone** do seu **fork**;
62 | - Crie uma _branch_ com o nome da sua feature: `git chechout -b feat/minhaFeature`;
63 | - Faça as alterações necessárias no código ou na documentação;
64 | - Instale as dependências do _commitlint_ na raíz do projeto para a verificação dos commits: `npm install` ou `yarn`;
65 | - Faça o _commit_ das suas alterações seguindo as [convenções de commit](https://www.conventionalcommits.org/pt-br/v1.0.0-beta.4/), adicione na descrição o id da sua Issue em parênteses e lembre de fechar a sua Issue com o id no rodapé do commit:
66 |
67 | ```
68 |
5 |
6 |
7 |