diff --git a/__tests__/App-test.tsx b/__tests__/App-test.tsx
deleted file mode 100644
index 1784766..0000000
--- a/__tests__/App-test.tsx
+++ /dev/null
@@ -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();
-});
diff --git a/package-lock.json b/package-lock.json
index b2ebe3e..436f591 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1778,68 +1778,6 @@
"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": {
"version": "1.11.0",
"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",
"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": {
"version": "12.1.0",
"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": {
"version": "github:leinelissen/react-native-track-player#dafc8ffc0ee4bb3cdeb0fa21530c32dafa5a4dab",
"from": "github:leinelissen/react-native-track-player"
diff --git a/package.json b/package.json
index d518866..3978f99 100644
--- a/package.json
+++ b/package.json
@@ -33,11 +33,8 @@
"react-native-reanimated": "^1.9.0",
"react-native-safe-area-context": "^3.0.7",
"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-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-webview": "^10.3.2",
"react-redux": "^7.2.0",
diff --git a/src/components/AlphabetScroller.tsx b/src/components/AlphabetScroller.tsx
index a1e0353..7dc0cc8 100644
--- a/src/components/AlphabetScroller.tsx
+++ b/src/components/AlphabetScroller.tsx
@@ -1,26 +1,19 @@
-import React, { useCallback, useRef, useState } from 'react';
+import React, { useCallback, useState } from 'react';
import styled from 'styled-components/native';
import { ALPHABET_LETTERS } from 'CONSTANTS';
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 {
onPress: (letter: string) => void;
letter: string;
}
-const LetterContainer: React.FC = ({ children, letter, onPress }) => {
- const handlePress = useCallback(() => {
- onPress(letter);
- }, [letter, onPress]);
-
- return (
-
- {children}
-
- );
-};
-
const Container = styled.View`
position: absolute;
right: 5px;
diff --git a/src/components/TouchableHandler.tsx b/src/components/TouchableHandler.tsx
index 5689ee3..c7f7f50 100644
--- a/src/components/TouchableHandler.tsx
+++ b/src/components/TouchableHandler.tsx
@@ -13,7 +13,7 @@ interface TouchableHandlerProps {
const TouchableHandler: React.FC = ({ id, onPress, children }) => {
const handlePress = useCallback(() => {
return onPress(id);
- }, [id]);
+ }, [id, onPress]);
return (
diff --git a/src/screens/Music/stacks/RecentAlbums.tsx b/src/screens/Music/stacks/RecentAlbums.tsx
index 0fa6d97..c1d18c5 100644
--- a/src/screens/Music/stacks/RecentAlbums.tsx
+++ b/src/screens/Music/stacks/RecentAlbums.tsx
@@ -1,7 +1,7 @@
import React, { useCallback, useEffect } from 'react';
import { useGetImage } from 'utility/JellyfinApi';
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 { useNavigation } from '@react-navigation/native';
import { useTypedSelector } from 'store';
diff --git a/src/screens/Settings/index.tsx b/src/screens/Settings/index.tsx
index abba286..4d45af5 100644
--- a/src/screens/Settings/index.tsx
+++ b/src/screens/Settings/index.tsx
@@ -22,7 +22,7 @@ const Input = styled.TextInput`
export default function Settings() {
const { jellyfin, bitrate } = useSelector((state: AppState) => state.settings);
const navigation = useNavigation();
- const handleClick = useCallback(() => navigation.navigate('SetJellyfinServer'), []);
+ const handleClick = useCallback(() => navigation.navigate('SetJellyfinServer'), [navigation]);
return (
diff --git a/src/screens/index.tsx b/src/screens/index.tsx
index e66b59d..ef95f57 100644
--- a/src/screens/index.tsx
+++ b/src/screens/index.tsx
@@ -36,7 +36,7 @@ function Screens() {
return (
({
- tabBarIcon: ({ focused, color, size }) => {
+ tabBarIcon: function TabBarIcon({ color, size }) {
const Icon = getIcon(route.name);
if (!Icon) {
diff --git a/src/utility/usePlayTrack.ts b/src/utility/usePlayTrack.ts
index 3410892..f5a59d9 100644
--- a/src/utility/usePlayTrack.ts
+++ b/src/utility/usePlayTrack.ts
@@ -32,5 +32,5 @@ export default function usePlayTrack() {
// Then we'll skip to it and play it
await TrackPlayer.skip(trackId);
TrackPlayer.play();
- }, [credentials, tracks]);
+ }, [credentials, tracks, queue]);
}
\ No newline at end of file