diff --git a/scripts/requirements.txt b/scripts/requirements.txt index 7378793c..00ed69b4 100644 --- a/scripts/requirements.txt +++ b/scripts/requirements.txt @@ -5,3 +5,5 @@ packaging==19.0 appdirs==1.4.3 psutil==5.6.7 jsonschema==2.6.0 # lock down jsonschema, 3.0 makes problems + +urllib3>=1.25.9 # not directly required, pinned by Snyk to avoid a vulnerability \ No newline at end of file diff --git a/src/app/app.module.ts b/src/app/app.module.ts index f2be2aeb..ed3ce07d 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -282,6 +282,7 @@ import { ChangeHostnameDialogComponent } from './components/project-map/change-h import { ApplianceInfoDialogComponent } from './components/project-map/new-template-dialog/appliance-info-dialog/appliance-info-dialog.component'; import { InformationDialogComponent } from './components/dialogs/information-dialog.component'; import { TemplateNameDialogComponent } from './components/project-map/new-template-dialog/template-name-dialog/template-name-dialog.component'; +import { UpdatesService } from './services/updates.service'; @NgModule({ @@ -565,7 +566,8 @@ import { TemplateNameDialogComponent } from './components/project-map/new-templa ServerResolve, ConsoleGuard, Title, - ApplianceService + ApplianceService, + UpdatesService ], entryComponents: [ AddServerDialogComponent, diff --git a/src/app/components/project-map/console-wrapper/console-wrapper.component.html b/src/app/components/project-map/console-wrapper/console-wrapper.component.html index 648d0f18..fc68a9c9 100644 --- a/src/app/components/project-map/console-wrapper/console-wrapper.component.html +++ b/src/app/components/project-map/console-wrapper/console-wrapper.component.html @@ -21,7 +21,7 @@ (mousedown)="toggleDragging(true)" [ngStyle]="style"> --> -
+
@@ -32,7 +32,7 @@
{{node.name}}
-
@@ -40,13 +40,13 @@
- - -
diff --git a/src/app/components/project-map/console-wrapper/console-wrapper.component.scss b/src/app/components/project-map/console-wrapper/console-wrapper.component.scss index d4ee6ad0..e569cd86 100644 --- a/src/app/components/project-map/console-wrapper/console-wrapper.component.scss +++ b/src/app/components/project-map/console-wrapper/console-wrapper.component.scss @@ -41,6 +41,11 @@ background: #263238!important; } +.lightThemeConsoleHeader { + background: white!important; + color: black!important; +} + :host ::ng-deep .mat-tab-label { height: 3rem !important; min-width: 8rem !important; diff --git a/src/app/components/project-map/project-map.component.html b/src/app/components/project-map/project-map.component.html index b2b9b0c8..a991f8fc 100644 --- a/src/app/components/project-map/project-map.component.html +++ b/src/app/components/project-map/project-map.component.html @@ -59,6 +59,10 @@ info Go to system status +
+ + + + Updates + Check for updates + + +
+ +
+ +
diff --git a/src/app/components/settings/settings.component.scss b/src/app/components/settings/settings.component.scss index 41e3aed8..279e9631 100644 --- a/src/app/components/settings/settings.component.scss +++ b/src/app/components/settings/settings.component.scss @@ -3,3 +3,7 @@ display: flex; padding: 10px; } + +.fullWidth { + width: 100%; +} diff --git a/src/app/components/settings/settings.component.ts b/src/app/components/settings/settings.component.ts index dadfaa5b..5ff17c4f 100644 --- a/src/app/components/settings/settings.component.ts +++ b/src/app/components/settings/settings.component.ts @@ -4,6 +4,7 @@ import { ToasterService } from '../../services/toaster.service'; import { ConsoleService } from '../../services/settings/console.service'; import { ThemeService } from '../../services/theme.service'; import { MapSettingsService } from '../../services/mapsettings.service'; +import { UpdatesService } from '../../services/updates.service'; @Component({ selector: 'app-settings', @@ -20,7 +21,8 @@ export class SettingsComponent implements OnInit { private toaster: ToasterService, private consoleService: ConsoleService, private themeService: ThemeService, - public mapSettingsService: MapSettingsService + public mapSettingsService: MapSettingsService, + public updatesService: UpdatesService ) {} ngOnInit() { @@ -38,4 +40,8 @@ export class SettingsComponent implements OnInit { setDarkMode(value: boolean) { this.themeService.setDarkMode(value); } + + checkForUpdates() { + window.open("https://gns3.com/software"); + } } diff --git a/src/app/services/updates.service.ts b/src/app/services/updates.service.ts new file mode 100644 index 00000000..067cc078 --- /dev/null +++ b/src/app/services/updates.service.ts @@ -0,0 +1,11 @@ +import { Injectable } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; + +@Injectable() +export class UpdatesService { + constructor(private httpClient: HttpClient) {} + + getLatestVersion() { + return this.httpClient.get('http://update.gns3.net/'); + } +}