Skip to content

Instantly share code, notes, and snippets.

@Steldev
Steldev / App.tsx
Created December 9, 2021 22:08
web/src/App.tsx
import Main from './components/Main';
function App() {
return (
<div className='App'>
<Main />
</div>
);
}
@Steldev
Steldev / Main.tsx
Created December 9, 2021 22:07
web/src/components/Main.tsx
import React, {memo, useState, useCallback, InputHTMLAttributes} from 'react';
import Profile from '../../../shared/src/components/Profile';
const Main: React.FC = () => {
const [name, setName] = useState<string>('');
const [id, setId] = useState<string>('');
const onNameChanged = useCallback<
NonNullable<InputHTMLAttributes<HTMLInputElement>['onChange']>
>((event) => setName(event.target.value), []);
@Steldev
Steldev / App.tsx
Created December 9, 2021 22:05
app/App.tsx
import Profile, {ProfileProps} from '../shared/src/components/Profile';
const profileMock: ProfileProps = {name: 'John Doe', id: '123456'};
const App = () => (
<SafeAreaView>
<Profile {...profileMock} />
</SafeAreaView>
);
@Steldev
Steldev / Profile.tsx
Created December 9, 2021 22:05
shared/src/components/Profile.tsx
import React from 'react';
import {View, Text} from 'react-native';
export interface ProfileProps {
name: string;
id: string;
}
const Profile: React.FC<ProfileProps> = ({name, id}) => (
<View>
@Steldev
Steldev / .gitignore
Created December 9, 2021 22:04
root .gitignore
# dependencies
**/node_modules/
**/.pnp
**/.pnp.js
# env
**/.env
# production
**/build/
@Steldev
Steldev / config-overrides.js
Created December 9, 2021 22:03
web/config-overrides.js
const path = require('path');
const {
override,
babelInclude,
addBabelPlugins,
removeModuleScopePlugin,
addWebpackModuleRule,
} = require('customize-cra');
module.exports = override(
@Steldev
Steldev / metro.config.js
Created December 9, 2021 22:01
app/metro.config.js
. . .
const path = require('path');
module.exports = {
projectRoot: path.resolve(__dirname, '../'),
. . .
};
. . .
@Steldev
Steldev / MainApplication.java
Created December 9, 2021 22:00
app/android/app/src/main/java/com/app/MainApplication.java
. . .
@Override
protected String getJSMainModuleName() {
return "app/index";
}
. . .
@Steldev
Steldev / AppDelegate.m
Created December 9, 2021 21:59
app/ios/app/AppDelegate.m
. . .
#if DEBUG
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"app/index" fallbackResource:nil];
#else
. . .
@Steldev
Steldev / build.gradle
Created December 9, 2021 21:58
app/android/app/build.gradle
. . .
project.ext.react = [
enableHermes: false,
entryFile: "app/index.js",
root: "../../../",
cliPath: '../../../node_modules/react-native/cli.js'
]
apply from: "../../../node_modules/react-native/react.gradle"
. . .