Skip to content

MauiBlazorBridge is Helper Utitlity That Makes Easier for Maui Blazor Hybrid Developers to Seamlessly Detect Which Platform Their Currenly Running On, Form Factor and etc..

License

Notifications You must be signed in to change notification settings

AathifMahir/MauiBlazorBridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MauiBlazorBridge

MauiBlazorBridge is a Helper Utitlity That Makes Easier for Maui Blazor Hybrid Developers to Seamlessly Detect Platform, FormFactor and Etc..

Latest Stable Latest Preview
AathifMahir.Maui.MauiShakeDetector AathifMahir.Maui.MauiShakeDetector

Get Started

1. In order to use the MauiBlazorHybrid you need to call the extension method in your Program.cs file as follows:

builder.Services.AddMauiBlazorBridge();

2. In the _imports.razor file, you need to import the namespace as follows:

@using MauiBlazorBridge

3. In MainLayout.razor file, you need to add BridgeProvider to Initialize the Bridge. Additionally Setting ListenerType Property to Global Makes Bridge to Listen to FormFactor Changes Globaly Instead of Creating and Disposing Listener During the Usage of BridgeFormFactor Component, Additionally If it is Set to Suppressed that would prevent Bridge from Creating a Listener Instead Get Values Once from the Device and Use Across the Bridge

@inherits LayoutComponentBase
<div class="page">
    <div class="sidebar">
        <NavMenu />
    </div>

    <main>
        <article class="content px-4">
            @Body
        </article>
        <!-- Add BridgeProvider -->
        <BridgeProvider/>
    </main>
</div>

Disclaimer: When it comes PreRendering Enabled Blazor Flavor, You don't need to add BridgeProvider in MainLayout.razor file, Instead you need to add BridgeProvider in all the different Blazor Components that Utilizes Bridge. Additionally you need to Enable Interactivity for that Specific Component or Page, Check the Example Here

Usage

@inject IBridge Bridge

<BridgeFormFactor>
    <Mobile>
        <h3>FormFactor : Mobile</h3>
    </Mobile>
    <Tablet>
        <h3>FormFactor : Tablet</h3>
    </Tablet>
    <Desktop>
        <h3>FormFactor : Desktop</h3>
    </Desktop>
    <Default>
        <h3>FormFactor : Unknown</h3>
    </Default>
</BridgeFormFactor>

<h3>Platform : @Bridge.Platform</h3>
<h3>Platform Version : @Bridge.PlatformVersion</h3>
<h3>FrameWork : @Bridge.Framework</h3>

Components

BridgeFormFactor

<BridgeFormFactor>
    <Mobile>
        <h3>FormFactor : Mobile</h3>
    </Mobile>
    <Tablet>
        <h3>FormFactor : Tablet</h3>
    </Tablet>
    <Desktop>
        <h3>FormFactor : Desktop</h3>
    </Desktop>
    <Default>
        <h3>FormFactor : Unknown</h3>
    </Default>
</BridgeFormFactor>

Recommended Approach: To obtain the current Form Factor, bind to the FormFactorChanged EventCallBack in the BridgeFormFactor component as Shown in the below example

<BridgeFormFactor @bind:FormFactorChanged="FormFactorChanged">
    <Mobile>
        <h3>FormFactor : Mobile</h3>
    </Mobile>
    <Tablet>
        <h3>FormFactor : Tablet</h3>
    </Tablet>
    <Desktop>
        <h3>FormFactor : Desktop</h3>
    </Desktop>
    <Default>
        <h3>FormFactor : Unknown</h3>
    </Default>
</BridgeFormFactor>

@code {
	private DeviceFormFactor FormFactorChanged { get; set; }
}

BridgePlatform

<BridgePlatform>
	<Android>
		<h3>Platform : Android</h3>
	</Android>
	<IOS>
		<h3>Platform : iOS</h3>
	</IOS>
	<Windows>
		<h3>Platform : Windows</h3>
	</Windows>
	<Mac>
		<h3>Platform : MacCatalyst</h3>
	</Mac>
	<Default>
		<h3>Platform : Unknown</h3>
	</Default>
</BridgePlatform>

BridgeFramework

<BridgeFramework>
  <Maui>
   <h3>Framework : Maui</h3>
  </Maui>
  <Blazor>
  <h3>Framework : Blazor</h3>
  </Blazor>
</BridgeFramework>

Note

The Documentation is Under Construction, More Features and Components will be Added Soon.

License

MauiBlazorBridge is licensed under the MIT license

About

MauiBlazorBridge is Helper Utitlity That Makes Easier for Maui Blazor Hybrid Developers to Seamlessly Detect Which Platform Their Currenly Running On, Form Factor and etc..

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published