2.1.6 • Published 1 year ago

@giveindia/loginmodule v2.1.6

Weekly downloads
-
License
UNLICENSED
Repository
gitlab
Last release
1 year ago

GiveIndia Development Components

Login Component for Fundraisers

Usage

Installation

  npm i @giveindia/loginmodule
  import LoginModule from '@giveindia/loginmodule'

  // for server side rendered apps, this may result in conflict at compilation. In which case, you could use

  const LoginModule = React.lazy(() => import('@giveindia/loginmodule'))

Standard Usage

  <LoginModule 
    open={true}         
    facebookAppID="required for Facebook Login"
    googleClientID="required for Google Login"        
    OTPLength={4} //Defaults to 4, if nothing provided
    baseURL={`https://yourbase.domain`}  // Defaults to https://staging.letzchange.org
    telCountryCode={'IN'} // Would be value from config.defaults.country_code
    preAuthorize={false}  // Default to false. Select true if you with to show the existing logged in user and allow action to conitnue.
    title="Almost there!" // Defaults to Login. Customized title for the Login Application
    subtitle="Verify yourself"  // Default to <empty_string>. Customized subtitle for the Login Application
    preAuthorize={false}  // Default to false. Select true if you with to show the existing logged in user and allow action to conitnue.
  />

Advanced Usage

To Prefill data on the LoginModule or to show options that user can choose to verify, you can pass an attribute idenfier with values as follows

Option 1: Pre-fill Single Data (Email or Mobile)

  <LoginModule 
    open={true}         
    facebookAppID="required for Facebook Login"
    googleClientID="required for Google Login"        
    OTPLength={4} //Defaults to 4, if nothing provided
    baseURL={`https://yourbase.domain`}  // Defaults to https://staging.letzchange.org
    telCountryCode={'IN'} // Would be value from config.defaults.country_code 
    idenfier={{      
      identifier: 'mobile',
      value: '+918989898989'
    }}   
  />

This would render directly the OTP Entering screen with the value set as what was passed to the Component as shown below

Option 2: Pre-fill Multiple Data (Email and Mobile) allowing user to select

  <LoginModule 
    open={true}         
    facebookAppID="required for Facebook Login"
    googleClientID="required for Google Login"        
    OTPLength={4} //Defaults to 4, if nothing provided
    baseURL={`https://yourbase.domain`}  // Defaults to https://staging.letzchange.org
    telCountryCode={'IN'} // Would be value from config.defaults.country_code 
    idenfier={[
      {
        identifier: 'mobile',
        value: '+918989898989'
      },
      {
        identifier: 'email', 
        value: 'rohitxxx@email.com'
      }
    ]}
  />

This would allow user to select either their Mobile or Phone Input and proceed with Login with the selected data.

Attributes

Additional Implementation Guide(s)

Note* For Server side rendered apps, using React.lazy(), you'd have to use Suspense with a fallback to render it at client-side.

import React, { Suspense } from 'react'

<Suspense fallback={<div>Loading...</div>}>
  <LoginModule ... />
</Supsense>

UI Customisation

The Login Component fits in to the width assigned by the the container. For a standard usage, keep the width of the box between 400px to 500px.

Custom Hooks

Hooks that can be used for checking login and failure

  <LoginModule 
    open={true}    
    OTPLength={4} //Defaults to 4, if nothing provided
    onSuccess={onLoginSuccess}
    onFailure={onLoginFailure}
    baseURL="..."  // Defaults to https://staging.letzchange.org
    telCountryCode={'IN'} // Would be value from config.defaults.country_code
  />

You can define a function within your code to check for success or failure during Login.

  const onLoginSuccess = (response) => {
    ...
  }

  // Response from the Component will look like 
  {
    token: '.....',
    user: {
      name: '.....',
      email: '......',
      is_admin: false,
      profile_pic: '....',
      ....
    }
  }

  const onLoginFailure = (response) => {
    ....    
  }

  // Response on failure should will look like
  {
    error: "Error message here",
  }

Configure Additional Information on the Modal

Configurable title, subtitle, supportId, tncLink, privacyLink attributes

 <LoginModule
    title="Almost there!" // Defaults to Login. Customized title for the Login Application
    subtitle="Verify yourself"  // Default to <empty_string>. Customized subtitle for the Login Application
    supportId={supportId} // Pass the support email id (Ex: support@domainName)
    tncLink={tncLink} // Pass the Valid URL redirecting to Terms and conditions page (Ex: https://domainName/terms-conditions)
    privacyLink={privacyLink} // Pass the Valid URL redirecting to Privacy page (Ex: https://domainName/privacy)
    
  />
2.1.6-alpha.0

1 year ago

2.1.1-alpha.22

1 year ago

2.1.1-alpha.23

1 year ago

2.1.1-alpha.24

1 year ago

2.1.7-alpha.0

1 year ago

2.1.6

1 year ago

2.1.5

1 year ago

2.1.4

1 year ago

2.1.1-alpha.20

1 year ago

2.1.1-alpha.19

1 year ago

2.1.1-alpha.18

1 year ago

2.1.3

1 year ago

2.1.1-alpha.17

1 year ago

2.1.1-alpha.8

1 year ago

2.1.1-alpha.7

1 year ago

2.1.1-alpha.6

1 year ago

2.1.1-alpha.5

1 year ago

