Remove redundant dependencies and fix eslint issues
This commit is contained in:
@@ -1,14 +0,0 @@
|
|||||||
/**
|
|
||||||
* @format
|
|
||||||
*/
|
|
||||||
|
|
||||||
import 'react-native';
|
|
||||||
import React from 'react';
|
|
||||||
import App from '../App';
|
|
||||||
|
|
||||||
// Note: test renderer must be required after react-native.
|
|
||||||
import renderer from 'react-test-renderer';
|
|
||||||
|
|
||||||
it('renders correctly', () => {
|
|
||||||
renderer.create(<App />);
|
|
||||||
});
|
|
||||||
84
package-lock.json
generated
84
package-lock.json
generated
@@ -1778,68 +1778,6 @@
|
|||||||
"chalk": "^3.0.0"
|
"chalk": "^3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@raydeck/xcode": {
|
|
||||||
"version": "2.2.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@raydeck/xcode/-/xcode-2.2.1.tgz",
|
|
||||||
"integrity": "sha512-464tAzmcJLL0A4W5vKP3t3s6mRLnwGWE/cHo+I+0mHJiSzojSwHIZK7i3shFJioyQFHPxYndzRzTu2VOjdpBcQ==",
|
|
||||||
"requires": {
|
|
||||||
"simple-plist": "^0.2.1",
|
|
||||||
"uuid": "3.0.1"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"base64-js": {
|
|
||||||
"version": "1.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.1.2.tgz",
|
|
||||||
"integrity": "sha1-1kAMrBxMZgl22Q0HoENR2JOV9eg="
|
|
||||||
},
|
|
||||||
"bplist-creator": {
|
|
||||||
"version": "0.0.7",
|
|
||||||
"resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz",
|
|
||||||
"integrity": "sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU=",
|
|
||||||
"requires": {
|
|
||||||
"stream-buffers": "~2.2.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bplist-parser": {
|
|
||||||
"version": "0.1.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
|
|
||||||
"integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=",
|
|
||||||
"requires": {
|
|
||||||
"big-integer": "^1.6.7"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"plist": {
|
|
||||||
"version": "2.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/plist/-/plist-2.0.1.tgz",
|
|
||||||
"integrity": "sha1-CjLKlIGxw2TpLhjcVch23p0B2os=",
|
|
||||||
"requires": {
|
|
||||||
"base64-js": "1.1.2",
|
|
||||||
"xmlbuilder": "8.2.2",
|
|
||||||
"xmldom": "0.1.x"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"simple-plist": {
|
|
||||||
"version": "0.2.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-0.2.1.tgz",
|
|
||||||
"integrity": "sha1-cXZts1IyaSjPOoByQrp2IyJjZyM=",
|
|
||||||
"requires": {
|
|
||||||
"bplist-creator": "0.0.7",
|
|
||||||
"bplist-parser": "0.1.1",
|
|
||||||
"plist": "2.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"uuid": {
|
|
||||||
"version": "3.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz",
|
|
||||||
"integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE="
|
|
||||||
},
|
|
||||||
"xmlbuilder": {
|
|
||||||
"version": "8.2.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
|
|
||||||
"integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M="
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@react-native-community/async-storage": {
|
"@react-native-community/async-storage": {
|
||||||
"version": "1.11.0",
|
"version": "1.11.0",
|
||||||
"resolved": "https://registry.npmjs.org/@react-native-community/async-storage/-/async-storage-1.11.0.tgz",
|
"resolved": "https://registry.npmjs.org/@react-native-community/async-storage/-/async-storage-1.11.0.tgz",
|
||||||
@@ -9403,11 +9341,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-2.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-2.9.0.tgz",
|
||||||
"integrity": "sha512-5MaiUD6HA3nzY3JbVI8l3V7pKedtxQF3d8qktTVI0WmWXTI4QzqOU8r8fPVvfKo3MhOXwhWBjr+kQ7DZaIQQeg=="
|
"integrity": "sha512-5MaiUD6HA3nzY3JbVI8l3V7pKedtxQF3d8qktTVI0WmWXTI4QzqOU8r8fPVvfKo3MhOXwhWBjr+kQ7DZaIQQeg=="
|
||||||
},
|
},
|
||||||
"react-native-section-list-get-item-layout": {
|
|
||||||
"version": "2.2.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/react-native-section-list-get-item-layout/-/react-native-section-list-get-item-layout-2.2.3.tgz",
|
|
||||||
"integrity": "sha512-fzCW5SiYP6qCZyDHebaElHonIFr8NFrZK9JDkxFLnpxMJih4d+HQ4rHyOs0Z4Gb/FjyCVbRH7RtEnjeQ0XffMg=="
|
|
||||||
},
|
|
||||||
"react-native-svg": {
|
"react-native-svg": {
|
||||||
"version": "12.1.0",
|
"version": "12.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-12.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-12.1.0.tgz",
|
||||||
@@ -9435,23 +9368,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"react-native-swift": {
|
|
||||||
"version": "1.2.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/react-native-swift/-/react-native-swift-1.2.3.tgz",
|
|
||||||
"integrity": "sha512-PmPTjpIRRMns+fViOvL23ke9dvh1bJmHoobPhgkEYTMiz7fzOAX67k0A0RNu9L9Wc57XY5MB+rLMYybBtndQ4w==",
|
|
||||||
"requires": {
|
|
||||||
"@raydeck/xcode": "^2.2.0",
|
|
||||||
"glob": "^7.1.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"react-native-tableview": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/react-native-tableview/-/react-native-tableview-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-EnCNq5uKLEFsg3n7ykEvbo++sW/zUtg4cfJKYOf45s2pZoSAWvBqAjyx4G7uqhaoCLcjjDr8JiHlY62oaU7eUA==",
|
|
||||||
"requires": {
|
|
||||||
"prop-types": "^15.6.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"react-native-track-player": {
|
"react-native-track-player": {
|
||||||
"version": "github:leinelissen/react-native-track-player#dafc8ffc0ee4bb3cdeb0fa21530c32dafa5a4dab",
|
"version": "github:leinelissen/react-native-track-player#dafc8ffc0ee4bb3cdeb0fa21530c32dafa5a4dab",
|
||||||
"from": "github:leinelissen/react-native-track-player"
|
"from": "github:leinelissen/react-native-track-player"
|
||||||
|
|||||||
@@ -33,11 +33,8 @@
|
|||||||
"react-native-reanimated": "^1.9.0",
|
"react-native-reanimated": "^1.9.0",
|
||||||
"react-native-safe-area-context": "^3.0.7",
|
"react-native-safe-area-context": "^3.0.7",
|
||||||
"react-native-screens": "^2.9.0",
|
"react-native-screens": "^2.9.0",
|
||||||
"react-native-section-list-get-item-layout": "^2.2.3",
|
|
||||||
"react-native-svg": "^12.1.0",
|
"react-native-svg": "^12.1.0",
|
||||||
"react-native-svg-transformer": "^0.14.3",
|
"react-native-svg-transformer": "^0.14.3",
|
||||||
"react-native-swift": "^1.2.3",
|
|
||||||
"react-native-tableview": "^3.0.0",
|
|
||||||
"react-native-track-player": "github:leinelissen/react-native-track-player",
|
"react-native-track-player": "github:leinelissen/react-native-track-player",
|
||||||
"react-native-webview": "^10.3.2",
|
"react-native-webview": "^10.3.2",
|
||||||
"react-redux": "^7.2.0",
|
"react-redux": "^7.2.0",
|
||||||
|
|||||||
@@ -1,26 +1,19 @@
|
|||||||
import React, { useCallback, useRef, useState } from 'react';
|
import React, { useCallback, useState } from 'react';
|
||||||
import styled from 'styled-components/native';
|
import styled from 'styled-components/native';
|
||||||
import { ALPHABET_LETTERS } from 'CONSTANTS';
|
import { ALPHABET_LETTERS } from 'CONSTANTS';
|
||||||
import { View, LayoutChangeEvent } from 'react-native';
|
import { View, LayoutChangeEvent } from 'react-native';
|
||||||
import { TouchableWithoutFeedback, PanGestureHandler, PanGestureHandlerGestureEvent, TapGestureHandler, TapGestureHandlerGestureEvent } from 'react-native-gesture-handler';
|
import {
|
||||||
|
PanGestureHandler,
|
||||||
|
PanGestureHandlerGestureEvent,
|
||||||
|
TapGestureHandler,
|
||||||
|
TapGestureHandlerGestureEvent
|
||||||
|
} from 'react-native-gesture-handler';
|
||||||
|
|
||||||
interface LetterContainerProps {
|
interface LetterContainerProps {
|
||||||
onPress: (letter: string) => void;
|
onPress: (letter: string) => void;
|
||||||
letter: string;
|
letter: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const LetterContainer: React.FC<LetterContainerProps> = ({ children, letter, onPress }) => {
|
|
||||||
const handlePress = useCallback(() => {
|
|
||||||
onPress(letter);
|
|
||||||
}, [letter, onPress]);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<TouchableWithoutFeedback onPress={handlePress}>
|
|
||||||
{children}
|
|
||||||
</TouchableWithoutFeedback>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const Container = styled.View`
|
const Container = styled.View`
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 5px;
|
right: 5px;
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ interface TouchableHandlerProps {
|
|||||||
const TouchableHandler: React.FC<TouchableHandlerProps> = ({ id, onPress, children }) => {
|
const TouchableHandler: React.FC<TouchableHandlerProps> = ({ id, onPress, children }) => {
|
||||||
const handlePress = useCallback(() => {
|
const handlePress = useCallback(() => {
|
||||||
return onPress(id);
|
return onPress(id);
|
||||||
}, [id]);
|
}, [id, onPress]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<TouchableOpacity onPress={handlePress}>
|
<TouchableOpacity onPress={handlePress}>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import React, { useCallback, useEffect } from 'react';
|
import React, { useCallback, useEffect } from 'react';
|
||||||
import { useGetImage } from 'utility/JellyfinApi';
|
import { useGetImage } from 'utility/JellyfinApi';
|
||||||
import { Album, NavigationProp } from '../types';
|
import { Album, NavigationProp } from '../types';
|
||||||
import { Text, SafeAreaView, FlatList, View } from 'react-native';
|
import { Text, SafeAreaView, FlatList } from 'react-native';
|
||||||
import { useDispatch } from 'react-redux';
|
import { useDispatch } from 'react-redux';
|
||||||
import { useNavigation } from '@react-navigation/native';
|
import { useNavigation } from '@react-navigation/native';
|
||||||
import { useTypedSelector } from 'store';
|
import { useTypedSelector } from 'store';
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ const Input = styled.TextInput`
|
|||||||
export default function Settings() {
|
export default function Settings() {
|
||||||
const { jellyfin, bitrate } = useSelector((state: AppState) => state.settings);
|
const { jellyfin, bitrate } = useSelector((state: AppState) => state.settings);
|
||||||
const navigation = useNavigation<NavigationProp>();
|
const navigation = useNavigation<NavigationProp>();
|
||||||
const handleClick = useCallback(() => navigation.navigate('SetJellyfinServer'), []);
|
const handleClick = useCallback(() => navigation.navigate('SetJellyfinServer'), [navigation]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ScrollView>
|
<ScrollView>
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ function Screens() {
|
|||||||
return (
|
return (
|
||||||
<Tab.Navigator
|
<Tab.Navigator
|
||||||
screenOptions={({ route }) => ({
|
screenOptions={({ route }) => ({
|
||||||
tabBarIcon: ({ focused, color, size }) => {
|
tabBarIcon: function TabBarIcon({ color, size }) {
|
||||||
const Icon = getIcon(route.name);
|
const Icon = getIcon(route.name);
|
||||||
|
|
||||||
if (!Icon) {
|
if (!Icon) {
|
||||||
|
|||||||
@@ -32,5 +32,5 @@ export default function usePlayTrack() {
|
|||||||
// Then we'll skip to it and play it
|
// Then we'll skip to it and play it
|
||||||
await TrackPlayer.skip(trackId);
|
await TrackPlayer.skip(trackId);
|
||||||
TrackPlayer.play();
|
TrackPlayer.play();
|
||||||
}, [credentials, tracks]);
|
}, [credentials, tracks, queue]);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user