├── Sans titre.png
├── BlazorOS1
├── wwwroot
│ ├── favicon.ico
│ ├── assets
│ │ ├── file.png
│ │ ├── group.png
│ │ ├── notes.png
│ │ ├── sound.png
│ │ ├── win31.mp3
│ │ ├── folder.png
│ │ ├── picture.png
│ │ ├── closebutton.png
│ │ └── flashscreen.png
│ ├── staticwebapp.config.json
│ ├── css
│ │ ├── open-iconic
│ │ │ ├── font
│ │ │ │ ├── fonts
│ │ │ │ │ ├── open-iconic.eot
│ │ │ │ │ ├── open-iconic.otf
│ │ │ │ │ ├── open-iconic.ttf
│ │ │ │ │ ├── open-iconic.woff
│ │ │ │ │ └── open-iconic.svg
│ │ │ │ └── css
│ │ │ │ │ └── open-iconic-bootstrap.min.css
│ │ │ ├── ICON-LICENSE
│ │ │ ├── README.md
│ │ │ └── FONT-LICENSE
│ │ ├── destkop.css
│ │ └── app.css
│ ├── js
│ │ └── sound.js
│ └── index.html
├── Shared
│ ├── MainLayout.razor
│ ├── Icon.razor.css
│ ├── Icon.razor
│ ├── MainLayout.razor.css
│ └── DesktopComponent.cs
├── App.razor
├── _Imports.razor
├── Models
│ └── IconModel.cs
├── BlazorOS1.csproj
├── Program.cs
├── Pages
│ └── Index.razor
└── Properties
│ ├── launchSettings.json
│ └── ServiceDependencies
│ └── BlazorOS - Web Deploy
│ └── profile.arm.json
├── README.md
├── BlazorOS1.sln
├── .github
└── workflows
│ └── azure-static-web-apps-brave-plant-0409a8603.yml
├── .gitattributes
└── .gitignore
/Sans titre.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tossnet/Blazor-OS/master/Sans titre.png
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tossnet/Blazor-OS/master/BlazorOS1/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/BlazorOS1/Shared/MainLayout.razor:
--------------------------------------------------------------------------------
1 | @inherits LayoutComponentBase
2 |
3 |
4 | @Body
5 |
6 |
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/assets/file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tossnet/Blazor-OS/master/BlazorOS1/wwwroot/assets/file.png
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/assets/group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tossnet/Blazor-OS/master/BlazorOS1/wwwroot/assets/group.png
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/assets/notes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tossnet/Blazor-OS/master/BlazorOS1/wwwroot/assets/notes.png
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/assets/sound.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tossnet/Blazor-OS/master/BlazorOS1/wwwroot/assets/sound.png
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/assets/win31.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tossnet/Blazor-OS/master/BlazorOS1/wwwroot/assets/win31.mp3
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/staticwebapp.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationFallback": {
3 | "rewrite": "/index.html"
4 | }
5 | }
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/assets/folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tossnet/Blazor-OS/master/BlazorOS1/wwwroot/assets/folder.png
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/assets/picture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tossnet/Blazor-OS/master/BlazorOS1/wwwroot/assets/picture.png
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/assets/closebutton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tossnet/Blazor-OS/master/BlazorOS1/wwwroot/assets/closebutton.png
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/assets/flashscreen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tossnet/Blazor-OS/master/BlazorOS1/wwwroot/assets/flashscreen.png
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/css/open-iconic/font/fonts/open-iconic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tossnet/Blazor-OS/master/BlazorOS1/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/css/open-iconic/font/fonts/open-iconic.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tossnet/Blazor-OS/master/BlazorOS1/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tossnet/Blazor-OS/master/BlazorOS1/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/css/open-iconic/font/fonts/open-iconic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tossnet/Blazor-OS/master/BlazorOS1/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Blazor-OS
2 |
3 | Small test of components created with BuilderRendreTree for fun 😜 : http://tiny.cc/win31
4 |
5 | Source code of the talk presented on September 23, 2020 for the MS DEV group of Montreal
6 |
7 | https://www.peug.net/meetup_msdevmtl-2020/
8 |
9 | https://www.meetup.com/fr-FR/msdevmtl/events/273281133/
10 |
--------------------------------------------------------------------------------
/BlazorOS1/App.razor:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Sorry, there's nothing at this address.
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/js/sound.js:
--------------------------------------------------------------------------------
1 | function PlayFile(filename) {
2 | var audio = document.getElementById('player');
3 | if (audio != null) {
4 | var audioSource = document.getElementById('playerSource');
5 | if (audioSource != null) {
6 | audioSource.src = filename;
7 | //audioSource.volume = 0.2;
8 | audio.load();
9 | audio.play();
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/BlazorOS1/_Imports.razor:
--------------------------------------------------------------------------------
1 | @using System.Net.Http
2 | @using System.Net.Http.Json
3 | @using Microsoft.AspNetCore.Components.Forms
4 | @using Microsoft.AspNetCore.Components.Routing
5 | @using Microsoft.AspNetCore.Components.Web
6 | @using Microsoft.AspNetCore.Components.Web.Virtualization
7 | @using Microsoft.AspNetCore.Components.WebAssembly.Http
8 | @using Microsoft.JSInterop
9 | @using BlazorOS1
10 | @using BlazorOS1.Shared
11 | @using BlazorOS1.Models
12 |
--------------------------------------------------------------------------------
/BlazorOS1/Models/IconModel.cs:
--------------------------------------------------------------------------------
1 | namespace BlazorOS1.Models
2 | {
3 | public class IconModel
4 | {
5 | public int Id { get; set; }
6 | public int IdContainer { get; set; }
7 | public string Name { get; set; }
8 | public string Picture { get; set; }
9 | public FileTypes Type { get; set; }
10 | }
11 |
12 | public enum FileTypes
13 | {
14 | sys,
15 | img,
16 | txt,
17 | mp3
18 | }
19 | }
--------------------------------------------------------------------------------
/BlazorOS1/BlazorOS1.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net7.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/BlazorOS1/Shared/Icon.razor.css:
--------------------------------------------------------------------------------
1 |
2 | .parent {
3 | position: relative;
4 | float: left;
5 | text-align: center;
6 | width: 64px;
7 | height: 64px;
8 | z-index: 1;
9 | background-repeat: repeat-x;
10 | /*margin-left: 3.7%;
11 | margin-right: 3.7%;*/
12 | }
13 |
14 | .parent:hover {
15 | border: 1px solid rgba(113, 105, 105, 0.66);
16 | cursor: pointer;
17 | }
18 |
19 | .name {
20 | position: absolute;
21 | width: 100%;
22 | text-align: center;
23 | font-size: 12px;
24 | word-wrap: break-word;
25 | line-height: 14px;
26 | }
27 |
--------------------------------------------------------------------------------
/BlazorOS1/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Net.Http;
3 | using System.Collections.Generic;
4 | using System.Threading.Tasks;
5 | using System.Text;
6 | using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
7 | using Microsoft.Extensions.Configuration;
8 | using Microsoft.Extensions.DependencyInjection;
9 | using Microsoft.Extensions.Logging;
10 |
11 | namespace BlazorOS1
12 | {
13 | public class Program
14 | {
15 | public static async Task Main(string[] args)
16 | {
17 | var builder = WebAssemblyHostBuilder.CreateDefault(args);
18 | builder.RootComponents.Add("#app");
19 |
20 | builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
21 |
22 | await builder.Build().RunAsync();
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | BlazorOS1
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
19 |
20 |
21 | An unhandled error has occurred.
22 |
Reload
23 |
🗙
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/BlazorOS1/Pages/Index.razor:
--------------------------------------------------------------------------------
1 | @page "/"
2 | @inject IJSRuntime js;
3 |
4 |
5 |
6 |
9 |
10 | @code {
11 | List Icons = new List();
12 |
13 | protected override void OnInitialized()
14 | {
15 | Icons = new List
16 | {
17 | new IconModel { Id = 1, Name="Main", Type = FileTypes.sys, IdContainer=0, Picture = "../assets/group.png" },
18 | new IconModel { Id = 2, Name="File Manager", Type = FileTypes.sys, IdContainer=1, Picture = "../assets/file.png" },
19 | new IconModel { Id = 3, Name="test", Type = FileTypes.sys, IdContainer=0, Picture = "../assets/notes.png" },
20 | new IconModel { Id = 4, Name="toto", Type = FileTypes.img, IdContainer=1, Picture = "../assets/picture.png" },
21 | new IconModel { Id = 5, Name="Sound", Type = FileTypes.mp3, IdContainer=1, Picture = "../assets/sound.png" }
22 | };
23 | }
24 | }
--------------------------------------------------------------------------------
/BlazorOS1/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "iisSettings": {
3 | "windowsAuthentication": false,
4 | "anonymousAuthentication": true,
5 | "iisExpress": {
6 | "applicationUrl": "http://localhost:50584",
7 | "sslPort": 44378
8 | }
9 | },
10 | "profiles": {
11 | "IIS Express": {
12 | "commandName": "IISExpress",
13 | "launchBrowser": true,
14 | "environmentVariables": {
15 | "ASPNETCORE_ENVIRONMENT": "Development"
16 | },
17 | "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}"
18 | },
19 | "BlazorOS1": {
20 | "commandName": "Project",
21 | "launchBrowser": true,
22 | "environmentVariables": {
23 | "ASPNETCORE_ENVIRONMENT": "Development"
24 | },
25 | "dotnetRunMessages": "true",
26 | "applicationUrl": "https://localhost:5001;http://localhost:5000",
27 | "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}"
28 | }
29 | }
30 | }
--------------------------------------------------------------------------------
/BlazorOS1/Shared/Icon.razor:
--------------------------------------------------------------------------------
1 | HandleDragStart(@iconModel.Id))"
3 | @onclick="@(() => OnClick(@iconModel.Id))"
4 | @ondblclick="@(() => OnDblClick(@iconModel))"
5 | >
6 |
7 |
@iconModel.Name
8 |
9 |
10 | @code {
11 | [Parameter] public IconModel iconModel { get; set; }
12 |
13 | [Parameter] public EventCallback OnClickIcon { get; set; }
14 | [Parameter] public EventCallback OnDblClickIcon { get; set; }
15 | [Parameter] public EventCallback OnDragStart { get; set; }
16 |
17 | private async Task HandleDragStart(int id)
18 | {
19 | await OnDragStart.InvokeAsync(id);
20 | }
21 |
22 | private async Task OnClick(int id)
23 | {
24 | await OnClickIcon.InvokeAsync(id);
25 | }
26 |
27 | private async Task OnDblClick(IconModel icon)
28 | {
29 | await OnDblClickIcon.InvokeAsync(icon);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/css/open-iconic/ICON-LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 Waybury
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
--------------------------------------------------------------------------------
/BlazorOS1.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.30428.66
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BlazorOS1", "BlazorOS1\BlazorOS1.csproj", "{5AE29554-B3B7-4D64-B6C4-D60F32FB1A24}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {5AE29554-B3B7-4D64-B6C4-D60F32FB1A24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {5AE29554-B3B7-4D64-B6C4-D60F32FB1A24}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {5AE29554-B3B7-4D64-B6C4-D60F32FB1A24}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {5AE29554-B3B7-4D64-B6C4-D60F32FB1A24}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {F26C0C08-C756-47EA-BE10-E131638FA945}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/BlazorOS1/Shared/MainLayout.razor.css:
--------------------------------------------------------------------------------
1 | .page {
2 | position: relative;
3 | display: flex;
4 | flex-direction: column;
5 | }
6 |
7 | .main {
8 | flex: 1;
9 | }
10 |
11 | .sidebar {
12 | background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
13 | }
14 |
15 | .top-row {
16 | background-color: #f7f7f7;
17 | border-bottom: 1px solid #d6d5d5;
18 | justify-content: flex-end;
19 | height: 3.5rem;
20 | display: flex;
21 | align-items: center;
22 | }
23 |
24 | .top-row ::deep a, .top-row .btn-link {
25 | white-space: nowrap;
26 | margin-left: 1.5rem;
27 | }
28 |
29 | .top-row a:first-child {
30 | overflow: hidden;
31 | text-overflow: ellipsis;
32 | }
33 |
34 | @media (max-width: 767.98px) {
35 | .top-row:not(.auth) {
36 | display: none;
37 | }
38 |
39 | .top-row.auth {
40 | justify-content: space-between;
41 | }
42 |
43 | .top-row a, .top-row .btn-link {
44 | margin-left: 0;
45 | }
46 | }
47 |
48 | @media (min-width: 768px) {
49 | .page {
50 | flex-direction: row;
51 | }
52 |
53 | .sidebar {
54 | width: 250px;
55 | height: 100vh;
56 | position: sticky;
57 | top: 0;
58 | }
59 |
60 | .top-row {
61 | position: sticky;
62 | top: 0;
63 | z-index: 1;
64 | }
65 |
66 | .main > div {
67 | padding-left: 2rem !important;
68 | padding-right: 1.5rem !important;
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/css/destkop.css:
--------------------------------------------------------------------------------
1 | .desktop {
2 | width: 100%;
3 | height: 100vh;
4 | background: #c0c0c0;
5 | border: 1px solid #555;
6 | display: flex;
7 | flex-direction: column;
8 | }
9 |
10 |
11 | .folder {
12 | position: absolute;
13 | width: 320px;
14 | left: 120px;
15 | top: 100px;
16 | background: #c0c0c0;
17 | border-style: double;
18 | display: flex;
19 | justify-content: space-around;
20 | flex-flow: row wrap;
21 | align-items: stretch;
22 | }
23 | .folder:hover {
24 | box-shadow: 1px 1px 6px #555;
25 | }
26 |
27 | .titleBar {
28 | position: relative;
29 | width: 100%;
30 | height: 20px;
31 | background: #c0c0c0;
32 | border: solid black;
33 | border-width: 0px 0px 1px 0px;
34 | display: flex;
35 | }
36 | .titleBar:hover {
37 | background: #00A;
38 | }
39 |
40 | .closeButton {
41 | text-align: center;
42 | background-color: #c0c0c0;
43 | background-image: url('../assets/closebutton.png');
44 | width: 19px;
45 | height: 19px;
46 | border: solid black;
47 | border-width: 0px 1px 0px 0px;
48 | }
49 | .closeButton:hover {
50 | cursor: pointer;
51 | }
52 |
53 | .nameTitle {
54 | text-align: center;
55 | font-size: 14px;
56 | color: #fff;
57 | -webkit-font-smoothing: none;
58 | flex-grow: 1;
59 | }
60 |
61 | .folderContent {
62 | width: 100%;
63 | height: 120px;
64 | flex-grow: 1;
65 | display: flex;
66 | flex-wrap: wrap;
67 | background: #fff;
68 | }
--------------------------------------------------------------------------------
/.github/workflows/azure-static-web-apps-brave-plant-0409a8603.yml:
--------------------------------------------------------------------------------
1 | name: Azure Static Web Apps CI/CD
2 |
3 | on:
4 | push:
5 | branches:
6 | - master
7 | pull_request:
8 | types: [opened, synchronize, reopened, closed]
9 | branches:
10 | - master
11 |
12 | jobs:
13 | build_and_deploy_job:
14 | if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
15 | runs-on: ubuntu-latest
16 | name: Build and Deploy Job
17 | steps:
18 | - uses: actions/setup-dotnet@v3
19 | with:
20 | dotnet-version: '7.0.x'
21 |
22 | - uses: actions/checkout@v2
23 | with:
24 | submodules: true
25 |
26 | # build the app manually
27 | - name: 'Artifact: azure-swa'
28 | run: dotnet publish --output dist
29 |
30 | - name: Build And Deploy
31 | id: builddeploy
32 | uses: Azure/static-web-apps-deploy@v1
33 | with:
34 | azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_BRAVE_PLANT_0409A8603 }}
35 | repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments)
36 | action: "upload"
37 | ###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
38 | # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
39 | app_location: "dist/wwwroot" # App source code path
40 | api_location: "" # Api source code path - optional
41 | app_artifact_location: "wwwroot" # Built app content directory - optional
42 | output_location: "wwwroot" # Built app content directory - optional
43 | skip_app_build: true
44 | skip_api_build: true
45 | ###### End of Repository/Build Configurations ######
46 |
47 | close_pull_request_job:
48 | if: github.event_name == 'pull_request' && github.event.action == 'closed'
49 | runs-on: ubuntu-latest
50 | name: Close Pull Request Job
51 | steps:
52 | - name: Close Pull Request
53 | id: closepullrequest
54 | uses: Azure/static-web-apps-deploy@v1
55 | with:
56 | azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_BRAVE_PLANT_0409A8603 }}
57 | action: "close"
58 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Set default behavior to automatically normalize line endings.
3 | ###############################################################################
4 | * text=auto
5 |
6 | ###############################################################################
7 | # Set default behavior for command prompt diff.
8 | #
9 | # This is need for earlier builds of msysgit that does not have it on by
10 | # default for csharp files.
11 | # Note: This is only used by command line
12 | ###############################################################################
13 | #*.cs diff=csharp
14 |
15 | ###############################################################################
16 | # Set the merge driver for project and solution files
17 | #
18 | # Merging from the command prompt will add diff markers to the files if there
19 | # are conflicts (Merging from VS is not affected by the settings below, in VS
20 | # the diff markers are never inserted). Diff markers may cause the following
21 | # file extensions to fail to load in VS. An alternative would be to treat
22 | # these files as binary and thus will always conflict and require user
23 | # intervention with every merge. To do so, just uncomment the entries below
24 | ###############################################################################
25 | #*.sln merge=binary
26 | #*.csproj merge=binary
27 | #*.vbproj merge=binary
28 | #*.vcxproj merge=binary
29 | #*.vcproj merge=binary
30 | #*.dbproj merge=binary
31 | #*.fsproj merge=binary
32 | #*.lsproj merge=binary
33 | #*.wixproj merge=binary
34 | #*.modelproj merge=binary
35 | #*.sqlproj merge=binary
36 | #*.wwaproj merge=binary
37 |
38 | ###############################################################################
39 | # behavior for image files
40 | #
41 | # image files are treated as binary by default.
42 | ###############################################################################
43 | #*.jpg binary
44 | #*.png binary
45 | #*.gif binary
46 |
47 | ###############################################################################
48 | # diff behavior for common document formats
49 | #
50 | # Convert binary document formats to text before diffing them. This feature
51 | # is only available from the command line. Turn it on by uncommenting the
52 | # entries below.
53 | ###############################################################################
54 | #*.doc diff=astextplain
55 | #*.DOC diff=astextplain
56 | #*.docx diff=astextplain
57 | #*.DOCX diff=astextplain
58 | #*.dot diff=astextplain
59 | #*.DOT diff=astextplain
60 | #*.pdf diff=astextplain
61 | #*.PDF diff=astextplain
62 | #*.rtf diff=astextplain
63 | #*.RTF diff=astextplain
64 |
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/css/app.css:
--------------------------------------------------------------------------------
1 | @import url('open-iconic/font/css/open-iconic-bootstrap.min.css');
2 |
3 | html, body {
4 | font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
5 | background-color: #2b2b2b;
6 | }
7 |
8 | .center-div {
9 | position: absolute;
10 | margin: auto;
11 | top: 0;
12 | right: 0;
13 | bottom: 0;
14 | left: 0;
15 | width: 355px;
16 | height: 425px;
17 | background-color: #ccc;
18 | background-image: url('../assets/flashscreen.png');
19 | }
20 |
21 | a, .btn-link {
22 | color: #0366d6;
23 | }
24 |
25 | .btn-primary {
26 | color: #fff;
27 | background-color: #1b6ec2;
28 | border-color: #1861ac;
29 | }
30 |
31 | .content {
32 | padding-top: 1.1rem;
33 | }
34 |
35 | .valid.modified:not([type=checkbox]) {
36 | outline: 1px solid #26b050;
37 | }
38 |
39 | .invalid {
40 | outline: 1px solid red;
41 | }
42 |
43 | .validation-message {
44 | color: red;
45 | }
46 |
47 | #blazor-error-ui {
48 | background: lightyellow;
49 | bottom: 0;
50 | box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
51 | display: none;
52 | left: 0;
53 | padding: 0.6rem 1.25rem 0.7rem 1.25rem;
54 | position: fixed;
55 | width: 100%;
56 | z-index: 1000;
57 | }
58 |
59 | #blazor-error-ui .dismiss {
60 | cursor: pointer;
61 | position: absolute;
62 | right: 0.75rem;
63 | top: 0.5rem;
64 | }
65 |
66 | .blazor-error-boundary {
67 | background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
68 | padding: 1rem 1rem 1rem 3.7rem;
69 | color: white;
70 | }
71 |
72 | .blazor-error-boundary::after {
73 | content: "An error has occurred."
74 | }
75 |
--------------------------------------------------------------------------------
/BlazorOS1/wwwroot/css/open-iconic/README.md:
--------------------------------------------------------------------------------
1 | [Open Iconic v1.1.1](http://useiconic.com/open)
2 | ===========
3 |
4 | ### Open Iconic is the open source sibling of [Iconic](http://useiconic.com). It is a hyper-legible collection of 223 icons with a tiny footprint—ready to use with Bootstrap and Foundation. [View the collection](http://useiconic.com/open#icons)
5 |
6 |
7 |
8 | ## What's in Open Iconic?
9 |
10 | * 223 icons designed to be legible down to 8 pixels
11 | * Super-light SVG files - 61.8 for the entire set
12 | * SVG sprite—the modern replacement for icon fonts
13 | * Webfont (EOT, OTF, SVG, TTF, WOFF), PNG and WebP formats
14 | * Webfont stylesheets (including versions for Bootstrap and Foundation) in CSS, LESS, SCSS and Stylus formats
15 | * PNG and WebP raster images in 8px, 16px, 24px, 32px, 48px and 64px.
16 |
17 |
18 | ## Getting Started
19 |
20 | #### For code samples and everything else you need to get started with Open Iconic, check out our [Icons](http://useiconic.com/open#icons) and [Reference](http://useiconic.com/open#reference) sections.
21 |
22 | ### General Usage
23 |
24 | #### Using Open Iconic's SVGs
25 |
26 | We like SVGs and we think they're the way to display icons on the web. Since Open Iconic are just basic SVGs, we suggest you display them like you would any other image (don't forget the `alt` attribute).
27 |
28 | ```
29 |
30 | ```
31 |
32 | #### Using Open Iconic's SVG Sprite
33 |
34 | Open Iconic also comes in a SVG sprite which allows you to display all the icons in the set with a single request. It's like an icon font, without being a hack.
35 |
36 | Adding an icon from an SVG sprite is a little different than what you're used to, but it's still a piece of cake. *Tip: To make your icons easily style able, we suggest adding a general class to the* `