Add icons
4
.gitattributes
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ico filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.icns filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.svg filter=lfs diff=lfs merge=lfs -text
|
||||||
BIN
Untitled.png
LFS
Normal file
10
angular.json
@@ -21,7 +21,11 @@
|
|||||||
"polyfills": [],
|
"polyfills": [],
|
||||||
"tsConfig": "tsconfig.app.json",
|
"tsConfig": "tsconfig.app.json",
|
||||||
"assets": [
|
"assets": [
|
||||||
"src/assets",
|
{
|
||||||
|
"glob": "**/*",
|
||||||
|
"input": "src/assets",
|
||||||
|
"output": "/"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"glob": "**/*",
|
"glob": "**/*",
|
||||||
"input": "node_modules/monaco-editor",
|
"input": "node_modules/monaco-editor",
|
||||||
@@ -83,9 +87,11 @@
|
|||||||
"tsConfig": "tsconfig.spec.json",
|
"tsConfig": "tsconfig.spec.json",
|
||||||
"inlineStyleLanguage": "scss",
|
"inlineStyleLanguage": "scss",
|
||||||
"assets": [
|
"assets": [
|
||||||
|
"src/assets",
|
||||||
{
|
{
|
||||||
"glob": "**/*",
|
"glob": "**/*",
|
||||||
"input": "public"
|
"input": "node_modules/monaco-editor",
|
||||||
|
"output": "/assets/monaco/"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"styles": ["src/styles.scss"],
|
"styles": ["src/styles.scss"],
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 129 B |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 130 B |
|
Before Width: | Height: | Size: 974 B After Width: | Height: | Size: 129 B |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 129 B |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 130 B |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 130 B |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 130 B |
|
Before Width: | Height: | Size: 903 B After Width: | Height: | Size: 129 B |
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 130 B |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 129 B |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 129 B |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 129 B |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 129 B |
|
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 130 B |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 130 B |
@@ -1,5 +1,5 @@
|
|||||||
<mat-toolbar data-tauri-drag-region color="secondary">
|
<mat-toolbar data-tauri-drag-region color="secondary">
|
||||||
<h1>BufPiv</h1>
|
<h1><mat-icon svgIcon="bufpiv"></mat-icon>BufPiv</h1>
|
||||||
<span>{{ selectedFile()?.name }}</span>
|
<span>{{ selectedFile()?.name }}</span>
|
||||||
<span>
|
<span>
|
||||||
<button
|
<button
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { CommonModule } from '@angular/common';
|
|||||||
import { Component, computed, effect, signal } from '@angular/core';
|
import { Component, computed, effect, signal } from '@angular/core';
|
||||||
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
||||||
import { MatButtonModule } from '@angular/material/button';
|
import { MatButtonModule } from '@angular/material/button';
|
||||||
import { MatIconModule } from '@angular/material/icon';
|
import { MatIconModule, MatIconRegistry } from '@angular/material/icon';
|
||||||
import { MatSidenavModule } from '@angular/material/sidenav';
|
import { MatSidenavModule } from '@angular/material/sidenav';
|
||||||
import { MatToolbarModule } from '@angular/material/toolbar';
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
||||||
import { MatTreeModule } from '@angular/material/tree';
|
import { MatTreeModule } from '@angular/material/tree';
|
||||||
@@ -15,6 +15,8 @@ import {
|
|||||||
} from './file-tree/file-tree.component';
|
} from './file-tree/file-tree.component';
|
||||||
import { ProtoMessage } from './model/proto-message.model';
|
import { ProtoMessage } from './model/proto-message.model';
|
||||||
import { ProtoDefinitionSelectorComponent } from './proto-definition-selector/proto-definition-selector.component';
|
import { ProtoDefinitionSelectorComponent } from './proto-definition-selector/proto-definition-selector.component';
|
||||||
|
import { HttpClientModule } from '@angular/common/http';
|
||||||
|
import { DomSanitizer } from '@angular/platform-browser';
|
||||||
const mobileBreakpoints = [Breakpoints.Handset, Breakpoints.TabletPortrait];
|
const mobileBreakpoints = [Breakpoints.Handset, Breakpoints.TabletPortrait];
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@@ -48,11 +50,20 @@ export class AppComponent {
|
|||||||
|
|
||||||
protected selectedFilePath = computed(() => this.selectedFile()?.path);
|
protected selectedFilePath = computed(() => this.selectedFile()?.path);
|
||||||
|
|
||||||
constructor(private breakpointObserver: BreakpointObserver) {
|
constructor(
|
||||||
|
private breakpointObserver: BreakpointObserver,
|
||||||
|
iconRegistry: MatIconRegistry,
|
||||||
|
sanitizer: DomSanitizer
|
||||||
|
) {
|
||||||
breakpointObserver
|
breakpointObserver
|
||||||
.observe(mobileBreakpoints)
|
.observe(mobileBreakpoints)
|
||||||
.pipe(takeUntilDestroyed())
|
.pipe(takeUntilDestroyed())
|
||||||
.subscribe((matches) => this.isMobile.set(matches.matches));
|
.subscribe((matches) => this.isMobile.set(matches.matches));
|
||||||
|
|
||||||
|
iconRegistry.addSvgIcon(
|
||||||
|
'bufpiv',
|
||||||
|
sanitizer.bypassSecurityTrustResourceUrl('/BufPiv Logo Grey.svg')
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected selectMessage(message: ProtoMessage) {
|
protected selectMessage(message: ProtoMessage) {
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import {
|
|||||||
MatIconRegistry,
|
MatIconRegistry,
|
||||||
} from '@angular/material/icon';
|
} from '@angular/material/icon';
|
||||||
import { provideMonacoEditor } from 'ngx-monaco-editor-v2';
|
import { provideMonacoEditor } from 'ngx-monaco-editor-v2';
|
||||||
|
import { provideHttpClient } from '@angular/common/http';
|
||||||
|
|
||||||
export const appConfig: ApplicationConfig = {
|
export const appConfig: ApplicationConfig = {
|
||||||
providers: [
|
providers: [
|
||||||
@@ -43,5 +44,6 @@ export const appConfig: ApplicationConfig = {
|
|||||||
useValue: { fontSet: 'material-symbols-rounded' },
|
useValue: { fontSet: 'material-symbols-rounded' },
|
||||||
},
|
},
|
||||||
provideMonacoEditor(),
|
provideMonacoEditor(),
|
||||||
|
provideHttpClient(),
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|||||||
BIN
src/assets/android-icon-144x144.png
LFS
Normal file
BIN
src/assets/android-icon-192x192.png
LFS
Normal file
BIN
src/assets/android-icon-36x36.png
LFS
Normal file
BIN
src/assets/android-icon-48x48.png
LFS
Normal file
BIN
src/assets/android-icon-72x72.png
LFS
Normal file
BIN
src/assets/android-icon-96x96.png
LFS
Normal file
BIN
src/assets/apple-icon-114x114.png
LFS
Normal file
BIN
src/assets/apple-icon-120x120.png
LFS
Normal file
BIN
src/assets/apple-icon-144x144.png
LFS
Normal file
BIN
src/assets/apple-icon-152x152.png
LFS
Normal file
BIN
src/assets/apple-icon-180x180.png
LFS
Normal file
BIN
src/assets/apple-icon-57x57.png
LFS
Normal file
BIN
src/assets/apple-icon-60x60.png
LFS
Normal file
BIN
src/assets/apple-icon-72x72.png
LFS
Normal file
BIN
src/assets/apple-icon-76x76.png
LFS
Normal file
BIN
src/assets/apple-icon-precomposed.png
LFS
Normal file
BIN
src/assets/apple-icon.png
LFS
Normal file
2
src/assets/browserconfig.xml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<browserconfig><msapplication><tile><square70x70logo src="/ms-icon-70x70.png"/><square150x150logo src="/ms-icon-150x150.png"/><square310x310logo src="/ms-icon-310x310.png"/><TileColor>#ffffff</TileColor></tile></msapplication></browserconfig>
|
||||||
BIN
src/assets/favicon-16x16.png
LFS
Normal file
BIN
src/assets/favicon-32x32.png
LFS
Normal file
BIN
src/assets/favicon-96x96.png
LFS
Normal file
BIN
src/assets/favicon.ico
LFS
Normal file
41
src/assets/manifest.json
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"name": "App",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "\/android-icon-36x36.png",
|
||||||
|
"sizes": "36x36",
|
||||||
|
"type": "image\/png",
|
||||||
|
"density": "0.75"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "\/android-icon-48x48.png",
|
||||||
|
"sizes": "48x48",
|
||||||
|
"type": "image\/png",
|
||||||
|
"density": "1.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "\/android-icon-72x72.png",
|
||||||
|
"sizes": "72x72",
|
||||||
|
"type": "image\/png",
|
||||||
|
"density": "1.5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "\/android-icon-96x96.png",
|
||||||
|
"sizes": "96x96",
|
||||||
|
"type": "image\/png",
|
||||||
|
"density": "2.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "\/android-icon-144x144.png",
|
||||||
|
"sizes": "144x144",
|
||||||
|
"type": "image\/png",
|
||||||
|
"density": "3.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "\/android-icon-192x192.png",
|
||||||
|
"sizes": "192x192",
|
||||||
|
"type": "image\/png",
|
||||||
|
"density": "4.0"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
src/assets/ms-icon-144x144.png
LFS
Normal file
BIN
src/assets/ms-icon-150x150.png
LFS
Normal file
BIN
src/assets/ms-icon-310x310.png
LFS
Normal file
BIN
src/assets/ms-icon-70x70.png
LFS
Normal file
@@ -14,6 +14,48 @@
|
|||||||
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200"
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200"
|
||||||
rel="stylesheet"
|
rel="stylesheet"
|
||||||
/>
|
/>
|
||||||
|
<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png" />
|
||||||
|
<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png" />
|
||||||
|
<link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png" />
|
||||||
|
<link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png" />
|
||||||
|
<link
|
||||||
|
rel="apple-touch-icon"
|
||||||
|
sizes="114x114"
|
||||||
|
href="/apple-icon-114x114.png"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="apple-touch-icon"
|
||||||
|
sizes="120x120"
|
||||||
|
href="/apple-icon-120x120.png"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="apple-touch-icon"
|
||||||
|
sizes="144x144"
|
||||||
|
href="/apple-icon-144x144.png"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="apple-touch-icon"
|
||||||
|
sizes="152x152"
|
||||||
|
href="/apple-icon-152x152.png"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="apple-touch-icon"
|
||||||
|
sizes="180x180"
|
||||||
|
href="/apple-icon-180x180.png"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="icon"
|
||||||
|
type="image/png"
|
||||||
|
sizes="192x192"
|
||||||
|
href="/android-icon-192x192.png"
|
||||||
|
/>
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
|
||||||
|
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png" />
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
|
||||||
|
<link rel="manifest" href="/manifest.json" />
|
||||||
|
<meta name="msapplication-TileColor" content="#ffffff" />
|
||||||
|
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png" />
|
||||||
|
<meta name="theme-color" content="#ffffff" />
|
||||||
</head>
|
</head>
|
||||||
<body class="mat-typography">
|
<body class="mat-typography">
|
||||||
<app-root></app-root>
|
<app-root></app-root>
|
||||||
|
|||||||