From 74fe4ca4a11bcd839b8d6c411fe19618c2202bd0 Mon Sep 17 00:00:00 2001 From: klappstuhl24 Date: Thu, 16 Nov 2023 22:47:03 +0100 Subject: [PATCH] Fancy animation zur image section wenn generate butten gepresst wurde. --- KIKunstKirstenKlöckner/Pages/AiArt.razor | 132 ++++++++++-------- KIKunstKirstenKlöckner/wwwroot/js/animator.js | 8 +- 2 files changed, 82 insertions(+), 58 deletions(-) diff --git a/KIKunstKirstenKlöckner/Pages/AiArt.razor b/KIKunstKirstenKlöckner/Pages/AiArt.razor index 4aed877..cb053f5 100644 --- a/KIKunstKirstenKlöckner/Pages/AiArt.razor +++ b/KIKunstKirstenKlöckner/Pages/AiArt.razor @@ -8,6 +8,7 @@ @using KIKunstKirstenKlöckner.Data @using System.Diagnostics +@inject IJSRuntime JSRuntime @inject IConfiguration Config @inject TooltipService TooltipService @inject NotificationService NotificationService @@ -64,67 +65,74 @@ - await GenerateImagesAsync())>Generate + Generate - Die Idee, die gemalt wird: + @if (_imageSectionVisible) + { +
+ + Die Idee, die gemalt wird: - - @_imageIdea - - - - - - + + @_imageIdea + - Verändere hier dein Bild durch Worte: - - await UpdateImagesAsync())>Generate + + - - - - - - @_imagePromts[0] -
- Model: @_bildInfos[0]?.ImageModel -
-
- - - - @_imagePromts[1] -
- Model: @_bildInfos[1]?.ImageModel -
-
- - - - @_imagePromts[2] -
- Model: @_bildInfos[2]?.ImageModel -
-
- - - - @_imagePromts[3] -
- Model: @_bildInfos[3]?.ImageModel -
-
-
-
+ + + Verändere hier dein Bild durch Worte: + + await UpdateImagesAsync())>Generate + + + + + + + @_imagePromts[0] +
+ Model: @_bildInfos[0]?.ImageModel +
+
+ + + + @_imagePromts[1] +
+ Model: @_bildInfos[1]?.ImageModel +
+
+ + + + @_imagePromts[2] +
+ Model: @_bildInfos[2]?.ImageModel +
+
+ + + + @_imagePromts[3] +
+ Model: @_bildInfos[3]?.ImageModel +
+
+
+
+
+
+ } @@ -142,6 +150,7 @@ private bool _buttonVisible = true; private bool _addonsVisible = false; private bool _bothVisible = false; + private bool _imageSectionVisible = false; public string BusyMessage { get; set; } = "Initial Message"; @@ -156,6 +165,15 @@ FadeIn } + private async Task OnGenerateButtonClickAsync() + { + _imageSectionVisible = true; + StateHasChanged(); + await Task.Delay(100); + await JSRuntime.InvokeVoidAsync("scrollToElement", "imageSection"); + await GenerateImagesAsync(); + } + async Task ShowImageDialog(string imageUrl) { var result = await DialogService.OpenAsync("", ds => diff --git a/KIKunstKirstenKlöckner/wwwroot/js/animator.js b/KIKunstKirstenKlöckner/wwwroot/js/animator.js index 45719dc..3006527 100644 --- a/KIKunstKirstenKlöckner/wwwroot/js/animator.js +++ b/KIKunstKirstenKlöckner/wwwroot/js/animator.js @@ -14,6 +14,12 @@ window.addEventListener('scroll', animateElements); - // Initialer Aufruf für den Fall, dass Elemente bereits sichtbar sind animateElements(); } + +function scrollToElement(elementId) { + var element = document.getElementById(elementId); + if (element) { + element.scrollIntoView({ behavior: 'smooth' }); + } +}