Voglio realizzare una transition personalizzata di una view in SwiftUI. Immagina un lazyvgrid con varie card con una immagine che sta in alto alla card e sotto ha un titolo. Una volta che l'utente clicca su una card questa si espande per tutta la view in modo smooth. Ovviamente espandendosi deve avere lo stesso design ma espanso, quindi immagine sopra che ovviamente ignora le safe area e il titolo sotto. Il titolo deve stare in una scrollview con sotto la descrizione. Nel momento in cui l'utente dragga da un punto verso il basso e dragga per un tot di distanza la card deve rimpicciolirsi a mano a mano fino a quando non arriva ad un tot di grandezza, una volta arrivata a questo tot la card deve rimpicciolirsi completamente e la view deve tornare allo stato iniziale. Aggiungi tutti i commenti necessari nel codice per capire bene i passaggi e cerca di mettere tutto in unico file Swift ovvero ContentView.