feat(home): play the white -> background fade only once

NOTE: it's not correctly done, i'm using app state for that, i might move to intro but it's fine for now
This commit is contained in:
2026-01-12 16:36:30 +01:00
parent 1963fdd9d5
commit c8dab1ae9e
4 changed files with 9 additions and 4 deletions

View File

@@ -1,8 +1,8 @@
<script setup lang="ts">
const { onRender } = useScreen();
const store = useHomeStore();
const app = useAppStore();
const store = useHomeStore();
const { assets } = useAssets();
@@ -10,7 +10,7 @@ onRender((ctx) => {
ctx.fillStyle = "#fbfbfb"
ctx.fillRect(0, 0, LOGICAL_WIDTH, LOGICAL_HEIGHT);
ctx.globalAlpha = store.isIntro? store.intro.stage1Opacity:1;
ctx.globalAlpha = store.isIntro && !app.homeIntroPlayed ? store.intro.stage1Opacity : 1;
assets.images.home.bottomScreen.background.draw(ctx, 0, 0);
});

View File

@@ -1,15 +1,15 @@
<script setup lang="ts">
const { onRender } = useScreen();
const store = useHomeStore();
const app = useAppStore();
const store = useHomeStore();
const { assets } = useAssets();
onRender((ctx) => {
ctx.fillStyle = "#fbfbfb"
ctx.fillRect(0, 0, LOGICAL_WIDTH, LOGICAL_HEIGHT);
ctx.globalAlpha = store.isIntro? store.intro.stage1Opacity:1;
ctx.globalAlpha = store.isIntro && !app.homeIntroPlayed ? store.intro.stage1Opacity : 1;
assets.images.home.topScreen.background.draw(ctx, 0, 0);
});

View File

@@ -28,6 +28,8 @@ export const useAppStore = defineStore("app", {
return {
booted: false,
// shitty but who cares
homeIntroPlayed: false,
settings,
screen: "home" as AppScreen,
camera: null as THREE.Camera | null,

View File

@@ -25,6 +25,9 @@ export const useHomeStore = defineStore("home", {
const timeline = gsap.timeline({
onComplete: () => {
this.isIntro = false;
const app = useAppStore();
app.homeIntroPlayed = true;
},
});