enhance mobile layout with responsive design adjustments and improved accessibility features

This commit is contained in:
Fabian Schieder 2026-02-27 22:43:47 +01:00
parent f9988e1139
commit 5a055fba70
6 changed files with 66 additions and 26 deletions

15
.idea/php.xml generated
View File

@ -10,12 +10,27 @@
<option name="highlightLevel" value="WARNING" />
<option name="transferred" value="true" />
</component>
<component name="PhpCodeSniffer">
<phpcs_settings>
<phpcs_by_interpreter asDefaultInterpreter="true" interpreter_id="b74b3486-711a-42ad-bf18-c51cc1addaa5" timeout="30000" />
</phpcs_settings>
</component>
<component name="PhpProjectSharedConfiguration" php_language_level="7.0">
<option name="suggestChangeDefaultLanguageLevel" value="false" />
</component>
<component name="PhpStan">
<PhpStan_settings>
<phpstan_by_interpreter asDefaultInterpreter="true" interpreter_id="b74b3486-711a-42ad-bf18-c51cc1addaa5" timeout="60000" />
</PhpStan_settings>
</component>
<component name="PhpStanOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="Psalm">
<Psalm_settings>
<psalm_fixer_by_interpreter asDefaultInterpreter="true" interpreter_id="b74b3486-711a-42ad-bf18-c51cc1addaa5" timeout="60000" />
</Psalm_settings>
</component>
<component name="PsalmOptionsConfiguration">
<option name="transferred" value="true" />
</component>

View File

@ -69,7 +69,8 @@ include 'header.php';
<header class="auth__header">
<img src="<?php echo htmlspecialchars($user['profilePicture']); ?>"
alt="Profilbild"
width="240">
width="240"
style="max-width:100%; height:auto;">
</header>
</div>

View File

@ -203,6 +203,16 @@
.product-specs p:hover {
transform: none;
}
/* Wishlist button under image on mobile */
.product-left .auth__actions {
margin-top: 0.75rem;
}
.product-left .auth__submit {
font-size: 0.88rem;
min-height: 46px;
}
}
/* ==========================================================

View File

@ -17,12 +17,26 @@
<!-- Prevent tap-highlight on mobile -->
<style>
* { -webkit-tap-highlight-color: transparent; }
/* Safe area for notch phones */
body {
padding-left: env(safe-area-inset-left);
padding-right: env(safe-area-inset-right);
}
.header {
padding-left: env(safe-area-inset-left);
padding-right: env(safe-area-inset-right);
}
.footer {
padding-bottom: env(safe-area-inset-bottom);
}
/* Mobile menu overlay */
.nav__overlay {
display: none;
position: fixed;
inset: 0;
background: rgba(0,0,0,0.5);
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
z-index: 1000;
opacity: 0;
transition: opacity 300ms ease;

View File

@ -391,18 +391,38 @@ a:hover {
width: 100%;
position: static;
transform: none;
margin-bottom: 0.5rem;
}
.nav__searchForm--mobile .nav__searchField {
width: 100%;
}
.nav__searchForm--mobile .nav__searchField::before {
content: "🔍";
position: absolute;
left: 12px;
top: 50%;
transform: translateY(-50%);
font-size: 0.8rem;
pointer-events: none;
opacity: 0.45;
}
.nav__searchForm--mobile .nav__searchInput {
width: 100%;
height: 44px;
padding: 0 16px;
font-size: 0.92rem;
height: 46px;
padding: 0 14px 0 36px;
font-size: 16px; /* Prevents iOS zoom */
border-radius: var(--radius-md);
background: rgba(255, 255, 255, 0.05);
border: 1px solid var(--border-default);
}
.nav__searchForm--mobile .nav__searchInput:focus {
border-color: var(--color-primary);
background: rgba(255, 255, 255, 0.08);
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}
.nav__list {
@ -924,26 +944,6 @@ a:hover {
max-width: 120px;
}
/* Mobile search inside hamburger */
.nav__searchForm--mobile {
display: block;
width: 100%;
position: static;
transform: none;
margin-bottom: 1rem;
}
.nav__searchForm--mobile .nav__searchField {
width: 100%;
}
.nav__searchForm--mobile .nav__searchInput {
width: 100%;
height: 44px;
padding: 0 16px 0 42px;
font-size: 0.95rem;
}
.container {
padding-inline: 1rem;
}

View File

@ -66,8 +66,8 @@ if (!$conn)
</section>
</main>
<?php else: ?>
<main style="padding: 3rem 2rem; text-align: center; animation: fadeInUp 0.5s ease both;">
<p style="color: var(--text-secondary); font-size: 1.1rem;">Deine Wunschliste ist noch leer.</p>
<main style="padding: 2rem 1rem; text-align: center; animation: fadeInUp 0.5s ease both;">
<p style="color: var(--text-secondary); font-size: 1rem;">Deine Wunschliste ist noch leer.</p>
</main>
<?php endif; ?>