diff --git a/src/core/css/webcaosdb.css b/src/core/css/webcaosdb.css index be0f9331039e60f8dc69537af3b934f4fd866055..2dedf943a84701ae0151919a2e8dc8a69655adb6 100644 --- a/src/core/css/webcaosdb.css +++ b/src/core/css/webcaosdb.css @@ -27,15 +27,17 @@ main { } body { - display: flex; - min-height: 100vh; - flex-direction: column; - justify-content: space-between; + background-color: lightgrey; +} + +.background { + background-color: #1a4548; + min-height: 60vh; } footer { - height: 400px; - width: 100%; + background-color: lightgrey; + width:100%; } .caosdb-v-server-message strong { @@ -70,12 +72,6 @@ tbody:not(:hover) tr .caosdb-v-entity-version-hint-cur { color: unset; } -#top-navbar>ul>li>a { - margin: 8px 0px; - padding: 6px 12px; - display: inline-block; -} - .caosdb-v-state-model-label .caosdb-v-state-label { margin-left: .6em; font-size: 100%; } @@ -445,46 +441,10 @@ h5 { margin-left: 0.3em; } -.navbar-brand { - display: flex; - align-items: center; -} - -.navbar-brand>img { - padding: 0px 0px; - height: 100% -} - .caosdb-fs-cwd::before { content: " > "; } -/* -.caosdb-fs-dir>.boostrap-icon::before { - content: "\e117"; -} - -.caosdb-fs-dir>.boostrap-icon { - margin-right: 8px; -} - -.caosdb-fs-dir:hover>.boostrap-icon::before { - content: "\e118"; -} - -.caosdb-fs-file>.boostrap-icon::before { - content: "\e022"; -} - -.caosdb-fs-file>.boostrap-icon { - margin-right: 8px; -} - -.caosdb-fs-file:hover>.boostrap-icon::before { - content: "\e025"; -} -*/ - .caosdb-fs-btn-file { padding: 0px; background-color: transparent; @@ -640,16 +600,6 @@ input[type="file"] { margin-bottom: 6px; } -footer { - background-color: lightgrey; - padding: 0.5em; - width:100%; -} - -.caosdb-footer-element { - margin: 1em; -} - .caosdb-bulletsep { margin-left: 2ch; margin-right: 2ch; diff --git a/src/core/webcaosdb.xsl b/src/core/webcaosdb.xsl index c78aa1ac759c1ad471d38432dd09e66ae3feba1b..2742a87ca818c1ea6a1210431526242f85a35db9 100644 --- a/src/core/webcaosdb.xsl +++ b/src/core/webcaosdb.xsl @@ -70,10 +70,18 @@ <xsl:call-template name="caosdb-head-js" /> </head> <body> - <xsl:call-template name="caosdb-tour-toc" /> - <xsl:call-template name="caosdb-top-navbar" /> - <xsl:call-template name="caosdb-data-container" /> - <footer> + <xsl:if test="count(/Response/*)<2 and not(/Response/Error|/Response/Info|/Response/Warning)"> + <xsl:attribute name="class">caosdb-welcome</xsl:attribute> + </xsl:if> + <div class="background"> + <xsl:call-template name="caosdb-tour-toc" /> + <xsl:call-template name="caosdb-top-navbar" /> + <xsl:call-template name="caosdb-data-container" /> + <xsl:if test="count(/Response/*)<2 and not(/Response/Error|/Response/Info|/Response/Warning)"> + <xsl:call-template name="welcome"/> + </xsl:if> + </div> + <footer class="py-5"> <xsl:call-template name="caosdb-footer"/> </footer> </body> diff --git a/src/core/xsl/footer.xsl b/src/core/xsl/footer.xsl index 0b034e9d5a3b170305b85567f34732ac04755f91..0231649d4ff4deda68822eecf25576175a5eed00 100644 --- a/src/core/xsl/footer.xsl +++ b/src/core/xsl/footer.xsl @@ -26,20 +26,24 @@ <xsl:output method="html"/> <xsl:template name="caosdb-footer"> - <div class="caosdb-footer-element" id="caosdb-footer-element-custom-1"> - ${BUILD_FOOTER_CUSTOM_ELEMENT_ONE} + <div class="container d-flex flex-lg-row flex-column justify-content-around"> + <div class="caosdb-footer-element" id="caosdb-footer-element-custom-1"> + ${BUILD_FOOTER_CUSTOM_ELEMENT_ONE} + </div> + <div class="caosdb-footer-element" id="caosdb-footer-element-custom-2"> + ${BUILD_FOOTER_CUSTOM_ELEMENT_TWO} + </div> </div> - <div class="caosdb-footer-element" id="AGPL-notice"> - This server runs free software licensed under the <a - href="https://www.gnu.org/licenses/agpl-3.0.en.html" - target="_blank">AGPL-v3</a>, you can obtain the sources <a - href="https://gitlab.com/caosdb" target="_blank">here</a>. - </div> - <div class="caosdb-footer-element" id="caosdb-footer-element-custom-2"> - ${BUILD_FOOTER_CUSTOM_ELEMENT_TWO} - </div> - <div class="caosdb-footer-element"> - <a href="${BUILD_FOOTER_DATA_POLICY_HREF}">Data Policy</a><span class="caosdb-bulletsep">•</span><a href="/webinterface/${BUILD_NUMBER}/html/imprint.html">Imprint/Impressum</a> + <div class="container d-flex flex-md-row flex-column justify-content-center"> + <a href="mailto:info@indiscale.com">Contact</a> + <span class="caosdb-bulletsep d-none d-md-inline">•</span> + <a href="https://www.indiscale.com/imprint/">Imprint/Impressum</a> + <span class="caosdb-bulletsep d-none d-md-inline">•</span> + <a href="${BUILD_FOOTER_DATA_POLICY_HREF}">Data Policy</a> + <span class="caosdb-bulletsep d-none d-md-inline">•</span> + <a href="https://www.gnu.org/licenses/agpl-3.0.en.html" target="_blank">License (AGPL-v3)</a> + <span class="caosdb-bulletsep d-none d-md-inline">•</span> + <a href="https://gitlab.com/caosdb" target="_blank">Sources</a> </div> </xsl:template> </xsl:stylesheet> diff --git a/src/core/xsl/main.xsl b/src/core/xsl/main.xsl index 8ad6887ec30aaa314c372eb1d1a114d7b5aefcaf..95802360d69a9de513fc6dc5fe6b05cb5c9d8e6c 100644 --- a/src/core/xsl/main.xsl +++ b/src/core/xsl/main.xsl @@ -298,9 +298,6 @@ <xsl:if test="not(/Response/Query/Selection)"> <xsl:apply-templates mode="entities" select="/Response/*"/> </xsl:if> - <xsl:if test="count(/Response/*)<2 and not(/Response/Error|/Response/Info|/Response/Warning)"> - <xsl:call-template name="welcome"/> - </xsl:if> <xsl:call-template name="paging-panel"/> </div> <div class="caosdb-f-edit ms-2"> diff --git a/src/core/xsl/navbar.xsl b/src/core/xsl/navbar.xsl index 0b89c595bda5ccf64e754be9cfe9d608da76a714..506949768a347ce6ee3707a84903542d04df74dc 100644 --- a/src/core/xsl/navbar.xsl +++ b/src/core/xsl/navbar.xsl @@ -42,19 +42,12 @@ </li> </xsl:template> <xsl:template name="caosdb-top-navbar"> - <!-- Some general settings first, current context should be the <body> node. --> - <xsl:if test="count(/Response/*)<2 and not(/Response/Error|/Response/Info|/Response/Warning)"> - <xsl:attribute name="class">caosdb-welcome</xsl:attribute> - </xsl:if> <xsl:if test="/Response/@realm='${BUILD_MODULE_USER_MANAGEMENT_CHANGE_OWN_PASSWORD_REALM}'"> <xsl:call-template name="change-password-modal"> <xsl:with-param name="realm"><xsl:value-of select="/Response/@realm"/></xsl:with-param> <xsl:with-param name="username"><xsl:value-of select="/Response/@username"/></xsl:with-param> </xsl:call-template> </xsl:if> - <!-- Now the header follows. --> - <!-- TODO the z-index makes dropdown be over other elements. Can this be done in cleverer way?. --> - <!-- TODO the display:block allows to have the query panel below the navbar not inside. Without it, the query panel will always stay in a row with the remaining navbar. Can this be done in cleverer way?. --> <nav class="navbar navbar-expand-lg navbar-light bg-light sticky-top mb-2 flex-column"> <div class="container-fluid"> <a class="navbar-brand" href="/"> @@ -257,7 +250,7 @@ </li> </xsl:when> <xsl:otherwise> - <div id="user-menu" class="my-auto"> + <li id="user-menu" class="nav-item my-auto"> <form id="caosdb-f-login-form" class="d-none" method="POST"> <xsl:attribute name="action"> <xsl:value-of select="concat($basepath, 'login')"/> @@ -274,10 +267,10 @@ </div> </div> </form> - <form> + <form class="my-auto"> <button style="margin-right: 15px" class="btn btn-secondary navbar-btn d-inline-block" id="caosdb-f-login-show-button" type="button">Login</button> </form> - </div> + </li> </xsl:otherwise> </xsl:choose> </xsl:template> diff --git a/src/linkahead_icon_512.png b/src/linkahead_icon_512.png new file mode 100644 index 0000000000000000000000000000000000000000..84d1b5ebd715b55418444787c82689b28d917e24 Binary files /dev/null and b/src/linkahead_icon_512.png differ