mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-31 04:23:40 +00:00
fix button overlap in app show
This commit is contained in:
committed by
Drew Ansbacher
parent
8b03321434
commit
d9374ece18
@@ -1,63 +1,62 @@
|
|||||||
<ion-item-divider>Status</ion-item-divider>
|
<ion-item-divider>Status</ion-item-divider>
|
||||||
<ion-grid>
|
<ion-item>
|
||||||
<ion-row>
|
<ion-label class="label">
|
||||||
<ion-col sizeXs="12" sizeSm="3">
|
<status
|
||||||
<ion-item>
|
size="x-large"
|
||||||
<ion-label class="label">
|
weight="500"
|
||||||
<status
|
[disconnected]="connectionFailure"
|
||||||
size="x-large"
|
[installProgress]="(pkg | installState)?.totalProgress"
|
||||||
weight="500"
|
[rendering]="PR[status.primary]"
|
||||||
[disconnected]="connectionFailure"
|
[sigtermTimeout]="pkg.manifest.main['sigterm-timeout']"
|
||||||
[installProgress]="(pkg | installState)?.totalProgress"
|
></status>
|
||||||
[rendering]="PR[status.primary]"
|
</ion-label>
|
||||||
[sigtermTimeout]="pkg.manifest.main['sigterm-timeout']"
|
</ion-item>
|
||||||
></status>
|
|
||||||
</ion-label>
|
<ng-container *ngIf="isInstalled">
|
||||||
</ion-item>
|
<ion-item lines="none">
|
||||||
</ion-col>
|
<ion-button
|
||||||
<ion-col sizeXs="12" sizeSm="9">
|
*ngIf="isRunning"
|
||||||
<ion-item>
|
class="action-button"
|
||||||
<ng-container *ngIf="isInstalled">
|
slot="start"
|
||||||
<ion-button
|
color="danger"
|
||||||
*ngIf="interfaces | hasUi"
|
(click)="stop()"
|
||||||
slot="end"
|
>
|
||||||
class="action-button"
|
<ion-icon slot="start" name="stop-outline"></ion-icon>
|
||||||
[disabled]="
|
Stop
|
||||||
!(pkg.state | isLaunchable: pkgStatus.main.status:interfaces)
|
</ion-button>
|
||||||
"
|
|
||||||
(click)="launchUi()"
|
<ion-button
|
||||||
>
|
*ngIf="isStopped"
|
||||||
Launch UI
|
class="action-button"
|
||||||
<ion-icon slot="end" name="open-outline"></ion-icon>
|
slot="start"
|
||||||
</ion-button>
|
color="success"
|
||||||
<ion-button
|
(click)="tryStart()"
|
||||||
*ngIf="!pkgStatus.configured"
|
>
|
||||||
slot="end"
|
<ion-icon slot="start" name="play-outline"></ion-icon>
|
||||||
class="action-button"
|
Start
|
||||||
(click)="presentModalConfig()"
|
</ion-button>
|
||||||
>
|
|
||||||
Configure
|
<ion-button
|
||||||
</ion-button>
|
*ngIf="!pkgStatus.configured"
|
||||||
<ion-button
|
class="action-button"
|
||||||
*ngIf="isRunning"
|
slot="start"
|
||||||
slot="end"
|
color="warning"
|
||||||
class="action-button"
|
(click)="presentModalConfig()"
|
||||||
color="danger"
|
>
|
||||||
(click)="stop()"
|
<ion-icon slot="start" name="construct-outline"></ion-icon>
|
||||||
>
|
Configure
|
||||||
Stop
|
</ion-button>
|
||||||
</ion-button>
|
|
||||||
<ion-button
|
<ion-button
|
||||||
*ngIf="isStopped"
|
*ngIf="interfaces | hasUi"
|
||||||
slot="end"
|
class="action-button"
|
||||||
class="action-button"
|
slot="start"
|
||||||
color="success"
|
color="primary"
|
||||||
(click)="tryStart()"
|
[disabled]="!(pkg.state | isLaunchable: pkgStatus.main.status:interfaces)"
|
||||||
>
|
(click)="launchUi()"
|
||||||
Start
|
>
|
||||||
</ion-button>
|
<ion-icon slot="start" name="open-outline"></ion-icon>
|
||||||
</ng-container>
|
Launch UI
|
||||||
</ion-item>
|
</ion-button>
|
||||||
</ion-col>
|
</ion-item>
|
||||||
</ion-row>
|
</ng-container>
|
||||||
</ion-grid>
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.action-button {
|
.action-button {
|
||||||
margin: 10px;
|
margin: 20px 20px 10px 0;
|
||||||
min-height: 36px;
|
min-height: 42px;
|
||||||
min-width: 120px;
|
min-width: 140px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,47 +11,61 @@
|
|||||||
</ion-header>
|
</ion-header>
|
||||||
|
|
||||||
<ion-content>
|
<ion-content>
|
||||||
|
|
||||||
<!-- loading -->
|
<!-- loading -->
|
||||||
<ion-item-group *ngIf="loading">
|
<ion-item-group *ngIf="loading">
|
||||||
<ion-item-divider>
|
<ion-item-divider>
|
||||||
<ion-button slot="end" fill="clear">
|
<ion-button slot="end" fill="clear">
|
||||||
<ion-skeleton-text style="width: 90px; height: 14px; border-radius: 0;" animated></ion-skeleton-text>
|
<ion-skeleton-text
|
||||||
|
style="width: 90px; height: 14px; border-radius: 0"
|
||||||
|
animated
|
||||||
|
></ion-skeleton-text>
|
||||||
</ion-button>
|
</ion-button>
|
||||||
</ion-item-divider>
|
</ion-item-divider>
|
||||||
<ion-item *ngFor="let entry of ['', '', '', '']">
|
<ion-item *ngFor="let entry of ['', '', '', '']">
|
||||||
<ion-label>
|
<ion-label>
|
||||||
<ion-skeleton-text animated style="width: 15%; height: 20px; margin-bottom: 12px;"></ion-skeleton-text>
|
<ion-skeleton-text
|
||||||
<ion-skeleton-text animated style="width: 50%; margin-bottom: 18px;"></ion-skeleton-text>
|
animated
|
||||||
<ion-skeleton-text animated style="width: 20%;"></ion-skeleton-text>
|
style="width: 15%; height: 20px; margin-bottom: 12px"
|
||||||
|
></ion-skeleton-text>
|
||||||
|
<ion-skeleton-text
|
||||||
|
animated
|
||||||
|
style="width: 50%; margin-bottom: 18px"
|
||||||
|
></ion-skeleton-text>
|
||||||
|
<ion-skeleton-text animated style="width: 20%"></ion-skeleton-text>
|
||||||
</ion-label>
|
</ion-label>
|
||||||
<ion-button slot="end" fill="clear">
|
<ion-button slot="end" fill="clear">
|
||||||
<ion-skeleton-text animated style="width: 20px; height: 20px; border-radius: 0"></ion-skeleton-text>
|
<ion-skeleton-text
|
||||||
|
animated
|
||||||
|
style="width: 20px; height: 20px; border-radius: 0"
|
||||||
|
></ion-skeleton-text>
|
||||||
</ion-button>
|
</ion-button>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
</ion-item-group>
|
</ion-item-group>
|
||||||
|
|
||||||
<!-- not loading -->
|
<!-- not loading -->
|
||||||
<ng-container *ngIf="!loading">
|
<ng-container *ngIf="!loading">
|
||||||
|
|
||||||
<!-- no notifications -->
|
<!-- no notifications -->
|
||||||
<ion-item-group *ngIf="!notifications.length">
|
<ion-item-group *ngIf="!notifications.length">
|
||||||
<div
|
<div
|
||||||
style="
|
style="
|
||||||
text-align: center;
|
text-align: center;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translate(-50%, -50%);"
|
transform: translate(-50%, -50%);
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<ion-icon style="font-size: 84px; color: #595959" name="mail-outline"></ion-icon>
|
<ion-icon
|
||||||
<h4 style="color: #595959; margin-top: 0px">Inbox Empty</h4>
|
style="font-size: 84px; color: #595959"
|
||||||
|
name="mail-outline"
|
||||||
|
></ion-icon>
|
||||||
|
<h4 style="color: #595959; margin-top: 0px">Inbox Empty</h4>
|
||||||
</div>
|
</div>
|
||||||
</ion-item-group>
|
</ion-item-group>
|
||||||
|
|
||||||
<!-- has notifications -->
|
<!-- has notifications -->
|
||||||
<ng-container *ngIf="notifications.length">
|
<ng-container *ngIf="notifications.length">
|
||||||
<ion-item-group style="margin-bottom: 16px;">
|
<ion-item-group style="margin-bottom: 16px">
|
||||||
<ion-item-divider>
|
<ion-item-divider>
|
||||||
<ion-button slot="end" fill="clear" (click)="presentAlertDeleteAll()">
|
<ion-button slot="end" fill="clear" (click)="presentAlertDeleteAll()">
|
||||||
Delete All
|
Delete All
|
||||||
@@ -61,26 +75,45 @@
|
|||||||
<ion-label>
|
<ion-label>
|
||||||
<h2>
|
<h2>
|
||||||
<b>
|
<b>
|
||||||
<span *ngIf="not['package-id']">{{ not['package-id'] }} - </span>
|
<span *ngIf="not['package-id']"
|
||||||
<ion-text [color]="not | notificationColor">{{ not.title }}</ion-text>
|
>{{ not['package-id'] }} -
|
||||||
|
</span>
|
||||||
|
<ion-text [color]="not | notificationColor"
|
||||||
|
>{{ not.title }}</ion-text
|
||||||
|
>
|
||||||
</b>
|
</b>
|
||||||
</h2>
|
</h2>
|
||||||
<h2 class="notification-message">
|
<h2 class="notification-message">
|
||||||
{{ not.message | truncateTail: 1000 }}
|
{{ not.message | truncateTail: 240 }}
|
||||||
</h2>
|
</h2>
|
||||||
<p class="view-message-tag">
|
<p class="view-message-tag">
|
||||||
<a class="view-message-tag" *ngIf="not.message.length > 1000" color="dark" (click)="viewFullMessage(not.title, not.message)">
|
<a
|
||||||
|
class="view-message-tag"
|
||||||
|
*ngIf="not.message.length > 240"
|
||||||
|
color="dark"
|
||||||
|
(click)="viewFullMessage(not.title, not.message)"
|
||||||
|
>
|
||||||
View Full Message
|
View Full Message
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>{{ not['created-at'] | date: 'short' }}</p>
|
||||||
{{ not['created-at'] | date: 'short' }}
|
|
||||||
</p>
|
|
||||||
</ion-label>
|
</ion-label>
|
||||||
<ion-button *ngIf="not.code === 1" slot="end" fill="clear" color="dark" (click)="viewBackupReport(not)">
|
<ion-button
|
||||||
|
*ngIf="not.code === 1"
|
||||||
|
slot="end"
|
||||||
|
fill="clear"
|
||||||
|
color="dark"
|
||||||
|
(click)="viewBackupReport(not)"
|
||||||
|
>
|
||||||
View Report
|
View Report
|
||||||
</ion-button>
|
</ion-button>
|
||||||
<ion-button *ngIf="not['package-id']" slot="end" fill="clear" color="dark" [routerLink]="['/services', not['package-id']]">
|
<ion-button
|
||||||
|
*ngIf="not['package-id']"
|
||||||
|
slot="end"
|
||||||
|
fill="clear"
|
||||||
|
color="dark"
|
||||||
|
[routerLink]="['/services', not['package-id']]"
|
||||||
|
>
|
||||||
View Service
|
View Service
|
||||||
</ion-button>
|
</ion-button>
|
||||||
<ion-button slot="end" fill="clear" (click)="delete(not.id, i)">
|
<ion-button slot="end" fill="clear" (click)="delete(not.id, i)">
|
||||||
@@ -88,11 +121,15 @@
|
|||||||
</ion-button>
|
</ion-button>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
</ion-item-group>
|
</ion-item-group>
|
||||||
|
|
||||||
<ion-infinite-scroll [disabled]="!needInfinite" (ionInfinite)="doInfinite($event)">
|
<ion-infinite-scroll
|
||||||
<ion-infinite-scroll-content loadingSpinner="lines"></ion-infinite-scroll-content>
|
[disabled]="!needInfinite"
|
||||||
|
(ionInfinite)="doInfinite($event)"
|
||||||
|
>
|
||||||
|
<ion-infinite-scroll-content
|
||||||
|
loadingSpinner="lines"
|
||||||
|
></ion-infinite-scroll-content>
|
||||||
</ion-infinite-scroll>
|
</ion-infinite-scroll>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
</ion-content>
|
||||||
</ion-content>
|
|
||||||
|
|||||||
@@ -5,5 +5,7 @@
|
|||||||
.view-message-tag {
|
.view-message-tag {
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
cursor: pointer;
|
a {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user