Attempt to improve public view layout

This commit is contained in:
Johannes Zellner
2025-10-17 00:10:09 +02:00
parent 229863d7ff
commit ac91b417c3
7 changed files with 47 additions and 40 deletions
+7 -8
View File
@@ -89,11 +89,10 @@ onMounted(async () => {
</script>
<template>
<PublicPageLayout :footerHtml="footer" :icon-url="iconUrl" v-if="ready">
<PublicPageLayout v-if="ready" :footerHtml="footer" :icon-url="iconUrl" :cloudron-name="name">
<div>
<small>{{ $t('login.loginTo') }}</small>
<h1>{{ name }}</h1>
<p v-html="note"></p>
<h2>{{ $t('login.loginTo') }}</h2>
<p v-html="note" style="margin-bottom: 8px"></p>
<form @submit.prevent="onSubmit" v-if="!totpTokenRequired">
<fieldset :disabled="busy">
@@ -116,7 +115,7 @@ onMounted(async () => {
<div class="actions">
<Button id="loginSubmitButton" @click="onSubmit" :disabled="busy || (!username || !password)" :loading="busy">{{ $t('login.signInAction') }}</Button>
<a class="forgot" href="/passwordreset.html">{{ $t('login.resetPasswordAction') }}</a>
<a href="/passwordreset.html">{{ $t('login.resetPasswordAction') }}</a>
</div>
</form>
@@ -143,14 +142,14 @@ onMounted(async () => {
<style scoped>
.actions {
margin-top: 1.5em;
margin-top: 12px;
display: flex;
flex-direction: column;
align-items: flex-start;
}
.actions .forgot {
margin-top: 1em;
.actions a {
margin-top: 12px;
font-size: 0.9em;
}
+2 -2
View File
@@ -4,7 +4,7 @@ import { Button } from '@cloudron/pankow';
import PublicPageLayout from '../components/PublicPageLayout.vue';
// coming from oidc_error.html server-side rendered
const name = window.cloudron.name;
const cloudronName = window.cloudron.name;
const iconUrl = window.cloudron.iconUrl;
const errorMessage = window.cloudron.errorMessage;
const footer = window.cloudron.footer;
@@ -12,7 +12,7 @@ const footer = window.cloudron.footer;
</script>
<template>
<PublicPageLayout :footerHtml="footer">
<PublicPageLayout :footer-html="footer" :icon-url="iconUrl" :cloudron-name="cloudronName">
<div style="max-width: 300px;">
<h2>{{ name }} OpenID Error</h2>
<div>{{ errorMessage }}</div>
@@ -4,16 +4,16 @@ import { Button } from '@cloudron/pankow';
import PublicPageLayout from '../components/PublicPageLayout.vue';
// coming from oidc_error.html server-side rendered
const name = window.cloudron.name;
const cloudronName = window.cloudron.name;
const submitUrl = window.cloudron.submitUrl;
const footer = window.cloudron.footer;
</script>
<template>
<PublicPageLayout :footerHtml="footer">
<PublicPageLayout :footer-html="footer" :cloudron-name="cloudronName">
<div>
<h2>You do not have access to {{ name }}</h2>
<h2>You do not have access</h2>
<br/>
<Button :href="submitUrl">Continue</Button>
</div>
+14 -14
View File
@@ -101,12 +101,11 @@ onMounted(async () => {
</script>
<template>
<PublicPageLayout :footerHtml="footer">
<PublicPageLayout :footer-html="footer" :cloudron-name="cloudronName">
<div v-if="ready">
<div v-if="mode === MODE.RESET_PASSWORD">
<small>{{ $t('passwordReset.title') }}</small>
<h1>{{ cloudronName }}</h1>
<h2>{{ $t('passwordReset.title') }}</h2>
<form name="passwordResetForm" @submit.prevent="onPasswordReset()">
<input type="submit" style="display: none;"/>
@@ -130,9 +129,7 @@ onMounted(async () => {
</div>
<div v-if="mode === MODE.NEW_PASSWORD">
<small>{{ $t('passwordReset.newPassword.title') }}</small>
<h1>{{ cloudronName }}</h1>
<br/>
<h2>{{ $t('passwordReset.newPassword.title') }}</h2>
<p class="has-error" v-if="error.generic">{{ error.generic }}</p>
@@ -158,34 +155,37 @@ onMounted(async () => {
<div class="actions">
<Button @click="onNewPassword()" :disabled="busy || !newPassword || newPassword !== newPasswordRepeat" :loading="busy">{{ $t('passwordReset.passwordChanged.submitAction') }}</Button>
<a class="login" href="/">{{ $t('passwordReset.backToLoginAction') }}</a>
<a href="/">{{ $t('passwordReset.backToLoginAction') }}</a>
</div>
</form>
</div>
<div v-if="mode === MODE.NEW_PASSWORD_DONE">
<small>{{ $t('passwordReset.success.title') }}</small>
<h1>{{ cloudronName }}</h1>
<br/>
<h2>{{ $t('passwordReset.success.title') }}</h2>
<Button href="/">{{ $t('passwordReset.success.openDashboardAction') }}</Button>
</div>
</div>
</PublicPageLayout>
</template>
<style scoped>
.actions {
margin-top: 1.5em;
margin-top: 12px;
display: flex;
flex-direction: column;
align-items: flex-start;
}
.actions .login {
margin-top: 1em;
.actions a {
margin-top: 12px;
font-size: 0.9em;
}
@media (max-width: 576px) {
.actions {
align-items: unset;
}
}
</style>