1.0.6 • Published 9 months ago

@precooked/react-profile-button v1.0.6

Weekly downloads
-
License
ISC
Repository
-
Last release
9 months ago

ProfileButton Component

The ProfileButton component is part of the @precooked library, designed to display user profile information along with login and logout functionality. It also includes a popover for more details and options.

Installation

npm install @precooked/react-profile-button

Props

PropTypeDefaultDescription
styleReact.CSSPropertiesundefinedCustom styles for the outer wrapper.
profileThumbnailStyleReact.CSSPropertiesundefinedStyles for the profile thumbnail button.
popoverStyleanyundefinedCustom styles for the popover content.
profileImageStyleReact.CSSPropertiesundefinedStyles for the profile image displayed inside the popover.
profileNameStyleReact.CSSPropertiesundefinedStyles for the profile name text.
profileEmailStyleReact.CSSPropertiesundefinedStyles for the profile email text.
authButtonStyleReact.CSSPropertiesundefinedCustom styles for the login/logout button inside the popover.
displayMode'popover' or 'expanded''popover'Controls how the profile is displayed: as a popover or in expanded view.
nameKeystring'name'Custom key to extract the name from the user object.
emailKeystring'email'Custom key to extract the email from the user object.
profilePictureKeystring'profile_picture'Custom key to extract the profile picture from the user object.
baseUrlstring''Base URL to concatenate with the profile_picture value from the user object.
defaultProfilePicturestring'/default-avatar.png'URL to a default profile picture in case the user is not authenticated or no image is available.
onLogin() => voidundefinedCallback function triggered when the login button is clicked.
onLogout() => voidundefinedCallback function triggered when the logout button is clicked.

Example

import React from "react";
import ProfileButton from "@precooked/react-profile-button";

const MyApp: React.FC = () => {
  const handleLogin = () => {
    // Logic for login
  };

  const handleLogout = () => {
    // Logic for logout
  };

  return (
    <ProfileButton
      baseUrl="https://my-server.com"
      defaultProfilePicture="/default-avatar.png"
      onLogin={handleLogin}
      onLogout={handleLogout}
      profileThumbnailStyle={{ borderRadius: "50%" }}
      popoverStyle={{ backgroundColor: "#fff", padding: "10px" }}
      profileNameStyle={{ fontSize: "18px", fontWeight: "bold" }}
      profileEmailStyle={{ fontSize: "14px", color: "#666" }}
      authButtonStyle={{
        backgroundColor: "#007bff",
        color: "#fff",
        padding: "10px 20px",
      }}
    />
  );
};

export default MyApp;

License

MIT

1.0.6

9 months ago

1.0.5

9 months ago

1.0.4

9 months ago

1.0.3

9 months ago

1.0.2

9 months ago

1.0.1

9 months ago