diff --git a/android-data/.gitignore b/android-data/.gitignore
deleted file mode 100644
index 42afabfd2..000000000
--- a/android-data/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
\ No newline at end of file
diff --git a/android-data/build.gradle.kts b/android-data/build.gradle.kts
deleted file mode 100644
index 0307f2770..000000000
--- a/android-data/build.gradle.kts
+++ /dev/null
@@ -1,12 +0,0 @@
-plugins {
- id("conferences4hall.android.library")
- id("conferences4hall.quality")
-}
-
-android {
- namespace = "org.gdglille.devfest.android.data"
-}
-
-dependencies {
- implementation(projects.shared)
-}
diff --git a/android-data/src/main/AndroidManifest.xml b/android-data/src/main/AndroidManifest.xml
deleted file mode 100644
index 8072ee00d..000000000
--- a/android-data/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/settings.gradle.kts b/settings.gradle.kts
index c6ecaf9a8..e3513bcbd 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -16,7 +16,6 @@ pluginManagement {
rootProject.name = "conferences4hall"
include(":androidApp")
-include(":android-data")
include(":shared")
include(":models")
include(":backend")
@@ -36,4 +35,5 @@ include(":theme-m3:event-list:event-list-ui")
include(":theme-m3:event-list:event-list-feature")
include(":theme-m3:navigation")
include(":theme-m3:style")
+include(":ui-models")
include(":ui-camera")
diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts
index 4a1c77060..f25814d45 100644
--- a/shared/build.gradle.kts
+++ b/shared/build.gradle.kts
@@ -32,6 +32,7 @@ kotlin {
val commonMain by getting {
dependencies {
api(projects.models)
+ api(projects.uiModels)
implementation(libs.kotlinx.coroutines)
implementation(libs.ktor.client.core)
diff --git a/shared/src/androidMain/kotlin/org/gdglille/devfest/AlarmScheduler.kt b/shared/src/androidMain/kotlin/org/gdglille/devfest/AlarmScheduler.kt
index 3429317b6..4ca26a0b9 100644
--- a/shared/src/androidMain/kotlin/org/gdglille/devfest/AlarmScheduler.kt
+++ b/shared/src/androidMain/kotlin/org/gdglille/devfest/AlarmScheduler.kt
@@ -14,7 +14,7 @@ import kotlinx.datetime.minus
import kotlinx.datetime.toInstant
import kotlinx.datetime.toLocalDateTime
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.TalkItemUi
+import org.gdglille.devfest.models.ui.TalkItemUi
import org.gdglille.devfest.repositories.AgendaRepository
import java.util.Locale
diff --git a/shared/src/androidMain/kotlin/org/gdglille/devfest/Platform.kt b/shared/src/androidMain/kotlin/org/gdglille/devfest/Platform.kt
index 43061ad51..8c5c976bc 100644
--- a/shared/src/androidMain/kotlin/org/gdglille/devfest/Platform.kt
+++ b/shared/src/androidMain/kotlin/org/gdglille/devfest/Platform.kt
@@ -7,6 +7,7 @@ import io.ktor.client.engine.HttpClientEngine
import io.ktor.client.engine.android.Android
import okio.FileSystem
import okio.Path.Companion.toPath
+import org.gdglille.devfest.models.ui.Image
import java.io.ByteArrayOutputStream
data class AndroidContext(val context: Context)
@@ -39,7 +40,6 @@ actual class DecimalFormat {
}
}
-actual typealias Image = Bitmap
actual fun ByteArray.toNativeImage(): Image = BitmapFactory.decodeByteArray(this, 0, this.size)
actual fun Image.toByteArray(): ByteArray {
val stream = ByteArrayOutputStream()
diff --git a/shared/src/androidMain/kotlin/org/gdglille/devfest/QrCodeGeneratorAndroid.kt b/shared/src/androidMain/kotlin/org/gdglille/devfest/QrCodeGeneratorAndroid.kt
index 388d50050..aab26878c 100644
--- a/shared/src/androidMain/kotlin/org/gdglille/devfest/QrCodeGeneratorAndroid.kt
+++ b/shared/src/androidMain/kotlin/org/gdglille/devfest/QrCodeGeneratorAndroid.kt
@@ -2,6 +2,7 @@ package org.gdglille.devfest
import com.google.zxing.BarcodeFormat
import com.journeyapps.barcodescanner.BarcodeEncoder
+import org.gdglille.devfest.models.ui.Image
import org.gdglille.devfest.repositories.QrCodeGenerator
class QrCodeGeneratorAndroid : QrCodeGenerator {
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/Platform.kt b/shared/src/commonMain/kotlin/org/gdglille/devfest/Platform.kt
index ee2b4be24..c52628796 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/Platform.kt
+++ b/shared/src/commonMain/kotlin/org/gdglille/devfest/Platform.kt
@@ -3,6 +3,7 @@ package org.gdglille.devfest
import io.ktor.client.engine.HttpClientEngine
import okio.FileSystem
import okio.Path
+import org.gdglille.devfest.models.ui.Image
data class FileEngine(
val fileSystem: FileSystem,
@@ -22,7 +23,5 @@ expect class DecimalFormat() {
fun format(number: Int): String
}
-expect class Image
-
expect fun ByteArray.toNativeImage(): Image
expect fun Image.toByteArray(): ByteArray
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/EventDao.kt b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/EventDao.kt
index 0182e4423..491d32663 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/EventDao.kt
+++ b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/EventDao.kt
@@ -13,23 +13,23 @@ import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.combineTransform
import kotlinx.coroutines.flow.map
-import org.gdglille.devfest.Image
import org.gdglille.devfest.db.Conferences4HallDatabase
import org.gdglille.devfest.exceptions.EventSavedException
import org.gdglille.devfest.models.Attendee
-import org.gdglille.devfest.models.CoCUi
-import org.gdglille.devfest.models.EventInfoUi
import org.gdglille.devfest.models.EventItemList
-import org.gdglille.devfest.models.EventItemListUi
-import org.gdglille.devfest.models.EventItemUi
-import org.gdglille.devfest.models.EventUi
import org.gdglille.devfest.models.EventV3
-import org.gdglille.devfest.models.MenuItemUi
import org.gdglille.devfest.models.QuestionAndResponse
-import org.gdglille.devfest.models.QuestionAndResponseActionUi
-import org.gdglille.devfest.models.QuestionAndResponseUi
-import org.gdglille.devfest.models.TicketInfoUi
-import org.gdglille.devfest.models.TicketUi
+import org.gdglille.devfest.models.ui.CoCUi
+import org.gdglille.devfest.models.ui.EventInfoUi
+import org.gdglille.devfest.models.ui.EventItemListUi
+import org.gdglille.devfest.models.ui.EventItemUi
+import org.gdglille.devfest.models.ui.EventUi
+import org.gdglille.devfest.models.ui.Image
+import org.gdglille.devfest.models.ui.MenuItemUi
+import org.gdglille.devfest.models.ui.QuestionAndResponseActionUi
+import org.gdglille.devfest.models.ui.QuestionAndResponseUi
+import org.gdglille.devfest.models.ui.TicketInfoUi
+import org.gdglille.devfest.models.ui.TicketUi
import org.gdglille.devfest.toByteArray
import org.gdglille.devfest.toNativeImage
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/FeaturesActivatedDao.kt b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/FeaturesActivatedDao.kt
index 39645c799..168a88bb1 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/FeaturesActivatedDao.kt
+++ b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/FeaturesActivatedDao.kt
@@ -10,7 +10,7 @@ import kotlinx.coroutines.IO
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
import org.gdglille.devfest.db.Conferences4HallDatabase
-import org.gdglille.devfest.models.ScaffoldConfigUi
+import org.gdglille.devfest.models.ui.ScaffoldConfigUi
class FeaturesActivatedDao(private val db: Conferences4HallDatabase) {
fun fetchFeatures(eventId: String): Flow = combine(
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/PartnerDao.kt b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/PartnerDao.kt
index 0f87d92b4..3f5371835 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/PartnerDao.kt
+++ b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/PartnerDao.kt
@@ -13,12 +13,12 @@ import kotlinx.coroutines.flow.flatMapConcat
import kotlinx.coroutines.flow.map
import org.gdglille.devfest.Platform
import org.gdglille.devfest.db.Conferences4HallDatabase
-import org.gdglille.devfest.models.JobUi
-import org.gdglille.devfest.models.PartnerGroupUi
-import org.gdglille.devfest.models.PartnerGroupsUi
-import org.gdglille.devfest.models.PartnerItemUi
import org.gdglille.devfest.models.PartnerV2
-import org.gdglille.devfest.models.SalaryUi
+import org.gdglille.devfest.models.ui.JobUi
+import org.gdglille.devfest.models.ui.PartnerGroupUi
+import org.gdglille.devfest.models.ui.PartnerGroupsUi
+import org.gdglille.devfest.models.ui.PartnerItemUi
+import org.gdglille.devfest.models.ui.SalaryUi
class PartnerDao(private val db: Conferences4HallDatabase, private val platform: Platform) {
private val partnerMapper =
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/ScheduleDao.kt b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/ScheduleDao.kt
index 1500528ea..dfd44ffef 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/ScheduleDao.kt
+++ b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/ScheduleDao.kt
@@ -20,11 +20,11 @@ import org.gdglille.devfest.database.mappers.convertTalkItemUi
import org.gdglille.devfest.database.mappers.convertToDb
import org.gdglille.devfest.database.mappers.convertToEntity
import org.gdglille.devfest.db.Conferences4HallDatabase
-import org.gdglille.devfest.models.AgendaUi
import org.gdglille.devfest.models.AgendaV3
-import org.gdglille.devfest.models.CategoryUi
-import org.gdglille.devfest.models.FiltersUi
-import org.gdglille.devfest.models.FormatUi
+import org.gdglille.devfest.models.ui.AgendaUi
+import org.gdglille.devfest.models.ui.CategoryUi
+import org.gdglille.devfest.models.ui.FiltersUi
+import org.gdglille.devfest.models.ui.FormatUi
@FlowPreview
@ExperimentalCoroutinesApi
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/SpeakerDao.kt b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/SpeakerDao.kt
index fe7a87d40..d7d88e61d 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/SpeakerDao.kt
+++ b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/SpeakerDao.kt
@@ -13,9 +13,9 @@ import kotlinx.coroutines.flow.map
import org.gdglille.devfest.database.mappers.SpeakerMappers
import org.gdglille.devfest.database.mappers.convertTalkItemUi
import org.gdglille.devfest.db.Conferences4HallDatabase
-import org.gdglille.devfest.models.SpeakerItemUi
-import org.gdglille.devfest.models.SpeakerUi
-import org.gdglille.devfest.models.TalkItemUi
+import org.gdglille.devfest.models.ui.SpeakerItemUi
+import org.gdglille.devfest.models.ui.SpeakerUi
+import org.gdglille.devfest.models.ui.TalkItemUi
class SpeakerDao(private val db: Conferences4HallDatabase) {
fun fetchSpeaker(eventId: String, speakerId: String): Flow {
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/TalkDao.kt b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/TalkDao.kt
index ab5faa689..1981de0cb 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/TalkDao.kt
+++ b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/TalkDao.kt
@@ -2,7 +2,7 @@ package org.gdglille.devfest.database
import org.gdglille.devfest.database.mappers.convertTalkUi
import org.gdglille.devfest.db.Conferences4HallDatabase
-import org.gdglille.devfest.models.TalkUi
+import org.gdglille.devfest.models.ui.TalkUi
class TalkDao(private val db: Conferences4HallDatabase) {
fun fetchTalk(eventId: String, talkId: String): TalkUi = db.transactionWithResult {
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/UserDao.kt b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/UserDao.kt
index a5ccbe1d1..573a76519 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/UserDao.kt
+++ b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/UserDao.kt
@@ -13,8 +13,8 @@ import kotlinx.datetime.Clock
import okio.Path.Companion.toPath
import org.gdglille.devfest.Platform
import org.gdglille.devfest.db.Conferences4HallDatabase
-import org.gdglille.devfest.models.UserNetworkingUi
-import org.gdglille.devfest.models.UserProfileUi
+import org.gdglille.devfest.models.ui.UserNetworkingUi
+import org.gdglille.devfest.models.ui.UserProfileUi
import org.gdglille.devfest.toByteArray
import org.gdglille.devfest.toNativeImage
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/mappers/CategoryMappers.kt b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/mappers/CategoryMappers.kt
index a707037d7..e29b79089 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/mappers/CategoryMappers.kt
+++ b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/mappers/CategoryMappers.kt
@@ -1,7 +1,7 @@
package org.gdglille.devfest.database.mappers
import org.gdglille.devfest.models.Category
-import org.gdglille.devfest.models.CategoryUi
+import org.gdglille.devfest.models.ui.CategoryUi
import org.gdglille.devfest.db.Category as CategoryDb
fun Category.convertToDb(eventId: String): CategoryDb = CategoryDb(
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/mappers/FormatMappers.kt b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/mappers/FormatMappers.kt
index 935f0a7ca..d18806738 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/mappers/FormatMappers.kt
+++ b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/mappers/FormatMappers.kt
@@ -1,7 +1,7 @@
package org.gdglille.devfest.database.mappers
import org.gdglille.devfest.models.Format
-import org.gdglille.devfest.models.FormatUi
+import org.gdglille.devfest.models.ui.FormatUi
import org.gdglille.devfest.db.Format as FormatDb
fun Format.convertToDb(eventId: String): FormatDb = FormatDb(
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/mappers/SessionMappers.kt b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/mappers/SessionMappers.kt
index b345871e0..976b9d30a 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/mappers/SessionMappers.kt
+++ b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/mappers/SessionMappers.kt
@@ -18,13 +18,13 @@ import org.gdglille.devfest.db.Session
import org.gdglille.devfest.db.TalkSession
import org.gdglille.devfest.db.TalkSessionWithSpeakers
import org.gdglille.devfest.extensions.formatHoursMinutes
-import org.gdglille.devfest.models.CategoryUi
-import org.gdglille.devfest.models.FormatUi
import org.gdglille.devfest.models.ScheduleItemV3
-import org.gdglille.devfest.models.SpeakerItemUi
-import org.gdglille.devfest.models.TalkItemUi
-import org.gdglille.devfest.models.TalkUi
import org.gdglille.devfest.models.TalkV3
+import org.gdglille.devfest.models.ui.CategoryUi
+import org.gdglille.devfest.models.ui.FormatUi
+import org.gdglille.devfest.models.ui.SpeakerItemUi
+import org.gdglille.devfest.models.ui.TalkItemUi
+import org.gdglille.devfest.models.ui.TalkUi
import kotlin.reflect.KFunction1
private const val BREAK_TITLE = "break"
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/mappers/SpeakerMappers.kt b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/mappers/SpeakerMappers.kt
index 68ff693c1..cb6f7a7bf 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/database/mappers/SpeakerMappers.kt
+++ b/shared/src/commonMain/kotlin/org/gdglille/devfest/database/mappers/SpeakerMappers.kt
@@ -2,8 +2,8 @@ package org.gdglille.devfest.database.mappers
import kotlinx.collections.immutable.persistentListOf
import org.gdglille.devfest.models.Speaker
-import org.gdglille.devfest.models.SpeakerItemUi
-import org.gdglille.devfest.models.SpeakerUi
+import org.gdglille.devfest.models.ui.SpeakerItemUi
+import org.gdglille.devfest.models.ui.SpeakerUi
import org.gdglille.devfest.db.Speaker as SpeakerDb
object SpeakerMappers {
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/repositories/AgendaRepository.kt b/shared/src/commonMain/kotlin/org/gdglille/devfest/repositories/AgendaRepository.kt
index 6a5055096..ae3974cb1 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/repositories/AgendaRepository.kt
+++ b/shared/src/commonMain/kotlin/org/gdglille/devfest/repositories/AgendaRepository.kt
@@ -16,19 +16,19 @@ import org.gdglille.devfest.database.ScheduleDao
import org.gdglille.devfest.database.SpeakerDao
import org.gdglille.devfest.database.TalkDao
import org.gdglille.devfest.exceptions.AgendaNotModifiedException
-import org.gdglille.devfest.models.AgendaUi
-import org.gdglille.devfest.models.CategoryUi
-import org.gdglille.devfest.models.CoCUi
-import org.gdglille.devfest.models.EventUi
-import org.gdglille.devfest.models.FiltersUi
-import org.gdglille.devfest.models.FormatUi
-import org.gdglille.devfest.models.MenuItemUi
-import org.gdglille.devfest.models.PartnerGroupsUi
-import org.gdglille.devfest.models.PartnerItemUi
-import org.gdglille.devfest.models.QuestionAndResponseUi
-import org.gdglille.devfest.models.ScaffoldConfigUi
-import org.gdglille.devfest.models.SpeakerUi
-import org.gdglille.devfest.models.TalkUi
+import org.gdglille.devfest.models.ui.AgendaUi
+import org.gdglille.devfest.models.ui.CategoryUi
+import org.gdglille.devfest.models.ui.CoCUi
+import org.gdglille.devfest.models.ui.EventUi
+import org.gdglille.devfest.models.ui.FiltersUi
+import org.gdglille.devfest.models.ui.FormatUi
+import org.gdglille.devfest.models.ui.MenuItemUi
+import org.gdglille.devfest.models.ui.PartnerGroupsUi
+import org.gdglille.devfest.models.ui.PartnerItemUi
+import org.gdglille.devfest.models.ui.QuestionAndResponseUi
+import org.gdglille.devfest.models.ui.ScaffoldConfigUi
+import org.gdglille.devfest.models.ui.SpeakerUi
+import org.gdglille.devfest.models.ui.TalkUi
import org.gdglille.devfest.network.ConferenceApi
interface AgendaRepository {
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/repositories/EventRepository.kt b/shared/src/commonMain/kotlin/org/gdglille/devfest/repositories/EventRepository.kt
index 83f356379..54ef16101 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/repositories/EventRepository.kt
+++ b/shared/src/commonMain/kotlin/org/gdglille/devfest/repositories/EventRepository.kt
@@ -7,7 +7,7 @@ import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.flow.Flow
import org.gdglille.devfest.database.EventDao
import org.gdglille.devfest.exceptions.EventSavedException
-import org.gdglille.devfest.models.EventItemListUi
+import org.gdglille.devfest.models.ui.EventItemListUi
import org.gdglille.devfest.network.ConferenceApi
interface EventRepository {
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/repositories/SpeakerRepository.kt b/shared/src/commonMain/kotlin/org/gdglille/devfest/repositories/SpeakerRepository.kt
index 887184ba1..aea6c31e2 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/repositories/SpeakerRepository.kt
+++ b/shared/src/commonMain/kotlin/org/gdglille/devfest/repositories/SpeakerRepository.kt
@@ -7,7 +7,7 @@ import kotlinx.coroutines.MainScope
import kotlinx.coroutines.flow.Flow
import org.gdglille.devfest.database.EventDao
import org.gdglille.devfest.database.SpeakerDao
-import org.gdglille.devfest.models.SpeakerItemUi
+import org.gdglille.devfest.models.ui.SpeakerItemUi
interface SpeakerRepository {
fun speakers(): Flow>
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/repositories/UserRepository.kt b/shared/src/commonMain/kotlin/org/gdglille/devfest/repositories/UserRepository.kt
index 7d97862ac..2880da8da 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/repositories/UserRepository.kt
+++ b/shared/src/commonMain/kotlin/org/gdglille/devfest/repositories/UserRepository.kt
@@ -6,12 +6,12 @@ import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.MainScope
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
-import org.gdglille.devfest.Image
import org.gdglille.devfest.database.EventDao
import org.gdglille.devfest.database.UserDao
-import org.gdglille.devfest.models.ExportNetworkingUi
-import org.gdglille.devfest.models.UserNetworkingUi
-import org.gdglille.devfest.models.UserProfileUi
+import org.gdglille.devfest.models.ui.ExportNetworkingUi
+import org.gdglille.devfest.models.ui.Image
+import org.gdglille.devfest.models.ui.UserNetworkingUi
+import org.gdglille.devfest.models.ui.UserProfileUi
import org.gdglille.devfest.vcard.encodeToString
interface UserRepository {
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/vcard/VCardExtensions.kt b/shared/src/commonMain/kotlin/org/gdglille/devfest/vcard/VCardExtensions.kt
index 14820c560..8d5be0bc6 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/vcard/VCardExtensions.kt
+++ b/shared/src/commonMain/kotlin/org/gdglille/devfest/vcard/VCardExtensions.kt
@@ -1,6 +1,6 @@
package org.gdglille.devfest.vcard
-import org.gdglille.devfest.models.UserNetworkingUi
+import org.gdglille.devfest.models.ui.UserNetworkingUi
inline fun UserNetworkingUi.encodeToString(): String = """BEGIN:VCARD
VERSION:4.0
diff --git a/shared/src/iosMain/kotlin/org/gdglille/devfest/Platform.kt b/shared/src/iosMain/kotlin/org/gdglille/devfest/Platform.kt
index 5818f2094..d8743c715 100644
--- a/shared/src/iosMain/kotlin/org/gdglille/devfest/Platform.kt
+++ b/shared/src/iosMain/kotlin/org/gdglille/devfest/Platform.kt
@@ -7,6 +7,7 @@ import kotlinx.cinterop.memScoped
import kotlinx.cinterop.toCValues
import kotlinx.cinterop.usePinned
import okio.FileSystem
+import org.gdglille.devfest.models.ui.Image
import platform.Foundation.NSBundle
import platform.Foundation.NSData
import platform.Foundation.NSNumber
@@ -56,8 +57,6 @@ actual class DecimalFormat {
}
}
-actual typealias Image = UIImage
-
actual fun ByteArray.toNativeImage(): Image = memScoped {
toCValues()
.ptr
diff --git a/theme-m3/event-list/event-list-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/events/feature/EventList.kt b/theme-m3/event-list/event-list-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/events/feature/EventList.kt
index b8e17a987..7f8b5c4ac 100644
--- a/theme-m3/event-list/event-list-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/events/feature/EventList.kt
+++ b/theme-m3/event-list/event-list-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/events/feature/EventList.kt
@@ -23,7 +23,7 @@ import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.Scaffold
import org.gdglille.devfest.android.theme.m3.style.R
import org.gdglille.devfest.android.theme.m3.style.actions.TabActionsUi
-import org.gdglille.devfest.models.EventItemListUi
+import org.gdglille.devfest.models.ui.EventItemListUi
@OptIn(ExperimentalFoundationApi::class)
@Composable
diff --git a/theme-m3/event-list/event-list-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/events/feature/EventListViewModel.kt b/theme-m3/event-list/event-list-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/events/feature/EventListViewModel.kt
index a972dfdfe..e6ae84c70 100644
--- a/theme-m3/event-list/event-list-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/events/feature/EventListViewModel.kt
+++ b/theme-m3/event-list/event-list-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/events/feature/EventListViewModel.kt
@@ -11,7 +11,7 @@ import kotlinx.coroutines.flow.catch
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.stateIn
import kotlinx.coroutines.launch
-import org.gdglille.devfest.models.EventItemListUi
+import org.gdglille.devfest.models.ui.EventItemListUi
import org.gdglille.devfest.repositories.EventRepository
sealed class EventListUiState {
diff --git a/theme-m3/event-list/event-list-ui/build.gradle.kts b/theme-m3/event-list/event-list-ui/build.gradle.kts
index 91bfa4c1a..bfcf627b7 100644
--- a/theme-m3/event-list/event-list-ui/build.gradle.kts
+++ b/theme-m3/event-list/event-list-ui/build.gradle.kts
@@ -9,7 +9,7 @@ android {
}
dependencies {
- implementation(projects.shared)
+ implementation(projects.uiModels)
implementation(projects.themeM3.style)
implementation(platform(libs.androidx.compose.bom))
diff --git a/theme-m3/event-list/event-list-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/events/ui/EventItem.kt b/theme-m3/event-list/event-list-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/events/ui/EventItem.kt
index ab9700c15..258a40a52 100644
--- a/theme-m3/event-list/event-list-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/events/ui/EventItem.kt
+++ b/theme-m3/event-list/event-list-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/events/ui/EventItem.kt
@@ -8,7 +8,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.placeholder
-import org.gdglille.devfest.models.EventItemUi
+import org.gdglille.devfest.models.ui.EventItemUi
@Composable
fun EventItem(
diff --git a/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/CoC.kt b/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/CoC.kt
index 3d11088bf..d93710bc7 100644
--- a/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/CoC.kt
+++ b/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/CoC.kt
@@ -21,7 +21,7 @@ import com.halilibo.richtext.ui.RichText
import com.halilibo.richtext.ui.RichTextThemeIntegration
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.CoCUi
+import org.gdglille.devfest.models.ui.CoCUi
@Composable
fun CoC(
diff --git a/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/CoCViewModel.kt b/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/CoCViewModel.kt
index 74981aac3..9b5c231d1 100644
--- a/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/CoCViewModel.kt
+++ b/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/CoCViewModel.kt
@@ -8,7 +8,7 @@ import com.google.firebase.ktx.Firebase
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
-import org.gdglille.devfest.models.CoCUi
+import org.gdglille.devfest.models.ui.CoCUi
import org.gdglille.devfest.repositories.AgendaRepository
sealed class CoCUiState {
diff --git a/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/Event.kt b/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/Event.kt
index e735cf1f2..f16a223a2 100644
--- a/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/Event.kt
+++ b/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/Event.kt
@@ -25,7 +25,7 @@ import org.gdglille.devfest.android.theme.m3.infos.ui.tickets.TicketDetailed
import org.gdglille.devfest.android.theme.m3.infos.ui.tickets.TicketQrCode
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.EventUi
+import org.gdglille.devfest.models.ui.EventUi
@Composable
fun Event(
diff --git a/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/EventViewModel.kt b/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/EventViewModel.kt
index b0dda1723..e3aea04c4 100644
--- a/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/EventViewModel.kt
+++ b/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/EventViewModel.kt
@@ -8,7 +8,7 @@ import com.google.firebase.ktx.Firebase
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
-import org.gdglille.devfest.models.EventUi
+import org.gdglille.devfest.models.ui.EventUi
import org.gdglille.devfest.repositories.AgendaRepository
sealed class EventUiState {
diff --git a/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/Menus.kt b/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/Menus.kt
index 9ae23e22c..45056a78f 100644
--- a/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/Menus.kt
+++ b/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/Menus.kt
@@ -13,7 +13,7 @@ import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
import org.gdglille.devfest.android.theme.m3.infos.ui.menus.MenuItem
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
-import org.gdglille.devfest.models.MenuItemUi
+import org.gdglille.devfest.models.ui.MenuItemUi
@ExperimentalMaterial3Api
@Composable
diff --git a/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/MenusViewModel.kt b/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/MenusViewModel.kt
index e9c937031..5deebac50 100644
--- a/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/MenusViewModel.kt
+++ b/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/MenusViewModel.kt
@@ -10,7 +10,7 @@ import kotlinx.collections.immutable.persistentListOf
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
-import org.gdglille.devfest.models.MenuItemUi
+import org.gdglille.devfest.models.ui.MenuItemUi
import org.gdglille.devfest.repositories.AgendaRepository
sealed class MenusUiState {
diff --git a/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/QAndAList.kt b/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/QAndAList.kt
index a549c61ab..e753bd118 100644
--- a/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/QAndAList.kt
+++ b/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/QAndAList.kt
@@ -14,7 +14,7 @@ import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
import org.gdglille.devfest.android.theme.m3.infos.ui.qanda.QAndAItem
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
-import org.gdglille.devfest.models.QuestionAndResponseUi
+import org.gdglille.devfest.models.ui.QuestionAndResponseUi
@Composable
fun QAndAList(
diff --git a/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/QAndAListViewModel.kt b/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/QAndAListViewModel.kt
index dc84d208c..c600333ed 100644
--- a/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/QAndAListViewModel.kt
+++ b/theme-m3/infos/infos-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/feature/QAndAListViewModel.kt
@@ -11,7 +11,7 @@ import kotlinx.collections.immutable.toImmutableList
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
-import org.gdglille.devfest.models.QuestionAndResponseUi
+import org.gdglille.devfest.models.ui.QuestionAndResponseUi
import org.gdglille.devfest.repositories.AgendaRepository
sealed class QAndAUiState {
diff --git a/theme-m3/infos/infos-ui/build.gradle.kts b/theme-m3/infos/infos-ui/build.gradle.kts
index 365a827e9..92bc53142 100644
--- a/theme-m3/infos/infos-ui/build.gradle.kts
+++ b/theme-m3/infos/infos-ui/build.gradle.kts
@@ -10,7 +10,7 @@ android {
dependencies {
implementation(projects.uiCamera)
- implementation(projects.shared)
+ implementation(projects.uiModels)
implementation(projects.themeM3.navigation)
implementation(projects.themeM3.style)
diff --git a/theme-m3/infos/infos-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/ui/menus/MenuItem.kt b/theme-m3/infos/infos-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/ui/menus/MenuItem.kt
index 4479b8c7c..60ba3a731 100644
--- a/theme-m3/infos/infos-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/ui/menus/MenuItem.kt
+++ b/theme-m3/infos/infos-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/ui/menus/MenuItem.kt
@@ -14,7 +14,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.placeholder
-import org.gdglille.devfest.models.MenuItemUi
+import org.gdglille.devfest.models.ui.MenuItemUi
@Composable
fun MenuItem(
diff --git a/theme-m3/infos/infos-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/ui/qanda/QAndAItem.kt b/theme-m3/infos/infos-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/ui/qanda/QAndAItem.kt
index 4af83cff0..6a8c52a18 100644
--- a/theme-m3/infos/infos-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/ui/qanda/QAndAItem.kt
+++ b/theme-m3/infos/infos-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/ui/qanda/QAndAItem.kt
@@ -31,7 +31,7 @@ import com.halilibo.richtext.ui.RichText
import com.halilibo.richtext.ui.RichTextThemeIntegration
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.placeholder
-import org.gdglille.devfest.models.QuestionAndResponseUi
+import org.gdglille.devfest.models.ui.QuestionAndResponseUi
private const val ExpandedDegrees = 180f
private const val ClosedDegrees = 0f
diff --git a/theme-m3/infos/infos-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/ui/tickets/TicketDetailed.kt b/theme-m3/infos/infos-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/ui/tickets/TicketDetailed.kt
index aac821fa8..f04e330d4 100644
--- a/theme-m3/infos/infos-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/ui/tickets/TicketDetailed.kt
+++ b/theme-m3/infos/infos-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/ui/tickets/TicketDetailed.kt
@@ -31,13 +31,13 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
-import org.gdglille.devfest.Image
+import org.gdglille.devfest.models.ui.Image
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.placeholder
import org.gdglille.devfest.android.theme.m3.style.shapes.DottedShape
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.TicketInfoUi
-import org.gdglille.devfest.models.TicketUi
+import org.gdglille.devfest.models.ui.TicketInfoUi
+import org.gdglille.devfest.models.ui.TicketUi
private const val TicketRatio = 2 / 3
diff --git a/theme-m3/infos/infos-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/ui/tickets/TicketQrCode.kt b/theme-m3/infos/infos-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/ui/tickets/TicketQrCode.kt
index e5d64a19e..d007480dd 100644
--- a/theme-m3/infos/infos-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/ui/tickets/TicketQrCode.kt
+++ b/theme-m3/infos/infos-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/infos/ui/tickets/TicketQrCode.kt
@@ -16,7 +16,7 @@ import androidx.compose.ui.graphics.asImageBitmap
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
-import org.gdglille.devfest.Image
+import org.gdglille.devfest.models.ui.Image
import org.gdglille.devfest.android.theme.m3.style.placeholder
import org.gdglille.devfest.android.theme.m3.style.R
diff --git a/theme-m3/main/build.gradle.kts b/theme-m3/main/build.gradle.kts
index c57efff5a..16443b122 100644
--- a/theme-m3/main/build.gradle.kts
+++ b/theme-m3/main/build.gradle.kts
@@ -19,7 +19,7 @@ dependencies {
implementation(projects.themeM3.infos.infosFeature)
implementation(projects.themeM3.eventList.eventListFeature)
implementation(projects.themeM3.navigation)
- implementation(projects.androidData)
+ implementation(projects.uiModels)
implementation(projects.shared)
implementation(platform(libs.androidx.compose.bom))
diff --git a/theme-m3/main/src/main/kotlin/org/gdglille/devfest/android/theme/Main.kt b/theme-m3/main/src/main/kotlin/org/gdglille/devfest/android/theme/Main.kt
index 20b63dfa2..45597dc5f 100644
--- a/theme-m3/main/src/main/kotlin/org/gdglille/devfest/android/theme/Main.kt
+++ b/theme-m3/main/src/main/kotlin/org/gdglille/devfest/android/theme/Main.kt
@@ -24,7 +24,7 @@ import org.gdglille.devfest.android.theme.m3.schedules.feature.AgendaFiltersVM
import org.gdglille.devfest.android.theme.m3.schedules.feature.ScheduleDetailVM
import org.gdglille.devfest.android.theme.m3.speakers.feature.SpeakerDetailVM
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
-import org.gdglille.devfest.models.ExportNetworkingUi
+import org.gdglille.devfest.models.ui.ExportNetworkingUi
import org.gdglille.devfest.repositories.AgendaRepository
import org.gdglille.devfest.repositories.EventRepository
import org.gdglille.devfest.repositories.SpeakerRepository
diff --git a/theme-m3/main/src/main/kotlin/org/gdglille/devfest/android/theme/m3/main/Home.kt b/theme-m3/main/src/main/kotlin/org/gdglille/devfest/android/theme/m3/main/Home.kt
index 94c6ee7ea..669b3df0e 100644
--- a/theme-m3/main/src/main/kotlin/org/gdglille/devfest/android/theme/m3/main/Home.kt
+++ b/theme-m3/main/src/main/kotlin/org/gdglille/devfest/android/theme/m3/main/Home.kt
@@ -16,8 +16,8 @@ import androidx.navigation.compose.rememberNavController
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.FlowPreview
import org.gdglille.devfest.AlarmScheduler
-import org.gdglille.devfest.android.data.models.VCardModel
-import org.gdglille.devfest.android.data.models.convertToModelUi
+import org.gdglille.devfest.models.ui.VCardModel
+import org.gdglille.devfest.models.ui.convertToModelUi
import org.gdglille.devfest.android.theme.m3.infos.feature.InfoPages
import org.gdglille.devfest.android.theme.m3.navigation.ActionIds
import org.gdglille.devfest.android.theme.m3.navigation.Screen
@@ -25,7 +25,7 @@ import org.gdglille.devfest.android.theme.m3.networking.feature.NetworkingPages
import org.gdglille.devfest.android.theme.m3.partners.feature.PartnersVM
import org.gdglille.devfest.android.theme.m3.schedules.feature.AgendaVM
import org.gdglille.devfest.android.theme.m3.speakers.feature.SpeakersListVM
-import org.gdglille.devfest.models.ExportNetworkingUi
+import org.gdglille.devfest.models.ui.ExportNetworkingUi
import org.gdglille.devfest.repositories.AgendaRepository
import org.gdglille.devfest.repositories.EventRepository
import org.gdglille.devfest.repositories.SpeakerRepository
diff --git a/theme-m3/main/src/main/kotlin/org/gdglille/devfest/android/theme/m3/main/HomeViewModel.kt b/theme-m3/main/src/main/kotlin/org/gdglille/devfest/android/theme/m3/main/HomeViewModel.kt
index 8bb7935d0..4c8fb71f8 100644
--- a/theme-m3/main/src/main/kotlin/org/gdglille/devfest/android/theme/m3/main/HomeViewModel.kt
+++ b/theme-m3/main/src/main/kotlin/org/gdglille/devfest/android/theme/m3/main/HomeViewModel.kt
@@ -30,9 +30,9 @@ import org.gdglille.devfest.android.theme.m3.style.actions.BottomActionsUi
import org.gdglille.devfest.android.theme.m3.style.actions.ScreenUi
import org.gdglille.devfest.android.theme.m3.style.actions.TabActionsUi
import org.gdglille.devfest.android.theme.m3.style.actions.TopActionsUi
-import org.gdglille.devfest.models.ExportNetworkingUi
-import org.gdglille.devfest.models.ScaffoldConfigUi
-import org.gdglille.devfest.models.UserNetworkingUi
+import org.gdglille.devfest.models.ui.ExportNetworkingUi
+import org.gdglille.devfest.models.ui.ScaffoldConfigUi
+import org.gdglille.devfest.models.ui.UserNetworkingUi
import org.gdglille.devfest.repositories.AgendaRepository
import org.gdglille.devfest.repositories.EventRepository
import org.gdglille.devfest.repositories.UserRepository
diff --git a/theme-m3/networking/networking-feature/build.gradle.kts b/theme-m3/networking/networking-feature/build.gradle.kts
index 51208e595..a67b25cb5 100644
--- a/theme-m3/networking/networking-feature/build.gradle.kts
+++ b/theme-m3/networking/networking-feature/build.gradle.kts
@@ -9,7 +9,6 @@ android {
}
dependencies {
- implementation(projects.androidData)
implementation(projects.shared)
implementation(projects.themeM3.networking.networkingUi)
implementation(projects.themeM3.navigation)
diff --git a/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/Contacts.kt b/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/Contacts.kt
index b867c04fd..3c0e4af32 100644
--- a/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/Contacts.kt
+++ b/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/Contacts.kt
@@ -23,8 +23,8 @@ import org.gdglille.devfest.android.theme.m3.networking.ui.EmptyContacts
import org.gdglille.devfest.android.theme.m3.networking.ui.UserItem
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.NetworkingUi
-import org.gdglille.devfest.models.UserNetworkingUi
+import org.gdglille.devfest.models.ui.NetworkingUi
+import org.gdglille.devfest.models.ui.UserNetworkingUi
@Composable
fun Contacts(
diff --git a/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/ContactsViewModel.kt b/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/ContactsViewModel.kt
index b3ebb6e42..360c6bbb9 100644
--- a/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/ContactsViewModel.kt
+++ b/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/ContactsViewModel.kt
@@ -9,7 +9,7 @@ import kotlinx.collections.immutable.ImmutableList
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
-import org.gdglille.devfest.models.UserNetworkingUi
+import org.gdglille.devfest.models.ui.UserNetworkingUi
import org.gdglille.devfest.repositories.UserRepository
sealed class ContactsUiState {
diff --git a/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/MyProfile.kt b/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/MyProfile.kt
index 329c5c90f..40c11a843 100644
--- a/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/MyProfile.kt
+++ b/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/MyProfile.kt
@@ -22,7 +22,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.UserProfileUi
+import org.gdglille.devfest.models.ui.UserProfileUi
@Composable
fun MyProfile(
diff --git a/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/ProfileInput.kt b/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/ProfileInput.kt
index 1f749b864..c7745e17f 100644
--- a/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/ProfileInput.kt
+++ b/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/ProfileInput.kt
@@ -20,9 +20,9 @@ import androidx.compose.ui.unit.dp
import org.gdglille.devfest.android.theme.m3.style.appbars.TopAppBar
import org.gdglille.devfest.android.theme.m3.networking.ui.ProfileInputField
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
-import org.gdglille.devfest.android.data.models.Field
+import org.gdglille.devfest.models.ui.Field
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.UserProfileUi
+import org.gdglille.devfest.models.ui.UserProfileUi
@ExperimentalMaterial3Api
@Composable
diff --git a/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/ProfileInputViewModel.kt b/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/ProfileInputViewModel.kt
index db4c3ea1b..d223feac3 100644
--- a/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/ProfileInputViewModel.kt
+++ b/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/ProfileInputViewModel.kt
@@ -8,8 +8,8 @@ import com.google.firebase.ktx.Firebase
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
-import org.gdglille.devfest.android.data.models.Field
-import org.gdglille.devfest.models.UserProfileUi
+import org.gdglille.devfest.models.ui.Field
+import org.gdglille.devfest.models.ui.UserProfileUi
import org.gdglille.devfest.repositories.UserRepository
sealed class ProfileInputUiState {
diff --git a/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/VCardQrCodeScanner.kt b/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/VCardQrCodeScanner.kt
index f2e68f175..145cfad37 100644
--- a/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/VCardQrCodeScanner.kt
+++ b/theme-m3/networking/networking-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/feature/VCardQrCodeScanner.kt
@@ -7,7 +7,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import org.gdglille.devfest.android.theme.m3.style.permissions.FeatureThatRequiresCameraPermission
-import org.gdglille.devfest.android.data.models.VCardModel
+import org.gdglille.devfest.models.ui.VCardModel
import org.gdglille.devfest.android.theme.m3.style.appbars.TopAppBar
import org.gdglille.devfest.android.theme.m3.networking.ui.VCardCameraPreview
import org.gdglille.devfest.android.theme.m3.style.R
diff --git a/theme-m3/networking/networking-ui/build.gradle.kts b/theme-m3/networking/networking-ui/build.gradle.kts
index 7a0025c08..0e1688832 100644
--- a/theme-m3/networking/networking-ui/build.gradle.kts
+++ b/theme-m3/networking/networking-ui/build.gradle.kts
@@ -9,9 +9,8 @@ android {
}
dependencies {
- api(projects.androidData)
implementation(projects.uiCamera)
- implementation(projects.shared)
+ implementation(projects.uiModels)
implementation(projects.themeM3.navigation)
implementation(projects.themeM3.style)
diff --git a/theme-m3/networking/networking-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/ui/ProfileInputField.kt b/theme-m3/networking/networking-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/ui/ProfileInputField.kt
index e4de2a613..c04d77a0e 100644
--- a/theme-m3/networking/networking-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/ui/ProfileInputField.kt
+++ b/theme-m3/networking/networking-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/ui/ProfileInputField.kt
@@ -12,7 +12,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.input.ImeAction
import androidx.compose.ui.text.input.KeyboardType
-import org.gdglille.devfest.android.data.models.Field
+import org.gdglille.devfest.models.ui.Field
@Composable
fun ProfileInputField(
diff --git a/theme-m3/networking/networking-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/ui/UserItem.kt b/theme-m3/networking/networking-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/ui/UserItem.kt
index a558df7de..c009549fc 100644
--- a/theme-m3/networking/networking-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/ui/UserItem.kt
+++ b/theme-m3/networking/networking-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/ui/UserItem.kt
@@ -32,8 +32,8 @@ import androidx.compose.ui.unit.dp
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.buttons.IconButton
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.NetworkingUi
-import org.gdglille.devfest.models.UserNetworkingUi
+import org.gdglille.devfest.models.ui.NetworkingUi
+import org.gdglille.devfest.models.ui.UserNetworkingUi
@Composable
fun UserItem(
diff --git a/theme-m3/networking/networking-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/ui/VCardCameraPreview.kt b/theme-m3/networking/networking-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/ui/VCardCameraPreview.kt
index 20a7550f0..6567e458b 100644
--- a/theme-m3/networking/networking-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/ui/VCardCameraPreview.kt
+++ b/theme-m3/networking/networking-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/networking/ui/VCardCameraPreview.kt
@@ -4,7 +4,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
-import org.gdglille.devfest.android.data.models.VCardModel
+import org.gdglille.devfest.models.ui.VCardModel
import org.gdglille.devfest.android.ui.camera.CameraPreview
@Composable
diff --git a/theme-m3/partners/partners-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/feature/PartnerDetail.kt b/theme-m3/partners/partners-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/feature/PartnerDetail.kt
index a964018ed..7c288f8e5 100644
--- a/theme-m3/partners/partners-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/feature/PartnerDetail.kt
+++ b/theme-m3/partners/partners-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/feature/PartnerDetail.kt
@@ -24,7 +24,7 @@ import org.gdglille.devfest.android.theme.m3.partners.ui.jobs.JobItem
import org.gdglille.devfest.android.theme.m3.partners.ui.partners.PartnerDetailSection
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.PartnerItemUi
+import org.gdglille.devfest.models.ui.PartnerItemUi
@ExperimentalMaterial3Api
@Composable
diff --git a/theme-m3/partners/partners-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/feature/PartnerDetailViewModel.kt b/theme-m3/partners/partners-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/feature/PartnerDetailViewModel.kt
index dc1bf02d8..62420fb98 100644
--- a/theme-m3/partners/partners-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/feature/PartnerDetailViewModel.kt
+++ b/theme-m3/partners/partners-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/feature/PartnerDetailViewModel.kt
@@ -8,7 +8,7 @@ import com.google.firebase.ktx.Firebase
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
-import org.gdglille.devfest.models.PartnerItemUi
+import org.gdglille.devfest.models.ui.PartnerItemUi
import org.gdglille.devfest.repositories.AgendaRepository
sealed class PartnerUiState {
diff --git a/theme-m3/partners/partners-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/feature/Partners.kt b/theme-m3/partners/partners-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/feature/Partners.kt
index 28d3f102d..0d669c526 100644
--- a/theme-m3/partners/partners-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/feature/Partners.kt
+++ b/theme-m3/partners/partners-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/feature/Partners.kt
@@ -11,7 +11,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import org.gdglille.devfest.android.theme.m3.partners.ui.partners.PartnerDivider
import org.gdglille.devfest.android.theme.m3.partners.ui.partners.PartnerRow
-import org.gdglille.devfest.models.PartnerGroupsUi
+import org.gdglille.devfest.models.ui.PartnerGroupsUi
@ExperimentalMaterial3Api
@Composable
diff --git a/theme-m3/partners/partners-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/feature/PartnersViewModel.kt b/theme-m3/partners/partners-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/feature/PartnersViewModel.kt
index 9cec2a17e..1488f50af 100644
--- a/theme-m3/partners/partners-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/feature/PartnersViewModel.kt
+++ b/theme-m3/partners/partners-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/feature/PartnersViewModel.kt
@@ -8,7 +8,7 @@ import com.google.firebase.ktx.Firebase
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
-import org.gdglille.devfest.models.PartnerGroupsUi
+import org.gdglille.devfest.models.ui.PartnerGroupsUi
import org.gdglille.devfest.repositories.AgendaRepository
sealed class PartnersUiState {
diff --git a/theme-m3/partners/partners-ui/build.gradle.kts b/theme-m3/partners/partners-ui/build.gradle.kts
index 62f18974e..fd43e6673 100644
--- a/theme-m3/partners/partners-ui/build.gradle.kts
+++ b/theme-m3/partners/partners-ui/build.gradle.kts
@@ -9,7 +9,7 @@ android {
}
dependencies {
- implementation(projects.shared)
+ implementation(projects.uiModels)
implementation(projects.themeM3.navigation)
implementation(projects.themeM3.style)
diff --git a/theme-m3/partners/partners-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/ui/jobs/JobItem.kt b/theme-m3/partners/partners-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/ui/jobs/JobItem.kt
index d2d28f262..ad118efb3 100644
--- a/theme-m3/partners/partners-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/ui/jobs/JobItem.kt
+++ b/theme-m3/partners/partners-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/ui/jobs/JobItem.kt
@@ -23,7 +23,7 @@ import org.gdglille.devfest.android.theme.m3.style.placeholder
import org.gdglille.devfest.android.theme.m3.style.tags.Tag
import org.gdglille.devfest.android.theme.m3.style.tags.TagDefaults
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.JobUi
+import org.gdglille.devfest.models.ui.JobUi
@OptIn(ExperimentalMaterial3Api::class)
@Composable
diff --git a/theme-m3/partners/partners-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/ui/partners/PartnerDetailSection.kt b/theme-m3/partners/partners-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/ui/partners/PartnerDetailSection.kt
index 01f45eee4..e4318d1d4 100644
--- a/theme-m3/partners/partners-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/ui/partners/PartnerDetailSection.kt
+++ b/theme-m3/partners/partners-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/ui/partners/PartnerDetailSection.kt
@@ -16,7 +16,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import org.gdglille.devfest.android.theme.m3.style.socials.SocialsSection
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
-import org.gdglille.devfest.models.PartnerItemUi
+import org.gdglille.devfest.models.ui.PartnerItemUi
@ExperimentalMaterial3Api
@Composable
diff --git a/theme-m3/partners/partners-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/ui/partners/PartnerItem.kt b/theme-m3/partners/partners-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/ui/partners/PartnerItem.kt
index fe6bbcc27..bc020e500 100644
--- a/theme-m3/partners/partners-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/ui/partners/PartnerItem.kt
+++ b/theme-m3/partners/partners-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/ui/partners/PartnerItem.kt
@@ -21,7 +21,7 @@ import coil.compose.rememberAsyncImagePainter
import coil.imageLoader
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.placeholder
-import org.gdglille.devfest.models.PartnerItemUi
+import org.gdglille.devfest.models.ui.PartnerItemUi
@ExperimentalMaterial3Api
@Composable
diff --git a/theme-m3/partners/partners-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/ui/partners/PartnerRow.kt b/theme-m3/partners/partners-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/ui/partners/PartnerRow.kt
index 3fb5ec618..e4d740e69 100644
--- a/theme-m3/partners/partners-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/ui/partners/PartnerRow.kt
+++ b/theme-m3/partners/partners-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/partners/ui/partners/PartnerRow.kt
@@ -13,8 +13,8 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import kotlinx.collections.immutable.ImmutableList
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
-import org.gdglille.devfest.models.PartnerGroupUi
-import org.gdglille.devfest.models.PartnerItemUi
+import org.gdglille.devfest.models.ui.PartnerGroupUi
+import org.gdglille.devfest.models.ui.PartnerItemUi
@ExperimentalMaterial3Api
@Composable
diff --git a/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/Agenda.kt b/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/Agenda.kt
index fe2190958..ca1ceb7c5 100644
--- a/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/Agenda.kt
+++ b/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/Agenda.kt
@@ -18,8 +18,8 @@ import org.gdglille.devfest.android.theme.m3.schedules.ui.talks.TalkItem
import org.gdglille.devfest.android.theme.m3.schedules.ui.talks.Time
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.placeholder
-import org.gdglille.devfest.models.AgendaUi
-import org.gdglille.devfest.models.TalkItemUi
+import org.gdglille.devfest.models.ui.AgendaUi
+import org.gdglille.devfest.models.ui.TalkItemUi
@OptIn(ExperimentalFoundationApi::class)
@Composable
diff --git a/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/AgendaFilters.kt b/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/AgendaFilters.kt
index 5d67c91d1..c6f03d057 100644
--- a/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/AgendaFilters.kt
+++ b/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/AgendaFilters.kt
@@ -15,9 +15,9 @@ import org.gdglille.devfest.android.theme.m3.schedules.ui.filters.FormatListFilt
import org.gdglille.devfest.android.theme.m3.style.Scaffold
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.CategoryUi
-import org.gdglille.devfest.models.FiltersUi
-import org.gdglille.devfest.models.FormatUi
+import org.gdglille.devfest.models.ui.CategoryUi
+import org.gdglille.devfest.models.ui.FiltersUi
+import org.gdglille.devfest.models.ui.FormatUi
@Composable
fun AgendaFilters(
diff --git a/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/AgendaFiltersViewModel.kt b/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/AgendaFiltersViewModel.kt
index 4c6add1dd..c11d16e4c 100644
--- a/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/AgendaFiltersViewModel.kt
+++ b/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/AgendaFiltersViewModel.kt
@@ -8,9 +8,9 @@ import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.stateIn
import kotlinx.coroutines.launch
-import org.gdglille.devfest.models.CategoryUi
-import org.gdglille.devfest.models.FiltersUi
-import org.gdglille.devfest.models.FormatUi
+import org.gdglille.devfest.models.ui.CategoryUi
+import org.gdglille.devfest.models.ui.FiltersUi
+import org.gdglille.devfest.models.ui.FormatUi
import org.gdglille.devfest.repositories.AgendaRepository
sealed class AgendaFiltersUiState {
diff --git a/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/AgendaViewModel.kt b/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/AgendaViewModel.kt
index c20120895..9f4de9422 100644
--- a/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/AgendaViewModel.kt
+++ b/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/AgendaViewModel.kt
@@ -17,8 +17,8 @@ import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.launch
import org.gdglille.devfest.AlarmScheduler
-import org.gdglille.devfest.models.AgendaUi
-import org.gdglille.devfest.models.TalkItemUi
+import org.gdglille.devfest.models.ui.AgendaUi
+import org.gdglille.devfest.models.ui.TalkItemUi
import org.gdglille.devfest.repositories.AgendaRepository
sealed class AgendaUiState {
diff --git a/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/ScheduleDetail.kt b/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/ScheduleDetail.kt
index 56816aa3d..6009e875a 100644
--- a/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/ScheduleDetail.kt
+++ b/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/ScheduleDetail.kt
@@ -26,7 +26,7 @@ import org.gdglille.devfest.android.theme.m3.schedules.ui.schedule.TalkSection
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.R
import org.gdglille.devfest.android.theme.m3.style.actions.TopActionsUi
-import org.gdglille.devfest.models.TalkUi
+import org.gdglille.devfest.models.ui.TalkUi
@ExperimentalMaterial3Api
@Composable
diff --git a/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/ScheduleDetailViewModel.kt b/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/ScheduleDetailViewModel.kt
index e3ccf5e45..865cac29b 100644
--- a/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/ScheduleDetailViewModel.kt
+++ b/theme-m3/schedules/schedules-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/feature/ScheduleDetailViewModel.kt
@@ -8,7 +8,7 @@ import com.google.firebase.ktx.Firebase
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
-import org.gdglille.devfest.models.TalkUi
+import org.gdglille.devfest.models.ui.TalkUi
import org.gdglille.devfest.repositories.AgendaRepository
sealed class ScheduleUiState {
diff --git a/theme-m3/schedules/schedules-ui/build.gradle.kts b/theme-m3/schedules/schedules-ui/build.gradle.kts
index bc88d7e35..6b7957718 100644
--- a/theme-m3/schedules/schedules-ui/build.gradle.kts
+++ b/theme-m3/schedules/schedules-ui/build.gradle.kts
@@ -9,7 +9,7 @@ android {
}
dependencies {
- implementation(projects.shared)
+ implementation(projects.uiModels)
implementation(projects.themeM3.speakers.speakersUi)
implementation(projects.themeM3.navigation)
implementation(projects.themeM3.style)
diff --git a/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/filters/CategoryListFilters.kt b/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/filters/CategoryListFilters.kt
index e9c737cc4..66173dc78 100644
--- a/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/filters/CategoryListFilters.kt
+++ b/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/filters/CategoryListFilters.kt
@@ -14,7 +14,7 @@ import org.gdglille.devfest.android.theme.m3.style.chips.FilterChip
import org.gdglille.devfest.android.theme.m3.schedules.ui.tags.iconVector
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.CategoryUi
+import org.gdglille.devfest.models.ui.CategoryUi
@OptIn(ExperimentalLayoutApi::class)
@Composable
diff --git a/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/filters/FormatListFilters.kt b/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/filters/FormatListFilters.kt
index bacd326bc..68abfb13b 100644
--- a/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/filters/FormatListFilters.kt
+++ b/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/filters/FormatListFilters.kt
@@ -17,7 +17,7 @@ import org.gdglille.devfest.android.theme.m3.style.chips.FilterChip
import org.gdglille.devfest.android.theme.m3.schedules.ui.talks.ShortTalk
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.FormatUi
+import org.gdglille.devfest.models.ui.FormatUi
@OptIn(ExperimentalLayoutApi::class)
@Composable
diff --git a/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/schedule/TalkSection.kt b/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/schedule/TalkSection.kt
index dc9041c53..24bda525a 100644
--- a/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/schedule/TalkSection.kt
+++ b/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/schedule/TalkSection.kt
@@ -32,7 +32,7 @@ import org.gdglille.devfest.android.theme.m3.style.tags.Tag
import org.gdglille.devfest.android.theme.m3.style.tags.TagDefaults
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.TalkUi
+import org.gdglille.devfest.models.ui.TalkUi
@Composable
fun TalkSection(
diff --git a/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/speakers/HorizontalSpeakersList.kt b/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/speakers/HorizontalSpeakersList.kt
index 3e2ac7bc8..3ed2f0273 100644
--- a/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/speakers/HorizontalSpeakersList.kt
+++ b/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/speakers/HorizontalSpeakersList.kt
@@ -17,7 +17,7 @@ import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.toImmutableList
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.TalkItemUi
+import org.gdglille.devfest.models.ui.TalkItemUi
private const val MaxSpeakersCount = 3
private const val SpacingRatio = 5
diff --git a/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/speakers/SpeakerSection.kt b/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/speakers/SpeakerSection.kt
index 9da366d75..242752899 100644
--- a/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/speakers/SpeakerSection.kt
+++ b/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/speakers/SpeakerSection.kt
@@ -17,7 +17,7 @@ import kotlinx.collections.immutable.toImmutableList
import org.gdglille.devfest.android.theme.m3.speakers.ui.SpeakerItemRow
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.SpeakerItemUi
+import org.gdglille.devfest.models.ui.SpeakerItemUi
@Composable
fun SpeakerSection(
diff --git a/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/speakers/SpeakersAvatar.kt b/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/speakers/SpeakersAvatar.kt
index 5ee2c5c8e..648813f7f 100644
--- a/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/speakers/SpeakersAvatar.kt
+++ b/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/speakers/SpeakersAvatar.kt
@@ -15,7 +15,7 @@ import androidx.compose.ui.unit.dp
import kotlinx.collections.immutable.ImmutableList
import org.gdglille.devfest.android.theme.m3.speakers.ui.SpeakerAvatarBordered
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
-import org.gdglille.devfest.models.TalkItemUi
+import org.gdglille.devfest.models.ui.TalkItemUi
@Composable
fun SpeakersAvatar(
diff --git a/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/tags/DecorativeTag.kt b/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/tags/DecorativeTag.kt
index 407e4cc98..8cbc2d34d 100644
--- a/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/tags/DecorativeTag.kt
+++ b/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/tags/DecorativeTag.kt
@@ -16,7 +16,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector
import org.gdglille.devfest.android.theme.m3.style.tags.Tag
import org.gdglille.devfest.android.theme.m3.style.tags.TagDefaults
-import org.gdglille.devfest.models.CategoryUi
+import org.gdglille.devfest.models.ui.CategoryUi
@Composable
fun DecorativeTag(
diff --git a/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/talks/TalkItem.kt b/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/talks/TalkItem.kt
index 3d1b0610a..309264b6b 100644
--- a/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/talks/TalkItem.kt
+++ b/theme-m3/schedules/schedules-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/schedules/ui/talks/TalkItem.kt
@@ -39,7 +39,7 @@ import org.gdglille.devfest.android.theme.m3.style.tags.Tag
import org.gdglille.devfest.android.theme.m3.style.tags.TagDefaults
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.TalkItemUi
+import org.gdglille.devfest.models.ui.TalkItemUi
const val ShortTalk = 30
diff --git a/theme-m3/speakers/speakers-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/feature/SpeakerDetail.kt b/theme-m3/speakers/speakers-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/feature/SpeakerDetail.kt
index 256bdce61..5a383c1ad 100644
--- a/theme-m3/speakers/speakers-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/feature/SpeakerDetail.kt
+++ b/theme-m3/speakers/speakers-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/feature/SpeakerDetail.kt
@@ -19,8 +19,8 @@ import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.appbars.TopAppBar
import org.gdglille.devfest.android.theme.m3.style.placeholder
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.SpeakerUi
-import org.gdglille.devfest.models.TalkItemUi
+import org.gdglille.devfest.models.ui.SpeakerUi
+import org.gdglille.devfest.models.ui.TalkItemUi
@ExperimentalMaterial3Api
@SuppressLint("UnusedMaterial3ScaffoldPaddingParameter")
diff --git a/theme-m3/speakers/speakers-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/feature/SpeakerDetailViewModel.kt b/theme-m3/speakers/speakers-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/feature/SpeakerDetailViewModel.kt
index 3414365b4..845eff816 100644
--- a/theme-m3/speakers/speakers-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/feature/SpeakerDetailViewModel.kt
+++ b/theme-m3/speakers/speakers-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/feature/SpeakerDetailViewModel.kt
@@ -11,8 +11,8 @@ import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
import org.gdglille.devfest.AlarmScheduler
-import org.gdglille.devfest.models.SpeakerUi
-import org.gdglille.devfest.models.TalkItemUi
+import org.gdglille.devfest.models.ui.SpeakerUi
+import org.gdglille.devfest.models.ui.TalkItemUi
import org.gdglille.devfest.repositories.AgendaRepository
sealed class SpeakerUiState {
diff --git a/theme-m3/speakers/speakers-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/feature/SpeakersList.kt b/theme-m3/speakers/speakers-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/feature/SpeakersList.kt
index 2d0bcfbfc..1f81212e6 100644
--- a/theme-m3/speakers/speakers-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/feature/SpeakersList.kt
+++ b/theme-m3/speakers/speakers-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/feature/SpeakersList.kt
@@ -12,7 +12,7 @@ import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
import org.gdglille.devfest.android.theme.m3.speakers.ui.SpeakerItemRow
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
-import org.gdglille.devfest.models.SpeakerItemUi
+import org.gdglille.devfest.models.ui.SpeakerItemUi
@Composable
fun SpeakersList(
diff --git a/theme-m3/speakers/speakers-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/feature/SpeakersListViewModel.kt b/theme-m3/speakers/speakers-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/feature/SpeakersListViewModel.kt
index 975619a6a..faf1db810 100644
--- a/theme-m3/speakers/speakers-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/feature/SpeakersListViewModel.kt
+++ b/theme-m3/speakers/speakers-feature/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/feature/SpeakersListViewModel.kt
@@ -11,7 +11,7 @@ import kotlinx.collections.immutable.toImmutableList
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
-import org.gdglille.devfest.models.SpeakerItemUi
+import org.gdglille.devfest.models.ui.SpeakerItemUi
import org.gdglille.devfest.repositories.SpeakerRepository
sealed class SpeakersUiState {
diff --git a/theme-m3/speakers/speakers-ui/build.gradle.kts b/theme-m3/speakers/speakers-ui/build.gradle.kts
index 73b82533d..fb1dc7ecd 100644
--- a/theme-m3/speakers/speakers-ui/build.gradle.kts
+++ b/theme-m3/speakers/speakers-ui/build.gradle.kts
@@ -9,7 +9,7 @@ android {
}
dependencies {
- implementation(projects.shared)
+ implementation(projects.uiModels)
implementation(projects.themeM3.style)
implementation(platform(libs.androidx.compose.bom))
diff --git a/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerAvatar.kt b/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerAvatar.kt
index 2a15da228..96559fb17 100644
--- a/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerAvatar.kt
+++ b/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerAvatar.kt
@@ -19,7 +19,7 @@ import androidx.compose.ui.unit.dp
import coil.compose.rememberAsyncImagePainter
import coil.imageLoader
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
-import org.gdglille.devfest.models.SpeakerUi
+import org.gdglille.devfest.models.ui.SpeakerUi
@Composable
fun SpeakerAvatar(
diff --git a/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerDetailSection.kt b/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerDetailSection.kt
index 9ed0305f2..1211705c0 100644
--- a/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerDetailSection.kt
+++ b/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerDetailSection.kt
@@ -15,7 +15,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.placeholder
-import org.gdglille.devfest.models.SpeakerUi
+import org.gdglille.devfest.models.ui.SpeakerUi
@Composable
fun SpeakerDetailSection(
diff --git a/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerItem.kt b/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerItem.kt
index 983fb8d9a..cea102d4a 100644
--- a/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerItem.kt
+++ b/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerItem.kt
@@ -20,7 +20,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.placeholder
-import org.gdglille.devfest.models.SpeakerItemUi
+import org.gdglille.devfest.models.ui.SpeakerItemUi
@OptIn(ExperimentalMaterial3Api::class)
@Composable
diff --git a/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerRow.kt b/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerRow.kt
index df2bab3cd..3f6df7fa4 100644
--- a/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerRow.kt
+++ b/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerRow.kt
@@ -12,7 +12,7 @@ import androidx.compose.ui.unit.dp
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
-import org.gdglille.devfest.models.SpeakerItemUi
+import org.gdglille.devfest.models.ui.SpeakerItemUi
@Composable
fun SpeakerItemRow(
diff --git a/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerSocialSection.kt b/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerSocialSection.kt
index 849d4f457..c4b570b1f 100644
--- a/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerSocialSection.kt
+++ b/theme-m3/speakers/speakers-ui/src/main/kotlin/org/gdglille/devfest/android/theme/m3/speakers/ui/SpeakerSocialSection.kt
@@ -7,7 +7,7 @@ import androidx.compose.ui.tooling.preview.Preview
import org.gdglille.devfest.android.theme.m3.style.Conferences4HallTheme
import org.gdglille.devfest.android.theme.m3.style.socials.SocialsSection
import org.gdglille.devfest.android.theme.m3.style.R
-import org.gdglille.devfest.models.SpeakerUi
+import org.gdglille.devfest.models.ui.SpeakerUi
@Composable
fun SpeakerSocialSection(
diff --git a/ui-camera/build.gradle.kts b/ui-camera/build.gradle.kts
index 1aba129b1..61b8068da 100644
--- a/ui-camera/build.gradle.kts
+++ b/ui-camera/build.gradle.kts
@@ -9,8 +9,6 @@ android {
}
dependencies {
- implementation(projects.androidData)
-
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.compose.ui)
implementation(libs.androidx.compose.foundation.layout)
diff --git a/ui-models/build.gradle.kts b/ui-models/build.gradle.kts
new file mode 100644
index 000000000..a38dd9f8d
--- /dev/null
+++ b/ui-models/build.gradle.kts
@@ -0,0 +1,48 @@
+import org.gradle.internal.os.OperatingSystem
+
+plugins {
+ id("conferences4hall.multiplatform.library")
+ id("conferences4hall.quality")
+ id("kotlin-parcelize")
+ id("kotlinx-serialization")
+}
+
+android {
+ namespace = "org.gdglille.devfest.models.ui"
+}
+
+kotlin {
+ androidTarget()
+
+ if (OperatingSystem.current().isMacOsX) {
+ listOf(
+ iosX64(),
+ iosArm64(),
+ iosSimulatorArm64()
+ ).forEach {
+ it.binaries.framework {
+ baseName = "uimodels"
+ }
+ }
+ }
+
+ sourceSets {
+ val commonMain by getting {
+ dependencies {
+ implementation(libs.kotlinx.collections)
+ }
+ }
+ val androidMain by getting
+ if (OperatingSystem.current().isMacOsX) {
+ val iosX64Main by getting
+ val iosArm64Main by getting
+ val iosSimulatorArm64Main by getting
+ val iosMain by creating {
+ dependsOn(commonMain)
+ iosX64Main.dependsOn(this)
+ iosArm64Main.dependsOn(this)
+ iosSimulatorArm64Main.dependsOn(this)
+ }
+ }
+ }
+}
diff --git a/ui-models/src/androidMain/kotlin/org/gdglille/devfest/models/ui/Image.kt b/ui-models/src/androidMain/kotlin/org/gdglille/devfest/models/ui/Image.kt
new file mode 100644
index 000000000..669cbd89e
--- /dev/null
+++ b/ui-models/src/androidMain/kotlin/org/gdglille/devfest/models/ui/Image.kt
@@ -0,0 +1,5 @@
+package org.gdglille.devfest.models.ui
+
+import android.graphics.Bitmap
+
+actual typealias Image = Bitmap
diff --git a/android-data/src/main/java/org/gdglille/devfest/android/data/models/VCardModel.kt b/ui-models/src/androidMain/kotlin/org/gdglille/devfest/models/ui/VCardModel.kt
similarity index 79%
rename from android-data/src/main/java/org/gdglille/devfest/android/data/models/VCardModel.kt
rename to ui-models/src/androidMain/kotlin/org/gdglille/devfest/models/ui/VCardModel.kt
index 0ccf75fef..48dc18d6c 100644
--- a/android-data/src/main/java/org/gdglille/devfest/android/data/models/VCardModel.kt
+++ b/ui-models/src/androidMain/kotlin/org/gdglille/devfest/models/ui/VCardModel.kt
@@ -1,8 +1,7 @@
-package org.gdglille.devfest.android.data.models
+package org.gdglille.devfest.models.ui
import android.os.Parcelable
import kotlinx.parcelize.Parcelize
-import org.gdglille.devfest.models.UserNetworkingUi
@Parcelize
data class VCardModel(
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/AgendaUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/AgendaUi.kt
similarity index 95%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/AgendaUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/AgendaUi.kt
index d0f892869..22053c4e5 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/AgendaUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/AgendaUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.ImmutableMap
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/CategoryUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/CategoryUi.kt
similarity index 85%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/CategoryUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/CategoryUi.kt
index a71a78f63..7164b9695 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/CategoryUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/CategoryUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
data class CategoryUi(
val id: String,
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/CoCUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/CoCUi.kt
similarity index 87%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/CoCUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/CoCUi.kt
index 302a1fd1c..d15f41ea6 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/CoCUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/CoCUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
data class CoCUi(
val text: String,
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/EventInfoUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/EventInfoUi.kt
similarity index 96%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/EventInfoUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/EventInfoUi.kt
index 423502c6d..9b7b8349c 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/EventInfoUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/EventInfoUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/EventItemListUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/EventItemListUi.kt
similarity index 91%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/EventItemListUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/EventItemListUi.kt
index c017be7a1..21f0b10dc 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/EventItemListUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/EventItemListUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/EventItemUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/EventItemUi.kt
similarity index 87%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/EventItemUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/EventItemUi.kt
index 0d2f37352..ed3a69260 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/EventItemUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/EventItemUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
data class EventItemUi(
val id: String,
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/EventUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/EventUi.kt
similarity index 85%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/EventUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/EventUi.kt
index 1491692b2..840e83c51 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/EventUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/EventUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
data class EventUi(
val eventInfo: EventInfoUi,
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/ExportNetworkingUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/ExportNetworkingUi.kt
similarity index 68%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/ExportNetworkingUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/ExportNetworkingUi.kt
index 5ef8b8ea0..9de456626 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/ExportNetworkingUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/ExportNetworkingUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
data class ExportNetworkingUi(
val mailto: String?,
diff --git a/android-data/src/main/java/org/gdglille/devfest/android/data/models/Field.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/Field.kt
similarity index 55%
rename from android-data/src/main/java/org/gdglille/devfest/android/data/models/Field.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/Field.kt
index 33e979f10..14cf25e4e 100644
--- a/android-data/src/main/java/org/gdglille/devfest/android/data/models/Field.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/Field.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.android.data.models
+package org.gdglille.devfest.models.ui
enum class Field {
Email, FirstName, LastName, Company
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/FiltersUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/FiltersUi.kt
similarity index 93%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/FiltersUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/FiltersUi.kt
index eee6b5a00..a4fe16ff7 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/FiltersUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/FiltersUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
import kotlinx.collections.immutable.ImmutableMap
import kotlinx.collections.immutable.persistentMapOf
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/FormatUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/FormatUi.kt
similarity index 87%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/FormatUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/FormatUi.kt
index 0d74e62b4..b949bd2c8 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/FormatUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/FormatUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
data class FormatUi(
val id: String,
diff --git a/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/Image.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/Image.kt
new file mode 100644
index 000000000..5efe1ef2f
--- /dev/null
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/Image.kt
@@ -0,0 +1,3 @@
+package org.gdglille.devfest.models.ui
+
+expect class Image
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/JobUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/JobUi.kt
similarity index 95%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/JobUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/JobUi.kt
index b1e32d3e0..b55e3908a 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/JobUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/JobUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
data class SalaryUi(
val min: Int,
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/MenuItemUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/MenuItemUi.kt
similarity index 91%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/MenuItemUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/MenuItemUi.kt
index 0d53ddb23..f1b18178d 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/MenuItemUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/MenuItemUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
data class MenuItemUi(
val name: String,
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/NetworkingUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/NetworkingUi.kt
similarity index 97%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/NetworkingUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/NetworkingUi.kt
index fd678be9a..cf95efc1c 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/NetworkingUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/NetworkingUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/PartnerGroupUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/PartnerGroupUi.kt
similarity index 93%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/PartnerGroupUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/PartnerGroupUi.kt
index 20be31a2c..ef8093350 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/PartnerGroupUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/PartnerGroupUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/PartnerGroupsUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/PartnerGroupsUi.kt
similarity index 97%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/PartnerGroupsUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/PartnerGroupsUi.kt
index e4c641769..29b5ba215 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/PartnerGroupsUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/PartnerGroupsUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/PartnerItemUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/PartnerItemUi.kt
similarity index 97%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/PartnerItemUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/PartnerItemUi.kt
index 5a1158e64..f77b8b62d 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/PartnerItemUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/PartnerItemUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/QuestionAndResponseUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/QuestionAndResponseUi.kt
similarity index 96%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/QuestionAndResponseUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/QuestionAndResponseUi.kt
index 4866924b6..e13908530 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/QuestionAndResponseUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/QuestionAndResponseUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/ScaffoldConfigUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/ScaffoldConfigUi.kt
similarity index 93%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/ScaffoldConfigUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/ScaffoldConfigUi.kt
index 250faabdf..6b806ae6f 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/ScaffoldConfigUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/ScaffoldConfigUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/SpeakerItemUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/SpeakerItemUi.kt
similarity index 92%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/SpeakerItemUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/SpeakerItemUi.kt
index 0925b9f61..b73ac84be 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/SpeakerItemUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/SpeakerItemUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
data class SpeakerItemUi(
val id: String,
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/SpeakerUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/SpeakerUi.kt
similarity index 97%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/SpeakerUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/SpeakerUi.kt
index a7265ffd9..c8146e7f5 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/SpeakerUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/SpeakerUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/TalkItemUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/TalkItemUi.kt
similarity index 98%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/TalkItemUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/TalkItemUi.kt
index c7419a1d4..60af771be 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/TalkItemUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/TalkItemUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/TalkUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/TalkUi.kt
similarity index 84%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/TalkUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/TalkUi.kt
index 7a1773b57..55cdffd5b 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/TalkUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/TalkUi.kt
@@ -1,9 +1,7 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
-import kotlinx.datetime.toLocalDateTime
-import org.gdglille.devfest.extensions.formatHoursMinutes
data class TalkUi(
val title: String,
@@ -24,8 +22,8 @@ data class TalkUi(
companion object {
val fake = TalkUi(
title = "L’intelligence artificielle au secours de l’accessibilité ",
- startTime = "2022-06-10T10:00:00.000".toLocalDateTime().formatHoursMinutes(),
- endTime = "2022-06-10T11:00:00.000".toLocalDateTime().formatHoursMinutes(),
+ startTime = "10:00",
+ endTime = "11:00",
timeInMinutes = 60,
room = "Stage 1",
level = "Beginner",
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/TicketUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/TicketUi.kt
similarity index 90%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/TicketUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/TicketUi.kt
index 00358c35d..5e93d97ed 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/TicketUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/TicketUi.kt
@@ -1,6 +1,4 @@
-package org.gdglille.devfest.models
-
-import org.gdglille.devfest.Image
+package org.gdglille.devfest.models.ui
data class TicketInfoUi(
val id: String,
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/UserNetworkingUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/UserNetworkingUi.kt
similarity index 77%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/UserNetworkingUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/UserNetworkingUi.kt
index 137746e66..c943b9113 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/UserNetworkingUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/UserNetworkingUi.kt
@@ -1,4 +1,4 @@
-package org.gdglille.devfest.models
+package org.gdglille.devfest.models.ui
data class UserNetworkingUi(
val email: String,
diff --git a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/UserProfileUi.kt b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/UserProfileUi.kt
similarity index 85%
rename from shared/src/commonMain/kotlin/org/gdglille/devfest/models/UserProfileUi.kt
rename to ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/UserProfileUi.kt
index 357de99cc..ca076cc2c 100644
--- a/shared/src/commonMain/kotlin/org/gdglille/devfest/models/UserProfileUi.kt
+++ b/ui-models/src/commonMain/kotlin/org/gdglille/devfest/models/ui/UserProfileUi.kt
@@ -1,6 +1,4 @@
-package org.gdglille.devfest.models
-
-import org.gdglille.devfest.Image
+package org.gdglille.devfest.models.ui
data class UserProfileUi(
val email: String,
diff --git a/ui-models/src/iosMain/kotlin/org/gdglille/devfest/models/ui/Image.kt b/ui-models/src/iosMain/kotlin/org/gdglille/devfest/models/ui/Image.kt
new file mode 100644
index 000000000..b9c31c1af
--- /dev/null
+++ b/ui-models/src/iosMain/kotlin/org/gdglille/devfest/models/ui/Image.kt
@@ -0,0 +1,5 @@
+package org.gdglille.devfest.models.ui
+
+import platform.UIKit.UIImage
+
+actual typealias Image = UIImage