npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-native-login-screen

v5.0.0

Published

Fully Customizable & Ready to use Login Screen for React Native

Downloads

396

Readme

Battle Tested ✅

One Line of Code to Plug & Play | Fully Customizable Beautiful React Native Login Screen

npm version npm Platform - Android and iOS License: MIT

🥳 Version 5

Version 5 with the completely new UI

  • Whole new UI / UX Design 😍
  • Built-in Email Validation 📧
  • Built-in Password Validation 🔒
  • Built-in Email Tooltip 📧
  • Built-in Password Tooltip 🔒
  • Built-in Show/Hide Password Feature 👀
  • Fully Customizable 🎨
  • Better Code Quality 🚀
  • Ready to use SocialButton Component
  • Only ONE dependency is needed

Installation

Add the dependency:

npm i react-native-login-screen

Peer Dependencies

IMPORTANT! You need install them.
npm i react-native-text-input-interactive
"react-native-text-input-interactive": ">= 0.1.3"

Import

import LoginScreen from "react-native-login-screen";

Usage

<LoginScreen
  onLoginPress={() => {}}
  onSignupPress={() => {}}
  onEmailChange={(value: string) => {
    username = value;
    console.log('username: ', username);
  }}
  onPasswordChange={(password: string) => {}}
/>

Basic Signup Screen Usage

<LoginScreen
  logoImageSource={require('./assets/logo-example.png')}
  onLoginPress={() => {}}
  onSignupPress={() => {}}
  onEmailChange={(value: string) => {
    username = value;
    console.log('username: ', username);
  }}
  loginButtonText={'Create an account'}
  disableSignup
  textInputChildren={
    <View style={{marginTop: 16}}>
      <TextInput
        placeholder="Re-Password"
        secureTextEntry
        onChangeText={(value: string) => {}}
      />
    </View>
  }
  onPasswordChange={(password: string) => {}}
/>

Usage with Social Button

You can put any children into the LoginScreen, I recommend you to use SocialButton.

Configuration - Props

Fundamentals

| Property | Type | Default | Description | |------------------|:--------:|:---------:|---------------------------------------------------------------| | onLoginPress | function | undefined | set your own function when the login button is pressed | | onSignupPress | function | undefined | set your own function when the Create an account is pressed | | onEmailChange | function | undefined | set your own function when email textinput has a change | | onPasswordChange | function | undefined | set your own function when password textinput has a change |

Customizations (Optional)

| Property | Type | Default | Description | |-------------------------|:----------:|:-------------------:|---------------------------------------------------------| | onEyePress | function | undefined | set your own function when eye icon button is pressed | | signupText | string | "Create an account" | change the sign up text | | disableSignup | boolean | false | disable the signup if you do not want to use it | | disableDivider | boolean | false | disable the divider if you do not want to use it | | disableSocialButtons | boolean | false | disable the all social buttons | | disablePasswordInput | boolean | false | disable the password text input | | disableEmailValidation | boolean | false | disable built-in email validation | | disableEmailTooltip | boolean | false | enable built-in password validation | | disablePasswordTooltip | boolean | false | disable built-in email tooltip | | disableEmailTooltip | boolean | false | disable built-in password tooltip | | emailPlaceholder | string | "Email" | change email placeholder text | | passwordPlaceholder | string | "Password" | change password placeholder text | | loginButtonText | string | "Login" | change login button's text | | style | ViewStyle | default | set/override the default style for the container | | dividerStyle | ViewStyle | default | set/override the default divider style | | logoImageStyle | ImageStyle | default | set/override the default image style | | textInputContainerStyle | ViewStyle | default | set/override the default text input container style | | loginButtonStyle | ViewStyle | default | set/override the default login button style | | loginTextStyle | TextStyle | default | set/override the default login text style | | signupStyle | ViewStyle | default | set/override the default signup button style | | signupTextStyle | TextStyle | default | set/override the default signup text style | | signupTextStyle | TextStyle | default | set/override the default signup text style | | passwordContentTooltip | Component | default | set on your own tooltip content for password | | emailContentTooltip | Component | default | set on your own tooltip content for email |

Advanced Customizations (Optional)

| Property | Type | Default | Description | |--------------------------|:-----------------------------------------------------------------------------------------------------------------------:|:----------------:|------------------------------------------------------------------------| | customTextInputs | Component | default | set your own custom text inputs instead of built-in ones | | textInputChildren | Component | default | set your own EXTRA custom text inputs with the current ones | | customLogo | Component | default | set your own logo | | customLoginButton | Component | default | set your login button | | customSignupButton | Component | default | set your sign up button | | customDivider | Component | default | set your divider | | customLoginButton | Component | default | set on your own components instead of default login button | | customSignupButton | Component | default | set on your own components instead of default signup button | | TouchableComponent | Pressable | TouchableOpacity | set on your own Touchable Component | | customTextInputs | Component | default | set on your own textinputs instead of default ones | | customSocialLoginButtons | Component | default | set on your own components instead of default social login buttons | | emailTextInputProps | IInteractiveTextInputProps | default | set/override the email text input props | | passwordTextInputProps | IInteractiveTextInputProps | default | set/override the password text input props |

Default Social Login Buttons (Optional)

| Property | Type | Default | Description | |-----------------|:--------:|:---------:|--------------------------------------------------------------| | onFacebookPress | function | undefined | set your own function for the Facebook social button press | | onTwitterPress | function | undefined | set your own function for the Twitter social button press | | onApplePress | function | undefined | set your own function for the Apple social button press | | onDiscordPress | function | undefined | set your own function for the Discord social button press |

Version 2 is still available

if you do not like the new design, you can still use the old design :)

npm i [email protected]

Roadmap

  • [x] ~~LICENSE~~
  • [x] ~~Android Design Bug Fixes~~
  • [x] ~~Configuration - Props COMING SOON~~
  • [x] ~~Typescript Challenge!~~
  • [x] ~~Remove some dependencies~~
  • [x] ~~Better TextField Library Integration~~
  • [x] ~~Password show/hide~~
  • [x] ~~Customizable Components~~
  • [x] ~~Customizable Styles~~
  • [x] ~~Built-in Email Validation~~
  • [x] ~~Built-in Password Validation~~
  • [x] ~~Built-in Email Tooltip~~
  • [x] ~~Built-in Password Tooltip~~
  • [ ] Write an article about the lib on Medium
  • [ ] Write an article about the lib on DevTO

Credits

For the awesome photo thanks to jcob nasyr from Unsplash

Author

FreakyCoder, [email protected]

License

React Native Login Screen is available under the MIT license. See the LICENSE file for more info.