Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New dev #23

Merged
merged 15 commits into from
Dec 16, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .idea/deploymentTargetDropDown.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,17 @@ dependencies {
// DataStore
implementation("androidx.datastore:datastore-core:1.0.0")

// Reorderable Lists
implementation("org.burnoutcrew.composereorderable:reorderable:0.9.6")


// Swipe
implementation("me.saket.swipe:swipe:1.2.0")

// Dialogs
implementation("io.github.vanpra.compose-material-dialogs:datetime:0.9.0")
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4")

// Maps
implementation(project(":maps"))

Expand Down
1 change: 1 addition & 0 deletions app/src/main/assets/boom.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions app/src/main/assets/delete.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"v":"4.8.0","meta":{"g":"LottieFiles AE 1.0.0","a":"","k":"","d":"","tc":"none"},"fr":29.9700012207031,"ip":0,"op":60.0000024438501,"w":1200,"h":1200,"nm":"Scene","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Lid","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":15,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":29,"s":[109]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":34,"s":[109]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":39,"s":[120]},{"t":54.0000021994651,"s":[0]}],"ix":10},"p":{"a":0,"k":[511.943,-559.47,0],"ix":2},"a":{"a":0,"k":[142.77,-39.142,0],"ix":1},"s":{"a":0,"k":[375,375,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[292.77,37.781],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.396078431373,0.149019607843,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-3.615,-56.359],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,94.698],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[94.945,73.645],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.396078431373,0.149019607843,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":28,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.877959546856,0.810401348039,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.772,-78.051],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[74.571,63.101],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 2","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60.0000024438501,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 3","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-8,"ix":10},"p":{"a":0,"k":[-251.881,-22.571,0],"ix":2},"a":{"a":0,"k":[-2.52,111.103,0],"ix":1},"s":{"a":0,"k":[280,333.333,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[23.767,172.823],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.878431372549,0.811764705882,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2.52,111.103],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60.0000024438501,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 4","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-37,-22.571,0],"ix":2},"a":{"a":0,"k":[-2.52,111.103,0],"ix":1},"s":{"a":0,"k":[280,333.333,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[23.767,172.823],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.878431372549,0.811764705882,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2.52,111.103],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60.0000024438501,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 2","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":8,"ix":10},"p":{"a":0,"k":[177.881,-22.571,0],"ix":2},"a":{"a":0,"k":[-2.52,111.103,0],"ix":1},"s":{"a":0,"k":[280,333.333,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[23.767,172.823],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.878431372549,0.811764705882,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2.52,111.103],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60.0000024438501,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Bin","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":36,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":41,"s":[10]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":46,"s":[-10]},{"t":51.0000020772726,"s":[0]}],"ix":10},"p":{"a":0,"k":[615.309,932.44,0],"ix":2},"a":{"a":0,"k":[-37,400,0],"ix":1},"s":{"a":0,"k":[28,28,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[402,-446],[-476,-446],[-354,400],[282,400]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.396078431373,0.149019607843,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":110,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.397117943857,0.149019607843,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60.0000024438501,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 7","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-42.857,125,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,66.667,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[1000,1000],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0,0.647058823529,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":110,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.648780553481,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[151.565,22.224],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":12,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60.0000024438501,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Folder","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.864],"y":[1]},"o":{"x":[0.352],"y":[0]},"t":5,"s":[0]},{"i":{"x":[0.698],"y":[3.55]},"o":{"x":[0.291],"y":[0]},"t":34,"s":[326.552]},{"t":46.0000018736184,"s":[277]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.878],"y":[0.467]},"o":{"x":[0.477],"y":[-0.131]},"t":5,"s":[259.708]},{"i":{"x":[0.98],"y":[1.007]},"o":{"x":[0.45],"y":[0.65]},"t":34,"s":[713.66]},{"t":46.0000018736184,"s":[594.251]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.745],"y":[2.239]},"o":{"x":[0.31],"y":[1.129]},"t":5,"s":[956.589]},{"i":{"x":[0.726],"y":[0.983]},"o":{"x":[0.301],"y":[0.331]},"t":34,"s":[478.866]},{"t":46.0000018736184,"s":[851.819]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.659,0.659,0.659],"y":[1.033,1.033,9.648]},"o":{"x":[0.26,0.26,0.297],"y":[0.359,0.419,0]},"t":5,"s":[0,0,100]},{"i":{"x":[0.815,0.815,0.815],"y":[0.96,0.96,5.244]},"o":{"x":[0.425,0.425,0.425],"y":[0.108,0.108,-11.323]},"t":25,"s":[20,17.143,100]},{"t":46.0000018736184,"s":[12,10.286,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[1000,1000],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0,0.647058823529,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":90,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847120098039,0.946601777918,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60.0000024438501,"st":0,"bm":0}],"markers":[]}
4 changes: 4 additions & 0 deletions app/src/main/java/ai/travel/app/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,10 @@ class MainActivity : ComponentActivity() {
Screens.Login.route -> {
isBottomBarVisible.value = false
}

Screens.NewTrip.route -> {
isBottomBarVisible.value = false
}
}


