diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 05936c5..f971694 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -20,7 +20,7 @@ android {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
- "proguard-rules.pro"
+ "proguard-rules.pro",
)
}
}
diff --git a/app/config/detekt/detekt.yml b/app/config/detekt/detekt.yml
index aba4110..ab95a32 100644
--- a/app/config/detekt/detekt.yml
+++ b/app/config/detekt/detekt.yml
@@ -8,18 +8,18 @@ naming:
complexity:
LongParameterList:
- ignoreAnnotated: ['Composable']
+ ignoreAnnotated: [ 'Composable' ]
TooManyFunctions:
- ignoreAnnotatedFunctions: ['Preview']
+ ignoreAnnotatedFunctions: [ 'Preview' ]
style:
MagicNumber:
ignorePropertyDeclaration: true
ignoreCompanionObjectPropertyDeclaration: true
- ignoreAnnotated: ['Composable']
+ ignoreAnnotated: [ 'Composable' ]
UnusedPrivateMember:
- ignoreAnnotated: ['Composable']
+ ignoreAnnotated: [ 'Composable' ]
# Deviations from defaults
formatting:
diff --git a/app/src/androidTest/java/dev/adriankuta/kahootquiz/ExampleInstrumentedTest.kt b/app/src/androidTest/java/dev/adriankuta/kahootquiz/ExampleInstrumentedTest.kt
index 592357b..c4a659f 100644
--- a/app/src/androidTest/java/dev/adriankuta/kahootquiz/ExampleInstrumentedTest.kt
+++ b/app/src/androidTest/java/dev/adriankuta/kahootquiz/ExampleInstrumentedTest.kt
@@ -1,13 +1,11 @@
package dev.adriankuta.kahootquiz
-import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
-
+import androidx.test.platform.app.InstrumentationRegistry
+import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
-import org.junit.Assert.*
-
/**
* Instrumented test, which will execute on an Android device.
*
diff --git a/app/src/main/java/dev/adriankuta/kahootquiz/KahootQuizApp.kt b/app/src/main/java/dev/adriankuta/kahootquiz/KahootQuizApp.kt
index 9d9c7c9..ba0d955 100644
--- a/app/src/main/java/dev/adriankuta/kahootquiz/KahootQuizApp.kt
+++ b/app/src/main/java/dev/adriankuta/kahootquiz/KahootQuizApp.kt
@@ -9,7 +9,7 @@ import androidx.compose.ui.Modifier
@Composable
fun KahootQuizApp(
- modifier: Modifier = Modifier
+ modifier: Modifier = Modifier,
) {
Scaffold(
contentWindowInsets = WindowInsets.safeDrawing,
diff --git a/app/src/main/java/dev/adriankuta/kahootquiz/KahootQuizNavGraph.kt b/app/src/main/java/dev/adriankuta/kahootquiz/KahootQuizNavGraph.kt
index 014dcec..c12ca76 100644
--- a/app/src/main/java/dev/adriankuta/kahootquiz/KahootQuizNavGraph.kt
+++ b/app/src/main/java/dev/adriankuta/kahootquiz/KahootQuizNavGraph.kt
@@ -16,7 +16,7 @@ fun KahootQuizNavGraph(
NavHost(
navController = navController,
startDestination = QuizRoute,
- modifier = modifier
+ modifier = modifier,
) {
quizScreen()
}
diff --git a/app/src/main/java/dev/adriankuta/kahootquiz/MyApplication.kt b/app/src/main/java/dev/adriankuta/kahootquiz/MyApplication.kt
index b856884..8c7d879 100644
--- a/app/src/main/java/dev/adriankuta/kahootquiz/MyApplication.kt
+++ b/app/src/main/java/dev/adriankuta/kahootquiz/MyApplication.kt
@@ -4,4 +4,4 @@ import android.app.Application
import dagger.hilt.android.HiltAndroidApp
@HiltAndroidApp
-class MyApplication: Application()
+class MyApplication : Application()
diff --git a/app/src/test/java/dev/adriankuta/kahootquiz/ExampleUnitTest.kt b/app/src/test/java/dev/adriankuta/kahootquiz/ExampleUnitTest.kt
index e568ce3..f5acc3d 100644
--- a/app/src/test/java/dev/adriankuta/kahootquiz/ExampleUnitTest.kt
+++ b/app/src/test/java/dev/adriankuta/kahootquiz/ExampleUnitTest.kt
@@ -1,9 +1,8 @@
package dev.adriankuta.kahootquiz
+import org.junit.Assert.assertEquals
import org.junit.Test
-import org.junit.Assert.*
-
/**
* Example local unit test, which will execute on the development machine (host).
*
diff --git a/core/designsystem/config/detekt/detekt.yml b/core/designsystem/config/detekt/detekt.yml
index aba4110..ab95a32 100644
--- a/core/designsystem/config/detekt/detekt.yml
+++ b/core/designsystem/config/detekt/detekt.yml
@@ -8,18 +8,18 @@ naming:
complexity:
LongParameterList:
- ignoreAnnotated: ['Composable']
+ ignoreAnnotated: [ 'Composable' ]
TooManyFunctions:
- ignoreAnnotatedFunctions: ['Preview']
+ ignoreAnnotatedFunctions: [ 'Preview' ]
style:
MagicNumber:
ignorePropertyDeclaration: true
ignoreCompanionObjectPropertyDeclaration: true
- ignoreAnnotated: ['Composable']
+ ignoreAnnotated: [ 'Composable' ]
UnusedPrivateMember:
- ignoreAnnotated: ['Composable']
+ ignoreAnnotated: [ 'Composable' ]
# Deviations from defaults
formatting:
diff --git a/core/designsystem/src/main/kotlin/dev/adriankuta/kahootquiz/core/designsystem/Theme.kt b/core/designsystem/src/main/kotlin/dev/adriankuta/kahootquiz/core/designsystem/Theme.kt
index 6294060..1091dd6 100644
--- a/core/designsystem/src/main/kotlin/dev/adriankuta/kahootquiz/core/designsystem/Theme.kt
+++ b/core/designsystem/src/main/kotlin/dev/adriankuta/kahootquiz/core/designsystem/Theme.kt
@@ -13,13 +13,13 @@ import androidx.compose.ui.platform.LocalContext
private val DarkColorScheme = darkColorScheme(
primary = Purple80,
secondary = PurpleGrey80,
- tertiary = Pink80
+ tertiary = Pink80,
)
private val LightColorScheme = lightColorScheme(
primary = Purple40,
secondary = PurpleGrey40,
- tertiary = Pink40
+ tertiary = Pink40,
/* Other default colors to override
background = Color(0xFFFFFBFE),
@@ -37,7 +37,7 @@ fun KahootQuizTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
// Dynamic color is available on Android 12+
dynamicColor: Boolean = true,
- content: @Composable () -> Unit
+ content: @Composable () -> Unit,
) {
val colorScheme = when {
dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
@@ -52,6 +52,6 @@ fun KahootQuizTheme(
MaterialTheme(
colorScheme = colorScheme,
typography = Typography,
- content = content
+ content = content,
)
}
\ No newline at end of file
diff --git a/core/designsystem/src/main/kotlin/dev/adriankuta/kahootquiz/core/designsystem/Type.kt b/core/designsystem/src/main/kotlin/dev/adriankuta/kahootquiz/core/designsystem/Type.kt
index 7c11c64..a7a982d 100644
--- a/core/designsystem/src/main/kotlin/dev/adriankuta/kahootquiz/core/designsystem/Type.kt
+++ b/core/designsystem/src/main/kotlin/dev/adriankuta/kahootquiz/core/designsystem/Type.kt
@@ -13,8 +13,8 @@ val Typography = Typography(
fontWeight = FontWeight.Normal,
fontSize = 16.sp,
lineHeight = 24.sp,
- letterSpacing = 0.5.sp
- )
+ letterSpacing = 0.5.sp,
+ ),
/* Other default text styles to override
titleLarge = TextStyle(
fontFamily = FontFamily.Default,
diff --git a/core/designsystem/src/main/res/drawable/ic_circle.xml b/core/designsystem/src/main/res/drawable/ic_circle.xml
index 8790a7f..8257b6e 100644
--- a/core/designsystem/src/main/res/drawable/ic_circle.xml
+++ b/core/designsystem/src/main/res/drawable/ic_circle.xml
@@ -3,13 +3,13 @@
android:height="40dp"
android:viewportWidth="40"
android:viewportHeight="40">
-
-
+
+
diff --git a/core/designsystem/src/main/res/drawable/ic_correct.xml b/core/designsystem/src/main/res/drawable/ic_correct.xml
index 8eb3548..9d4082f 100644
--- a/core/designsystem/src/main/res/drawable/ic_correct.xml
+++ b/core/designsystem/src/main/res/drawable/ic_correct.xml
@@ -3,22 +3,21 @@
android:height="40dp"
android:viewportWidth="40"
android:viewportHeight="40">
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/core/designsystem/src/main/res/drawable/ic_diamond.xml b/core/designsystem/src/main/res/drawable/ic_diamond.xml
index 114eca9..49cb44c 100644
--- a/core/designsystem/src/main/res/drawable/ic_diamond.xml
+++ b/core/designsystem/src/main/res/drawable/ic_diamond.xml
@@ -3,13 +3,13 @@
android:height="40dp"
android:viewportWidth="40"
android:viewportHeight="40">
-
-
+
+
diff --git a/core/designsystem/src/main/res/drawable/ic_square.xml b/core/designsystem/src/main/res/drawable/ic_square.xml
index 8bd8e54..3db8b0e 100644
--- a/core/designsystem/src/main/res/drawable/ic_square.xml
+++ b/core/designsystem/src/main/res/drawable/ic_square.xml
@@ -3,13 +3,13 @@
android:height="41dp"
android:viewportWidth="40"
android:viewportHeight="41">
-
-
+
+
diff --git a/core/designsystem/src/main/res/drawable/ic_triangle.xml b/core/designsystem/src/main/res/drawable/ic_triangle.xml
index cd19e6f..8e8a997 100644
--- a/core/designsystem/src/main/res/drawable/ic_triangle.xml
+++ b/core/designsystem/src/main/res/drawable/ic_triangle.xml
@@ -3,13 +3,13 @@
android:height="40dp"
android:viewportWidth="40"
android:viewportHeight="40">
-
-
+
+
diff --git a/core/designsystem/src/main/res/drawable/ic_type.xml b/core/designsystem/src/main/res/drawable/ic_type.xml
index 0f3c58e..e14d2c0 100644
--- a/core/designsystem/src/main/res/drawable/ic_type.xml
+++ b/core/designsystem/src/main/res/drawable/ic_type.xml
@@ -3,48 +3,48 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/core/designsystem/src/main/res/drawable/ic_wrong.xml b/core/designsystem/src/main/res/drawable/ic_wrong.xml
index 91359ed..6bbe0df 100644
--- a/core/designsystem/src/main/res/drawable/ic_wrong.xml
+++ b/core/designsystem/src/main/res/drawable/ic_wrong.xml
@@ -3,33 +3,32 @@
android:height="40dp"
android:viewportWidth="40"
android:viewportHeight="40">
-
-
-
-
-
-
-
-
+ android:fillColor="#FF3355"
+ android:pathData="M20,20m-16,0a16,16 0,1 1,32 0a16,16 0,1 1,-32 0" />
+
+
+
+
+
+
+
+
diff --git a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/CommonDtos.kt b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/CommonDtos.kt
index d9b6c94..d1d76cf 100644
--- a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/CommonDtos.kt
+++ b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/CommonDtos.kt
@@ -5,7 +5,7 @@ package dev.adriankuta.kahootquiz.core.network.models
data class LanguageInfoDto(
val language: String?,
val lastUpdatedOn: Long?,
- val readAloudSupported: Boolean?
+ val readAloudSupported: Boolean?,
)
// Minimal channel info
@@ -16,5 +16,5 @@ data class ChannelDto(val id: String?)
data class PointDto(
val x: Int?,
- val y: Int?
+ val y: Int?,
)
diff --git a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/ContentTagsDto.kt b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/ContentTagsDto.kt
index 39d93b2..1befc54 100644
--- a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/ContentTagsDto.kt
+++ b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/ContentTagsDto.kt
@@ -4,5 +4,5 @@ package dev.adriankuta.kahootquiz.core.network.models
data class ContentTagsDto(
val curriculumCodes: List?,
- val generatedCurriculumCodes: List?
+ val generatedCurriculumCodes: List?,
)
diff --git a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/CoverDtos.kt b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/CoverDtos.kt
index 5f8a3c2..555f680 100644
--- a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/CoverDtos.kt
+++ b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/CoverDtos.kt
@@ -13,14 +13,14 @@ data class CoverMetadataDto(
val height: Int?,
val extractedColors: List?,
val blurhash: String?,
- val crop: CropDto?
+ val crop: CropDto?,
)
// Color extracted from cover image
data class ExtractedColorDto(
val swatch: String?,
- val rgbHex: String?
+ val rgbHex: String?,
)
// Crop descriptor
@@ -28,5 +28,5 @@ data class ExtractedColorDto(
data class CropDto(
val origin: PointDto?,
val target: PointDto?,
- val circular: Boolean?
+ val circular: Boolean?,
)
diff --git a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/MetadataDtos.kt b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/MetadataDtos.kt
index 738a954..ea83701 100644
--- a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/MetadataDtos.kt
+++ b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/MetadataDtos.kt
@@ -7,7 +7,7 @@ data class MetadataDto(
val duplicationProtection: Boolean?,
val featuredListMemberships: List?,
val lastEdit: LastEditDto?,
- val versionMetadata: VersionMetadataDto?
+ val versionMetadata: VersionMetadataDto?,
)
// Access settings
@@ -15,14 +15,14 @@ data class MetadataDto(
data class AccessDto(
val groupRead: List?,
val folderGroupIds: List?,
- val features: List?
+ val features: List?,
)
// Featured list membership
data class FeaturedListMembershipDto(
val list: String?,
- val addedAt: Long?
+ val addedAt: Long?,
)
// Last edit information
@@ -30,7 +30,7 @@ data class FeaturedListMembershipDto(
data class LastEditDto(
val editorUserId: String?,
val editorUsername: String?,
- val editTimestamp: Long?
+ val editTimestamp: Long?,
)
// Version metadata
@@ -38,5 +38,5 @@ data class LastEditDto(
data class VersionMetadataDto(
val version: Int?,
val created: Long?,
- val creator: String?
+ val creator: String?,
)
diff --git a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/QuestionDtos.kt b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/QuestionDtos.kt
index ee956f5..ebb4cc2 100644
--- a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/QuestionDtos.kt
+++ b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/QuestionDtos.kt
@@ -17,7 +17,7 @@ data class QuestionDto(
val questionFormat: Int?,
val languageInfo: LanguageInfoDto?,
val media: List?,
- val choiceRange: ChoiceRangeDto?
+ val choiceRange: ChoiceRangeDto?,
)
// Choice option
@@ -25,7 +25,7 @@ data class QuestionDto(
data class ChoiceDto(
val answer: String?,
val correct: Boolean,
- val languageInfo: LanguageInfoDto?
+ val languageInfo: LanguageInfoDto?,
)
// Optional video attachment
@@ -35,7 +35,7 @@ data class VideoDto(
val startTime: Int?,
val endTime: Int?,
val service: String?,
- val fullUrl: String?
+ val fullUrl: String?,
)
// Image metadata appearing in multiple places
@@ -50,7 +50,7 @@ data class ImageMetadataDto(
val width: Int? = null,
val height: Int? = null,
val effects: List? = null,
- val crop: CropDto? = null
+ val crop: CropDto? = null,
)
// Generic media item on question
@@ -67,7 +67,7 @@ data class MediaItemDto(
val resources: String? = null,
val width: Int? = null,
val height: Int? = null,
- val crop: CropDto? = null
+ val crop: CropDto? = null,
)
// Slider range for "slider" question type
@@ -77,5 +77,5 @@ data class ChoiceRangeDto(
val end: Int?,
val step: Int?,
val correct: Int?,
- val tolerance: Int?
+ val tolerance: Int?,
)
diff --git a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/QuizResponseDto.kt b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/QuizResponseDto.kt
index 12db461..7d13fc9 100644
--- a/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/QuizResponseDto.kt
+++ b/core/network/src/main/kotlin/dev/adriankuta/kahootquiz/core/network/models/QuizResponseDto.kt
@@ -32,5 +32,5 @@ data class QuizResponseDto(
val hasRestrictedContent: Boolean?,
val type: String?,
val created: Long?,
- val modified: Long?
+ val modified: Long?,
)
diff --git a/core/network/src/test/resources/sample_quiz.json b/core/network/src/test/resources/sample_quiz.json
index aa8e613..fc7d355 100644
--- a/core/network/src/test/resources/sample_quiz.json
+++ b/core/network/src/test/resources/sample_quiz.json
@@ -42,8 +42,14 @@
],
"blurhash": "UuJ*#Qxtx]xaCAj[W=WqEma}M{R*M|WVn#j?",
"crop": {
- "origin": {"x": 227, "y": 0},
- "target": {"x": 1948, "y": 1299},
+ "origin": {
+ "x": 227,
+ "y": 0
+ },
+ "target": {
+ "x": 1948,
+ "y": 1299
+ },
"circular": false
}
},
@@ -55,8 +61,24 @@
"points": true,
"pointsMultiplier": 1,
"choices": [
- {"answer": "True", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "False", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}
+ {
+ "answer": "True",
+ "correct": true,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "False",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ }
],
"layout": "TRUE_FALSE",
"image": "https://media.kahoot.it/b2709905-1c6e-45a0-9cc1-34c6580495e5",
@@ -71,9 +93,18 @@
"height": 1406
},
"resources": "mikroman6/Moment/Getty Images",
- "video": {"startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""},
+ "video": {
+ "startTime": 0,
+ "endTime": 0,
+ "service": "youtube",
+ "fullUrl": ""
+ },
"questionFormat": 0,
- "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true},
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ },
"media": []
},
{
@@ -83,15 +114,56 @@
"points": true,
"pointsMultiplier": 1,
"choices": [
- {"answer": "A monument to the god Ra", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "A tomb", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "A momument to a great war victory", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "A temple", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}
+ {
+ "answer": "A monument to the god Ra",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "A tomb",
+ "correct": true,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "A momument to a great war victory",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "A temple",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ }
],
"resources": "",
- "video": {"startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""},
+ "video": {
+ "startTime": 0,
+ "endTime": 0,
+ "service": "youtube",
+ "fullUrl": ""
+ },
"questionFormat": 0,
- "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true},
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ },
"media": [
{
"type": "background_image",
@@ -105,7 +177,17 @@
"resources": "Nick Brundle Photography/Moment/Getty Images",
"width": 2309,
"height": 1299,
- "crop": {"origin": {"x": 227, "y": 0}, "target": {"x": 1948, "y": 1299}, "circular": false}
+ "crop": {
+ "origin": {
+ "x": 227,
+ "y": 0
+ },
+ "target": {
+ "x": 1948,
+ "y": 1299
+ },
+ "circular": false
+ }
}
]
},
@@ -116,10 +198,42 @@
"points": true,
"pointsMultiplier": 1,
"choices": [
- {"answer": "As a tourist destination", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "A monument to Ninurta, the god of farmers", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "An engagement gift from a king to his future queen", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "A gift for the king's wife", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}
+ {
+ "answer": "As a tourist destination",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "A monument to Ninurta, the god of farmers",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "An engagement gift from a king to his future queen",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "A gift for the king's wife",
+ "correct": true,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ }
],
"image": "https://media.kahoot.it/7bce7efb-3d94-495c-905f-9c14190b7910",
"imageMetadata": {
@@ -129,9 +243,18 @@
"effects": []
},
"resources": "https://upload.wikimedia.org/wikipedia/commons/a/ae/Hanging_Gardens_of_Babylon.jpg CC0",
- "video": {"startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""},
+ "video": {
+ "startTime": 0,
+ "endTime": 0,
+ "service": "youtube",
+ "fullUrl": ""
+ },
"questionFormat": 0,
- "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true},
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ },
"media": []
},
{
@@ -141,10 +264,42 @@
"points": true,
"pointsMultiplier": 1,
"choices": [
- {"answer": "Greece", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "Turkey", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "Syria", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "Iran", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}
+ {
+ "answer": "Greece",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "Turkey",
+ "correct": true,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "Syria",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "Iran",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ }
],
"image": "https://media.kahoot.it/f999f2a2-5450-4821-a3c8-94288720bd46",
"imageMetadata": {
@@ -154,9 +309,18 @@
"effects": []
},
"resources": "Zee Prime at cs.wikipedia [GFDL (http://www.gnu.org/copyleft/fdl.html), CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/) or CC BY-SA 2.5 (https://creativecommons.org/licenses/by-sa/2.5)], from Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/1/1d/Miniaturk_009.jpg",
- "video": {"startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""},
+ "video": {
+ "startTime": 0,
+ "endTime": 0,
+ "service": "youtube",
+ "fullUrl": ""
+ },
"questionFormat": 0,
- "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true},
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ },
"media": []
},
{
@@ -166,10 +330,42 @@
"points": true,
"pointsMultiplier": 1,
"choices": [
- {"answer": "To become famous", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "It was an accident", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "He was angry at the gods", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "Because of a bet", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}
+ {
+ "answer": "To become famous",
+ "correct": true,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "It was an accident",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "He was angry at the gods",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "Because of a bet",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ }
],
"image": "https://media.kahoot.it/fe2c5c06-6d2e-4a5a-9441-a9c77391130e_opt",
"imageMetadata": {
@@ -179,9 +375,19 @@
"effects": []
},
"resources": " [Public domain], via Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/a/a9/Temple_of_Artemis.jpg",
- "video": {"id": "", "startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""},
+ "video": {
+ "id": "",
+ "startTime": 0,
+ "endTime": 0,
+ "service": "youtube",
+ "fullUrl": ""
+ },
"questionFormat": 0,
- "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true},
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ },
"media": []
},
{
@@ -191,10 +397,42 @@
"points": true,
"pointsMultiplier": 1,
"choices": [
- {"answer": "Sparta", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "Athens", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "Olympia", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "Delphi", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}
+ {
+ "answer": "Sparta",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "Athens",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "Olympia",
+ "correct": true,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "Delphi",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ }
],
"image": "https://media.kahoot.it/9074a275-1874-4cb9-9c9f-248173ceae9d",
"imageMetadata": {
@@ -202,12 +440,31 @@
"contentType": "image/*",
"resources": " [Public domain or Public domain], via Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/6/66/Le_Jupiter_Olympien_ou_l%27art_de_la_sculpture_antique.jpg",
"effects": [],
- "crop": {"origin": {"x": 53, "y": 0}, "target": {"x": 577, "y": 866}, "circular": false}
+ "crop": {
+ "origin": {
+ "x": 53,
+ "y": 0
+ },
+ "target": {
+ "x": 577,
+ "y": 866
+ },
+ "circular": false
+ }
},
"resources": " [Public domain or Public domain], via Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/6/66/Le_Jupiter_Olympien_ou_l%27art_de_la_sculpture_antique.jpg",
- "video": {"startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""},
+ "video": {
+ "startTime": 0,
+ "endTime": 0,
+ "service": "youtube",
+ "fullUrl": ""
+ },
"questionFormat": 0,
- "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true},
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ },
"media": []
},
{
@@ -217,10 +474,42 @@
"points": true,
"pointsMultiplier": 1,
"choices": [
- {"answer": "Darius", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "Xerxes", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "Cyrus", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "Mausoleus", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}
+ {
+ "answer": "Darius",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "Xerxes",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "Cyrus",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "Mausoleus",
+ "correct": true,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ }
],
"image": "https://media.kahoot.it/38f43ef3-4507-4f11-ae33-f3e833a47d19",
"imageMetadata": {
@@ -234,9 +523,18 @@
"height": 1414
},
"resources": "MirageC/Moment/Getty Images",
- "video": {"startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""},
+ "video": {
+ "startTime": 0,
+ "endTime": 0,
+ "service": "youtube",
+ "fullUrl": ""
+ },
"questionFormat": 0,
- "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true},
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ },
"media": []
},
{
@@ -245,8 +543,24 @@
"time": 60000,
"pointsMultiplier": 2,
"choices": [
- {"answer": "Helios", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "helios", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}
+ {
+ "answer": "Helios",
+ "correct": true,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "helios",
+ "correct": true,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ }
],
"image": "https://media.kahoot.it/d4ccbf4e-1026-46ad-ab35-84dc17c4d3a0_opt",
"imageMetadata": {
@@ -254,12 +568,32 @@
"contentType": "image/*",
"resources": "By gravure sur bois de Sidney Barclay numérisée Google [Public domain], via Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/5/5f/Colosse_de_Rhodes_%28Barclay%29.jpg",
"effects": [],
- "crop": {"origin": {"x": 49, "y": 83}, "target": {"x": 531, "y": 796}, "circular": false}
+ "crop": {
+ "origin": {
+ "x": 49,
+ "y": 83
+ },
+ "target": {
+ "x": 531,
+ "y": 796
+ },
+ "circular": false
+ }
},
"resources": "By gravure sur bois de Sidney Barclay numérisée Google [Public domain], via Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/5/5f/Colosse_de_Rhodes_%28Barclay%29.jpg",
- "video": {"id": "", "startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""},
+ "video": {
+ "id": "",
+ "startTime": 0,
+ "endTime": 0,
+ "service": "youtube",
+ "fullUrl": ""
+ },
"questionFormat": 0,
- "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true},
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ },
"media": []
},
{
@@ -269,10 +603,42 @@
"points": true,
"pointsMultiplier": 1,
"choices": [
- {"answer": "Fire", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "Earthquake", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "Tidal Wave", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "Storm", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}
+ {
+ "answer": "Fire",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "Earthquake",
+ "correct": true,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "Tidal Wave",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "Storm",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ }
],
"image": "https://media.kahoot.it/e2d22765-942b-4dbd-9fd6-d71142d775c3",
"imageMetadata": {
@@ -280,12 +646,31 @@
"contentType": "image/*",
"resources": "Emad Victor SHENOUDA [Attribution], from Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/3/33/PHAROS2013-3000x2250.jpg",
"effects": [],
- "crop": {"origin": {"x": 0, "y": 10}, "target": {"x": 1024, "y": 683}, "circular": false}
+ "crop": {
+ "origin": {
+ "x": 0,
+ "y": 10
+ },
+ "target": {
+ "x": 1024,
+ "y": 683
+ },
+ "circular": false
+ }
},
"resources": "Emad Victor SHENOUDA [Attribution], from Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/3/33/PHAROS2013-3000x2250.jpg",
- "video": {"startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""},
+ "video": {
+ "startTime": 0,
+ "endTime": 0,
+ "service": "youtube",
+ "fullUrl": ""
+ },
"questionFormat": 0,
- "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true},
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ },
"media": []
},
{
@@ -295,10 +680,42 @@
"points": true,
"pointsMultiplier": 1,
"choices": [
- {"answer": "The Colossus of Rhodes", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "The Lighthouse of Alexandria", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "The Mausoleum at Halicarnassus", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "The Great Pyramid of Giza", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}
+ {
+ "answer": "The Colossus of Rhodes",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "The Lighthouse of Alexandria",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "The Mausoleum at Halicarnassus",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "The Great Pyramid of Giza",
+ "correct": true,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ }
],
"image": "https://media.kahoot.it/19382163-196f-495d-9a84-c2d8c3fd716c",
"imageMetadata": {
@@ -306,12 +723,32 @@
"contentType": "image/*",
"resources": "By The original uploader was Mark22 at English Wikipedia (Transferred from en.wikipedia to Commons.) [Public domain], via Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/b/b7/SevenWondersOfTheWorld.png",
"effects": [],
- "crop": {"origin": {"x": 19, "y": 0}, "target": {"x": 491, "y": 736}, "circular": false}
+ "crop": {
+ "origin": {
+ "x": 19,
+ "y": 0
+ },
+ "target": {
+ "x": 491,
+ "y": 736
+ },
+ "circular": false
+ }
},
"resources": "By The original uploader was Mark22 at English Wikipedia (Transferred from en.wikipedia to Commons.) [Public domain], via Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/b/b7/SevenWondersOfTheWorld.png",
- "video": {"id": "", "startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""},
+ "video": {
+ "id": "",
+ "startTime": 0,
+ "endTime": 0,
+ "service": "youtube",
+ "fullUrl": ""
+ },
"questionFormat": 0,
- "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true},
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ },
"media": []
},
{
@@ -319,7 +756,13 @@
"question": "How many of the Seven Wonders still exist?",
"time": 20000,
"pointsMultiplier": 2,
- "choiceRange": {"start": 0, "end": 7, "step": 1, "correct": 1, "tolerance": 0},
+ "choiceRange": {
+ "start": 0,
+ "end": 7,
+ "step": 1,
+ "correct": 1,
+ "tolerance": 0
+ },
"image": "https://media.kahoot.it/b431b3aa-4a46-49c9-b4ac-aa1dde40333f",
"imageMetadata": {
"id": "b431b3aa-4a46-49c9-b4ac-aa1dde40333f",
@@ -328,9 +771,19 @@
"effects": []
},
"resources": "By Kandi [GFDL (http://www.gnu.org/copyleft/fdl.html) or CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0)], from Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/a/a4/Seven_Wonders_of_the_Ancient_World.png",
- "video": {"id": "", "startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""},
+ "video": {
+ "id": "",
+ "startTime": 0,
+ "endTime": 0,
+ "service": "youtube",
+ "fullUrl": ""
+ },
"questionFormat": 0,
- "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true},
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ },
"media": []
},
{
@@ -340,10 +793,42 @@
"points": true,
"pointsMultiplier": 1,
"choices": [
- {"answer": "The Great Pyramid of Giza", "correct": true, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "The Temple of Artemis", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "The Mausoleum at Halicarnassus", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}},
- {"answer": "The Colossus of Rhodes", "correct": false, "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true}}
+ {
+ "answer": "The Great Pyramid of Giza",
+ "correct": true,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "The Temple of Artemis",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "The Mausoleum at Halicarnassus",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ },
+ {
+ "answer": "The Colossus of Rhodes",
+ "correct": false,
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ }
+ }
],
"image": "https://media.kahoot.it/34b01038-031c-4d23-b8a0-55402916586f_opt",
"imageMetadata": {
@@ -351,16 +836,39 @@
"contentType": "image/*",
"resources": "By Varios [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/d/d6/Siete_maravillas_antiguas.jpg",
"effects": [],
- "crop": {"origin": {"x": 19, "y": 0}, "target": {"x": 491, "y": 736}, "circular": false}
+ "crop": {
+ "origin": {
+ "x": 19,
+ "y": 0
+ },
+ "target": {
+ "x": 491,
+ "y": 736
+ },
+ "circular": false
+ }
},
"resources": "By Varios [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons\nhttps://upload.wikimedia.org/wikipedia/commons/d/d6/Siete_maravillas_antiguas.jpg",
- "video": {"id": "", "startTime": 0, "endTime": 0, "service": "youtube", "fullUrl": ""},
+ "video": {
+ "id": "",
+ "startTime": 0,
+ "endTime": 0,
+ "service": "youtube",
+ "fullUrl": ""
+ },
"questionFormat": 0,
- "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true},
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ },
"media": []
}
],
- "contentTags": {"curriculumCodes": [], "generatedCurriculumCodes": []},
+ "contentTags": {
+ "curriculumCodes": [],
+ "generatedCurriculumCodes": []
+ },
"metadata": {
"access": {
"groupRead": [
@@ -372,12 +880,20 @@
"36022fd9-43e1-4b36-9c98-a6a3b2b53038"
],
"folderGroupIds": [],
- "features": ["PremiumEduContent"]
+ "features": [
+ "PremiumEduContent"
+ ]
},
"duplicationProtection": true,
"featuredListMemberships": [
- {"list": "youngfeatured", "addedAt": 1682336780289},
- {"list": "featured", "addedAt": 1682336738189}
+ {
+ "list": "youngfeatured",
+ "addedAt": 1682336780289
+ },
+ {
+ "list": "featured",
+ "addedAt": 1682336738189
+ }
],
"lastEdit": {
"editorUserId": "4c1574ee-de54-40a2-be15-8d72b333afad",
@@ -392,9 +908,17 @@
},
"resources": "Nick Brundle Photography/Moment/Getty Images",
"slug": "seven-wonders-of-the-ancient-world",
- "languageInfo": {"language": "en-US", "lastUpdatedOn": 1741920189202, "readAloudSupported": true},
+ "languageInfo": {
+ "language": "en-US",
+ "lastUpdatedOn": 1741920189202,
+ "readAloudSupported": true
+ },
"inventoryItemIds": [],
- "channels": [{"id": "247c3eb4-af80-4c1f-b006-558682c7bd2f"}],
+ "channels": [
+ {
+ "id": "247c3eb4-af80-4c1f-b006-558682c7bd2f"
+ }
+ ],
"isValid": true,
"playAsGuest": true,
"hasRestrictedContent": false,
diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Access.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Access.kt
index 06af84a..9e87006 100644
--- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Access.kt
+++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Access.kt
@@ -5,5 +5,5 @@ package dev.adriankuta.kahootquiz.domain.models
data class Access(
val groupRead: List?,
val folderGroupIds: List?,
- val features: List?
+ val features: List?,
)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Choice.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Choice.kt
index 0023607..bb1f73b 100644
--- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Choice.kt
+++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Choice.kt
@@ -3,5 +3,5 @@ package dev.adriankuta.kahootquiz.domain.models
data class Choice(
val answer: String?,
val correct: Boolean,
- val languageInfo: LanguageInfo? = null
+ val languageInfo: LanguageInfo? = null,
)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ChoiceRange.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ChoiceRange.kt
index a53d7b8..5ce4f8f 100644
--- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ChoiceRange.kt
+++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ChoiceRange.kt
@@ -7,5 +7,5 @@ data class ChoiceRange(
val end: Int?,
val step: Int?,
val correct: Int?,
- val tolerance: Int?
+ val tolerance: Int?,
)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ContentTags.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ContentTags.kt
index 46acb10..4c4c235 100644
--- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ContentTags.kt
+++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ContentTags.kt
@@ -4,5 +4,5 @@ package dev.adriankuta.kahootquiz.domain.models
data class ContentTags(
val curriculumCodes: List?,
- val generatedCurriculumCodes: List?
+ val generatedCurriculumCodes: List?,
)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/CoverMetadata.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/CoverMetadata.kt
index 1824137..ea749b5 100644
--- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/CoverMetadata.kt
+++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/CoverMetadata.kt
@@ -13,5 +13,5 @@ data class CoverMetadata(
val height: Int?,
val extractedColors: List?,
val blurhash: String?,
- val crop: Crop?
+ val crop: Crop?,
)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Crop.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Crop.kt
index 9d4fb8a..fa6d4fc 100644
--- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Crop.kt
+++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Crop.kt
@@ -5,5 +5,5 @@ package dev.adriankuta.kahootquiz.domain.models
data class Crop(
val origin: Point?,
val target: Point?,
- val circular: Boolean?
+ val circular: Boolean?,
)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ExtractedColor.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ExtractedColor.kt
index e77012b..29d50a9 100644
--- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ExtractedColor.kt
+++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ExtractedColor.kt
@@ -4,5 +4,5 @@ package dev.adriankuta.kahootquiz.domain.models
data class ExtractedColor(
val swatch: String?,
- val rgbHex: String?
+ val rgbHex: String?,
)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/FeaturedListMembership.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/FeaturedListMembership.kt
index 242921e..ee6c610 100644
--- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/FeaturedListMembership.kt
+++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/FeaturedListMembership.kt
@@ -4,5 +4,5 @@ package dev.adriankuta.kahootquiz.domain.models
data class FeaturedListMembership(
val list: String?,
- val addedAt: Long?
+ val addedAt: Long?,
)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ImageMetadata.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ImageMetadata.kt
index 736aae1..4480c2e 100644
--- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ImageMetadata.kt
+++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/ImageMetadata.kt
@@ -12,5 +12,5 @@ data class ImageMetadata(
val width: Int? = null,
val height: Int? = null,
val effects: List? = null,
- val crop: Crop? = null
+ val crop: Crop? = null,
)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/LanguageInfo.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/LanguageInfo.kt
index 41786ef..0cbd7a3 100644
--- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/LanguageInfo.kt
+++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/LanguageInfo.kt
@@ -5,5 +5,5 @@ package dev.adriankuta.kahootquiz.domain.models
data class LanguageInfo(
val language: String?,
val lastUpdatedOn: Long?,
- val readAloudSupported: Boolean?
+ val readAloudSupported: Boolean?,
)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/LastEdit.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/LastEdit.kt
index 298ee8f..3e00a81 100644
--- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/LastEdit.kt
+++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/LastEdit.kt
@@ -5,5 +5,5 @@ package dev.adriankuta.kahootquiz.domain.models
data class LastEdit(
val editorUserId: String?,
val editorUsername: String?,
- val editTimestamp: Long?
+ val editTimestamp: Long?,
)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/MediaItem.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/MediaItem.kt
index 1898479..3fda83f 100644
--- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/MediaItem.kt
+++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/MediaItem.kt
@@ -14,5 +14,5 @@ data class MediaItem(
val resources: String? = null,
val width: Int? = null,
val height: Int? = null,
- val crop: Crop? = null
+ val crop: Crop? = null,
)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Metadata.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Metadata.kt
index 700967c..e73c2e0 100644
--- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Metadata.kt
+++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Metadata.kt
@@ -7,5 +7,5 @@ data class Metadata(
val duplicationProtection: Boolean?,
val featuredListMemberships: List?,
val lastEdit: LastEdit?,
- val versionMetadata: VersionMetadata?
+ val versionMetadata: VersionMetadata?,
)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Point.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Point.kt
index 0d88599..e5c110b 100644
--- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Point.kt
+++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Point.kt
@@ -4,5 +4,5 @@ package dev.adriankuta.kahootquiz.domain.models
data class Point(
val x: Int?,
- val y: Int?
+ val y: Int?,
)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Quiz.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Quiz.kt
index 9e5d990..6fd1298 100644
--- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Quiz.kt
+++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Quiz.kt
@@ -31,5 +31,5 @@ data class Quiz(
val hasRestrictedContent: Boolean?,
val type: String?,
val created: Long?,
- val modified: Long?
+ val modified: Long?,
)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/VersionMetadata.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/VersionMetadata.kt
index 0dab9f3..876a032 100644
--- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/VersionMetadata.kt
+++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/VersionMetadata.kt
@@ -5,5 +5,5 @@ package dev.adriankuta.kahootquiz.domain.models
data class VersionMetadata(
val version: Int?,
val created: Long?,
- val creator: String?
+ val creator: String?,
)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Video.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Video.kt
index 713996a..f3a58ed 100644
--- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Video.kt
+++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/models/Video.kt
@@ -5,5 +5,5 @@ data class Video(
val startTime: Int?,
val endTime: Int?,
val service: String?,
- val fullUrl: String?
+ val fullUrl: String?,
)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/usecases/GetQuizUseCase.kt b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/usecases/GetQuizUseCase.kt
index b1ae02b..f08e56e 100644
--- a/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/usecases/GetQuizUseCase.kt
+++ b/domain/src/main/kotlin/dev/adriankuta/kahootquiz/domain/usecases/GetQuizUseCase.kt
@@ -5,7 +5,7 @@ import dev.adriankuta.kahootquiz.domain.repositories.QuizRepository
import javax.inject.Inject
class GetQuizUseCase @Inject constructor(
- private val quizRepository: QuizRepository
+ private val quizRepository: QuizRepository,
) {
suspend operator fun invoke(): Quiz {
diff --git a/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/QuizRepositoryImpl.kt b/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/QuizRepositoryImpl.kt
index 9ae8f24..d011736 100644
--- a/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/QuizRepositoryImpl.kt
+++ b/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/QuizRepositoryImpl.kt
@@ -7,7 +7,7 @@ import dev.adriankuta.kahootquiz.model.data.mappers.toDomainModel
import javax.inject.Inject
internal class QuizRepositoryImpl @Inject constructor(
- private val quizApi: QuizApi
+ private val quizApi: QuizApi,
) : QuizRepository {
override suspend fun getQuiz(): Quiz {
diff --git a/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/di/RepositoryModule.kt b/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/di/RepositoryModule.kt
index a7e858f..614627e 100644
--- a/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/di/RepositoryModule.kt
+++ b/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/di/RepositoryModule.kt
@@ -15,6 +15,6 @@ internal abstract class RepositoryModule {
@Binds
@Singleton
abstract fun bindsQuizRepository(
- quizRepositoryImpl: QuizRepositoryImpl
+ quizRepositoryImpl: QuizRepositoryImpl,
): QuizRepository
}
diff --git a/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/mappers/QuizMapper.kt b/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/mappers/QuizMapper.kt
index 70c71a1..59b481c 100644
--- a/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/mappers/QuizMapper.kt
+++ b/model/data/src/main/kotlin/dev/adriankuta/kahootquiz/model/data/mappers/QuizMapper.kt
@@ -1,7 +1,44 @@
package dev.adriankuta.kahootquiz.model.data.mappers
-import dev.adriankuta.kahootquiz.core.network.models.*
-import dev.adriankuta.kahootquiz.domain.models.*
+import dev.adriankuta.kahootquiz.core.network.models.AccessDto
+import dev.adriankuta.kahootquiz.core.network.models.ChannelDto
+import dev.adriankuta.kahootquiz.core.network.models.ChoiceDto
+import dev.adriankuta.kahootquiz.core.network.models.ChoiceRangeDto
+import dev.adriankuta.kahootquiz.core.network.models.ContentTagsDto
+import dev.adriankuta.kahootquiz.core.network.models.CoverMetadataDto
+import dev.adriankuta.kahootquiz.core.network.models.CropDto
+import dev.adriankuta.kahootquiz.core.network.models.ExtractedColorDto
+import dev.adriankuta.kahootquiz.core.network.models.FeaturedListMembershipDto
+import dev.adriankuta.kahootquiz.core.network.models.ImageMetadataDto
+import dev.adriankuta.kahootquiz.core.network.models.LanguageInfoDto
+import dev.adriankuta.kahootquiz.core.network.models.LastEditDto
+import dev.adriankuta.kahootquiz.core.network.models.MediaItemDto
+import dev.adriankuta.kahootquiz.core.network.models.MetadataDto
+import dev.adriankuta.kahootquiz.core.network.models.PointDto
+import dev.adriankuta.kahootquiz.core.network.models.QuestionDto
+import dev.adriankuta.kahootquiz.core.network.models.QuizResponseDto
+import dev.adriankuta.kahootquiz.core.network.models.VersionMetadataDto
+import dev.adriankuta.kahootquiz.core.network.models.VideoDto
+import dev.adriankuta.kahootquiz.domain.models.Access
+import dev.adriankuta.kahootquiz.domain.models.Channel
+import dev.adriankuta.kahootquiz.domain.models.Choice
+import dev.adriankuta.kahootquiz.domain.models.ChoiceRange
+import dev.adriankuta.kahootquiz.domain.models.ContentTags
+import dev.adriankuta.kahootquiz.domain.models.CoverMetadata
+import dev.adriankuta.kahootquiz.domain.models.Crop
+import dev.adriankuta.kahootquiz.domain.models.ExtractedColor
+import dev.adriankuta.kahootquiz.domain.models.FeaturedListMembership
+import dev.adriankuta.kahootquiz.domain.models.ImageMetadata
+import dev.adriankuta.kahootquiz.domain.models.LanguageInfo
+import dev.adriankuta.kahootquiz.domain.models.LastEdit
+import dev.adriankuta.kahootquiz.domain.models.MediaItem
+import dev.adriankuta.kahootquiz.domain.models.Metadata
+import dev.adriankuta.kahootquiz.domain.models.Point
+import dev.adriankuta.kahootquiz.domain.models.Question
+import dev.adriankuta.kahootquiz.domain.models.Quiz
+import dev.adriankuta.kahootquiz.domain.models.QuizId
+import dev.adriankuta.kahootquiz.domain.models.VersionMetadata
+import dev.adriankuta.kahootquiz.domain.models.Video
import kotlin.time.Duration.Companion.milliseconds
internal fun QuizResponseDto.toDomainModel(): Quiz =
@@ -34,7 +71,7 @@ internal fun QuizResponseDto.toDomainModel(): Quiz =
hasRestrictedContent = hasRestrictedContent,
type = type,
created = created,
- modified = modified
+ modified = modified,
)
private fun CoverMetadataDto.toDomain(): CoverMetadata = CoverMetadata(
@@ -48,25 +85,25 @@ private fun CoverMetadataDto.toDomain(): CoverMetadata = CoverMetadata(
height = height,
extractedColors = extractedColors?.map { it.toDomain() },
blurhash = blurhash,
- crop = crop?.toDomain()
+ crop = crop?.toDomain(),
)
private fun ExtractedColorDto.toDomain(): ExtractedColor = ExtractedColor(
swatch = swatch,
- rgbHex = rgbHex
+ rgbHex = rgbHex,
)
private fun CropDto.toDomain(): Crop = Crop(
origin = origin?.toDomain(),
target = target?.toDomain(),
- circular = circular
+ circular = circular,
)
private fun PointDto.toDomain(): Point = Point(x = x, y = y)
private fun ContentTagsDto.toDomain(): ContentTags = ContentTags(
curriculumCodes = curriculumCodes,
- generatedCurriculumCodes = generatedCurriculumCodes
+ generatedCurriculumCodes = generatedCurriculumCodes,
)
private fun MetadataDto.toDomain(): Metadata = Metadata(
@@ -74,36 +111,36 @@ private fun MetadataDto.toDomain(): Metadata = Metadata(
duplicationProtection = duplicationProtection,
featuredListMemberships = featuredListMemberships?.map { it.toDomain() },
lastEdit = lastEdit?.toDomain(),
- versionMetadata = versionMetadata?.toDomain()
+ versionMetadata = versionMetadata?.toDomain(),
)
private fun AccessDto.toDomain(): Access = Access(
groupRead = groupRead,
folderGroupIds = folderGroupIds,
- features = features
+ features = features,
)
private fun FeaturedListMembershipDto.toDomain(): FeaturedListMembership = FeaturedListMembership(
list = list,
- addedAt = addedAt
+ addedAt = addedAt,
)
private fun LastEditDto.toDomain(): LastEdit = LastEdit(
editorUserId = editorUserId,
editorUsername = editorUsername,
- editTimestamp = editTimestamp
+ editTimestamp = editTimestamp,
)
private fun VersionMetadataDto.toDomain(): VersionMetadata = VersionMetadata(
version = version,
created = created,
- creator = creator
+ creator = creator,
)
private fun LanguageInfoDto.toDomain(): LanguageInfo = LanguageInfo(
language = language,
lastUpdatedOn = lastUpdatedOn,
- readAloudSupported = readAloudSupported
+ readAloudSupported = readAloudSupported,
)
private fun ChannelDto.toDomain(): Channel = Channel(id = id)
@@ -123,13 +160,13 @@ private fun QuestionDto.toDomain(): Question = Question(
questionFormat = questionFormat,
languageInfo = languageInfo?.toDomain(),
media = media?.map { it.toDomain() },
- choiceRange = choiceRange?.toDomain()
+ choiceRange = choiceRange?.toDomain(),
)
private fun ChoiceDto.toDomain(): Choice = Choice(
answer = answer,
correct = correct,
- languageInfo = languageInfo?.toDomain()
+ languageInfo = languageInfo?.toDomain(),
)
private fun VideoDto.toDomain(): Video = Video(
@@ -137,7 +174,7 @@ private fun VideoDto.toDomain(): Video = Video(
startTime = startTime,
endTime = endTime,
service = service,
- fullUrl = fullUrl
+ fullUrl = fullUrl,
)
private fun ImageMetadataDto.toDomain(): ImageMetadata = ImageMetadata(
@@ -150,7 +187,7 @@ private fun ImageMetadataDto.toDomain(): ImageMetadata = ImageMetadata(
width = width,
height = height,
effects = effects,
- crop = crop?.toDomain()
+ crop = crop?.toDomain(),
)
private fun MediaItemDto.toDomain(): MediaItem = MediaItem(
@@ -165,7 +202,7 @@ private fun MediaItemDto.toDomain(): MediaItem = MediaItem(
resources = resources,
width = width,
height = height,
- crop = crop?.toDomain()
+ crop = crop?.toDomain(),
)
private fun ChoiceRangeDto.toDomain(): ChoiceRange = ChoiceRange(
@@ -173,5 +210,5 @@ private fun ChoiceRangeDto.toDomain(): ChoiceRange = ChoiceRange(
end = end,
step = step,
correct = correct,
- tolerance = tolerance
+ tolerance = tolerance,
)