codifyiq_social_sign_in 1.0.0 copy "codifyiq_social_sign_in: ^1.0.0" to clipboard
codifyiq_social_sign_in: ^1.0.0 copied to clipboard

A presentational social sign-in screen with logo, tagline, pluggable provider buttons, and a reviewer-login easter egg.

codifyiq_social_sign_in #

pub package

A complete, purely presentational sign-in screen layout with logo, tagline, social sign-in buttons, error display, and footer. Consuming apps inject their own branding, buttons, and authentication callbacks.

Features #

  • Customizable logo, tagline, sign-in prompt, and footer.
  • A themed error container that shows only a user-safe message — raw backend diagnostics are captured via a callback, never displayed (see Error handling).
  • A built-in processing state that replaces the buttons with a progress indicator during authentication, preventing duplicate taps.
  • SocialSignInButton — a companion widget for consistent icon + label button styling.
  • An optional reviewer login easter egg: tapping the logo a configurable number of times reveals a built-in email/password form for app-store reviewers.

Installation #

dependencies:
  codifyiq_social_sign_in: ^1.0.0

Usage #

import 'package:codifyiq_social_sign_in/codifyiq_social_sign_in.dart';

SocialSignInScreen(
  logo: Image.asset('assets/logo.png'),
  reviewerLoginEnabled: true,
  onReviewerSignIn: (email, password) => _signIn(email, password),
  signInButtons: [
    SocialSignInButton(icon: googleLogo, label: 'Continue with Google', onPressed: _google),
  ],
);

Error handling #

Authentication backends often surface diagnostics that are useful for debugging but confusing — or alarming — to end users (e.g. "{(openid, profile, "offline_access")} are reserved scopes and may not be specified in the acquire token call"). Wrap failures in a SocialSignInError: the screen renders only the user-safe message, while the technical detail is handed to onError for your diagnostics (Crashlytics, Sentry, server logs) and never shown.

SocialSignInScreen(
  // ...
  error: _error, // SocialSignInError? held in your state
  onError: (error) => logger.error('Sign-in failed', error.detail),
  signInButtons: [...],
);

// In your sign-in catch block:
try {
  await signInWithMicrosoft();
} catch (e, stack) {
  setState(() => _error = SocialSignInError(
    message: "We couldn't sign you in. Please try again.",
    detail: '$e\n$stack',
  ));
}

Brand compliance: This package does not bundle provider logos — they are trademarked assets that cannot be redistributed in an open-source package. Obtain them from each provider's branding guidelines (Google, Apple).


Part of the CodifyIQ component family · pub.dev/publishers/codifyiq.com

0
likes
160
points
133
downloads

Documentation

API reference

Publisher

verified publishercodifyiq.com

Weekly Downloads

A presentational social sign-in screen with logo, tagline, pluggable provider buttons, and a reviewer-login easter egg.

Repository (GitHub)
View/report issues

Topics

#codifyiq #ui #widget #authentication

License

MIT (license)

Dependencies

flutter

More

Packages that depend on codifyiq_social_sign_in