All Projects → SimonHoiberg → React Login Modal Sm

SimonHoiberg / React Login Modal Sm

Customizable React Social Media login modal

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to React Login Modal Sm

Zuck.js
A javascript library that lets you add stories EVERYWHERE.
Stars: ✭ 3,396 (+14665.22%)
Mutual labels:  facebook, modal
Socialphish
The most complete Phishing Tool, with 32 templates +1 customizable
Stars: ✭ 378 (+1543.48%)
Mutual labels:  google, facebook
Oauth
🔗 OAuth 2.0 implementation for various providers in one place.
Stars: ✭ 336 (+1360.87%)
Mutual labels:  google, facebook
Awesome Privacy
A curated list of services and alternatives that respect your privacy because PRIVACY MATTERS.
Stars: ✭ 303 (+1217.39%)
Mutual labels:  google, facebook
Ngx Auth Firebaseui
Angular Material UI component for firebase authentication
Stars: ✭ 518 (+2152.17%)
Mutual labels:  google, facebook
Hybridauth
Open source social sign on PHP Library. HybridAuth goal is to act as an abstract api between your application and various social apis and identities providers such as Facebook, Twitter and Google.
Stars: ✭ 3,223 (+13913.04%)
Mutual labels:  google, facebook
Core Nestjs
A simple application demonstrating the basic usage of permissions with NestJS (JWT, Passport, Facebook, Google+, User, Group, Permission)
Stars: ✭ 347 (+1408.7%)
Mutual labels:  google, facebook
gobo
💭 Gobo: Your social media. Your rules.
Stars: ✭ 87 (+278.26%)
Mutual labels:  social-media, facebook
Competitive Programming
📌 📚 Solution of competitive programming problems, code templates, Data Structures and Algorithms, hackathons, interviews and much more.
Stars: ✭ 496 (+2056.52%)
Mutual labels:  google, facebook
Darkness
Dark Themes for Popular Websites
Stars: ✭ 467 (+1930.43%)
Mutual labels:  google, facebook
Laravel Socialite
Social OAuth Authentication for Laravel 5. drivers: facebook, github, google, linkedin, weibo, qq, wechat and douban
Stars: ✭ 296 (+1186.96%)
Mutual labels:  google, facebook
Ocbarrage
iOS 弹幕库 OCBarrage, 同时渲染5000条弹幕也不卡, 轻量, 可拓展, 高度自定义动画, 超高性能, 简单易上手; A barrage render-engine with high performance for iOS. At the same time, rendering 5000 barrages is also very smooth, lightweight, scalable, highly custom animation, ultra high performance, simple and easy to use!
Stars: ✭ 589 (+2460.87%)
Mutual labels:  google, facebook
Ocbarrage
iOS 弹幕库 OCBarrage, 同时渲染5000条弹幕也不卡, 轻量, 可拓展, 高度自定义动画, 超高性能, 简单易上手; A barrage render-engine with high performance for iOS. At the same time, rendering 5000 barrages is also very smooth, lightweight, scalable, highly custom animation, ultra high performance, simple and easy to use!
Stars: ✭ 294 (+1178.26%)
Mutual labels:  google, facebook
Play Authenticate
An authentication plugin for Play Framework 2.x (Java)
Stars: ✭ 813 (+3434.78%)
Mutual labels:  google, facebook
DaProfiler
DaProfiler allows you to create a profile on your target based in France only. The particularity of this program is its ability to find the e-mail addresses your target.
Stars: ✭ 58 (+152.17%)
Mutual labels:  social-media, facebook
Socialreaper
Social media scraping / data collection library for Facebook, Twitter, Reddit, YouTube, Pinterest, and Tumblr APIs
Stars: ✭ 338 (+1369.57%)
Mutual labels:  facebook, social-media
meta-tag-gen
Generate HTML code optimal for social media, SEO, mobile. Uses web standards from Open Graph (Facebook) and Twitter to provide optimal results. Also generates social media posts.
Stars: ✭ 24 (+4.35%)
Mutual labels:  social-media, facebook
awosome-ai-in-social-media
💻 Collect those AI & Bot use in social media wechat/facebook/twitter/instagram/weibo/TikTok etc.
Stars: ✭ 21 (-8.7%)
Mutual labels:  social-media, facebook
Yii2 Authclient
Yii 2 authclient extension.
Stars: ✭ 430 (+1769.57%)
Mutual labels:  google, facebook
Sns auth
通用第三方登录SDK,支持微信,微信扫码,QQ,微博登录,支付宝登录,Facebook,Line,Twitter,Google
Stars: ✭ 520 (+2160.87%)
Mutual labels:  google, facebook

