Compare commits

...

6 Commits

Author SHA1 Message Date
Lei Nelissen
6d8535e24b chore: release v2.0.1 2022-11-28 22:59:29 +01:00
Lei Nelissen
d4570b60ae fix: screenshotting logic 2022-11-28 22:56:22 +01:00
Lei Nelissen
9c8e474d51 feat: Save App metadata in the repo 2022-11-28 22:55:36 +01:00
Lei Nelissen
9a1defbeef fix: switch album id to demo instance 2022-11-27 21:19:31 +01:00
Lei Nelissen
87f992d912 fix: use entire input box as touch area for focus 2022-11-27 21:13:09 +01:00
Lei Nelissen
845b379e09 fix: android and ios builds 2022-11-27 21:07:32 +01:00
68 changed files with 161 additions and 85 deletions

View File

@@ -138,8 +138,8 @@ android {
applicationId "nl.moeilijkedingen.jellyfinaudioplayer"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 11
versionName "1.2.7"
versionCode 13
versionName "2.0.1"
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
if (isNewArchitectureEnabled()) {

View File

@@ -25,7 +25,7 @@ android.useAndroidX=true
android.enableJetifier=true
# Version of flipper SDK to use with React Native
FLIPPER_VERSION=0.125.0
FLIPPER_VERSION=0.164.0
# Use this property to specify which architecture you want to build.
# You can also override it from the CLI using

View File

@@ -32,6 +32,7 @@ module.exports = {
[
'module:react-native-dotenv'
],
'react-native-reanimated/plugin'
'react-native-reanimated/plugin',
'@babel/plugin-proposal-numeric-separator'
]
};

View File

@@ -1,3 +1,4 @@
# The Deliverfile allows you to store various App Store Connect metadata
# For more information, check out the docs
# https://docs.fastlane.tools/actions/deliver/
overwrite_screenshots(true)

View File

@@ -4,7 +4,6 @@
devices([
"iPhone 14 Plus",
"iPhone 14 Pro Max",
"iPhone 14 Pro",
"iPhone 8 Plus",
])

View File

@@ -1 +1 @@
2022 Lei Nelissen

View File

@@ -1 +1 @@
Fintunes is a streaming audio player for the Jellyfin media system. It features a gorgeous interface that allows you to play your favourite music with ease. You can search your entire library for any track, or just take it easy with a playlist that you've created earlier in Jellyfin. All tracks are streamed directly at the highest quality from your Jellyfin library. Streaming not always an option? Any track in your Jellyfin library can be downloaded and played offline.

View File

@@ -1 +1 @@
Fintunes
Fintunes

View File

@@ -1 +1 @@
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md

View File

@@ -1 +1 @@
Audio player for Jellyfin

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
Fintunes es un reproductor de transmisión de audio para el sistema multimedia Jellyfin. Cuenta con una hermosa interfaz que te permite reproducir tu música favorita con facilidad. Puede buscar cualquier pista en toda su biblioteca, o simplemente tomarlo con calma con una lista de reproducción que haya creado anteriormente en Jellyfin. Todas las pistas se transmiten directamente con la más alta calidad desde su biblioteca Jellyfin. ¿Transmitir no siempre es una opción? Cualquier pista en su biblioteca Jellyfin se puede descargar y reproducir sin conexión.

View File

@@ -0,0 +1 @@
gelatina, audio, reproductor, transmisión, descargas, música

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
Fintunes

View File

@@ -0,0 +1 @@
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md

View File

@@ -0,0 +1 @@
Un reproductor de audio en streaming para Jellyfin, con soporte para búsqueda y descargas.

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
Audio player for Jellyfin

View File

@@ -0,0 +1 @@
https://github.com/leinelissen/jellyfin-audio-player

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
Fintunes est un lecteur audio en streaming pour le système multimédia Jellyfin. Il dispose d'une interface magnifique qui vous permet de jouer facilement votre musique préférée. Vous pouvez rechercher n'importe quelle piste dans toute votre bibliothèque ou simplement vous détendre avec une liste de lecture que vous avez créée précédemment dans Jellyfin. Toutes les pistes sont diffusées directement à la plus haute qualité depuis votre bibliothèque Jellyfin. Le streaming n'est pas toujours une option ? N'importe quelle piste de votre bibliothèque Jellyfin peut être téléchargée et lue hors ligne.

View File

@@ -0,0 +1 @@
jellyfin, audio, joueur, diffusion, téléchargements, musique

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
Fintunes

View File

@@ -0,0 +1 @@
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md

View File

@@ -0,0 +1 @@
Un lecteur audio en streaming pour Jellyfin, avec prise en charge de la recherche et des téléchargements.

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
Audio player for Jellyfin

View File

@@ -0,0 +1 @@
https://github.com/leinelissen/jellyfin-audio-player

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
Fintunesは、Jellyfinメディアシステム用のストリーミングオーディオプレーヤーです。 それはあなたが簡単にあなたの好きな音楽を演奏することを可能にするゴージャスなインターフェースを特徴とします。 ライブラリ全体で任意のトラックを検索することも、Jellyfinで以前に作成したプレイリストを使用して簡単に検索することもできます。 すべてのトラックは、Jellyfinライブラリから最高品質で直接ストリーミングされます。 ストリーミングは必ずしもオプションではありませんか? Jellyfinライブラリ内のすべてのトラックをダウンロードして、オフラインで再生できます。

View File

@@ -0,0 +1 @@
ジェリーフィン、オーディオ、プレーヤー、ストリーミング、ダウンロード、音楽

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
Fintunes

View File

@@ -0,0 +1 @@
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md

View File

@@ -0,0 +1 @@
Jellyfin用のストリーミングオーディオプレーヤー。検索とダウンロードをサポートしています。

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
Audio player for Jellyfin

View File

@@ -0,0 +1 @@
https://github.com/leinelissen/jellyfin-audio-player

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
Fintunes is een streaming audiospeler voor het Jellyfin mediasysteem. Het heeft een prachtige interface waarmee je gemakkelijk je favoriete muziek kunt afspelen. Je kunt in je hele bibliotheek zoeken naar elk nummer, of het rustig aan doen met een afspeellijst die je eerder in Jellyfin hebt gemaakt. Alle nummers worden direct in de hoogste kwaliteit gestreamd vanuit je Jellyfin-bibliotheek. Streamen niet altijd een optie? Elk nummer in je Jellyfin-bibliotheek kan worden gedownload en offline worden afgespeeld.

View File

@@ -0,0 +1 @@
jellyfin, audio, speler, streaming, downloads, muziek

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
Fintunes

View File

@@ -0,0 +1 @@
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md

View File

@@ -0,0 +1 @@
Een streaming audiospeler voor Jellyfin, met ondersteuning voor zoeken en downloaden.

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
Audiospeler voor Jellyfin

View File

@@ -0,0 +1 @@
https://github.com/leinelissen/jellyfin-audio-player

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
Fintunes 是 Jellyfin 媒体系统的流式音频播放器。 它具有华丽的界面,可让您轻松播放自己喜欢的音乐。 您可以在整个音乐库中搜索任何曲目,或者只是使用您之前在 Jellyfin 中创建的播放列表轻松一点。 所有曲目都直接以最高质量从您的 Jellyfin 库中流式传输。 流媒体并不总是一种选择? Jellyfin 库中的任何曲目都可以下载和离线播放。

View File

@@ -0,0 +1 @@
jellyfin, 音频, 播放器, 流媒体, 下载, 音乐

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
Fintunes

View File

@@ -0,0 +1 @@
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md

View File

@@ -0,0 +1 @@
Jellyfin 的流媒体音频播放器,支持搜索和下载。

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
Audio player for Jellyfin

View File

@@ -0,0 +1 @@
https://github.com/leinelissen/jellyfin-audio-player

View File

@@ -606,7 +606,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 6;
CURRENT_PROJECT_VERSION = 49;
DEVELOPMENT_TEAM = 238P3C58WC;
ENABLE_BITCODE = NO;
GCC_PREPROCESSOR_DEFINITIONS = (
@@ -643,7 +643,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 6;
CURRENT_PROJECT_VERSION = 49;
DEVELOPMENT_TEAM = 238P3C58WC;
INFOPLIST_FILE = Fintunes/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@@ -799,7 +799,7 @@
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 6;
CURRENT_PROJECT_VERSION = 49;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = 238P3C58WC;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -832,7 +832,7 @@
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 6;
CURRENT_PROJECT_VERSION = 49;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 238P3C58WC;
GCC_C_LANGUAGE_STANDARD = gnu11;

View File

@@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>2.0.0</string>
<string>2.0.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>6</string>
<string>49</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSAppTransportSecurity</key>

View File

@@ -33,12 +33,12 @@ class FintunesUITests: XCTestCase {
app.otherElements["all-albums"].tap();
snapshot("05AlbumsScreen");
app.buttons["search-tab"].tap();
app.textFields["search-input"].tap();
app.textFields["search-input"].typeText("bicep");
app.otherElements["search-input-container"].tap();
app.textFields["search-input-textinput"].typeText("bicep")
snapshot("03SearchScreen");
if app.otherElements["search-result-157a37e93a7aec945f8ea3107abb458a"].waitForExistence(timeout: 5) {
app.otherElements["search-result-157a37e93a7aec945f8ea3107abb458a"].tap();
app.otherElements["search-result-157a37e93a7aec945f8ea3107abb458a"].tap();
if app.otherElements["search-result-a644f8d23821601d2feb86ddae5e64f4"].waitForExistence(timeout: 5) {
app.otherElements["search-result-a644f8d23821601d2feb86ddae5e64f4"].tap();
app.otherElements["search-result-a644f8d23821601d2feb86ddae5e64f4"].tap();
snapshot("02AlbumScreen");
}
if app.otherElements["play-album"].waitForExistence(timeout: 5) {

View File

@@ -21,7 +21,7 @@ target 'Fintunes' do
#
# Note that if you have use_frameworks! enabled, Flipper will not work and
# you should disable the next line.
:flipper_configuration => FlipperConfiguration.enabled,
:flipper_configuration => FlipperConfiguration.enabled(["Debug"], {'Flipper' => '0.164.0'}),
# An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/.."
)

View File

@@ -10,9 +10,8 @@ PODS:
- React-Core (= 0.70.5)
- React-jsi (= 0.70.5)
- ReactCommon/turbomodule/core (= 0.70.5)
- Flipper (0.125.0):
- Flipper (0.164.0):
- Flipper-Folly (~> 2.6)
- Flipper-RSocket (~> 1.4)
- Flipper-Boost-iOSX (1.76.0.1.11)
- Flipper-DoubleConversion (3.2.0.1)
- Flipper-Fmt (7.1.7)
@@ -27,48 +26,48 @@ PODS:
- Flipper-PeerTalk (0.0.4)
- Flipper-RSocket (1.4.3):
- Flipper-Folly (~> 2.6)
- FlipperKit (0.125.0):
- FlipperKit/Core (= 0.125.0)
- FlipperKit/Core (0.125.0):
- Flipper (~> 0.125.0)
- FlipperKit (0.164.0):
- FlipperKit/Core (= 0.164.0)
- FlipperKit/Core (0.164.0):
- Flipper (~> 0.164.0)
- FlipperKit/CppBridge
- FlipperKit/FBCxxFollyDynamicConvert
- FlipperKit/FBDefines
- FlipperKit/FKPortForwarding
- SocketRocket (~> 0.6.0)
- FlipperKit/CppBridge (0.125.0):
- Flipper (~> 0.125.0)
- FlipperKit/FBCxxFollyDynamicConvert (0.125.0):
- FlipperKit/CppBridge (0.164.0):
- Flipper (~> 0.164.0)
- FlipperKit/FBCxxFollyDynamicConvert (0.164.0):
- Flipper-Folly (~> 2.6)
- FlipperKit/FBDefines (0.125.0)
- FlipperKit/FKPortForwarding (0.125.0):
- FlipperKit/FBDefines (0.164.0)
- FlipperKit/FKPortForwarding (0.164.0):
- CocoaAsyncSocket (~> 7.6)
- Flipper-PeerTalk (~> 0.0.4)
- FlipperKit/FlipperKitHighlightOverlay (0.125.0)
- FlipperKit/FlipperKitLayoutHelpers (0.125.0):
- FlipperKit/FlipperKitHighlightOverlay (0.164.0)
- FlipperKit/FlipperKitLayoutHelpers (0.164.0):
- FlipperKit/Core
- FlipperKit/FlipperKitHighlightOverlay
- FlipperKit/FlipperKitLayoutTextSearchable
- FlipperKit/FlipperKitLayoutIOSDescriptors (0.125.0):
- FlipperKit/FlipperKitLayoutIOSDescriptors (0.164.0):
- FlipperKit/Core
- FlipperKit/FlipperKitHighlightOverlay
- FlipperKit/FlipperKitLayoutHelpers
- YogaKit (~> 1.18)
- FlipperKit/FlipperKitLayoutPlugin (0.125.0):
- FlipperKit/FlipperKitLayoutPlugin (0.164.0):
- FlipperKit/Core
- FlipperKit/FlipperKitHighlightOverlay
- FlipperKit/FlipperKitLayoutHelpers
- FlipperKit/FlipperKitLayoutIOSDescriptors
- FlipperKit/FlipperKitLayoutTextSearchable
- YogaKit (~> 1.18)
- FlipperKit/FlipperKitLayoutTextSearchable (0.125.0)
- FlipperKit/FlipperKitNetworkPlugin (0.125.0):
- FlipperKit/FlipperKitLayoutTextSearchable (0.164.0)
- FlipperKit/FlipperKitNetworkPlugin (0.164.0):
- FlipperKit/Core
- FlipperKit/FlipperKitReactPlugin (0.125.0):
- FlipperKit/FlipperKitReactPlugin (0.164.0):
- FlipperKit/Core
- FlipperKit/FlipperKitUserDefaultsPlugin (0.125.0):
- FlipperKit/FlipperKitUserDefaultsPlugin (0.164.0):
- FlipperKit/Core
- FlipperKit/SKIOSNetworkPlugin (0.125.0):
- FlipperKit/SKIOSNetworkPlugin (0.164.0):
- FlipperKit/Core
- FlipperKit/FlipperKitNetworkPlugin
- fmt (6.2.1)
@@ -315,7 +314,7 @@ PODS:
- glog
- react-native-blur (4.3.0):
- React-Core
- react-native-flipper (0.174.0):
- react-native-flipper (0.164.0):
- React-Core
- react-native-netinfo (9.3.6):
- React-Core
@@ -492,7 +491,7 @@ DEPENDENCIES:
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
- Flipper (= 0.125.0)
- Flipper (= 0.164.0)
- Flipper-Boost-iOSX (= 1.76.0.1.11)
- Flipper-DoubleConversion (= 3.2.0.1)
- Flipper-Fmt (= 7.1.7)
@@ -500,19 +499,19 @@ DEPENDENCIES:
- Flipper-Glog (= 0.5.0.5)
- Flipper-PeerTalk (= 0.0.4)
- Flipper-RSocket (= 1.4.3)
- FlipperKit (= 0.125.0)
- FlipperKit/Core (= 0.125.0)
- FlipperKit/CppBridge (= 0.125.0)
- FlipperKit/FBCxxFollyDynamicConvert (= 0.125.0)
- FlipperKit/FBDefines (= 0.125.0)
- FlipperKit/FKPortForwarding (= 0.125.0)
- FlipperKit/FlipperKitHighlightOverlay (= 0.125.0)
- FlipperKit/FlipperKitLayoutPlugin (= 0.125.0)
- FlipperKit/FlipperKitLayoutTextSearchable (= 0.125.0)
- FlipperKit/FlipperKitNetworkPlugin (= 0.125.0)
- FlipperKit/FlipperKitReactPlugin (= 0.125.0)
- FlipperKit/FlipperKitUserDefaultsPlugin (= 0.125.0)
- FlipperKit/SKIOSNetworkPlugin (= 0.125.0)
- FlipperKit (= 0.164.0)
- FlipperKit/Core (= 0.164.0)
- FlipperKit/CppBridge (= 0.164.0)
- FlipperKit/FBCxxFollyDynamicConvert (= 0.164.0)
- FlipperKit/FBDefines (= 0.164.0)
- FlipperKit/FKPortForwarding (= 0.164.0)
- FlipperKit/FlipperKitHighlightOverlay (= 0.164.0)
- FlipperKit/FlipperKitLayoutPlugin (= 0.164.0)
- FlipperKit/FlipperKitLayoutTextSearchable (= 0.164.0)
- FlipperKit/FlipperKitNetworkPlugin (= 0.164.0)
- FlipperKit/FlipperKitReactPlugin (= 0.164.0)
- FlipperKit/FlipperKitUserDefaultsPlugin (= 0.164.0)
- FlipperKit/SKIOSNetworkPlugin (= 0.164.0)
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
- hermes-engine (from `../node_modules/react-native/sdks/hermes/hermes-engine.podspec`)
- libevent (~> 2.1.12)
@@ -698,7 +697,7 @@ SPEC CHECKSUMS:
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
FBLazyVector: affa4ba1bfdaac110a789192f4d452b053a86624
FBReactNativeSpec: fe8b5f1429cfe83a8d72dc8ed61dc7704cac8745
Flipper: 26fc4b7382499f1281eb8cb921e5c3ad6de91fe0
Flipper: d08578a2cc23c60c27086b07930efaeb39101342
Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c
Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30
Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b
@@ -706,7 +705,7 @@ SPEC CHECKSUMS:
Flipper-Glog: 70c50ce58ddaf67dc35180db05f191692570f446
Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541
FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86
FlipperKit: ddf459d2625ca33f115492de5ba6d970e2576311
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b
hermes-engine: 7fe5fc6ef707b7fdcb161b63898ec500e285653d
@@ -730,7 +729,7 @@ SPEC CHECKSUMS:
React-jsinspector: badd81696361249893a80477983e697aab3c1a34
React-logger: fdda34dd285bdb0232e059b19d9606fa0ec3bb9c
react-native-blur: 50c9feabacbc5f49b61337ebc32192c6be7ec3c3
react-native-flipper: b269b4d4e1ec04f7f443f5edf15100a13e760bf0
react-native-flipper: c33a4995958ef12a2b2f8290d63bed7adeed7634
react-native-netinfo: f80db8cac2151405633324cb645c60af098ee461
react-native-safe-area-context: 99b24a0c5acd0d5dcac2b1a7f18c49ea317be99a
react-native-skia: 7f9a3bd36c4247005e87005d912dcf6db76a6289
@@ -765,6 +764,6 @@ SPEC CHECKSUMS:
Yoga: eca980a5771bf114c41a754098cd85e6e0d90ed7
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
PODFILE CHECKSUM: 9735b44bd285aab03d16f4b0a062c94bf98c573c
PODFILE CHECKSUM: 94434618afff1be257dd0576e9a75bcaa7b48664
COCOAPODS: 1.11.3

45
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "fintunes",
"version": "2.0.0",
"version": "2.0.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "fintunes",
"version": "2.0.0",
"version": "2.0.1",
"dependencies": {
"@react-native-async-storage/async-storage": "^1.17.11",
"@react-native-community/blur": "^4.3.0",
@@ -31,7 +31,7 @@
"react-native-collapsible": "^1.6.0",
"react-native-dotenv": "^3.4.2",
"react-native-fast-image": "^8.6.3",
"react-native-flipper": "^0.174.0",
"react-native-flipper": "^0.164.0",
"react-native-fs": "^2.20.0",
"react-native-gesture-handler": "^2.8.0",
"react-native-localize": "^2.2.4",
@@ -52,6 +52,7 @@
},
"devDependencies": {
"@babel/core": "^7.20.2",
"@babel/plugin-proposal-numeric-separator": "^7.18.6",
"@babel/runtime": "^7.20.1",
"@react-native-community/eslint-config": "^3.2.0",
"@sentry/cli": "^2.8.1",
@@ -653,6 +654,22 @@
"@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-proposal-numeric-separator": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz",
"integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.18.6",
"@babel/plugin-syntax-numeric-separator": "^7.10.4"
},
"engines": {
"node": ">=6.9.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-proposal-object-rest-spread": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz",
@@ -13731,9 +13748,9 @@
}
},
"node_modules/react-native-flipper": {
"version": "0.174.0",
"resolved": "https://registry.npmjs.org/react-native-flipper/-/react-native-flipper-0.174.0.tgz",
"integrity": "sha512-9WAUxqHLU57dYxD/Z5EkcU/MdP1KFWCxdZfeHJ6Ogq/GbJVawzibjVfGPVwc2GoLIMvE6rZ0Fvvw4AUIdykc/g==",
"version": "0.164.0",
"resolved": "https://registry.npmjs.org/react-native-flipper/-/react-native-flipper-0.164.0.tgz",
"integrity": "sha512-iJhIe3rqx6okuzBp4AJsTa2b8VRAOGzoLRFx/4HGbaGvu8AurZjz8TTQkhJsRma8dsHN2b6KKZPvGGW3wdWzvA==",
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
"react-native": ">0.62.0"
@@ -16719,6 +16736,16 @@
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
}
},
"@babel/plugin-proposal-numeric-separator": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz",
"integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.18.6",
"@babel/plugin-syntax-numeric-separator": "^7.10.4"
}
},
"@babel/plugin-proposal-object-rest-spread": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz",
@@ -26867,9 +26894,9 @@
"integrity": "sha512-Sdw4ESidXCXOmQ9EcYguNY2swyoWmx53kym2zRsvi+VeFCHEdkO+WG1DK+6W81juot40bbfLNhkc63QnWtesNg=="
},
"react-native-flipper": {
"version": "0.174.0",
"resolved": "https://registry.npmjs.org/react-native-flipper/-/react-native-flipper-0.174.0.tgz",
"integrity": "sha512-9WAUxqHLU57dYxD/Z5EkcU/MdP1KFWCxdZfeHJ6Ogq/GbJVawzibjVfGPVwc2GoLIMvE6rZ0Fvvw4AUIdykc/g=="
"version": "0.164.0",
"resolved": "https://registry.npmjs.org/react-native-flipper/-/react-native-flipper-0.164.0.tgz",
"integrity": "sha512-iJhIe3rqx6okuzBp4AJsTa2b8VRAOGzoLRFx/4HGbaGvu8AurZjz8TTQkhJsRma8dsHN2b6KKZPvGGW3wdWzvA=="
},
"react-native-fs": {
"version": "2.20.0",

View File

@@ -1,6 +1,6 @@
{
"name": "fintunes",
"version": "2.0.0",
"version": "2.0.1",
"main": "src/index.js",
"private": true,
"scripts": {
@@ -9,7 +9,7 @@
"start": "react-native start",
"test": "jest",
"lint": "eslint . --ext .js,.jsx,.ts,.tsx && tsc --noEmit",
"build:ios": "react-native bundle --entry-file='index.ts' --bundle-output='./ios/main.jsbundle' --dev=false --platform='ios'"
"build:ios": "react-native bundle --entry-file='index.js' --bundle-output='./ios/main.jsbundle' --dev=false --platform='ios'"
},
"dependencies": {
"@react-native-async-storage/async-storage": "^1.17.11",
@@ -35,7 +35,7 @@
"react-native-collapsible": "^1.6.0",
"react-native-dotenv": "^3.4.2",
"react-native-fast-image": "^8.6.3",
"react-native-flipper": "^0.174.0",
"react-native-flipper": "^0.164.0",
"react-native-fs": "^2.20.0",
"react-native-gesture-handler": "^2.8.0",
"react-native-localize": "^2.2.4",
@@ -56,6 +56,7 @@
},
"devDependencies": {
"@babel/core": "^7.20.2",
"@babel/plugin-proposal-numeric-separator": "^7.18.6",
"@babel/runtime": "^7.20.1",
"@react-native-community/eslint-config": "^3.2.0",
"@sentry/cli": "^2.8.1",

View File

@@ -1,14 +1,14 @@
import React from 'react';
import { Platform, TextInputProps } from 'react-native';
import React, { useCallback, useRef } from 'react';
import { Platform, TextInput, TextInputProps } from 'react-native';
import styled, { css } from 'styled-components/native';
import useDefaultStyles from './Colors';
import { Gap } from './Utility';
export interface InputProps extends TextInputProps {
icon?: React.ReactNode
icon?: React.ReactNode;
}
const Container = styled.View`
const Container = styled.Pressable`
margin: 6px 0;
border-radius: 8px;
display: flex;
@@ -21,23 +21,21 @@ const Container = styled.View`
})}
`;
const InputWrapper = styled.TextInput`
margin: 0;
padding: 0;
`;
function Input({ icon = null, style, ...rest }: InputProps) {
function Input({ icon = null, style, testID, ...rest }: InputProps) {
const defaultStyles = useDefaultStyles();
const inputRef = useRef<TextInput | null>(null);
const handlePress = useCallback(() => inputRef.current?.focus(), []);
return (
<Container style={[defaultStyles.input, style]}>
<Container style={[defaultStyles.input, style]} onPress={handlePress} testID={`${testID}-container`} accessible={false}>
{icon && (
<>
{icon}
<Gap size={8} />
</>
)}
<InputWrapper {...rest} />
<TextInput {...rest} style={{ margin: 0, padding: 0 }} ref={inputRef} testID={`${testID}-textinput`} />
</Container>
);
}