Skip to content

Commit 129013c

Browse files
Stefan ErnstStefan Ernst
authored andcommitted
Fixed modal background detection
1 parent d2ff0a4 commit 129013c

3 files changed

Lines changed: 18 additions & 24 deletions

File tree

frontend/src/lib/dialogs/RequestFormModal.svelte

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import { api } from '../api.js';
33
import { authStore } from '../stores';
44
import { portalAuthStore } from '../stores/portalAuth.svelte.js';
5-
import { portalStore, gradients, iconMap } from '../stores/portal.svelte.js';
5+
import { portalStore, iconMap } from '../stores/portal.svelte.js';
66
import Button from '../components/Button.svelte';
77
import CustomFieldRenderer from '../features/items/CustomFieldRenderer.svelte';
88
import Spinner from '../components/Spinner.svelte';
@@ -49,11 +49,6 @@
4949
let isLastStep = $derived(currentStep === Math.max(...steps));
5050
let isFirstStep = $derived(currentStep === Math.min(...steps));
5151
52-
// Get gradient - use portal gradient or fallback
53-
let gradientValue = $derived(
54-
gradients[portalStore.selectedGradient]?.value ||
55-
gradients[0].value
56-
);
5752
5853
// Load fields when modal opens
5954
$effect(() => {
@@ -260,7 +255,7 @@
260255
<!-- Gradient Header with Integrated Stepper -->
261256
<div
262257
class="px-8 pt-8 pb-6 text-white text-center relative"
263-
style="background: {gradientValue};"
258+
style="{portalStore.headerBackgroundStyle}"
264259
>
265260
<!-- Close button -->
266261
<button

frontend/src/lib/portal/PortalLoginModal.svelte

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script>
22
import { X, Mail, User, Lock, Building2 } from 'lucide-svelte';
3-
import { portalStore, gradients } from '../stores/portal.svelte.js';
3+
import { portalStore } from '../stores/portal.svelte.js';
44
import { portalAuthStore } from '../stores/portalAuth.svelte.js';
55
import { authStore } from '../stores';
66
import { t } from '../stores/i18n.svelte.js';
@@ -80,19 +80,6 @@
8080
}
8181
}
8282
83-
// Compute background style - image takes priority over gradient (same logic as PortalHero)
84-
const headerBackgroundStyle = $derived(() => {
85-
if (portalStore.backgroundImageUrl) {
86-
return `background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)), url(${portalStore.backgroundImageUrl}) center/cover no-repeat;`;
87-
}
88-
// Use selected gradient, or fall back to first gradient with a value
89-
const gradientValue = gradients[portalStore.selectedGradient]?.value;
90-
if (gradientValue) {
91-
return `background: ${gradientValue};`;
92-
}
93-
// Fall back to first gradient with a value (index 1 = "Blue to Purple")
94-
return `background: ${gradients[1].value};`;
95-
});
9683
</script>
9784

9885
<svelte:window onkeydown={handleKeydown} />
@@ -115,7 +102,7 @@
115102
<!-- Email Sent Confirmation - Gradient Header -->
116103
<div
117104
class="px-8 py-12 text-white text-center relative"
118-
style="{headerBackgroundStyle()}"
105+
style="{portalStore.headerBackgroundStyle}"
119106
>
120107
<div class="absolute top-4 right-4">
121108
<button
@@ -154,7 +141,7 @@
154141
<!-- Magic Link Login Form - Gradient Header -->
155142
<div
156143
class="px-8 py-12 text-white text-center relative"
157-
style="{headerBackgroundStyle()}"
144+
style="{portalStore.headerBackgroundStyle}"
158145
>
159146
<div class="absolute top-4 right-4">
160147
<button
@@ -240,7 +227,7 @@
240227
<!-- Internal Login Form - Gradient Header -->
241228
<div
242229
class="px-8 py-12 text-white text-center relative"
243-
style="{headerBackgroundStyle()}"
230+
style="{portalStore.headerBackgroundStyle}"
244231
>
245232
<div class="absolute top-4 right-4">
246233
<button

frontend/src/lib/stores/portal.svelte.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -918,6 +918,18 @@ export const portalStore = {
918918
get selectedBackgroundCategory() { return selectedBackgroundCategory; },
919919
get hasBackgroundImage() { return backgroundImageUrl !== null && backgroundImageUrl !== ''; },
920920
get hasGradient() { return !backgroundImageUrl && selectedGradient > 0 && gradients[selectedGradient]?.value; },
921+
// Computed header background style - image takes priority over gradient
922+
get headerBackgroundStyle() {
923+
if (backgroundImageUrl) {
924+
return `background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)), url(${backgroundImageUrl}) center/cover no-repeat;`;
925+
}
926+
const gradientValue = gradients[selectedGradient]?.value;
927+
if (gradientValue) {
928+
return `background: ${gradientValue};`;
929+
}
930+
// Fall back to first gradient with a value (index 1 = "Blue to Purple")
931+
return `background: ${gradients[1].value};`;
932+
},
921933

922934
// Getters for logo state
923935
get logoUrl() { return logoUrl; },

0 commit comments

Comments
 (0)