Skip to content

Material Components: DI-bound authentic values for MAUI native controls #30

@sultanaalyami

Description

@sultanaalyami

Context

Material design components (cepha-material.css / cepha-material.js) currently render HTML representations of UI elements (buttons, forms, inputs). When running in MAUI Hybrid (BlazorWebView), these must resolve to native platform controls ظ�¤ not HTML approximations.

Requirement

  • Material view components must have authentic DI-bound values that map to real platform controls
  • Button components (e.g. Sign In, Register, Submit) must bind via DI to native MAUI controls when running in MAUI context
  • The DI registration pattern:
    • WASM browser: resolves to HTML/CSS Material components (current behavior)
    • MAUI Hybrid: resolves to native Button, Entry, Label etc. via Microsoft.Maui.Controls
  • This enables a single codebase to produce both web (WASM) and mobile (Android/iOS) outputs

Acceptance Criteria

  • IMaterialComponentFactory interface with platform-agnostic component creation
  • WASM implementation: renders current cepha-material HTML
  • MAUI implementation: renders native controls via BlazorWebView interop
  • DI registration switches based on runtime platform (OperatingSystem.IsBrowser() vs MAUI)
  • All Identity UI buttons (Login, Register, Logout, Profile) work natively on MAUI

Priority

This is a future milestone ظ�¤ implement when MAUI integration begins. Do NOT start until WASM Identity scaffold is 100% stable.

Migrated from: WasmMvcRuntime #39

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions