Files
nextcloud-app-api/css/settings.css
Alexander Piskun 7391eeea65 initial support for Docker Healthcheck (#273)
Before this, we didn’t have a `healthcheck` at all, but instead there
was simply a check to see if the container was running.

Checking whether the container is running has been moved to Deploy stage
and now occurs at the end of the deployment process.
And between deployment and “init” there is now a correct health check.
Applications are not required to support healthcheck at all, so it is
only checked if `['State']['Health']['Status']` is present.

Without a timeout, the timeout must be set by the application itself, as
it is usually done for Docker containers healthcheck.

During a healthcheck, an application, for example, can now install some
of its own packages or do something other with its docker container.

It should not communicate with the Nextcloud itself at this
stage(healthcheck), because application is not considered enabled.

---------

Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Co-authored-by: Andrey Borysenko <andrey18106x@gmail.com>
2024-04-17 11:41:04 +03:00

432 lines
7.0 KiB
CSS

.app-version {
color: var(--color-text-maxcontrast);
}
.app-level span {
color: var(--color-text-maxcontrast);
background-color: rgba(0, 0, 0, 0);
border: 1px solid var(--color-text-maxcontrast);
border-radius: var(--border-radius);
padding: 3px 6px
}
.app-level a {
padding: 10px;
margin: -6px;
white-space: nowrap
}
.app-level .official {
background-position: left center;
background-position: 5px center;
padding-left: 25px
}
.app-level .supported {
border-color: var(--color-success);
background-position: left center;
background-position: 5px center;
padding-left: 25px;
color: var(--color-success)
}
.app-score {
position: relative;
top: 4px;
opacity: .5
}
.app-settings-content #searchresults {
display: none
}
#apps-list.store .section {
border: 0
}
#apps-list.store .app-name {
display: block;
margin: 5px 0
}
#apps-list.store .app-name, #apps-list.store .app-image * {
cursor: pointer
}
#apps-list.store .app-summary {
opacity: .7
}
#apps-list.store .app-image-icon .icon-settings-dark {
width: 100%;
height: 150px;
background-size: 45px;
opacity: .5
}
#apps-list.store .app-score-image {
height: 14px
}
#apps-list.store .actions {
margin-top: 10px
}
#app-sidebar #app-details-view h2 .icon-settings-dark, #app-sidebar #app-details-view h2 svg {
display: inline-block;
width: 16px;
height: 16px;
margin-right: 10px;
opacity: .7
}
#app-sidebar #app-details-view .app-level {
clear: right;
width: 100%
}
#app-sidebar #app-details-view .app-level .supported, #app-sidebar #app-details-view .app-level .official {
vertical-align: top
}
#app-sidebar #app-details-view .app-level .app-score-image {
float: right
}
#app-sidebar #app-details-view .app-author, #app-sidebar #app-details-view .app-licence {
color: var(--color-text-maxcontrast)
}
#app-sidebar #app-details-view .app-dependencies {
margin: 10px 0
}
#app-sidebar #app-details-view .app-description p {
margin: 10px 0
}
#app-sidebar #app-details-view .close {
position: absolute;
top: 0;
right: 0;
padding: 14px;
opacity: .5;
z-index: 1;
width: 44px;
height: 44px
}
#app-sidebar #app-details-view .actions {
display: flex;
align-items: center
}
#app-sidebar #app-details-view .actions .app-groups {
padding: 5px
}
#app-sidebar #app-details-view .appslink {
text-decoration: underline;
margin-right: 5px
}
#app-sidebar #app-details-view .app-level, #app-sidebar #app-details-view .actions, #app-sidebar #app-details-view .documentation, #app-sidebar #app-details-view .app-dependencies, #app-sidebar #app-details-view .app-description {
margin: 20px 0
}
@media only screen and (min-width: 1601px) {
.store .section {
width: 25%
}
.with-app-sidebar .store .section {
width: 33%
}
}
@media only screen and (max-width: 1600px) {
.store .section {
width: 25%
}
.with-app-sidebar .store .section {
width: 33%
}
}
@media only screen and (max-width: 1400px) {
.store .section {
width: 33%
}
.with-app-sidebar .store .section {
width: 50%
}
}
@media only screen and (max-width: 900px) {
.store .section {
width: 50%
}
.with-app-sidebar .store .section {
width: 100%
}
}
@media only screen and (max-width: 1024px) {
.store .section {
width: 50%
}
}
@media only screen and (max-width: 480px) {
.store .section {
width: 100%
}
}
@media only screen and (max-width: 900px) {
.apps-list.installed .app-version, .apps-list.installed .app-level {
display: none !important
}
}
@media only screen and (max-width: 500px) {
.apps-list.installed .app-groups {
display: none !important
}
}
.section {
margin-bottom: 0
}
.section:not(:last-child) {
border-bottom: 1px solid var(--color-border)
}
.section h2 {
margin-bottom: 22px
}
.section h2 .icon-info {
padding: 6px 20px;
vertical-align: text-bottom;
display: inline-block
}
.app-image {
position: relative;
height: 150px;
opacity: 1;
overflow: hidden
}
.app-description-toggle-show, .app-description-toggle-hide {
clear: both;
padding: 7px 0;
cursor: pointer;
opacity: .5
}
.app-description-container {
clear: both;
position: relative;
top: 7px
}
.app-description {
clear: both
}
#app-category-1 {
margin-bottom: 18px
}
#app-category-925 {
text-transform: capitalize
}
.app-dependencies {
color: #ce3702
}
.missing-dependencies {
list-style: initial;
list-style-type: initial;
list-style-position: inside
}
.apps-list {
display: flex;
flex-wrap: wrap;
align-content: flex-start
}
.apps-list .section {
cursor: pointer
}
.apps-list .app-list-move {
transition: transform 1s
}
.apps-list #app-list-update-all {
margin-left: 10px
}
.apps-list .toolbar {
height: 60px;
padding: 38px;
padding-left: 70px;
width: 100%;
background-color: var(--color-main-background);
position: sticky;
top: 0;
z-index: 1;
display: flex;
align-items: center;
}
.apps-list.installed {
margin-bottom: 100px
}
.apps-list.installed .apps-list-container {
display: table;
width: 100%;
height: auto
}
.apps-list.installed .section {
display: table-row;
padding: 0;
margin: 0
}
.apps-list.installed .section > * {
display: table-cell;
height: initial;
vertical-align: middle;
float: none;
border-bottom: 1px solid var(--color-border);
padding: 6px;
box-sizing: border-box
}
.apps-list.installed .section.selected {
background-color: var(--color-background-dark)
}
.apps-list.installed .groups-enable {
margin-top: 0
}
.apps-list.installed .groups-enable label {
margin-right: 3px
}
.apps-list.installed .app-image {
width: 44px;
height: auto;
text-align: right
}
.apps-list.installed .app-image-icon svg, .apps-list.installed .app-image-icon .icon-settings-dark {
margin-top: 5px;
width: 20px;
height: 20px;
opacity: .5;
background-size: cover;
display: inline-block
}
.apps-list.installed .actions {
text-align: right
}
.apps-list.installed .actions .icon-loading-small {
display: inline-block;
margin-right: 10px
}
.apps-list:not(.installed) .app-image-icon svg {
position: absolute;
bottom: 43px;
width: 64px;
height: 64px;
opacity: .1
}
.apps-list.hidden {
display: none
}
.apps-list .section {
position: relative;
flex: 0 0 auto
}
.apps-list .section h2.app-name {
display: block;
margin: 8px 0
}
.apps-list .section:hover {
background-color: var(--color-background-dark)
}
.apps-list .app-description p {
margin: 10px 0
}
.apps-list .app-description ul {
list-style: disc
}
.apps-list .app-description ol {
list-style: decimal
}
.apps-list .app-description ol ol, .apps-list .app-description ol ul {
padding-left: 15px
}
.apps-list .app-description > ul, .apps-list .app-description > ol {
margin-left: 19px
}
.apps-list .app-description ul ol, .apps-list .app-description ul ul {
padding-left: 15px
}
.apps-list .apps-header {
position: relative
}
.apps-list .apps-header div {
display: table-cell;
height: 70px
}
.apps-list .apps-header h2 {
padding-left: 6px;
padding-top: 15px;
margin-bottom: 12px
}
.apps-list .apps-header h2 .enable {
position: relative;
top: -1px;
margin-left: 12px
}
.apps-list .apps-header h2 + .section {
margin-top: 50px
}
#apps-list-search .section h2 {
margin-bottom: 0
}