🔧 refactor(App.tsx): import AppRegistry, Platform from react-native for better platform detection 🔧 refactor(App.tsx): import persistor from redux store to persist redux state 🔧 refactor(App.tsx): wrap app in PersistGate to persist and rehydrate a redux store 🔧 refactor(App.tsx): change initial token state to use token from redux store 🔧 refactor(app.json): add package name to app.json for unique app identification 🔧 refactor(package.json): change android and ios scripts to use expo run:android and expo run:ios 🔧 refactor(package.json): add react-native-android-notification-listener and react-native-pager-view dependencies 🔧 refactor(package.json): add redux-persist-expo-filesystem for redux state persistence 🔧 refactor(ClipElementLocal.tsx): remove unnecessary whitespace 🔧 refactor(ClipList.tsx): replace ScrollView with FlatList for better performance 🔧 refactor(ClipList.tsx): use nanoid for unique key generation in FlatList 🔧 refactor(ClipView.tsx): add Button for compact layout 🔧 refactor(ClipView.tsx): adjust Searchbar style for better layout 🔧 refactor(ClipViewLocal.tsx): use localClipAddToList action for adding to local clip list 🔧 refactor(ClipViewLocal.tsx): set initial clips state to use localClip from redux store 🔧 refactor(ClipViewRemote.tsx): use remoteClipAddToList action for adding to remote clip list 🔧 refactor(ClipViewRemote.tsx): set initial clips state to use remoteClip from redux store 🔧 refactor(Clips.tsx): add signout function to clear all redux states on signout 🔧 refactor(Clips.tsx): add Notifications to Drawer 🔧 refactor(Clips.tsx): replace ClipView with NotifView for notif active state 🔧 refactor(reducers.tsx): rename localAddToList to localClipAddToList for better semantics 🔧 refactor(reducers.tsx): rename remoteAddToList to remoteClipAddToList for better semantics 🔧 refactor(reducers.tsx): add localNotifsSlice and remoteNotifsSlice for handling local and remote notifications
32 lines
933 B
TypeScript
32 lines
933 B
TypeScript
import React from 'react';
|
|
import {FlatList, ScrollView} from 'react-native';
|
|
import ClipElementLocal from './ClipElementLocal';
|
|
import ClipElementRemote from './ClipElementRemote';
|
|
import { nanoid } from '@reduxjs/toolkit';
|
|
|
|
export default class ClipList extends React.Component<any, any> {
|
|
constructor(props: any) {
|
|
super(props);
|
|
}
|
|
|
|
render(): JSX.Element {
|
|
if (this.props.type === 'local') {
|
|
return <FlatList
|
|
data={this.props.clips}
|
|
renderItem={({item}) => <ClipElementLocal content={item.content} />}
|
|
keyExtractor={item => nanoid()}
|
|
inverted={true}
|
|
/>
|
|
} else {
|
|
return <FlatList
|
|
data={this.props.clips}
|
|
renderItem={({item}) => <ClipElementRemote content={item.content} deviceName={item.device_name} timestamp={item.timestamp}/>}
|
|
keyExtractor={item => nanoid()}
|
|
inverted={true}
|
|
/>
|
|
;
|
|
}
|
|
|
|
}
|
|
}
|