Expand Down
26 changes: 26 additions & 0 deletions app/src/main/java/ai/travel/app/database/DbRepository.kt
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,37 @@ class DatabaseRepo(private val tripsDao: TripsDao) {
}
}

fun swapTripPositions(day: String, fromIndex: Int, toIndex: Int, destination: String) {
coroutineScope.launch {
tripsDao.swapTripPositions(day, fromIndex, toIndex, destination)
}
}

fun updateTrips(name: String, budget: String?, latitude: Double?, longitude: Double?,
photoBase64: String?, distance: String, duration: String,timeOfDay: String,
fromId: Long, fromDay: String, fromDestination: String) {
coroutineScope.launch {
tripsDao.updateTrips(name, budget, latitude, longitude, photoBase64, distance, duration,timeOfDay, fromId, fromDay, fromDestination)
}
}

fun getBudget(destination: String): Flow<List<String?>> =
tripsDao.getBudget(destination)

fun getTotalBudget(destination: String): Flow<List<Double?>> =
tripsDao.getTotalBudget(destination)

fun insertAllTrips(trips: List<TripsEntity>) {
coroutineScope.launch {
tripsDao.insertAllTrips(trips)
}
}

fun getDepartureDate(day: String, destination: String): Flow<List<String?>> =
tripsDao.getDepartureDate(day, destination)

fun getArrivalDate(day: String, destination: String): Flow<List<String?>> =
tripsDao.getArrivalDate(day, destination)


}
23 changes: 14 additions & 9 deletions app/src/main/java/ai/travel/app/database/travel/Trips.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,22 @@ data class TripsEntity(
@PrimaryKey(autoGenerate = true)
val id: Long = 0,
val day: String,
val timeOfDay: String,
val name: String,
var timeOfDay: String,
var name: String,
val source: String,
val destination: String,
val travelActivity: String,
val budget: String? = null,
val latitude: Double?,
val longitude: Double?,
val photoBase64: String? = null, // Store photo as Base64 String,
val distance: String = "0",
val duration: String = "0",
var travelActivity: String,
var budget: String? = null,
var latitude: Double?,
var longitude: Double?,
var photoBase64: String? = null, // Store photo as Base64 String,
var distance: String = "0",
var duration: String = "0",
var totalBudget: Double? = 0.0,
var departureDate: String? = null,
var arrivalDate: String? = null,
var departureTime: String? = null,
var arrivalTime: String? = null,
)


Expand Down
49 changes: 49 additions & 0 deletions app/src/main/java/ai/travel/app/database/travel/TripsDao.kt
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
package ai.travel.app.database.travel

import androidx.room.Dao
import androidx.room.Delete
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Transaction
import androidx.room.Update
import kotlinx.coroutines.flow.Flow


Expand Down Expand Up @@ -31,4 +34,50 @@ interface TripsDao {
@Query("SELECT * FROM trips where name = :destination")
fun getMoreInfo(destination: String): Flow<List<TripsEntity?>>

@Query("SELECT * FROM trips WHERE day = :day ORDER BY timeOfDay ASC")
suspend fun getTripsForDay(day: String): List<TripsEntity>

@Query("SELECT departureDate FROM trips WHERE day = :day and destination = :destination")
fun getDepartureDate(day: String, destination: String): Flow<List<String?>>


@Query("SELECT arrivalDate FROM trips WHERE day = :day and destination = :destination")
fun getArrivalDate(day: String, destination: String): Flow<List<String?>>

@Transaction
suspend fun swapTripPositions(day: String, fromIndex: Int, toIndex: Int, destination: String) {
val trips = getTripsForDay(day).toMutableList()
if (fromIndex >= trips.size || toIndex >= trips.size || fromIndex == toIndex) {
// Invalid indices or no change needed
return
}

val temp = trips[fromIndex]
trips[fromIndex] = trips[toIndex]
trips[toIndex] = temp

// updateTrips(trips[toIndex].name, trips[toIndex].budget, trips[toIndex].latitude, trips[toIndex].longitude,
// trips[toIndex].photoBase64, trips[toIndex].distance, trips[toIndex].duration,
// trips[fromIndex].id, trips[fromIndex].day, trips[fromIndex].destination)
// val deletedTripId = trips[fromIndex].id
// deleteTripById(deletedTripId, destination, day)
}

@Query("UPDATE trips SET name = :name," +
"budget = :budget, latitude = :latitude, longitude = :longitude," +
"photoBase64 = :photoBase64, distance = :distance," +
"duration = :duration, timeOfDay = :timeOfDay WHERE id = :fromId and day = :fromDay and destination = :fromDestination")
suspend fun updateTrips(name: String, budget: String?, latitude: Double?, longitude: Double?,
photoBase64: String?, distance: String, duration: String, timeOfDay: String,
fromId: Long, fromDay: String, fromDestination: String)

@Query("DELETE FROM trips WHERE id = :tripId and destination = :destination and day = :day")
suspend fun deleteTripById(tripId: Long, destination: String, day: String)

@Query("Select budget from trips where destination = :destination")
fun getBudget(destination: String): Flow<List<String?>>

@Query("Select totalBudget from trips where destination = :destination")
fun getTotalBudget(destination: String): Flow<List<Double?>>

}
Loading