Home
Wiki
Home
Wiki
  1. 2. Components
  • Back to home
  • 1. Themes
  • Vs Code
    • Getting Started
  • Kitchenware
    • Layout
      • New Layout
      • Legacy Layout
    • Components
      • Announcement
      • Banner Carousel
      • Banner With Products Carousel
      • Blog Category List
      • Blog List
      • Brand List
      • Brands Carousel
      • Breadcrumb
      • Call To Action
      • Cart
      • Categories List
      • Change Password
      • Checkout
      • Cookie Manager
      • Filter list
      • Footer
      • Forgot Password
      • Form
      • Hero Carousel
      • Icon Block
      • Invitation
      • Last Visited Products
      • Layout
      • Login
      • Map
      • Nav Bar
      • Offer
      • Product Attachments
      • Product Attributes
      • Product Documentation
      • Product Expected
      • Product Modal
      • Products Block
      • Products Carousel
      • Product Single
      • Profile
      • Quote
      • Register
      • Related Products
      • Search
      • Stores
      • Subscribe Newsletter
      • Text with Image
      • Top Bar
      • Video
    • Reusables
      • Getting Started
    • Assets
      • Getting Started
    • SDK
      • Products
        • _findProductsByCategory
        • _findProductsByIds
        • _findProductsByTitle
        • _findProductsByFilter
        • _findProductsByCriteria
        • _findProductsAndCalculate
        • _findProductsThenCalculate
        • _getProductAttributeSet
        • _setLastVisited
      • Categories
        • _findCategoryTreeById
        • _findCategoriesByIds
        • _findCategoryByAlias
        • _findCategoryTreeByAlias
        • _getCategoryContent
      • Collections
        • _getCollectionContent
        • _findCollectionsByIds
        • _findCollectionsByIdsThenCalculate
      • Brands
        • _getBrandContent
        • _findBrandsByIds
      • Cart
        • _addToCartMulti
        • _addToCart
        • _setCart
        • _clearCart
        • _setCartListener
        • _removeFromCart
        • _calculateCart
      • Checkout
        • _startCheckout
        • _updateCheckout
        • _completeCheckout
      • Shopping Lists
        • _getShoppingLists
        • _updateShoppingList
        • _createShoppingList
        • _deleteShoppingList
        • _getShoppingListByAlias
      • Navigation
        • _getFooterMenu
        • _getHeaderMenu
      • Users
        • _getUserById
      • Utils
        • _calculateCurrency
        • _getCurrencySymbol
        • _getCulture
        • _subscribeToNewsletter
        • _findUnitsByIds
  • Noir
    • 0. Introduction
    • 1. Structure
      • Overview
      • LayoutA.liquid
      • ComponentsList.liquid
      • Metas.liquid
      • CssVariables.liquid
      • Json.liquid
      • GoogleTagManager.liquid
      • StagingButton.liquid
    • 2. Components
      • Overview
      • Announcement
      • BannerCarousel
      • BlogCategoryList
      • BlogList
      • BrandList
      • Breadcrumb
      • Cart
      • CategoriesList
      • ChangePassword
      • Checkout
      • CookieManager
      • FilterList
      • Footer
      • ForgotPassword
      • Form
      • IconBlock
      • Invitation
      • LastVisitedProducts
      • Login
      • Map
      • NavBar
      • ProductAttachments
      • ProductAttributes
      • ProductComparison
      • ProductDocumentation
      • ProductMixList
      • ProductsBlock
      • ProductsCarousel
      • ProductSingle
      • Profile
      • Register
      • RelatedProducts
      • SingleBlog
      • Stores
      • TextWithImage
      • ThankYouPage
      • TopBar
      • Wishlist
    • 3. Reusables
      • Overview
      • Addresses
      • BillingRetail
      • AddressForm
      • AnnouncementModal
      • BackToTop
      • Company
      • General
      • Login
      • LoginModal
      • Orders
      • Payment
      • ProductAttachments
      • ProductAttributes
      • ProductComparisonButton
      • ProductComparisonFloatingButton
      • ProductGridItem
      • ProductListItem
      • ShoppingListsButton
      • ProductModal
      • ProfileInfo
      • PromptModal
      • Register
      • Shipping
      • ShoppingLists
      • ShoppingListsNavbar
      • Toast
      • Users
      • VariantContent
      • WishlistButton
      • Services
    • 4. Assets
      • Fonts
      • Images
      • Templates
      • Javascript
        • Overview
        • theme.js
      • Css / Scss
        • Overview
        • ThemeClasses
    • 5. SDK
      • Overview
      • LiquidGlobals
      • ServicesSDK
  1. 2. Components

Login

Purpose#

The Login component renders the “Login to account” page section.
It provides:
Page title (“Login to account”)
The actual login form UI via the reusable:
Reusables\Login\Default
Optional “No account? Register” call-to-action, controlled by global settings.
In Noir, the Login component itself is mostly a wrapper/container. The login functionality lives in the Login reusable.

Inputs (model contract)#

Model shape (storefront example)#

{
  "name": "Login",
  "view": "Default",
  "section": "SectionA",
  "settings": {
    "id": "Component Id",
    "section": "SectionA",
    "type": "NoirLogin",
    "name": "Login",
    "configuredInContentApi": true,
    "view": "Default",
    "cssClass": ""
  },
  "translations": {
    "loginToAccount": "Sample text",
    "noAccount": "Sample text",
    "register": "Sample text",
    "...": "..."
  }
}

Required fields#

settings.id
Used for wrapper id: comp-{{ id }}.

Optional fields#

settings.cssClass
Applied only when non-empty and not (UNDEFINED).
translations.*
Used for:
page title
“No account?” text
“Register” link label

JavaScript#

Global object#

The component includes a JS file for consistency, but it does not implement any client-side behavior:

Functions#

None.

Advice#

If you need to document actual login behavior (validation, submit, error handling, go-to-checkout gating), document it under:
Reusables → Login
and/or Reusables → LoginModal
Keep this component as a wrapper. Adding JS here would duplicate logic already handled by the reusable.

Global Alpine stores (used by Login)#

The Login component itself does not use stores directly.
The Login reusable may use stores (e.g. toast, loginModal) depending on its implementation.

Dependencies#

Liquid rendering
Reusables\Login\Default
Global setting: GlobalData.Settings.showRegistration

Notes#

The page-level Login component is not the same thing as the login modal. The modal is rendered separately via Reusables\LoginModal in the layout.
The uniquekey is important when there are multiple login UIs in the DOM; do not remove it without checking the reusable’s implementation.

Extras#

Template behavior (Liquid + Alpine)#

Title#

Renders:
translations.loginToAccount

Unique key generation#

The template generates a uniquekey string (example format: login-<timestamp>-<random>) using Liquid date/time parts.
It passes this key into the Login reusable:
{% render 'Reusables\\Login\\Default', uniquekey: uniquekey %}
What it means in practice
The reusable can use uniquekey to avoid DOM id collisions if multiple login blocks/modals are present in the same page/session (e.g., page login + login modal).

Register CTA (optional)#

Rendered only when GlobalData.Settings.showRegistration is enabled:
Text from translations.noAccount
Link to /register with label translations.register
Modified at 2026-04-14 13:18:56
Previous
LastVisitedProducts
Next
Map
Built with