There are no volumes yet.
@@ -62,7 +62,7 @@
- {{ volume.name }}
+ {{ volume.name }}
|
{{ volume.size * 1024 * 1024 | fileSize}}
@@ -93,6 +93,9 @@
+
+
|
diff --git a/app/src/app/volumes/volumes.component.scss b/app/src/app/volumes/volumes.component.scss
index 1340341..a8643f8 100644
--- a/app/src/app/volumes/volumes.component.scss
+++ b/app/src/app/volumes/volumes.component.scss
@@ -1,3 +1,9 @@
+:host
+{
+ flex-grow: 1;
+ overflow : hidden;
+}
+
.table-responsive
{
background-color: rgba(16, 21, 39, 0.75);
@@ -36,4 +42,9 @@
color: #3d5e8e;
}
}
+
+ .in-use
+ {
+ padding: 0 .75rem;
+ }
}
diff --git a/app/src/app/volumes/volumes.component.ts b/app/src/app/volumes/volumes.component.ts
index 925f9ee..a61df52 100644
--- a/app/src/app/volumes/volumes.component.ts
+++ b/app/src/app/volumes/volumes.component.ts
@@ -13,6 +13,8 @@ import { sortArray } from '../helpers/utils.service';
import Fuse from 'fuse.js';
import { FormGroup, FormBuilder, Validators, AbstractControl, FormArray } from '@angular/forms';
import { distinctUntilChanged, first, takeUntil, debounceTime, filter, switchMap } from 'rxjs/operators';
+import { Title } from "@angular/platform-browser";
+import { TranslateService } from '@ngx-translate/core';
@Component({
selector: 'app-volumes',
@@ -37,8 +39,11 @@ export class VolumesComponent implements OnInit, OnDestroy
private readonly instancesService: InstancesService,
private readonly modalService: BsModalService,
private readonly toastr: ToastrService,
- private readonly fb: FormBuilder)
+ private readonly fb: FormBuilder,
+ private readonly titleService: Title,
+ private readonly translationService: TranslateService)
{
+ translationService.get('volumes.title').pipe(first()).subscribe(x => titleService.setTitle(`Joyent - ${x}`));
// Configure FuseJs
this.fuseJsOptions = {
diff --git a/app/src/app/volumes/volumes.module.ts b/app/src/app/volumes/volumes.module.ts
index f2ce581..a80a4fb 100644
--- a/app/src/app/volumes/volumes.module.ts
+++ b/app/src/app/volumes/volumes.module.ts
@@ -34,7 +34,7 @@ import { VolumeEditorComponent } from './volume-editor/volume-editor.component';
loader: {
provide: TranslateLoader,
//useClass: WebpackTranslateLoader
- useFactory: () => new WebpackTranslateLoader('networking')
+ useFactory: () => new WebpackTranslateLoader('volumes')
},
compiler: {
provide: TranslateCompiler,
diff --git a/app/src/assets/i18n/account/en.json b/app/src/assets/i18n/account/en.json
index c7d8899..a4fd338 100644
--- a/app/src/assets/i18n/account/en.json
+++ b/app/src/assets/i18n/account/en.json
@@ -1,5 +1,10 @@
{
"account":
{
+ "title": "Account",
+ "myProfile": "My profile",
+ "updateProfile": "Update profile",
+ "myKeys": "My keys",
+ "addKey": "Add key"
}
}
diff --git a/app/src/assets/i18n/catalog/en.json b/app/src/assets/i18n/catalog/en.json
index f370121..9f899b2 100644
--- a/app/src/assets/i18n/catalog/en.json
+++ b/app/src/assets/i18n/catalog/en.json
@@ -7,9 +7,9 @@
"memory": "Memory",
"disk": "Storage"
},
- "custom":
+ "images":
{
-
+ "title": "Images"
}
}
}
diff --git a/app/src/assets/i18n/dashboard/en.json b/app/src/assets/i18n/dashboard/en.json
index 04f819f..f361a44 100644
--- a/app/src/assets/i18n/dashboard/en.json
+++ b/app/src/assets/i18n/dashboard/en.json
@@ -1,6 +1,7 @@
{
"dashboard":
{
+ "title": "Dashboard",
"general":
{
"save": "Save changes",
@@ -15,23 +16,25 @@
"noResults": "No machine matches your filters",
"filters": "Showing {filteredCount} (out of {totalCount}: {totalRunning} running, {totalStopped} stopped)",
"filterByState": "Filter by state",
+ "anyState": "Any state",
"filterByMemory": "Filter by memory",
"filterByDisk": "Filter by disk size",
+ "between": "Between",
+ "and": "and",
"resetFilters": "Reset filters",
"showDetails": "Show machine details",
- "sortBy": "Sort by {}",
+ "dualColumns": "2 columns on large displays",
+ "sortBy": "Sort by {sortProperty}",
"sortByName": "Name",
"sortByOs": "Operating system",
"sortByBrand": "Brand",
"sortByImage": "Image",
- "sortByState": "State",
- "between": "Between",
- "and": "and"
+ "sortByState": "State"
},
"listItem":
{
- "infrastructureContainer": "{type} - insfrastructure container",
- "virtualMachine": "{type} - virtual machine",
+ "infrastructureContainer": "
{brand} - Infrastructure container",
+ "virtualMachine": "
{brand} - Virtual machine",
"stateRunning": "Running",
"stateStopping": "Stopping",
"stateProvisioning": "Provisioning",
diff --git a/app/src/assets/i18n/en.json b/app/src/assets/i18n/en.json
index 2ae47e9..c59f397 100644
--- a/app/src/assets/i18n/en.json
+++ b/app/src/assets/i18n/en.json
@@ -6,9 +6,7 @@
"dashboard": "Dashboard",
"fileManager": "File Manager",
"volumes": "Volumes",
- "customImages": "Custom Images",
- "dockerImages": "Docker Images",
- "dockerRegistry": "Docker Registry",
+ "images": "Images",
"networks": "Networks",
"virtualNetworks": "Virtual Networks",
"firewallRules": "Firewall rules",
@@ -23,19 +21,9 @@
},
"catalog":
{
- "customImages":
+ "images":
{
- "title": "Custom Images",
- "subTitle": ""
- },
- "dockerImages":
- {
- "title": "Docker Images",
- "subTitle": ""
- },
- "dockerRegistry":
- {
- "title": "Docker Registry",
+ "title": "Images",
"subTitle": ""
}
},
diff --git a/app/src/assets/i18n/networking/en.json b/app/src/assets/i18n/networking/en.json
index 190a2f6..c924baf 100644
--- a/app/src/assets/i18n/networking/en.json
+++ b/app/src/assets/i18n/networking/en.json
@@ -1,6 +1,13 @@
{
"networking":
{
-
+ "networks":
+ {
+ "title": "Networks"
+ },
+ "firewall":
+ {
+ "title": "Firewall rules"
+ }
}
}
diff --git a/app/src/assets/i18n/security/en.json b/app/src/assets/i18n/security/en.json
index 240e93c..c1476fa 100644
--- a/app/src/assets/i18n/security/en.json
+++ b/app/src/assets/i18n/security/en.json
@@ -1,6 +1,7 @@
{
"security":
{
+ "title": "Security",
"users": "Users",
"roles": "Roles",
"policies": "Policies",
diff --git a/app/src/assets/i18n/volumes/en.json b/app/src/assets/i18n/volumes/en.json
index fa9cd8b..3a46166 100644
--- a/app/src/assets/i18n/volumes/en.json
+++ b/app/src/assets/i18n/volumes/en.json
@@ -1,5 +1,6 @@
{
"volumes":
{
+ "title": "Volumes"
}
}
diff --git a/app/src/index.html b/app/src/index.html
index da6e24b..fb163b6 100644
--- a/app/src/index.html
+++ b/app/src/index.html
@@ -2,7 +2,7 @@
-
Manta
+
Joyent
@@ -11,7 +11,6 @@
-
diff --git a/app/src/styles/styles.scss b/app/src/styles/styles.scss
index 86acb9c..5c64b02 100644
--- a/app/src/styles/styles.scss
+++ b/app/src/styles/styles.scss
@@ -13,6 +13,7 @@ body
color: #3d5e8e;
font-family: 'Mukta', sans-serif;
line-height: 1;
+ -webkit-font-smoothing: antialiased;
}
body, div, virtual-scroller
@@ -450,7 +451,7 @@ body, div, virtual-scroller
{
+ .panel
{
- margin-top: 2rem;
+ margin-top: 1.5rem;
}
.card
@@ -609,9 +610,6 @@ virtual-scroller
flex-wrap: wrap;
justify-content: start;
margin-top: -1rem;
- /* margin-top: calc(var(--bs-gutter-y) * -1);
- margin-right: calc(var(--bs-gutter-x)/ -2);
- margin-left: calc(var(--bs-gutter-x)/ -2); */
--bs-gutter-y: 2rem;
position: relative;
@@ -621,7 +619,8 @@ virtual-scroller
max-width: 100%;
padding-right: calc(var(--bs-gutter-x)/ 2);
padding-left: calc(var(--bs-gutter-x)/ 2);
- margin-top: var(--bs-gutter-y);
+ padding-bottom: calc(var(--bs-gutter-y) / 2);
+ margin-top: calc(var(--bs-gutter-y) / 2);
}
}
}
@@ -652,6 +651,14 @@ virtual-scroller
}
}
+@media (min-width: 992px)
+{
+ .w-lg-auto
+ {
+ width: auto !important;
+ }
+}
+
accordion
{
.panel-heading
@@ -673,7 +680,7 @@ accordion
font-family: "Bebas Neue", sans-serif;
font-size: 1.2rem;
z-index: 1020;
- max-height: 50vh;
+ max-height: 60vh;
overflow: auto;
}
@@ -720,14 +727,17 @@ accordion
}
}
- .form-control
+ .form-control, .form-select
{
- border-color: #11182b;
- background: #11182b;
- box-shadow: 0 0 0 1px rgb(0 231 255 / 75%) inset;
+ background-color: #11182b;
padding: .5rem .75rem .375rem;
}
+ .form-select
+ {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ff9c07' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
+ }
+
.form-switch
{
display: inline-flex;
@@ -928,3 +938,14 @@ accordion
{
overflow: hidden;
}
+
+.list-group-item
+{
+ border: none;
+ padding: .25rem 1rem;
+}
+
+.machine-brand b
+{
+ text-transform: uppercase;
+}
\ No newline at end of file