diff --git a/src/jsMain/kotlin/datasources/GSheet.kt b/src/jsMain/kotlin/datasources/GSheet.kt index 768854f17f433fb26e496da1eb57ee57595c8858..08c689e2e5ee0daace6917272cbb024fae6faa1b 100644 --- a/src/jsMain/kotlin/datasources/GSheet.kt +++ b/src/jsMain/kotlin/datasources/GSheet.kt @@ -7,10 +7,9 @@ import gapi.sheets import kotlinx.browser.window import pekstuff.trimAsPrinciple import kotlin.coroutines.resume -import kotlin.coroutines.resumeWithException import kotlin.coroutines.suspendCoroutine -class GSheet private constructor(private val sheet: sheets.Spreadsheet): DataSource, NoteDataSource { +class GSheet private constructor(sheet: sheets.Spreadsheet): DataSource, NoteDataSource { companion object { private val filterList = listOf( "szumma", "színes belépő" diff --git a/src/jsMain/kotlin/gapi/Gapi.kt b/src/jsMain/kotlin/gapi/Gapi.kt index 34cb16a10f3a19f64ab44644436b36f82f12117f..8818aa7475917f88a24d6d90d2b76a4b366f7b9b 100644 --- a/src/jsMain/kotlin/gapi/Gapi.kt +++ b/src/jsMain/kotlin/gapi/Gapi.kt @@ -3,7 +3,6 @@ package gapi import androidx.compose.runtime.NoLiveLiterals import kotlinx.browser.document import kotlinx.browser.localStorage -import kotlinx.browser.window import org.w3c.dom.HTMLScriptElement import org.w3c.dom.get import org.w3c.dom.set @@ -11,7 +10,7 @@ import kotlin.coroutines.resume import kotlin.coroutines.resumeWithException import kotlin.coroutines.suspendCoroutine -object gapiObj: client.AuthType { +object GapiInitObj: client.AuthType { override var apiKey: String? = ApiKey override var discoveryDocs: Array<String>? = arrayOf("https://sheets.googleapis.com/\$discovery/rest?version=v4") } @@ -122,14 +121,13 @@ private fun inited() { // Skip display of account chooser and consent dialog for an existing session. tokenClient.requestAccessToken(js("{prompt: ''}")) } - Unit } logOut = { val token = gapi.client.getToken() if (token !== null) { - google.accounts.oauth2.revoke(token.access_token); - gapi.client.setToken(""); + google.accounts.oauth2.revoke(token.access_token) + gapi.client.setToken("") isSignedIn = false } handleLoginEvent() @@ -139,7 +137,7 @@ private fun inited() { } private suspend fun initGapi() = suspendCoroutine<Unit> { cont -> - gapi.client.init(gapiObj).then({ + gapi.client.init(GapiInitObj).then({ gapiInited = true cont.resume(Unit) }, { error -> diff --git a/src/jsMain/kotlin/pekstuff/PekDelay.kt b/src/jsMain/kotlin/pekstuff/PekDelay.kt index 87ac7548e336157b12fc03bdf6cfdb387a75e905..a2b53e5bb1255771a34c754b05e1d69e1987f99d 100644 --- a/src/jsMain/kotlin/pekstuff/PekDelay.kt +++ b/src/jsMain/kotlin/pekstuff/PekDelay.kt @@ -12,7 +12,7 @@ object PekDelay { private val saveIconElem = document.getElementById("save-icon") as HTMLDivElement private val isUpdating get() = saveIconElem.style.display == "block" - private val continuations = mutableListOf<Continuation<Unit>>() + private val continuations = mutableSetOf<Continuation<Unit>>() private var skips = 0 fun skipNext() { @@ -21,7 +21,7 @@ object PekDelay { private val observer = MutationObserver { _, _ -> if (!isUpdating) { - val conts = continuations.toList() + val conts = continuations.toSet() conts.forEach { it.resume(Unit) } continuations.removeAll(conts) } diff --git a/src/jsMain/kotlin/pekstuff/PekNote.kt b/src/jsMain/kotlin/pekstuff/PekNote.kt index f45e64ec9a6af432452faa93b2a0b918deaecd13..f269845d034e3b9c40013a118725d2c52d905b5c 100644 --- a/src/jsMain/kotlin/pekstuff/PekNote.kt +++ b/src/jsMain/kotlin/pekstuff/PekNote.kt @@ -7,14 +7,14 @@ import org.w3c.dom.HTMLInputElement import org.w3c.dom.HTMLTextAreaElement object PekNote { - val noteNameCnt get() = document.querySelector("#comment-container > div.uk-padding.uk-text-center") - val noteName get() = noteNameCnt?.textContent + private val noteNameCnt get() = document.querySelector("#comment-container > div.uk-padding.uk-text-center") + private val noteName get() = noteNameCnt?.textContent - val editBtn get() = + private val editBtn get() = document.querySelectorAll("#comment-container > article.uk-comment > header.uk-comment-header > div.uk-comment-meta > a") .toList().lastOrNull() as? HTMLAnchorElement - val noteCnt get() = document.getElementById("comment-textarea") as? HTMLTextAreaElement - val btn get() = document.querySelector("#comment-container > div > form.edit_point_detail_comment > article.uk-comment > div.uk-clearfix > div.uk-float-right > input.uk-button") as? HTMLInputElement + private val noteCnt get() = document.getElementById("comment-textarea") as? HTMLTextAreaElement + private val btn get() = document.querySelector("#comment-container > div > form.edit_point_detail_comment > article.uk-comment > div.uk-clearfix > div.uk-float-right > input.uk-button") as? HTMLInputElement fun getNote() = noteCnt!!.value suspend fun setNote(value: String) { val edit = editBtn diff --git a/src/jsMain/kotlin/pekstuff/PekTable.kt b/src/jsMain/kotlin/pekstuff/PekTable.kt index 21cad2bda02099684f7ae1e28fdc0b9f87fac148..0f0e9a316f466d01d5db2828b664c116a57e66ab 100644 --- a/src/jsMain/kotlin/pekstuff/PekTable.kt +++ b/src/jsMain/kotlin/pekstuff/PekTable.kt @@ -1,8 +1,10 @@ package pekstuff import kotlinx.browser.document -import kotlinx.browser.window -import kotlinx.coroutines.* +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Job +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch import org.w3c.dom.Element import org.w3c.dom.HTMLInputElement import org.w3c.dom.HTMLTableElement diff --git a/src/jsMain/kotlin/pontozas.kt b/src/jsMain/kotlin/pontozas.kt index 987f3de3c83d3fbd1ea98f677591a0b5881181a3..c6ed8e42e2d715aa4c9745250069d96349cdcc86 100644 --- a/src/jsMain/kotlin/pontozas.kt +++ b/src/jsMain/kotlin/pontozas.kt @@ -1,7 +1,6 @@ import androidx.compose.runtime.* import gapi.loadAndInit import kotlinx.browser.document -import kotlinx.coroutines.delay import kotlinx.coroutines.launch import org.jetbrains.compose.web.attributes.disabled import org.jetbrains.compose.web.dom.Button diff --git a/src/jsMain/kotlin/processing/Process.kt b/src/jsMain/kotlin/processing/Process.kt index 457c46b918ed65b52fd55ff5caf7322c3d66a722..b7053b93f34db15ea98a5c6b5f922ec1ddacfca6 100644 --- a/src/jsMain/kotlin/processing/Process.kt +++ b/src/jsMain/kotlin/processing/Process.kt @@ -2,7 +2,6 @@ package processing import datasources.DataSource import datasources.NoteDataSource -import kotlinx.coroutines.delay import pekstuff.PekDelay import pekstuff.PekNote import pekstuff.PekTable @@ -71,8 +70,8 @@ fun List<String>.findClosestMatch( val needleInHaystack = currParts.count { part -> string.contains(part) } val haystackInNeedle = parts.count { part -> it.contains(part) } - it to when { - it == string -> Int.MAX_VALUE + it to when (it) { + string -> Int.MAX_VALUE else -> max(needleInHaystack, haystackInNeedle) } }.filter { it.second != 0 }.maxByOrNull { it.second }?.first diff --git a/src/jsMain/kotlin/ui/CSVModal.kt b/src/jsMain/kotlin/ui/CSVModal.kt index 068cfdd247c44982c352d7648f18315177ce692e..bcd78f5f37598316f86038b9eab66973b6b44718 100644 --- a/src/jsMain/kotlin/ui/CSVModal.kt +++ b/src/jsMain/kotlin/ui/CSVModal.kt @@ -14,11 +14,12 @@ import org.jetbrains.compose.web.dom.* import org.w3c.dom.HTMLElement import processing.process -private object csvModal: ModalType { +private object CSVModal: ModalType { override val title = "CSV import" override val tutorial = "Válassz ki egy CSV filet, ami megfelel a következő követelményeknek:" - override @Composable fun content( + @Composable + override fun content( closeId: String, setState: (State) -> Unit, hint: String, @@ -79,5 +80,5 @@ private object csvModal: ModalType { @Composable fun csvModal(setState: (State) -> Unit) { - modal(csvModal, setState) + modal(CSVModal, setState) } \ No newline at end of file diff --git a/src/jsMain/kotlin/ui/SheetsModal.kt b/src/jsMain/kotlin/ui/SheetsModal.kt index 03064da993fc55566ca3913b23c3047c14e6efd7..23777305437b7fe585f72e79f77745acb1a5daab 100644 --- a/src/jsMain/kotlin/ui/SheetsModal.kt +++ b/src/jsMain/kotlin/ui/SheetsModal.kt @@ -15,7 +15,8 @@ private object SheetsModal: ModalType { override val title = "Google Sheets import" override val tutorial = "Jelentkezz be, majd illesz be egy linket egy Google Sheetre, ami megfelel a következő követelményeknek:" - override @Composable fun content( + @Composable + override fun content( closeId: String, setState: (State) -> Unit, hint: String,