2.1.1-alpha.9

1 year ago

2.1.1-alpha.0

1 year ago

2.1.1-alpha.4

1 year ago

2.1.1-alpha.3

1 year ago

2.1.1-alpha.2

1 year ago

2.1.1-alpha.14

1 year ago

2.1.1-alpha.15

1 year ago

2.1.1-alpha.16

1 year ago

2.1.1-alpha.10

1 year ago

2.1.1-alpha.11

1 year ago

2.1.1-alpha.12

1 year ago

2.1.1-alpha.13

1 year ago

2.1.2

1 year ago

2.1.1

1 year ago

2.1.0

2 years ago

2.0.2-alpha.10

2 years ago

2.0.2-alpha.9

2 years ago

2.0.2-alpha.8

2 years ago

2.0.2-alpha.7

2 years ago

2.0.2-alpha.6

2 years ago

2.0.2-alpha.5

2 years ago

2.0.2-alpha.4

2 years ago

2.0.2-alpha.3

2 years ago

2.0.2-alpha.2

2 years ago

2.0.2-alpha.1

2 years ago

2.0.2-alpha.0

2 years ago

2.0.1

2 years ago

2.0.0-alpha.19

3 years ago

2.0.0-alpha.18

3 years ago

2.0.0-alpha.17

3 years ago

2.0.0-alpha.16

3 years ago

2.0.0

3 years ago

2.0.0-alpha.22

3 years ago

2.0.0-alpha.21

3 years ago

2.0.0-alpha.20

3 years ago

2.0.0-alpha.23

3 years ago

2.0.0-alpha.15

3 years ago

2.0.0-alpha.14

3 years ago

2.0.0-alpha.13

3 years ago

2.0.0-alpha.12

3 years ago

1.2.16

3 years ago

1.2.17

3 years ago

1.2.18-alpha.0

3 years ago

1.2.18

3 years ago

1.2.19

3 years ago

2.0.0-alpha.11

3 years ago

2.0.0-alpha.8

3 years ago

2.0.0-alpha.9

3 years ago

2.0.0-alpha.7

3 years ago

2.0.0-alpha.6

3 years ago

2.0.0-alpha.3

3 years ago

2.0.0-alpha.4

3 years ago

2.0.0-alpha.5

3 years ago

1.2.16-alpha.0

3 years ago

2.0.0-alpha.0

3 years ago

2.0.0-alpha.1

3 years ago

2.0.0-alpha.2

3 years ago

1.2.15

3 years ago

1.2.12

3 years ago

1.2.13

3 years ago

1.2.10

3 years ago

1.2.11

3 years ago

1.2.14

3 years ago

1.2.15-alpha.1

3 years ago

1.2.15-alpha.0

3 years ago

1.2.11-alpha.0

3 years ago

1.2.12-alpha.0

3 years ago

1.2.15-alpha

3 years ago

1.2.9

3 years ago

1.2.9-alpha.0

3 years ago

1.2.8

3 years ago

1.2.7

3 years ago

1.2.6

3 years ago

1.2.5

4 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.2.1-alpha

4 years ago

1.2.0

4 years ago

1.2.0-alpha-3

4 years ago

1.2.0-alpha-4

4 years ago

1.2.0-alpha-1

4 years ago

1.2.0-alpha-2

4 years ago

1.2.0-alpha

4 years ago

1.1.2

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

1.0.3

4 years ago

0.9.0-alpha.15

4 years ago

0.9.0-alpha.16

4 years ago

0.9.0-alpha.14

4 years ago

0.9.0-alpha.10

4 years ago

0.9.0-alpha.8

4 years ago

0.9.0-alpha.9

4 years ago

0.9.0-alpha.0

4 years ago

0.9.0-alpha.1

4 years ago

0.9.0-alpha.2

4 years ago

0.9.0-alpha.3

4 years ago

0.9.0-alpha.4

4 years ago

0.9.0-alpha.5

4 years ago

0.9.0-alpha.6

4 years ago

0.9.0-alpha.7

4 years ago

0.9.0-alpha.11

4 years ago

0.9.0-alpha.12

4 years ago

0.9.0-alpha.13

4 years ago

0.8.9-alpha.0

4 years ago

0.8.5

5 years ago

0.8.4

5 years ago

0.8.1

5 years ago

0.8.0

5 years ago

0.8.3

5 years ago

0.8.2

5 years ago

0.7.4

5 years ago

0.7.3

5 years ago

0.7.2

5 years ago

0.7.1

5 years ago

0.7.0

5 years ago

0.6.0

5 years ago

0.5.1

5 years ago

0.4.9

5 years ago

0.4.8

5 years ago

0.3.9

5 years ago

0.4.5

5 years ago

0.4.4

5 years ago

0.4.7

5 years ago

0.4.6

5 years ago

0.5.0

5 years ago

0.4.1

5 years ago

0.4.0

5 years ago

0.4.3

5 years ago

0.4.2

5 years ago

0.3.8

5 years ago

0.3.7

5 years ago

0.3.6

5 years ago

0.3.5

5 years ago

0.3.4

5 years ago

0.3.3

5 years ago

0.3.2

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.9

5 years ago

0.2.8

5 years ago

0.2.7

5 years ago

0.2.6

5 years ago

0.2.5

5 years ago

0.2.4

5 years ago

0.2.3

5 years ago