Customizable React Social Media login modal

A lightweight, customizable react component log-in modal including social media buttons. No functionality is applied. Functions for click events can be passed via props. As can varies options for text and behavior.

🔎 Preview

image

Live example

https://silind.github.io/react-login-modal-sm/

☁️ Installation

Install

npm i react-login-modal-sm

Run example

# Start development server using create-react-app
npm run example

Bootstrap and Google Icons

Put following tags in your public index.html file's header section

<!-- Google Icons -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

<!-- Bootstrap -->
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">

Import and use component

import LoginModal from "react-login-modal-sm";

<LoginModal showModal={true} />

📝 Documentation

Constant that is passed via props

Prop name Description
showModal Boolean that determines whether the modal is visible or hidden

Functions that is passed via props

Prop name Description
toggleModal Show / hide the modal. When user clicks the 'x' button or clicks the overlay-background
onLoginFacebook When user clicks on 'log in with Facebook' button
onLoginGoogle When user clicks on 'log in with Google' button
onLoginEmail When user clicks on 'log in with email' button. Passes (email, password) as parameters
onSignupFacebook When user clicks on 'sign up with Facebook' button
onSignupGoogle When user clicks on 'sign up with Google' button
onSignupEmail When user clicks on 'sign up with email' button. Passes (email, username, password) as parameters
onForgotPassword When user clicks on 'send new password' button. Passes (email) as parameter

Regular expressions that can be passed via props (optional)

Prop name Description Default value
emailRegex Regex that defines correct email format https://stackoverflow.com/questions/46155/how-to-validate-an-email-address-in-javascript
usernameRegex Regex that defines correct username format /^[a-zA-Z0-9_-]{5,}/
passwordRegex Regex that defines correct password format /^[[email protected]!#()]{8,}/

Custom labels that can be passed via props (optional)

Prop name Description
labels Optional labels. Must be passed as an entire object

Default

{
  loginTitle: "Log in",
  signupTitle: "Create new user",
  forgotTitle: "Reset password",
  loginFacebookButton: "Log in with Facebook",
  loginGoogleButton: "Log in with Google",
  loginEmailButton: "Log in with email",
  signupFacebookButton: "Sign up with Facebook",
  signupGoogleButton: "Sign up with Google",
  signupEmailButton: "Sign up with email",
  forgotButton: "Send new password",
  loginEmailPlaceholder: "Type email",
  loginPasswordPlaceholder: "Type password",
  signupUsernamePlaceholder: "Type username",
  signupLink: "Create new user?",
  loginLink: "Already a user?",
  forgotLink: "Forgot password?",
  orLabel: "or"
}

📋 Example

import React, { Component } from "react";
import LoginModal from "react-login-modal-sm";

export default class App extends Component {
  state = {
    showModal: false
  };

  toggleModal = () => {
    this.setState({ showModal: !this.state.showModal });
  };

  handleLoginWithFacebook = () => {
    // Do something when 'Login with Facebook' is clicked
    console.log("Login with Facebook...");
  };

  handleSignupByEmail = (email, username, password) => {
    // Do something when 'Signup by email' is clicked
    console.log("Sign up by email...");
  };

  render() {
    const customUsernameRegex = /^[a-zA-Z0-9_]{5,}/;

    return (
      <div className="App">
        <h1>react-login-modal-sm example</h1>

        <LoginModal
          showModal={this.state.showModal}
          toggleModal={this.toggleModal}
          onLoginFacebook={this.handleLoginWithFacebook}
          onSignupEmail={this.handleSignupByEmail}
          usernameRegex={customUsernameRegex}
        />

        <button
          className="test-btn btn btn-primary btn-lg"
          onClick={this.toggleModal}
        >
          Log in
        </button>
      </div>
    );
  }
}

❓ Get Help

  1. Contact me on [email protected]
  2. - or if appropriate; raise an issue on Github
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].