fix button overlap in app show

This commit is contained in:
Matt Hill
2022-02-09 15:10:52 -07:00
committed by Drew Ansbacher
parent 8b03321434
commit d9374ece18
4 changed files with 131 additions and 93 deletions

View File

@@ -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>

View File

@@ -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;
} }

View File

@@ -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>

View File

@@ -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;
}
} }