
* Add Copy Tracker URL on icon long press Signed-off-by: Catt0s <5874051+mm12@users.noreply.github.com> * Add 'Copy To Clipboard' to tracker item menu Signed-off-by: Catt0s <5874051+mm12@users.noreply.github.com> * Add 'Copy link' to locales. Signed-off-by: Catt0s <5874051+mm12@users.noreply.github.com> * Implement code review suggestions > > Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com> Signed-off-by: Catt0s <5874051+mm12@users.noreply.github.com> * Update app/src/main/java/eu/kanade/presentation/track/components/TrackLogoIcon.kt --------- Signed-off-by: Catt0s <5874051+mm12@users.noreply.github.com> Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com> (cherry picked from commit 200d39e023af79b02276554a1bef1d7d53e3b903)
85 lines
2.4 KiB
Kotlin
85 lines
2.4 KiB
Kotlin
package eu.kanade.presentation.track
|
|
|
|
import androidx.compose.runtime.Composable
|
|
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
|
import eu.kanade.tachiyomi.ui.manga.track.TrackItem
|
|
import eu.kanade.test.DummyTracker
|
|
import tachiyomi.domain.track.model.Track
|
|
import java.time.format.DateTimeFormatter
|
|
import java.time.format.FormatStyle
|
|
|
|
internal class TrackInfoDialogHomePreviewProvider :
|
|
PreviewParameterProvider<@Composable () -> Unit> {
|
|
|
|
private val aTrack = Track(
|
|
id = 1L,
|
|
mangaId = 2L,
|
|
trackerId = 3L,
|
|
remoteId = 4L,
|
|
libraryId = null,
|
|
title = "Manage Name On Tracker Site",
|
|
lastChapterRead = 2.0,
|
|
totalChapters = 12L,
|
|
status = 1L,
|
|
score = 2.0,
|
|
remoteUrl = "https://example.com",
|
|
startDate = 0L,
|
|
finishDate = 0L,
|
|
)
|
|
private val trackItemWithoutTrack = TrackItem(
|
|
track = null,
|
|
tracker = DummyTracker(
|
|
id = 1L,
|
|
name = "Example Tracker",
|
|
),
|
|
)
|
|
private val trackItemWithTrack = TrackItem(
|
|
track = aTrack,
|
|
tracker = DummyTracker(
|
|
id = 2L,
|
|
name = "Example Tracker 2",
|
|
),
|
|
)
|
|
|
|
private val trackersWithAndWithoutTrack = @Composable {
|
|
TrackInfoDialogHome(
|
|
trackItems = listOf(
|
|
trackItemWithoutTrack,
|
|
trackItemWithTrack,
|
|
),
|
|
dateFormat = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM),
|
|
onStatusClick = {},
|
|
onChapterClick = {},
|
|
onScoreClick = {},
|
|
onStartDateEdit = {},
|
|
onEndDateEdit = {},
|
|
onNewSearch = {},
|
|
onOpenInBrowser = {},
|
|
onRemoved = {},
|
|
onCopyLink = {},
|
|
)
|
|
}
|
|
|
|
private val noTrackers = @Composable {
|
|
TrackInfoDialogHome(
|
|
trackItems = listOf(),
|
|
dateFormat = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM),
|
|
onStatusClick = {},
|
|
onChapterClick = {},
|
|
onScoreClick = {},
|
|
onStartDateEdit = {},
|
|
onEndDateEdit = {},
|
|
onNewSearch = {},
|
|
onOpenInBrowser = {},
|
|
onRemoved = {},
|
|
onCopyLink = {},
|
|
)
|
|
}
|
|
|
|
override val values: Sequence<@Composable () -> Unit>
|
|
get() = sequenceOf(
|
|
trackersWithAndWithoutTrack,
|
|
noTrackers,
|
|
)
|
|
}
|