Show loading animation while loading elements
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / core / ElementLoader.kt
1 package net.pterodactylus.sone.core
2
3 import com.google.inject.ImplementedBy
4
5 /**
6  * Component that loads images and supplies information about them.
7  */
8 @ImplementedBy(DefaultElementLoader::class)
9 interface ElementLoader {
10
11         fun loadElement(link: String): LinkedElement
12
13 }
14
15 interface LinkedElement {
16
17         val link: String
18         val loading: Boolean
19
20 }
21
22 data class LinkedImage(override val link: String, override val loading: Boolean = false) : LinkedElement