Skip to content

Commit 22be311

Browse files
committed
Blazor Wasm example
1 parent 9ef53e0 commit 22be311

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1442
-111
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -406,3 +406,5 @@ ASALocalRun/
406406
# Local History for Visual Studio
407407
.localhistory/
408408
SupabaseExample/Properties/launchSettings.json
409+
410+
.history

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ API is heavily modeled after the [supabase-js repo](https://github.com/supabase/
5353

5454
## Projects / Examples / Templates
5555

56-
- [Blazor WASM Template using Supabase](https://github.com/rhuanbarros/BlazorWebAssemblySupabaseTemplate) by [@rhuanbarros](https://github.com/rhuanbarros)
56+
- [Blazor WASM Template using Supabase](SupabaseExamples/BlazorWebAssemblySupabaseTemplate) [Live demo](https://blazorwasmsupabasetemplate.web.app/) by [@rhuanbarros](https://github.com/rhuanbarros)
5757

5858
(Create a PR to list your work here!)
5959

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"projects": {
3+
"default": "blazorwasmsupabasetemplate"
4+
}
5+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,275 @@
1+
## Ignore Visual Studio temporary files, build results, and
2+
## files generated by popular Visual Studio add-ons.
3+
4+
# User-specific files
5+
*.suo
6+
*.user
7+
*.userosscache
8+
*.sln.docstates
9+
10+
# User-specific files (MonoDevelop/Xamarin Studio)
11+
*.userprefs
12+
13+
# Build results
14+
[Dd]ebug/
15+
[Dd]ebugPublic/
16+
[Rr]elease/
17+
[Rr]eleases/
18+
x64/
19+
x86/
20+
bld/
21+
[Bb]in/
22+
[Oo]bj/
23+
[Ll]og/
24+
25+
# Visual Studio 2015 cache/options directory
26+
.vs/
27+
# Uncomment if you have tasks that create the project's static files in wwwroot
28+
#wwwroot/
29+
30+
# MSTest test Results
31+
[Tt]est[Rr]esult*/
32+
[Bb]uild[Ll]og.*
33+
34+
# NUNIT
35+
*.VisualState.xml
36+
TestResult.xml
37+
38+
# Build Results of an ATL Project
39+
[Dd]ebugPS/
40+
[Rr]eleasePS/
41+
dlldata.c
42+
43+
# DNX
44+
project.lock.json
45+
artifacts/
46+
47+
*_i.c
48+
*_p.c
49+
*_i.h
50+
*.ilk
51+
*.meta
52+
*.obj
53+
*.pch
54+
*.pdb
55+
*.pgc
56+
*.pgd
57+
*.rsp
58+
*.sbr
59+
*.tlb
60+
*.tli
61+
*.tlh
62+
*.tmp
63+
*.tmp_proj
64+
*.log
65+
*.vspscc
66+
*.vssscc
67+
.builds
68+
*.pidb
69+
*.svclog
70+
*.scc
71+
72+
# Chutzpah Test files
73+
_Chutzpah*
74+
75+
# Visual C++ cache files
76+
ipch/
77+
*.aps
78+
*.ncb
79+
*.opendb
80+
*.opensdf
81+
*.sdf
82+
*.cachefile
83+
*.VC.db
84+
*.VC.VC.opendb
85+
86+
# Visual Studio profiler
87+
*.psess
88+
*.vsp
89+
*.vspx
90+
*.sap
91+
92+
# TFS 2012 Local Workspace
93+
$tf/
94+
95+
# Guidance Automation Toolkit
96+
*.gpState
97+
98+
# ReSharper is a .NET coding add-in
99+
_ReSharper*/
100+
*.[Rr]e[Ss]harper
101+
*.DotSettings.user
102+
103+
# JustCode is a .NET coding add-in
104+
.JustCode
105+
106+
# TeamCity is a build add-in
107+
_TeamCity*
108+
109+
# DotCover is a Code Coverage Tool
110+
*.dotCover
111+
112+
# NCrunch
113+
_NCrunch_*
114+
.*crunch*.local.xml
115+
nCrunchTemp_*
116+
117+
# MightyMoose
118+
*.mm.*
119+
AutoTest.Net/
120+
121+
# Web workbench (sass)
122+
.sass-cache/
123+
124+
# Installshield output folder
125+
[Ee]xpress/
126+
127+
# DocProject is a documentation generator add-in
128+
DocProject/buildhelp/
129+
DocProject/Help/*.HxT
130+
DocProject/Help/*.HxC
131+
DocProject/Help/*.hhc
132+
DocProject/Help/*.hhk
133+
DocProject/Help/*.hhp
134+
DocProject/Help/Html2
135+
DocProject/Help/html
136+
137+
# Click-Once directory
138+
publish/
139+
140+
# Publish Web Output
141+
*.[Pp]ublish.xml
142+
*.azurePubxml
143+
# TODO: Comment the next line if you want to checkin your web deploy settings
144+
# but database connection strings (with potential passwords) will be unencrypted
145+
*.pubxml
146+
*.publishproj
147+
148+
# Microsoft Azure Web App publish settings. Comment the next line if you want to
149+
# checkin your Azure Web App publish settings, but sensitive information contained
150+
# in these scripts will be unencrypted
151+
PublishScripts/
152+
153+
# NuGet Packages
154+
*.nupkg
155+
# The packages folder can be ignored because of Package Restore
156+
**/packages/*
157+
# except build/, which is used as an MSBuild target.
158+
!**/packages/build/
159+
# Uncomment if necessary however generally it will be regenerated when needed
160+
#!**/packages/repositories.config
161+
# NuGet v3's project.json files produces more ignoreable files
162+
*.nuget.props
163+
*.nuget.targets
164+
165+
# Microsoft Azure Build Output
166+
csx/
167+
*.build.csdef
168+
169+
# Microsoft Azure Emulator
170+
ecf/
171+
rcf/
172+
173+
# Windows Store app package directories and files
174+
AppPackages/
175+
BundleArtifacts/
176+
Package.StoreAssociation.xml
177+
_pkginfo.txt
178+
179+
# Visual Studio cache files
180+
# files ending in .cache can be ignored
181+
*.[Cc]ache
182+
# but keep track of directories ending in .cache
183+
!*.[Cc]ache/
184+
185+
# Others
186+
ClientBin/
187+
~$*
188+
*~
189+
*.dbmdl
190+
*.dbproj.schemaview
191+
*.pfx
192+
*.publishsettings
193+
node_modules/
194+
orleans.codegen.cs
195+
196+
# Since there are multiple workflows, uncomment next line to ignore bower_components
197+
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
198+
#bower_components/
199+
200+
# RIA/Silverlight projects
201+
Generated_Code/
202+
203+
# Backup & report files from converting an old project file
204+
# to a newer Visual Studio version. Backup files are not needed,
205+
# because we have git ;-)
206+
_UpgradeReport_Files/
207+
Backup*/
208+
UpgradeLog*.XML
209+
UpgradeLog*.htm
210+
211+
# SQL Server files
212+
*.mdf
213+
*.ldf
214+
215+
# Business Intelligence projects
216+
*.rdl.data
217+
*.bim.layout
218+
*.bim_*.settings
219+
220+
# Microsoft Fakes
221+
FakesAssemblies/
222+
223+
# GhostDoc plugin setting file
224+
*.GhostDoc.xml
225+
226+
# Node.js Tools for Visual Studio
227+
.ntvs_analysis.dat
228+
229+
# Visual Studio 6 build log
230+
*.plg
231+
232+
# Visual Studio 6 workspace options file
233+
*.opt
234+
235+
# Visual Studio LightSwitch build output
236+
**/*.HTMLClient/GeneratedArtifacts
237+
**/*.DesktopClient/GeneratedArtifacts
238+
**/*.DesktopClient/ModelManifest.xml
239+
**/*.Server/GeneratedArtifacts
240+
**/*.Server/ModelManifest.xml
241+
_Pvt_Extensions
242+
243+
# Paket dependency manager
244+
.paket/paket.exe
245+
paket-files/
246+
247+
# FAKE - F# Make
248+
.fake/
249+
250+
# JetBrains Rider
251+
.idea/
252+
*.sln.iml
253+
254+
# MaterialeShop
255+
src/MaterialeShop.Web/Logs/*
256+
src/MaterialeShop.Web.Host/Logs/*
257+
src/MaterialeShop.Web.Public/Logs/*
258+
src/MaterialeShop.Web.Public.Host/Logs/*
259+
src/MaterialeShop.AuthServer/Logs/*
260+
src/MaterialeShop.HttpApi.Host/Logs/*
261+
src/MaterialeShop.HttpApi.Host/Logs/*
262+
src/MaterialeShop.DbMigrator/Logs/*
263+
src/MaterialeShop.Blazor.Server/Logs/*
264+
src/MaterialeShop.Blazor.Server.Tiered/Logs/*
265+
266+
# Use abp install-libs to restore.
267+
**/wwwroot/libs/*
268+
269+
# IdentityServer temp files
270+
tempkey.rsa
271+
tempkey.jwk
272+
273+
!**/packages/*Theme*
274+
275+
.history
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<CascadingAuthenticationState>
2+
<Router AppAssembly="@typeof(App).Assembly">
3+
<Found Context="routeData">
4+
<AuthorizeRouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" >
5+
<NotAuthorized>
6+
<img width="600" src="https://i.kym-cdn.com/entries/icons/original/000/002/144/You_Shall_Not_Pass!_0-1_screenshot.jpg" />
7+
</NotAuthorized>
8+
</AuthorizeRouteView>
9+
<FocusOnNavigate RouteData="@routeData" Selector="h1" />
10+
</Found>
11+
<NotFound>
12+
<PageTitle>Not found</PageTitle>
13+
<LayoutView Layout="@typeof(MainLayout)">
14+
<p role="alert">Sorry, there's nothing at this address.</p>
15+
</LayoutView>
16+
</NotFound>
17+
</Router>
18+
</CascadingAuthenticationState>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net7.0</TargetFramework>
5+
<Nullable>enable</Nullable>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<ServiceWorkerAssetsManifest>service-worker-assets.js</ServiceWorkerAssetsManifest>
8+
</PropertyGroup>
9+
10+
<ItemGroup>
11+
<PackageReference Include="Blazored.LocalStorage" Version="4.3.0" />
12+
<PackageReference Include="Microsoft.AspNetCore.Components.Authorization" Version="7.0.0" />
13+
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="7.0.0" />
14+
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="7.0.0" PrivateAssets="all" />
15+
<PackageReference Include="MudBlazor" Version="6.1.0" />
16+
<PackageReference Include="supabase-csharp" Version="0.6.1" />
17+
<!-- <PackageReference Include="Microsoft.Extensions.Http" Version="7.0.0" /> -->
18+
</ItemGroup>
19+
20+
<ItemGroup>
21+
<ServiceWorker Include="wwwroot\service-worker.js" PublishedContent="wwwroot\service-worker.published.js" />
22+
</ItemGroup>
23+
24+
</Project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using System;
2+
using Postgrest.Attributes;
3+
using Postgrest.Models;
4+
using Supabase;
5+
6+
namespace BlazorWebAssemblySupabaseTemplate.Dtos;
7+
8+
[Table("Lista")]
9+
public class Lista : BaseModel
10+
{
11+
[PrimaryKey("id", false)] // Key is Autogenerated
12+
public int Id { get; set; }
13+
14+
[Column("Titulo")]
15+
public string? Titulo { get; set; }
16+
17+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
@inject AuthService AuthService
2+
@inject NavigationManager NavigationManager
3+
@inject ISnackbar Snackbar
4+
5+
<MudContainer Class="d-flex justify-center align-center" Style="height:100vh !important">
6+
<MudPaper Elevation="5" Class="pa-10" style="text-align:center">
7+
<MudContainer Class="d-flex flex-column justify-center" style="width: 450px">
8+
<MudText Typo="Typo.h5">Welcome</MudText>
9+
<br>
10+
<MudTextField Label="Email" @bind-Value="email" Variant="Variant.Outlined"></MudTextField>
11+
<MudTextField Label="Password" @bind-Value="password" Variant="Variant.Outlined" InputType="InputType.Password"></MudTextField>
12+
<br>
13+
<MudButton Variant="Variant.Filled" FullWidth Color="Color.Primary"
14+
OnClick="OnClickLogin">Login</MudButton>
15+
</MudContainer>
16+
</MudPaper>
17+
</MudContainer>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
namespace BlazorWebAssemblySupabaseTemplate.Pages.Auth;
2+
3+
public partial class Login
4+
{
5+
protected string email {get; set;} = "cliente1@gmail.com";
6+
protected string password {get; set;} = "senhasdadasdaasd";
7+
8+
public async Task OnClickLogin()
9+
{
10+
await AuthService.Login(email, password);
11+
Snackbar.Add("Login successfull");
12+
NavigationManager.NavigateTo($"/");
13+
}
14+
}
15+

0 commit comments

Comments
 (0)