Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified composeApp/release/baselineProfiles/0/composeApp-release.dm
Binary file not shown.
Binary file modified composeApp/release/baselineProfiles/1/composeApp-release.dm
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,14 @@ fun AppNavigation(
)
)
},
onNavigateToDetailsFromLink = { owner, repo ->
navController.navigate(
GithubStoreGraph.DetailsScreen(
owner = owner,
repo = repo
)
)
},
onNavigateToDeveloperProfile = { username ->
navController.navigate(
GithubStoreGraph.DeveloperProfileScreen(
Expand Down Expand Up @@ -133,7 +141,7 @@ fun AppNavigation(
)
},
viewModel = koinViewModel {
parametersOf(args.repositoryId, args.owner, args.repo)
parametersOf(args.repositoryId, args.owner, args.repo, args.isComingFromUpdate)
}
)
}
Expand Down Expand Up @@ -242,7 +250,8 @@ fun AppNavigation(
onNavigateToRepo = { repoId ->
navController.navigate(
GithubStoreGraph.DetailsScreen(
repositoryId = repoId
repositoryId = repoId,
isComingFromUpdate = true
)
)
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ sealed interface GithubStoreGraph {
data class DetailsScreen(
val repositoryId: Long = -1L,
val owner: String = "",
val repo: String = ""
val repo: String = "",
val isComingFromUpdate: Boolean = false,
) : GithubStoreGraph

@Serializable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,11 @@ class AndroidClipboardHelper(
val cm = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
cm.setPrimaryClip(ClipData.newPlainText(label, text))
}

override fun getText(): String? {
val cm = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clip = cm.primaryClip ?: return null
if (clip.itemCount == 0) return null
return clip.getItemAt(0).text?.toString()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ class ThemesRepositoryImpl(
private val AMOLED_KEY = booleanPreferencesKey("amoled_theme")
private val IS_DARK_THEME_KEY = booleanPreferencesKey("is_dark_theme")
private val FONT_KEY = stringPreferencesKey("font_theme")
private val AUTO_DETECT_CLIPBOARD_KEY = booleanPreferencesKey("auto_detect_clipboard_links")

override fun getThemeColor(): Flow<AppTheme> {
return preferences.data.map { prefs ->
Expand Down Expand Up @@ -73,4 +74,16 @@ class ThemesRepositoryImpl(
prefs[FONT_KEY] = fontTheme.name
}
}

override fun getAutoDetectClipboardLinks(): Flow<Boolean> {
return preferences.data.map { prefs ->
prefs[AUTO_DETECT_CLIPBOARD_KEY] ?: false
}
}

override suspend fun setAutoDetectClipboardLinks(enabled: Boolean) {
preferences.edit { prefs ->
prefs[AUTO_DETECT_CLIPBOARD_KEY] = enabled
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,23 @@ package zed.rainxch.core.data.utils

import zed.rainxch.core.domain.utils.ClipboardHelper
import java.awt.Toolkit
import java.awt.datatransfer.DataFlavor
import java.awt.datatransfer.StringSelection

class DesktopClipboardHelper : ClipboardHelper {
override fun copy(label: String, text: String) {
val clipboard = Toolkit.getDefaultToolkit().systemClipboard
clipboard.setContents(StringSelection(text), null)
}

override fun getText(): String? {
return try {
val clipboard = Toolkit.getDefaultToolkit().systemClipboard
if (clipboard.isDataFlavorAvailable(DataFlavor.stringFlavor)) {
clipboard.getData(DataFlavor.stringFlavor) as? String
} else null
} catch (_: Exception) {
null
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,6 @@ interface ThemesRepository {
suspend fun setAmoledTheme(enabled: Boolean)
fun getFontTheme(): Flow<FontTheme>
suspend fun setFontTheme(fontTheme: FontTheme)
fun getAutoDetectClipboardLinks(): Flow<Boolean>
suspend fun setAutoDetectClipboardLinks(enabled: Boolean)
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,6 @@ interface ClipboardHelper {
label: String,
text: String
)

fun getText(): String?
}
Original file line number Diff line number Diff line change
Expand Up @@ -428,4 +428,14 @@
<string name="failed_to_share_link">লিংক শেয়ার করতে ব্যর্থ হয়েছে</string>
<string name="link_copied_to_clipboard">লিংক ক্লিপবোর্ডে কপি করা হয়েছে</string>

<!-- Translation feature -->
<string name="translate">অনুবাদ করুন</string>
<string name="translating">অনুবাদ হচ্ছে…</string>
<string name="show_original">মূল দেখান</string>
<string name="translated_to">%1$s এ অনুবাদিত</string>
<string name="translate_to">অনুবাদ করুন…</string>
<string name="search_language">ভাষা খুঁজুন</string>
<string name="change_language">ভাষা পরিবর্তন করুন</string>
<string name="translation_failed">অনুবাদ ব্যর্থ হয়েছে। আবার চেষ্টা করুন।</string>

</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -393,4 +393,14 @@
<string name="failed_to_share_link">No se pudo compartir el enlace</string>
<string name="link_copied_to_clipboard">Enlace copiado al portapapeles</string>

<!-- Translation feature -->
<string name="translate">Traducir</string>
<string name="translating">Traduciendo…</string>
<string name="show_original">Mostrar original</string>
<string name="translated_to">Traducido a %1$s</string>
<string name="translate_to">Traducir a…</string>
<string name="search_language">Buscar idioma</string>
<string name="change_language">Cambiar idioma</string>
<string name="translation_failed">Error de traducción. Inténtalo de nuevo.</string>

</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -393,4 +393,14 @@
<string name="failed_to_share_link">Échec du partage du lien</string>
<string name="link_copied_to_clipboard">Lien copié dans le presse-papiers</string>

<!-- Translation feature -->
<string name="translate">Traduire</string>
<string name="translating">Traduction…</string>
<string name="show_original">Afficher l\'original</string>
<string name="translated_to">Traduit en %1$s</string>
<string name="translate_to">Traduire en…</string>
<string name="search_language">Rechercher une langue</string>
<string name="change_language">Changer de langue</string>
<string name="translation_failed">Échec de la traduction. Veuillez réessayer.</string>

</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -428,4 +428,14 @@
<string name="failed_to_share_link">लिंक साझा करने में विफल</string>
<string name="link_copied_to_clipboard">लिंक क्लिपबोर्ड में कॉपी किया गया</string>

<!-- Translation feature -->
<string name="translate">अनुवाद करें</string>
<string name="translating">अनुवाद हो रहा है…</string>
<string name="show_original">मूल दिखाएं</string>
<string name="translated_to">%1$s में अनुवादित</string>
<string name="translate_to">अनुवाद करें…</string>
<string name="search_language">भाषा खोजें</string>
<string name="change_language">भाषा बदलें</string>
<string name="translation_failed">अनुवाद विफल। कृपया पुनः प्रयास करें।</string>

</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -429,4 +429,14 @@
<string name="failed_to_share_link">Impossibile condividere il link</string>
<string name="link_copied_to_clipboard">Link copiato negli appunti</string>

<!-- Translation feature -->
<string name="translate">Traduci</string>
<string name="translating">Traduzione…</string>
<string name="show_original">Mostra originale</string>
<string name="translated_to">Tradotto in %1$s</string>
<string name="translate_to">Traduci in…</string>
<string name="search_language">Cerca lingua</string>
<string name="change_language">Cambia lingua</string>
<string name="translation_failed">Traduzione fallita. Riprova.</string>

</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -392,4 +392,14 @@
<string name="failed_to_share_link">リンクの共有に失敗しました</string>
<string name="link_copied_to_clipboard">リンクをクリップボードにコピーしました</string>

<!-- Translation feature -->
<string name="translate">翻訳</string>
<string name="translating">翻訳中…</string>
<string name="show_original">原文を表示</string>
<string name="translated_to">%1$sに翻訳済み</string>
<string name="translate_to">翻訳先…</string>
<string name="search_language">言語を検索</string>
<string name="change_language">言語を変更</string>
<string name="translation_failed">翻訳に失敗しました。もう一度お試しください。</string>

</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -425,4 +425,14 @@
<string name="failed_to_share_link">링크 공유에 실패했습니다</string>
<string name="link_copied_to_clipboard">링크가 클립보드에 복사되었습니다</string>

<!-- Translation feature -->
<string name="translate">번역</string>
<string name="translating">번역 중…</string>
<string name="show_original">원문 보기</string>
<string name="translated_to">%1$s로 번역됨</string>
<string name="translate_to">번역 대상…</string>
<string name="search_language">언어 검색</string>
<string name="change_language">언어 변경</string>
<string name="translation_failed">번역 실패. 다시 시도해주세요.</string>

</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -391,4 +391,14 @@
<string name="failed_to_share_link">Nie udało się udostępnić linku</string>
<string name="link_copied_to_clipboard">Link skopiowany do schowka</string>

<!-- Translation feature -->
<string name="translate">Tłumacz</string>
<string name="translating">Tłumaczenie…</string>
<string name="show_original">Pokaż oryginał</string>
<string name="translated_to">Przetłumaczono na %1$s</string>
<string name="translate_to">Tłumacz na…</string>
<string name="search_language">Szukaj języka</string>
<string name="change_language">Zmień język</string>
<string name="translation_failed">Tłumaczenie nie powiodło się. Spróbuj ponownie.</string>

</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -393,4 +393,14 @@
<string name="failed_to_share_link">Не удалось поделиться ссылкой</string>
<string name="link_copied_to_clipboard">Ссылка скопирована в буфер обмена</string>

<!-- Translation feature -->
<string name="translate">Перевести</string>
<string name="translating">Перевод…</string>
<string name="show_original">Показать оригинал</string>
<string name="translated_to">Переведено на %1$s</string>
<string name="translate_to">Перевести на…</string>
<string name="search_language">Поиск языка</string>
<string name="change_language">Изменить язык</string>
<string name="translation_failed">Ошибка перевода. Попробуйте ещё раз.</string>

</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -425,4 +425,14 @@
<string name="failed_to_share_link">Bağlantı paylaşılamadı</string>
<string name="link_copied_to_clipboard">Bağlantı panoya kopyalandı</string>

<!-- Translation feature -->
<string name="translate">Çevir</string>
<string name="translating">Çevriliyor…</string>
<string name="show_original">Orijinali göster</string>
<string name="translated_to">%1$s diline çevrildi</string>
<string name="translate_to">Şuna çevir…</string>
<string name="search_language">Dil ara</string>
<string name="change_language">Dili değiştir</string>
<string name="translation_failed">Çeviri başarısız. Lütfen tekrar deneyin.</string>

</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -393,4 +393,14 @@
<string name="failed_to_share_link">无法分享链接</string>
<string name="link_copied_to_clipboard">链接已复制到剪贴板</string>

<!-- Translation feature -->
<string name="translate">翻译</string>
<string name="translating">翻译中…</string>
<string name="show_original">显示原文</string>
<string name="translated_to">已翻译为%1$s</string>
<string name="translate_to">翻译为…</string>
<string name="search_language">搜索语言</string>
<string name="change_language">更改语言</string>
<string name="translation_failed">翻译失败,请重试。</string>

</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -425,4 +425,23 @@
<string name="share_repository">Share repository</string>
<string name="failed_to_share_link">Failed to share link</string>
<string name="link_copied_to_clipboard">Link copied to clipboard</string>

<!-- Translation feature -->
<string name="translate">Translate</string>
<string name="translating">Translating…</string>
<string name="show_original">Show Original</string>
<string name="translated_to">Translated to %1$s</string>
<string name="translate_to">Translate to…</string>
<string name="search_language">Search language</string>
<string name="change_language">Change language</string>
<string name="translation_failed">Translation failed. Please try again.</string>

<!-- Search - GitHub Link -->
<string name="open_github_link">Open GitHub Link</string>
<string name="clipboard_link_detected">GitHub link detected in clipboard</string>
<string name="auto_detect_clipboard_links">Auto-detect clipboard links</string>
<string name="auto_detect_clipboard_description">Automatically detect GitHub links from clipboard when opening search</string>
<string name="detected_links">Detected Links</string>
<string name="open_in_app">Open in app</string>
<string name="no_github_link_in_clipboard">No GitHub link found in clipboard</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ package zed.rainxch.details.data.di

import org.koin.dsl.module
import zed.rainxch.details.data.repository.DetailsRepositoryImpl
import zed.rainxch.details.data.repository.TranslationRepositoryImpl
import zed.rainxch.details.domain.repository.DetailsRepository
import zed.rainxch.details.domain.repository.TranslationRepository

val detailsModule = module {
single<DetailsRepository> {
Expand All @@ -13,4 +15,10 @@ val detailsModule = module {
cacheManager = get()
)
}

single<TranslationRepository> {
TranslationRepositoryImpl(
localizationManager = get()
)
}
}
Loading