Skip to content

Instantly share code, notes, and snippets.

View xiongemi's full-sized avatar
🏠
Working from home

Emily Xiong xiongemi

🏠
Working from home
View GitHub Profile
@xiongemi
xiongemi / app.cy.ts
Created February 13, 2024 22:55
cats expo cypress tests
// apps/cats-cypress/cypress/e2e/app.cy.ts
import { getGreeting } from '../support/app.po';
describe('Should display a cat fact', () => {
beforeEach(() => {
cy.intercept('https://catfact.ninja/fact', {
fixture: 'cat-fact-response.json',
}).as('getCatsFact');
cy.visit('/');
cy.wait(['@getCatsFact']);
import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import { Carousel } from '@nx-expo-monorepo/ui';
const App = () => {
const Stack = createNativeStackNavigator();
return (
<NavigationContainer>
<Stack.Navigator>
@xiongemi
xiongemi / index.html
Created April 9, 2023 01:43
react starter app
// src/generators/preset/files/public/index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
@xiongemi
xiongemi / persist-transform.ts
Last active April 10, 2023 16:45
redux root state setup to track user likes
import { EntityState } from '@reduxjs/toolkit';
import { createTransform } from 'redux-persist';
import { LIKES_FEATURE_KEY } from '../likes/likes.slice';
const transformEntityStateToPersist = createTransform(
// transform state on its way to being serialized and persisted.
(
entityState: EntityState<any>
): {
ids: string;
@xiongemi
xiongemi / app.tsx
Created January 5, 2023 17:23
expo app with carousel and navigation
import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import { Carousel } from '@nx-expo-monorepo/ui';
const App = () => {
const Stack = createNativeStackNavigator();
return (
<NavigationContainer>
<Stack.Navigator>
@xiongemi
xiongemi / carousel.tsx
Created January 4, 2023 19:59
carousel code component
@xiongemi
xiongemi / project.json
Created April 15, 2022 06:42
react native web example project.json
{
"root": "apps/studio-ghibli-search-engine-mobile-web",
"sourceRoot": "apps/studio-ghibli-search-engine-mobile-web/src",
"projectType": "application",
"targets": {
...
},
"implicitDependencies": ["studio-ghibli-search-engine-mobile"]
}
@xiongemi
xiongemi / .babelrc
Last active April 11, 2022 04:50
babelrc and webpack for react native web
{
"presets": [
[
"@nrwl/react/babel",
{
"runtime": "automatic"
}
]
],
"plugins": [["react-native-web", { "commonjs": true }]]
@xiongemi
xiongemi / main.tsx
Created April 11, 2022 04:32
react native web main file
import { AppRegistry } from 'react-native';
// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries
import App from '../../studio-ghibli-search-engine-mobile/src/app/App';
AppRegistry.registerComponent('main', () => App);
AppRegistry.runApplication('main', {
rootTag: document.getElementById('root'),
});
@xiongemi
xiongemi / search.spec.ts
Created April 11, 2022 04:08
example detox e2e tests for search flow
import { device, element, by, expect } from 'detox';
describe('Search', () => {
beforeEach(async () => {
await device.reloadReactNative();
});
it('should show a list of results and go to film details', async () => {
await waitFor(element(by.id('search-page')))
.toBeVisible()