Add Community and Browser Integration links to the app menu
@ -4,6 +4,8 @@
|
||||
|
||||
### Added
|
||||
|
||||
- Add Community and Browser Integration links to the app menu
|
||||
|
||||
### Changed
|
||||
|
||||
- Change default download folder
|
||||
|
@ -153,6 +153,30 @@ buildConfig {
|
||||
"https://github.com/amir1376/ab-download-manager"
|
||||
}
|
||||
)
|
||||
buildConfigField(
|
||||
"INTEGRATION_CHROME_LINK",
|
||||
provider {
|
||||
"https://chromewebstore.google.com/detail/ab-download-manager-brows/bbobopahenonfdgjgaleledndnnfhooj"
|
||||
}
|
||||
)
|
||||
buildConfigField(
|
||||
"INTEGRATION_FIREFOX_LINK",
|
||||
provider {
|
||||
"https://addons.mozilla.org/en-US/firefox/addon/ab-download-manager/"
|
||||
}
|
||||
)
|
||||
buildConfigField(
|
||||
"TELEGRAM_GROUP",
|
||||
provider {
|
||||
"https://t.me/abdownloadmanager_discussion"
|
||||
}
|
||||
)
|
||||
buildConfigField(
|
||||
"TELEGRAM_CHANNEL",
|
||||
provider {
|
||||
"https://t.me/abdownloadmanager"
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,12 +1,16 @@
|
||||
package com.abdownloadmanager.desktop
|
||||
|
||||
import com.abdownloadmanager.desktop.BuildConfig
|
||||
import com.abdownloadmanager.desktop.utils.BrowserIntegrationModel
|
||||
import com.abdownloadmanager.desktop.utils.BrowserType
|
||||
|
||||
interface BaseConstants{
|
||||
val appName:String
|
||||
val packageName:String
|
||||
val projectWebsite:String
|
||||
val projectSourceCode:String
|
||||
val browserIntegrations:List<BrowserIntegrationModel>
|
||||
val telegramGroupUrl:String
|
||||
val telegramChannelUrl:String
|
||||
}
|
||||
|
||||
object SharedConstants:BaseConstants{
|
||||
@ -14,4 +18,14 @@ object SharedConstants:BaseConstants{
|
||||
override val packageName: String = BuildConfig.PACKAGE_NAME
|
||||
override val projectWebsite: String= BuildConfig.PROJECT_WEBSITE
|
||||
override val projectSourceCode: String= BuildConfig.PROJECT_SOURCE_CODE
|
||||
override val browserIntegrations: List<BrowserIntegrationModel> = listOf(
|
||||
BrowserIntegrationModel(
|
||||
BrowserType.Chrome,BuildConfig.INTEGRATION_CHROME_LINK
|
||||
),
|
||||
BrowserIntegrationModel(
|
||||
BrowserType.Firefox,BuildConfig.INTEGRATION_FIREFOX_LINK
|
||||
)
|
||||
)
|
||||
override val telegramChannelUrl: String = BuildConfig.TELEGRAM_CHANNEL
|
||||
override val telegramGroupUrl: String = BuildConfig.TELEGRAM_GROUP
|
||||
}
|
||||
|
@ -1,17 +1,24 @@
|
||||
package com.abdownloadmanager.desktop.actions
|
||||
|
||||
import com.abdownloadmanager.desktop.AppComponent
|
||||
import com.abdownloadmanager.desktop.SharedConstants
|
||||
import com.abdownloadmanager.desktop.di.Di
|
||||
import com.abdownloadmanager.desktop.ui.icon.MyIcons
|
||||
import com.abdownloadmanager.desktop.ui.widget.menu.SubMenu
|
||||
import com.abdownloadmanager.desktop.utils.AppInfo
|
||||
import com.abdownloadmanager.desktop.utils.ClipboardUtil
|
||||
import com.abdownloadmanager.desktop.utils.action.AnAction
|
||||
import com.abdownloadmanager.desktop.utils.action.MenuItem
|
||||
import com.abdownloadmanager.desktop.utils.action.buildMenu
|
||||
import com.abdownloadmanager.desktop.utils.action.simpleAction
|
||||
import com.abdownloadmanager.desktop.utils.getIcon
|
||||
import com.abdownloadmanager.desktop.utils.getName
|
||||
import ir.amirab.downloader.downloaditem.DownloadCredentials
|
||||
import ir.amirab.downloader.queue.DownloadQueue
|
||||
import ir.amirab.downloader.queue.activeQueuesFlow
|
||||
import ir.amirab.downloader.queue.inactiveQueuesFlow
|
||||
import com.abdownloadmanager.utils.extractors.linkextractor.DownloadCredentialFromStringExtractor
|
||||
import ir.amirab.util.UrlUtils
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.flow.*
|
||||
import kotlinx.coroutines.launch
|
||||
@ -92,6 +99,21 @@ val exitAction = simpleAction(
|
||||
) {
|
||||
appComponent.requestClose()
|
||||
}
|
||||
|
||||
val browserIntegrations = MenuItem.SubMenu(
|
||||
title = "Download Browser Integration",
|
||||
icon = MyIcons.download,
|
||||
items = buildMenu {
|
||||
for (browserExtension in SharedConstants.browserIntegrations){
|
||||
item(
|
||||
title = browserExtension.type.getName(),
|
||||
icon = browserExtension.type.getIcon(),
|
||||
onClick = { UrlUtils.openUrl(browserExtension.url) }
|
||||
)
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
val gotoSettingsAction = simpleAction(
|
||||
"Settings",
|
||||
MyIcons.settings,
|
||||
@ -122,6 +144,28 @@ val openOpenSourceThirdPartyLibraries = simpleAction(
|
||||
) {
|
||||
appComponent.openOpenSourceLibraries()
|
||||
}
|
||||
|
||||
val supportActionGroup = MenuItem.SubMenu(
|
||||
title = "Support & Community",
|
||||
icon = MyIcons.group,
|
||||
items = buildMenu {
|
||||
item("Website",MyIcons.appIcon){
|
||||
UrlUtils.openUrl(AppInfo.website)
|
||||
}
|
||||
item("Source Code",MyIcons.openSource){
|
||||
UrlUtils.openUrl(AppInfo.sourceCode)
|
||||
}
|
||||
subMenu("Telegram",MyIcons.telegram){
|
||||
item("Channel",MyIcons.speaker){
|
||||
UrlUtils.openUrl(SharedConstants.telegramChannelUrl)
|
||||
}
|
||||
item("Group",MyIcons.group){
|
||||
UrlUtils.openUrl(SharedConstants.telegramGroupUrl)
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
val openQueuesAction = simpleAction(
|
||||
title = "Open Queues",
|
||||
icon = MyIcons.queue
|
||||
|
@ -337,11 +337,15 @@ class HomeComponent(
|
||||
+dummyMessage
|
||||
separator()
|
||||
}
|
||||
+browserIntegrations
|
||||
separator()
|
||||
+gotoSettingsAction
|
||||
}
|
||||
subMenu("Help") {
|
||||
//TODO Enable Updater
|
||||
// +checkForUpdateAction
|
||||
+supportActionGroup
|
||||
separator()
|
||||
+openOpenSourceThirdPartyLibraries
|
||||
+openAboutAction
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.abdownloadmanager.desktop.ui.icon
|
||||
|
||||
import androidx.compose.foundation.Image
|
||||
import com.abdownloadmanager.desktop.ui.LocalContentAlpha
|
||||
import com.abdownloadmanager.desktop.ui.LocalContentColor
|
||||
import com.abdownloadmanager.desktop.ui.widget.Icon
|
||||
@ -15,6 +16,7 @@ import androidx.compose.ui.res.painterResource
|
||||
@Immutable
|
||||
sealed interface IconSource {
|
||||
val value: Any
|
||||
val requiredTint: Boolean
|
||||
|
||||
@Composable
|
||||
fun rememberPainter(): Painter
|
||||
@ -22,25 +24,27 @@ sealed interface IconSource {
|
||||
@Immutable
|
||||
data class StorageIconSource(
|
||||
override val value: String,
|
||||
override val requiredTint: Boolean,
|
||||
) : IconSource {
|
||||
@Composable
|
||||
override fun rememberPainter():Painter = painterResource(value)
|
||||
override fun rememberPainter(): Painter = painterResource(value)
|
||||
}
|
||||
|
||||
@Immutable
|
||||
data class VectorIconSource(
|
||||
override val value: ImageVector,
|
||||
override val requiredTint: Boolean,
|
||||
) : IconSource {
|
||||
@Composable
|
||||
override fun rememberPainter():Painter = rememberVectorPainter(value)
|
||||
override fun rememberPainter(): Painter = rememberVectorPainter(value)
|
||||
}
|
||||
}
|
||||
|
||||
context (IMyIcons)
|
||||
fun ImageVector.asIconSource() = IconSource.VectorIconSource(this)
|
||||
fun ImageVector.asIconSource(requiredTint: Boolean = true) = IconSource.VectorIconSource(this, requiredTint)
|
||||
|
||||
context (IMyIcons)
|
||||
fun String.asIconSource() = IconSource.StorageIconSource(this)
|
||||
fun String.asIconSource(requiredTint: Boolean = true) = IconSource.StorageIconSource(this, requiredTint)
|
||||
|
||||
|
||||
@Composable
|
||||
@ -50,17 +54,26 @@ fun MyIcon(
|
||||
modifier: Modifier = Modifier,
|
||||
tint: Color = LocalContentColor.current.copy(alpha = LocalContentAlpha.current),
|
||||
) {
|
||||
Icon(
|
||||
painter = icon.rememberPainter(),
|
||||
contentDescription = contentDescription,
|
||||
modifier = modifier,
|
||||
tint = tint,
|
||||
)
|
||||
val painter = icon.rememberPainter()
|
||||
if (icon.requiredTint) {
|
||||
Icon(
|
||||
painter = painter,
|
||||
contentDescription = contentDescription,
|
||||
modifier = modifier,
|
||||
tint = tint,
|
||||
)
|
||||
} else {
|
||||
Image(
|
||||
painter = painter,
|
||||
contentDescription = contentDescription,
|
||||
modifier = modifier,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
interface IMyIcons {
|
||||
val appIcon:IconSource
|
||||
val appIcon: IconSource
|
||||
|
||||
val settings: IconSource
|
||||
val search: IconSource
|
||||
@ -78,6 +91,15 @@ interface IMyIcons {
|
||||
// val menuClose: IconSource
|
||||
|
||||
val openSource: IconSource
|
||||
val telegram: IconSource
|
||||
val speaker: IconSource
|
||||
val group: IconSource
|
||||
|
||||
//browser icons
|
||||
val browserMozillaFirefox: IconSource
|
||||
val browserGoogleChrome: IconSource
|
||||
val browserMicrosoftEdge: IconSource
|
||||
val browserOpera: IconSource
|
||||
|
||||
val next: IconSource
|
||||
val back: IconSource
|
||||
|
@ -1,7 +1,7 @@
|
||||
package com.abdownloadmanager.desktop.ui.icon
|
||||
|
||||
object MyIcons : IMyIcons {
|
||||
override val appIcon: IconSource get() = "icons/app_icon.svg".asIconSource()
|
||||
override val appIcon: IconSource get() = "icons/app_icon.svg".asIconSource(false)
|
||||
|
||||
override val settings get() = "icons/settings.svg".asIconSource()
|
||||
override val search get() = "icons/search.svg".asIconSource()
|
||||
@ -19,6 +19,15 @@ object MyIcons : IMyIcons {
|
||||
override val undo get() = "icons/undo.svg".asIconSource()
|
||||
|
||||
override val openSource: IconSource get() = "icons/open_source.svg".asIconSource()
|
||||
override val telegram: IconSource get() = "icons/telegram.svg".asIconSource(false)
|
||||
override val speaker: IconSource get() = "icons/speaker.svg".asIconSource()
|
||||
override val group: IconSource get() = "icons/group.svg".asIconSource()
|
||||
|
||||
|
||||
override val browserMozillaFirefox: IconSource get() = "icons/browser_mozilla_firefox.svg".asIconSource(false)
|
||||
override val browserGoogleChrome: IconSource get() = "icons/browser_google_chrome.svg".asIconSource(false)
|
||||
override val browserMicrosoftEdge: IconSource get() = "icons/browser_microsoft_edge.svg".asIconSource(false)
|
||||
override val browserOpera: IconSource get() = "icons/browser_opera.svg".asIconSource(false)
|
||||
|
||||
// override val menu get() = TablerIcons.Menu.asIconSource()
|
||||
// override val menuClose get() = TablerIcons.X.asIconSource()
|
||||
|
@ -36,3 +36,6 @@ fun AppInfo.isInDebugMode(): Boolean {
|
||||
|
||||
val AppInfo.configDir: File get() = File(AppProperties.getConfigDirectory())
|
||||
val AppInfo.downloadDbDir:File get() = AppInfo.configDir.resolve("download_db")
|
||||
fun AppInfo.extensions(){
|
||||
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package com.abdownloadmanager.desktop.utils
|
||||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import com.abdownloadmanager.desktop.ui.icon.IconSource
|
||||
import com.abdownloadmanager.desktop.ui.icon.MyIcons
|
||||
|
||||
sealed class BrowserType(
|
||||
val code:String
|
||||
){
|
||||
data object Firefox:BrowserType("firefox")
|
||||
data object Chrome:BrowserType("chrome")
|
||||
data object Opera:BrowserType("opera")
|
||||
data object Edge:BrowserType("edge")
|
||||
}
|
||||
fun BrowserType.getName():String{
|
||||
return when(this){
|
||||
BrowserType.Chrome -> "Google Chrome"
|
||||
BrowserType.Edge -> "Microsoft Edge"
|
||||
BrowserType.Firefox -> "Mozilla Firefox"
|
||||
BrowserType.Opera -> "Opera"
|
||||
}
|
||||
}
|
||||
fun BrowserType.getIcon():IconSource{
|
||||
return when(this){
|
||||
BrowserType.Chrome -> MyIcons.browserGoogleChrome
|
||||
BrowserType.Edge -> MyIcons.browserMicrosoftEdge
|
||||
BrowserType.Firefox -> MyIcons.browserMozillaFirefox
|
||||
BrowserType.Opera -> MyIcons.browserOpera
|
||||
}
|
||||
}
|
||||
@Immutable
|
||||
data class BrowserIntegrationModel(
|
||||
val type:BrowserType,
|
||||
val url:String,
|
||||
)
|
@ -0,0 +1,7 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.0003 18.6765C15.6879 18.6765 18.6772 15.687 18.6772 11.9994C18.6772 8.3117 15.6879 5.3222 12.0003 5.3222C8.31262 5.3222 5.32312 8.3117 5.32312 11.9994C5.32312 15.687 8.31253 18.6765 12.0002 18.6765" fill="white"/>
|
||||
<path d="M3.36466 8.71849C2.86654 7.85567 2.28104 6.95014 1.60816 6.00189C0.554758 7.82602 0.000157853 9.89534 0.000122072 12.0018C8.62916e-05 14.1082 0.554616 16.1776 1.60796 18.0017C2.6613 19.8259 4.17633 21.3406 6.00072 22.3936C7.82511 23.4465 9.89456 24.0006 12.001 24.0001C13.1054 22.4511 13.8553 21.3342 14.2506 20.6495C15.0099 19.3344 15.9918 17.4515 17.1965 15.001V14.9995C16.6702 15.912 15.913 16.6699 15.0009 17.1968C14.0887 17.7238 13.054 18.0013 12.0006 18.0015C10.9472 18.0016 9.91232 17.7244 9.00005 17.1978C8.08779 16.6711 7.33027 15.9135 6.80369 15.0011C5.16757 11.9498 4.02122 9.85549 3.36466 8.71849Z" fill="#229342"/>
|
||||
<path d="M12.0007 23.9996C13.5766 23.9999 15.1371 23.6897 16.5931 23.0867C18.0491 22.4837 19.372 21.5998 20.4863 20.4855C21.6006 19.3711 22.4844 18.0481 23.0873 16.5921C23.6902 15.1361 24.0003 13.5756 23.9999 11.9997C23.9995 9.89323 23.4445 7.82399 22.3909 5.99997C20.1177 5.77591 18.44 5.66388 17.3578 5.66388C16.1308 5.66388 14.3448 5.77591 11.9998 5.99997L11.9985 6.00091C13.0519 6.00039 14.0869 6.27726 14.9994 6.80367C15.9118 7.33009 16.6696 8.08749 17.1964 8.99969C17.7233 9.9119 18.0006 10.9468 18.0006 12.0002C18.0006 13.0536 17.7232 14.0884 17.1963 15.0006L12.0007 23.9996Z" fill="#FBC116"/>
|
||||
<path d="M12.0003 16.751C14.6238 16.751 16.7505 14.6243 16.7505 12.0007C16.7505 9.37709 14.6238 7.25037 12.0002 7.25037C9.37681 7.25037 7.25 9.37718 7.25 12.0007C7.25 14.6242 9.37681 16.751 12.0003 16.751Z" fill="#1A73E8"/>
|
||||
<path d="M12.0003 6.00035H22.3912C21.3383 4.17593 19.8236 2.66089 17.9994 1.60758C16.1752 0.554259 14.1058 -0.000203538 11.9994 -6.10077e-05C9.89289 8.1523e-05 7.8236 0.554825 5.99954 1.60839C4.17548 2.66195 2.66097 4.17719 1.60828 6.00175L6.80381 15.0008L6.80521 15.0016C6.27811 14.0895 6.00044 13.0548 6.00013 12.0014C5.99982 10.948 6.27688 9.91304 6.80345 9.00068C7.33002 8.08833 8.08753 7.33071 8.99981 6.80401C9.91209 6.27731 10.947 6.0001 12.0004 6.00025L12.0003 6.00035Z" fill="#E33B2E"/>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
@ -0,0 +1,41 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M21.6563 17.8594C21.3375 18.0281 21.0094 18.1781 20.6719 18.3C19.5938 18.7031 18.4594 18.9094 17.3063 18.9094C12.8719 18.9094 9.00942 15.8625 9.00942 11.9438C9.0188 10.875 9.60942 9.89065 10.5469 9.3844C6.53442 9.55315 5.50317 13.7344 5.50317 16.1813C5.50317 23.1094 11.8875 23.8125 13.2657 23.8125C14.0063 23.8125 15.1219 23.5969 15.7969 23.3813L15.9188 23.3438C18.5063 22.4531 20.7 20.7094 22.1625 18.3938C22.275 18.2156 22.2188 17.9906 22.05 17.8781C21.9282 17.8031 21.7782 17.7938 21.6563 17.8594Z" fill="url(#paint0_linear_558_2396)"/>
|
||||
<path opacity="0.35" d="M21.6563 17.8594C21.3375 18.0281 21.0094 18.1781 20.6719 18.3C19.5938 18.7031 18.4594 18.9094 17.3063 18.9094C12.8719 18.9094 9.00942 15.8625 9.00942 11.9438C9.0188 10.875 9.60942 9.89065 10.5469 9.3844C6.53442 9.55315 5.50317 13.7344 5.50317 16.1813C5.50317 23.1094 11.8875 23.8125 13.2657 23.8125C14.0063 23.8125 15.1219 23.5969 15.7969 23.3813L15.9188 23.3438C18.5063 22.4531 20.7 20.7094 22.1625 18.3938C22.275 18.2156 22.2188 17.9906 22.05 17.8781C21.9282 17.8031 21.7782 17.7938 21.6563 17.8594Z" fill="url(#paint1_radial_558_2396)"/>
|
||||
<path d="M9.90943 22.6312C9.07505 22.1156 8.35318 21.4312 7.7813 20.6344C5.31568 17.2594 6.0563 12.525 9.4313 10.0594C9.78755 9.80624 10.1532 9.57186 10.5469 9.38436C10.8376 9.24374 11.3344 8.99999 12.0001 9.00936C12.9469 9.01874 13.8376 9.46874 14.4094 10.2281C14.7844 10.7344 15.0001 11.3437 15.0094 11.9812C15.0094 11.9625 17.3063 4.51874 7.50943 4.51874C3.3938 4.51874 0.00942882 8.42811 0.00942882 11.85C-0.00932118 13.6594 0.384429 15.4594 1.1438 17.1C3.7313 22.6125 10.0313 25.3125 15.8063 23.3906C13.8282 24.0094 11.6719 23.7375 9.90943 22.6312Z" fill="url(#paint2_linear_558_2396)"/>
|
||||
<path opacity="0.41" d="M9.90943 22.6312C9.07505 22.1156 8.35318 21.4312 7.7813 20.6344C5.31568 17.2594 6.0563 12.525 9.4313 10.0594C9.78755 9.80624 10.1532 9.57186 10.5469 9.38436C10.8376 9.24374 11.3344 8.99999 12.0001 9.00936C12.9469 9.01874 13.8376 9.46874 14.4094 10.2281C14.7844 10.7344 15.0001 11.3437 15.0094 11.9812C15.0094 11.9625 17.3063 4.51874 7.50943 4.51874C3.3938 4.51874 0.00942882 8.42811 0.00942882 11.85C-0.00932118 13.6594 0.384429 15.4594 1.1438 17.1C3.7313 22.6125 10.0313 25.3125 15.8063 23.3906C13.8282 24.0094 11.6719 23.7375 9.90943 22.6312Z" fill="url(#paint3_radial_558_2396)"/>
|
||||
<path d="M14.2781 13.9594C14.2031 14.0531 13.9688 14.1938 13.9688 14.4938C13.9688 14.7375 14.1281 14.9719 14.4094 15.1688C15.7594 16.1063 18.3 15.9844 18.3094 15.9844C19.3125 15.9844 20.2875 15.7125 21.15 15.2062C22.9125 14.175 24 12.2906 24 10.2469C24.0281 8.14688 23.25 6.75 22.9406 6.13125C20.9531 2.24063 16.6594 0 12 0C5.4375 0 0.09375 5.26875 0 11.8312C0.046875 8.40937 3.45 5.64375 7.5 5.64375C7.82812 5.64375 9.70312 5.67188 11.4375 6.59063C12.9656 7.39688 13.7719 8.3625 14.325 9.32812C14.9063 10.3312 15.0094 11.5875 15.0094 12.0938C15.0094 12.5906 14.7563 13.3406 14.2781 13.9594Z" fill="url(#paint4_radial_558_2396)"/>
|
||||
<path d="M14.2781 13.9594C14.2031 14.0531 13.9688 14.1938 13.9688 14.4938C13.9688 14.7375 14.1281 14.9719 14.4094 15.1688C15.7594 16.1063 18.3 15.9844 18.3094 15.9844C19.3125 15.9844 20.2875 15.7125 21.15 15.2062C22.9125 14.175 24 12.2906 24 10.2469C24.0281 8.14688 23.25 6.75 22.9406 6.13125C20.9531 2.24063 16.6594 0 12 0C5.4375 0 0.09375 5.26875 0 11.8312C0.046875 8.40937 3.45 5.64375 7.5 5.64375C7.82812 5.64375 9.70312 5.67188 11.4375 6.59063C12.9656 7.39688 13.7719 8.3625 14.325 9.32812C14.9063 10.3312 15.0094 11.5875 15.0094 12.0938C15.0094 12.5906 14.7563 13.3406 14.2781 13.9594Z" fill="url(#paint5_radial_558_2396)"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_558_2396" x1="5.50355" y1="16.5956" x2="22.2176" y2="16.5956" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#0C59A4"/>
|
||||
<stop offset="1" stop-color="#114A8B"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="paint1_radial_558_2396" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(14.7368 16.7284) scale(8.94098 8.49299)">
|
||||
<stop offset="0.72" stop-opacity="0"/>
|
||||
<stop offset="0.95" stop-opacity="0.53"/>
|
||||
<stop offset="1"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="paint2_linear_558_2396" x1="14.3223" y1="9.35118" x2="3.88112" y2="20.7242" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#1B9DE2"/>
|
||||
<stop offset="0.16" stop-color="#1595DF"/>
|
||||
<stop offset="0.67" stop-color="#0680D7"/>
|
||||
<stop offset="1" stop-color="#0078D4"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="paint3_radial_558_2396" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(6.61961 18.6571) rotate(-81.3826) scale(13.4435 10.8632)">
|
||||
<stop offset="0.76" stop-opacity="0"/>
|
||||
<stop offset="0.95" stop-opacity="0.5"/>
|
||||
<stop offset="1"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint4_radial_558_2396" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(2.42359 4.44307) rotate(92.2911) scale(18.9892 40.4492)">
|
||||
<stop stop-color="#35C1F1"/>
|
||||
<stop offset="0.11" stop-color="#34C1ED"/>
|
||||
<stop offset="0.23" stop-color="#2FC2DF"/>
|
||||
<stop offset="0.31" stop-color="#2BC3D2"/>
|
||||
<stop offset="0.67" stop-color="#36C752"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint5_radial_558_2396" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(22.5057 7.25679) rotate(73.7366) scale(9.12387 7.42096)">
|
||||
<stop stop-color="#66EB6E"/>
|
||||
<stop offset="1" stop-color="#66EB6E" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 5.7 KiB |
111
desktop/app/src/main/resources/icons/browser_mozilla_firefox.svg
Normal file
@ -0,0 +1,111 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_558_2381)">
|
||||
<path d="M22.7079 8.03391C22.2036 6.82041 21.1806 5.51019 20.3795 5.09604C20.9508 6.20266 21.3473 7.39108 21.5549 8.61906L21.557 8.63853C20.2447 5.36674 18.0193 4.04755 16.2019 1.17498C16.108 1.02855 16.0168 0.880389 15.9284 0.730572C15.8829 0.652309 15.8402 0.572407 15.8006 0.491025C15.7251 0.345052 15.667 0.190769 15.6274 0.0313121C15.6275 0.0239457 15.6248 0.0168115 15.62 0.0112789C15.6151 0.00574625 15.6084 0.00220496 15.601 0.00133471C15.5939 -0.000444904 15.5864 -0.000444904 15.5792 0.00133471C15.5778 0.00133471 15.5753 0.00405169 15.5735 0.00468566C15.5717 0.00531962 15.5678 0.00794603 15.5652 0.00912339L15.5696 0.00133471C12.6543 1.70841 11.665 4.86844 11.574 6.44909C10.4098 6.52907 9.29663 6.95808 8.37984 7.68016C8.28422 7.59911 8.18423 7.52334 8.08034 7.4532C7.81583 6.52752 7.80457 5.54782 8.04774 4.61631C6.97708 5.13493 6.02575 5.87017 5.25396 6.77549H5.24852C4.78854 6.19243 4.82087 4.2698 4.84723 3.86814C4.71116 3.9229 4.58127 3.99187 4.45969 4.07391C4.05363 4.36375 3.67401 4.68894 3.32526 5.04568C2.92792 5.44862 2.56499 5.8841 2.24028 6.34757V6.34929V6.34721C1.49418 7.4052 0.964915 8.60043 0.682999 9.86398L0.667512 9.94059C0.62468 10.1814 0.586635 10.4231 0.553399 10.6654C0.553399 10.6741 0.551588 10.6822 0.550682 10.6908C0.449038 11.2189 0.386078 11.7537 0.362305 12.2909V12.3508C0.370093 21.2862 10.0478 26.8622 17.7821 22.3878C19.2541 21.5362 20.5209 20.3716 21.4931 18.9764C22.4653 17.5812 23.119 15.9894 23.4081 14.3136C23.4276 14.1639 23.4434 14.0156 23.4608 13.8644C23.6999 11.8885 23.441 9.88424 22.7079 8.03391ZM9.33033 17.1193C9.38458 17.1454 9.43548 17.1736 9.49118 17.1984L9.49924 17.2035C9.44252 17.1763 9.38621 17.1482 9.33033 17.1193ZM21.5579 8.64124V8.6301L21.56 8.64242L21.5579 8.64124Z" fill="url(#paint0_linear_558_2381)"/>
|
||||
<path d="M22.7079 8.03394C22.2036 6.82045 21.1806 5.51023 20.3795 5.09607C20.9508 6.20269 21.3473 7.39111 21.5549 8.61909V8.63014L21.557 8.64245C22.4516 11.2025 22.3222 14.0093 21.1958 16.4761C19.8656 19.3304 16.6456 22.256 11.6054 22.1137C6.15953 21.9595 1.36342 17.9184 0.466818 12.6255C0.303618 11.7908 0.466818 11.3677 0.548871 10.6893C0.436895 11.2162 0.374434 11.7524 0.362305 12.2909V12.3509C0.370093 21.2862 10.0478 26.8623 17.7821 22.3878C19.2541 21.5363 20.5209 20.3717 21.4931 18.9764C22.4653 17.5812 23.119 15.9894 23.4081 14.3136C23.4276 14.1639 23.4434 14.0156 23.4608 13.8644C23.6999 11.8885 23.441 9.88427 22.7079 8.03394Z" fill="url(#paint1_radial_558_2381)"/>
|
||||
<path d="M22.7079 8.03394C22.2036 6.82045 21.1806 5.51023 20.3795 5.09607C20.9508 6.20269 21.3473 7.39111 21.5549 8.61909V8.63014L21.557 8.64245C22.4516 11.2025 22.3222 14.0093 21.1958 16.4761C19.8656 19.3304 16.6456 22.256 11.6054 22.1137C6.15953 21.9595 1.36342 17.9184 0.466818 12.6255C0.303618 11.7908 0.466818 11.3677 0.548871 10.6893C0.436895 11.2162 0.374434 11.7524 0.362305 12.2909V12.3509C0.370093 21.2862 10.0478 26.8623 17.7821 22.3878C19.2541 21.5363 20.5209 20.3717 21.4931 18.9764C22.4653 17.5812 23.119 15.9894 23.4081 14.3136C23.4276 14.1639 23.4434 14.0156 23.4608 13.8644C23.6999 11.8885 23.441 9.88427 22.7079 8.03394Z" fill="url(#paint2_radial_558_2381)"/>
|
||||
<path d="M17.0675 9.39829C17.0927 9.41595 17.1161 9.43361 17.1397 9.45128C16.8481 8.93431 16.4852 8.46098 16.0616 8.04524C12.4542 4.43718 15.1162 0.222052 15.5651 0.00795409L15.5696 0.00134277C12.6542 1.70842 11.665 4.86845 11.574 6.4491C11.7094 6.43977 11.8435 6.42836 11.9819 6.42836C13.0163 6.43028 14.0318 6.70608 14.9251 7.22774C15.8184 7.7494 16.5576 8.4983 17.0675 9.39829Z" fill="url(#paint3_radial_558_2381)"/>
|
||||
<path d="M11.9894 10.1188C11.9702 10.4075 10.9501 11.4032 10.5935 11.4032C7.29299 11.4032 6.7572 13.3998 6.7572 13.3998C6.90338 15.0811 8.07494 16.4659 9.49112 17.1984C9.55578 17.232 9.62144 17.2622 9.68701 17.2918C9.79926 17.3416 9.9129 17.3881 10.0278 17.4314C10.5138 17.6034 11.0229 17.7016 11.538 17.7227C17.323 17.9941 18.4437 10.8049 14.2689 8.71876C15.2538 8.59059 16.2511 8.83275 17.0675 9.39828C16.5575 8.49828 15.8183 7.74938 14.9251 7.22772C14.0318 6.70607 13.0163 6.43026 11.9819 6.42834C11.8441 6.42834 11.7094 6.43976 11.574 6.44908C10.4097 6.52906 9.29657 6.95807 8.37978 7.68015C8.55675 7.82994 8.75654 8.03001 9.17731 8.44471C9.96487 9.22068 11.9849 10.0245 11.9894 10.1188Z" fill="url(#paint4_radial_558_2381)"/>
|
||||
<path d="M11.9894 10.1188C11.9702 10.4075 10.9501 11.4032 10.5935 11.4032C7.29299 11.4032 6.7572 13.3998 6.7572 13.3998C6.90338 15.0811 8.07494 16.4659 9.49112 17.1984C9.55578 17.232 9.62144 17.2622 9.68701 17.2918C9.79926 17.3416 9.9129 17.3881 10.0278 17.4314C10.5138 17.6034 11.0229 17.7016 11.538 17.7227C17.323 17.9941 18.4437 10.8049 14.2689 8.71876C15.2538 8.59059 16.2511 8.83275 17.0675 9.39828C16.5575 8.49828 15.8183 7.74938 14.9251 7.22772C14.0318 6.70607 13.0163 6.43026 11.9819 6.42834C11.8441 6.42834 11.7094 6.43976 11.574 6.44908C10.4097 6.52906 9.29657 6.95807 8.37978 7.68015C8.55675 7.82994 8.75654 8.03001 9.17731 8.44471C9.96487 9.22068 11.9849 10.0245 11.9894 10.1188Z" fill="url(#paint5_radial_558_2381)"/>
|
||||
<path d="M7.83864 7.29419C7.91951 7.34565 7.99937 7.39867 8.07818 7.45322C7.81367 6.52755 7.80241 5.54785 8.04558 4.61633C6.97489 5.13494 6.02353 5.87018 5.25171 6.77552C5.30831 6.77398 6.99203 6.74373 7.83864 7.29419Z" fill="url(#paint6_radial_558_2381)"/>
|
||||
<path d="M0.468321 12.6254C1.36402 17.9184 6.16103 21.9594 11.6069 22.1137C16.6471 22.2562 19.867 19.3304 21.1973 16.4761C22.3237 14.0092 22.4531 11.2025 21.5585 8.64242V8.63137C21.5585 8.62267 21.5567 8.61751 21.5585 8.62023L21.5606 8.6397C21.9724 11.3281 20.605 13.9327 18.4673 15.6938L18.4607 15.7088C14.2957 19.101 10.3096 17.7554 9.50283 17.2062C9.44608 17.179 9.38977 17.151 9.33392 17.122C6.90548 15.9612 5.90228 13.7487 6.11729 11.8513C5.54083 11.8598 4.97426 11.701 4.48625 11.394C3.99824 11.087 3.60973 10.6451 3.36779 10.1218C4.00527 9.73131 4.73212 9.51055 5.47909 9.48057C6.22607 9.45059 6.96827 9.61239 7.63499 9.95055C9.00954 10.5745 10.5737 10.636 11.9929 10.1218C11.9885 10.0274 9.96852 9.2234 9.18086 8.44779C8.76009 8.033 8.5604 7.83321 8.38343 7.68323C8.28781 7.60215 8.18782 7.52635 8.08393 7.45618C8.01501 7.40918 7.93748 7.35828 7.84438 7.29715C6.99777 6.74669 5.31406 6.77694 5.25836 6.77848H5.25302C4.79303 6.19541 4.82536 4.27279 4.85172 3.87122C4.71566 3.92594 4.58576 3.99488 4.46419 4.07689C4.05813 4.36673 3.6785 4.69192 3.32976 5.04866C2.93098 5.45047 2.56653 5.88495 2.24025 6.34756V6.34928V6.3472C1.49415 7.4052 0.964878 8.60043 0.682963 9.86397C0.677347 9.88761 0.26491 11.6904 0.468321 12.6254Z" fill="url(#paint7_radial_558_2381)"/>
|
||||
<path d="M16.0622 8.04523C16.4859 8.46145 16.8489 8.9353 17.1403 9.45281C17.2005 9.49763 17.2585 9.5452 17.3143 9.59536C19.9458 12.0211 18.567 15.4501 18.4643 15.6942C20.6019 13.9329 21.9681 11.3284 21.5576 8.63998C20.2447 5.36674 18.0193 4.04755 16.2018 1.17498C16.1079 1.02855 16.0168 0.880389 15.9284 0.730572C15.8828 0.652309 15.8402 0.572407 15.8005 0.491025C15.7251 0.345052 15.667 0.190769 15.6273 0.0313121C15.6274 0.0239457 15.6248 0.0168115 15.6199 0.0112789C15.615 0.00574625 15.6083 0.00220496 15.601 0.00133471C15.5938 -0.000444904 15.5863 -0.000444904 15.5792 0.00133471C15.5777 0.00133471 15.5753 0.00405169 15.5734 0.00468566C15.5716 0.00531962 15.5677 0.00794603 15.5651 0.00912339C15.1162 0.222044 12.4542 4.43717 16.0622 8.04523Z" fill="url(#paint8_radial_558_2381)"/>
|
||||
<path d="M17.3125 9.59381C17.2568 9.54365 17.1987 9.49608 17.1386 9.45126C17.1149 9.4336 17.0916 9.41594 17.0664 9.39828C16.25 8.83275 15.2526 8.59059 14.2678 8.71876C18.4424 10.8061 17.3224 17.9941 11.5369 17.7227C11.0218 17.7016 10.5127 17.6034 10.0267 17.4314C9.9117 17.3883 9.79805 17.3418 9.68588 17.2918C9.62022 17.2619 9.55465 17.232 9.48999 17.1984L9.49805 17.2035C10.3048 17.7543 14.2896 19.0998 18.4559 15.7061L18.4625 15.6912C18.5664 15.4485 19.9452 12.0187 17.3125 9.59381Z" fill="url(#paint9_radial_558_2381)"/>
|
||||
<path d="M6.75719 13.3999C6.75719 13.3999 7.29298 11.4032 10.5935 11.4032C10.9501 11.4032 11.9711 10.4076 11.9894 10.1188C10.5701 10.633 9.00596 10.5715 7.63143 9.94748C6.96469 9.60932 6.22246 9.44753 5.47547 9.47752C4.72848 9.50752 4.00161 9.7283 3.36414 10.1188C3.60607 10.6421 3.99458 11.084 4.48259 11.391C4.9706 11.698 5.53717 11.8568 6.11363 11.8483C5.89863 13.7461 6.90183 15.9586 9.33026 17.119C9.38451 17.1451 9.43541 17.1733 9.49111 17.1981C8.07375 16.4659 6.90337 15.0811 6.75719 13.3999Z" fill="url(#paint10_radial_558_2381)"/>
|
||||
<path d="M22.7079 8.03391C22.2036 6.82041 21.1806 5.51019 20.3795 5.09604C20.9508 6.20266 21.3473 7.39108 21.5549 8.61906L21.557 8.63853C20.2447 5.36674 18.0193 4.04755 16.2019 1.17498C16.108 1.02855 16.0168 0.880389 15.9284 0.730572C15.8829 0.652309 15.8402 0.572407 15.8006 0.491025C15.7251 0.345052 15.667 0.190769 15.6274 0.0313121C15.6275 0.0239457 15.6248 0.0168115 15.62 0.0112789C15.6151 0.00574625 15.6084 0.00220496 15.601 0.00133471C15.5939 -0.000444904 15.5864 -0.000444904 15.5792 0.00133471C15.5778 0.00133471 15.5753 0.00405169 15.5735 0.00468566C15.5717 0.00531962 15.5678 0.00794603 15.5652 0.00912339L15.5696 0.00133471C12.6543 1.70841 11.665 4.86844 11.574 6.44909C11.7094 6.43976 11.8435 6.42835 11.9819 6.42835C13.0164 6.43027 14.0318 6.70608 14.9251 7.22773C15.8184 7.74939 16.5576 8.49829 17.0676 9.39829C16.2512 8.83276 15.2538 8.5906 14.269 8.71877C18.4437 10.8061 17.3237 17.9941 11.5381 17.7228C11.0229 17.7016 10.5139 17.6034 10.0279 17.4314C9.91289 17.3883 9.79924 17.3418 9.68707 17.2918C9.6215 17.2619 9.55584 17.232 9.49118 17.1984L9.49924 17.2035C9.44252 17.1763 9.38621 17.1482 9.33033 17.1193C9.38458 17.1454 9.43548 17.1736 9.49118 17.1984C8.07382 16.4659 6.90344 15.0811 6.75726 13.3999C6.75726 13.3999 7.29305 11.4032 10.5935 11.4032C10.9502 11.4032 11.9711 10.4076 11.9894 10.1188C11.9849 10.0245 9.96493 9.22041 9.17737 8.44472C8.7566 8.03001 8.55681 7.83023 8.37984 7.68016C8.28422 7.59911 8.18423 7.52334 8.08034 7.4532C7.81583 6.52752 7.80457 5.54782 8.04774 4.61631C6.97708 5.13493 6.02575 5.87017 5.25396 6.77549H5.24852C4.78854 6.19243 4.82087 4.2698 4.84723 3.86814C4.71116 3.9229 4.58127 3.99187 4.45969 4.07391C4.05363 4.36375 3.67401 4.68894 3.32526 5.04568C2.92792 5.44862 2.56499 5.8841 2.24028 6.34757V6.34929V6.34721C1.49418 7.4052 0.964915 8.60043 0.682999 9.86398L0.667512 9.94059C0.645595 10.0428 0.547693 10.5614 0.533565 10.6728C0.533565 10.6812 0.533565 10.6641 0.533565 10.6728C0.443984 11.2082 0.386794 11.7486 0.362305 12.2909V12.3508C0.370093 21.2862 10.0478 26.8622 17.7821 22.3878C19.2541 21.5362 20.5209 20.3716 21.4931 18.9764C22.4653 17.5812 23.119 15.9894 23.4081 14.3136C23.4276 14.1639 23.4434 14.0156 23.4608 13.8644C23.6999 11.8885 23.441 9.88424 22.7079 8.03391Z" fill="url(#paint11_linear_558_2381)"/>
|
||||
</g>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_558_2381" x1="21.1716" y1="3.71001" x2="1.90368" y2="22.2999" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.048" stop-color="#FFF44F"/>
|
||||
<stop offset="0.111" stop-color="#FFE847"/>
|
||||
<stop offset="0.225" stop-color="#FFC830"/>
|
||||
<stop offset="0.368" stop-color="#FF980E"/>
|
||||
<stop offset="0.401" stop-color="#FF8B16"/>
|
||||
<stop offset="0.462" stop-color="#FF672A"/>
|
||||
<stop offset="0.534" stop-color="#FF3647"/>
|
||||
<stop offset="0.705" stop-color="#E31587"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="paint1_radial_558_2381" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(20.2816 2.65807) scale(24.1967 24.1967)">
|
||||
<stop offset="0.129" stop-color="#FFBD4F"/>
|
||||
<stop offset="0.186" stop-color="#FFAC31"/>
|
||||
<stop offset="0.247" stop-color="#FF9D17"/>
|
||||
<stop offset="0.283" stop-color="#FF980E"/>
|
||||
<stop offset="0.403" stop-color="#FF563B"/>
|
||||
<stop offset="0.467" stop-color="#FF3750"/>
|
||||
<stop offset="0.71" stop-color="#F5156C"/>
|
||||
<stop offset="0.782" stop-color="#EB0878"/>
|
||||
<stop offset="0.86" stop-color="#E50080"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint2_radial_558_2381" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(11.44 12.5503) scale(24.1967 24.1967)">
|
||||
<stop offset="0.3" stop-color="#960E18"/>
|
||||
<stop offset="0.351" stop-color="#B11927" stop-opacity="0.74"/>
|
||||
<stop offset="0.435" stop-color="#DB293D" stop-opacity="0.343"/>
|
||||
<stop offset="0.497" stop-color="#F5334B" stop-opacity="0.094"/>
|
||||
<stop offset="0.53" stop-color="#FF3750" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint3_radial_558_2381" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(14.3571 -2.83313) scale(17.5295 17.5295)">
|
||||
<stop offset="0.132" stop-color="#FFF44F"/>
|
||||
<stop offset="0.252" stop-color="#FFDC3E"/>
|
||||
<stop offset="0.506" stop-color="#FF9D12"/>
|
||||
<stop offset="0.526" stop-color="#FF980E"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint4_radial_558_2381" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(8.76349 18.8707) scale(11.5211)">
|
||||
<stop offset="0.353" stop-color="#3A8EE6"/>
|
||||
<stop offset="0.472" stop-color="#5C79F0"/>
|
||||
<stop offset="0.669" stop-color="#9059FF"/>
|
||||
<stop offset="1" stop-color="#C139E6"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint5_radial_558_2381" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(12.7658 10.5676) rotate(-13.5915) scale(6.10841 7.15142)">
|
||||
<stop offset="0.206" stop-color="#9059FF" stop-opacity="0"/>
|
||||
<stop offset="0.278" stop-color="#8C4FF3" stop-opacity="0.064"/>
|
||||
<stop offset="0.747" stop-color="#7716A8" stop-opacity="0.45"/>
|
||||
<stop offset="0.975" stop-color="#6E008B" stop-opacity="0.6"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint6_radial_558_2381" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(11.1344 1.668) scale(8.28826)">
|
||||
<stop stop-color="#FFE226"/>
|
||||
<stop offset="0.121" stop-color="#FFDB27"/>
|
||||
<stop offset="0.295" stop-color="#FFC82A"/>
|
||||
<stop offset="0.502" stop-color="#FFA930"/>
|
||||
<stop offset="0.732" stop-color="#FF7E37"/>
|
||||
<stop offset="0.792" stop-color="#FF7139"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint7_radial_558_2381" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(17.6492 -3.58901) scale(35.3623)">
|
||||
<stop offset="0.113" stop-color="#FFF44F"/>
|
||||
<stop offset="0.456" stop-color="#FF980E"/>
|
||||
<stop offset="0.622" stop-color="#FF5634"/>
|
||||
<stop offset="0.716" stop-color="#FF3647"/>
|
||||
<stop offset="0.904" stop-color="#E31587"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint8_radial_558_2381" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(14.6744 -1.62342) rotate(83.9761) scale(25.9179 17.0097)">
|
||||
<stop stop-color="#FFF44F"/>
|
||||
<stop offset="0.06" stop-color="#FFE847"/>
|
||||
<stop offset="0.168" stop-color="#FFC830"/>
|
||||
<stop offset="0.304" stop-color="#FF980E"/>
|
||||
<stop offset="0.356" stop-color="#FF8B16"/>
|
||||
<stop offset="0.455" stop-color="#FF672A"/>
|
||||
<stop offset="0.57" stop-color="#FF3647"/>
|
||||
<stop offset="0.737" stop-color="#E31587"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint9_radial_558_2381" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(10.9392 4.73788) scale(22.0773 22.0773)">
|
||||
<stop offset="0.137" stop-color="#FFF44F"/>
|
||||
<stop offset="0.48" stop-color="#FF980E"/>
|
||||
<stop offset="0.592" stop-color="#FF5634"/>
|
||||
<stop offset="0.655" stop-color="#FF3647"/>
|
||||
<stop offset="0.904" stop-color="#E31587"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint10_radial_558_2381" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(16.7669 6.03012) scale(24.1634 24.1634)">
|
||||
<stop offset="0.094" stop-color="#FFF44F"/>
|
||||
<stop offset="0.231" stop-color="#FFE141"/>
|
||||
<stop offset="0.509" stop-color="#FFAF1E"/>
|
||||
<stop offset="0.626" stop-color="#FF980E"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="paint11_linear_558_2381" x1="20.9401" y1="3.61058" x2="4.54504" y2="20.0053" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.167" stop-color="#FFF44F" stop-opacity="0.8"/>
|
||||
<stop offset="0.266" stop-color="#FFF44F" stop-opacity="0.634"/>
|
||||
<stop offset="0.489" stop-color="#FFF44F" stop-opacity="0.217"/>
|
||||
<stop offset="0.6" stop-color="#FFF44F" stop-opacity="0"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip0_558_2381">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 17 KiB |
18
desktop/app/src/main/resources/icons/browser_opera.svg
Normal file
@ -0,0 +1,18 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M8.05313 18.7594C6.72188 17.1938 5.86875 14.8781 5.8125 12.2812V11.7188C5.86875 9.12187 6.73125 6.80625 8.05313 5.24063C9.77813 3.00938 12.3094 2.00625 15.1688 2.00625C16.9313 2.00625 18.5906 2.12813 19.9969 3.06563C17.8875 1.1625 15.1031 0.009375 12.0469 0H12C5.37188 0 0 5.37188 0 12C0 18.4312 5.0625 23.6906 11.4281 23.9906C11.6156 24 11.8125 24 12 24C15.075 24 17.8781 22.8469 19.9969 20.9437C18.5906 21.8812 17.025 21.9188 15.2625 21.9188C12.4125 21.9281 9.76875 21 8.05313 18.7594Z" fill="url(#paint0_linear_558_2401)"/>
|
||||
<path d="M8.0531 5.2406C9.14998 3.93748 10.575 3.15935 12.1312 3.15935C15.6281 3.15935 18.4593 7.1156 18.4593 12.0094C18.4593 16.9031 15.6281 20.8594 12.1312 20.8594C10.575 20.8594 9.15935 20.0719 8.0531 18.7781C9.7781 21.0094 12.3375 22.4344 15.1875 22.4344C16.9406 22.4344 18.5906 21.9 19.9969 20.9625C22.4531 18.75 24 15.5531 24 12C24 8.44685 22.4531 5.24998 19.9969 3.05623C18.5906 2.11873 16.95 1.58435 15.1875 1.58435C12.3281 1.58435 9.76873 2.99998 8.0531 5.2406Z" fill="url(#paint1_linear_558_2401)"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_558_2401" x1="999.904" y1="39.12" x2="999.904" y2="2365.08" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.3" stop-color="#FF1B2D"/>
|
||||
<stop offset="0.4381" stop-color="#FA1A2C"/>
|
||||
<stop offset="0.5939" stop-color="#ED1528"/>
|
||||
<stop offset="0.7581" stop-color="#D60E21"/>
|
||||
<stop offset="0.9272" stop-color="#B70519"/>
|
||||
<stop offset="1" stop-color="#A70014"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_558_2401" x1="805.237" y1="19.3694" x2="805.237" y2="2076.56" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#9C0000"/>
|
||||
<stop offset="0.7" stop-color="#FF4B4B"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
3
desktop/app/src/main/resources/icons/group.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M7 18V17C7 15.6739 7.52678 14.4021 8.46447 13.4645C9.40215 12.5268 10.6739 12 12 12M12 12C13.3261 12 14.5979 12.5268 15.5355 13.4645C16.4732 14.4021 17 15.6739 17 17V18M12 12C12.7956 12 13.5587 11.6839 14.1213 11.1213C14.6839 10.5587 15 9.79565 15 9C15 8.20435 14.6839 7.44129 14.1213 6.87868C13.5587 6.31607 12.7956 6 12 6C11.2044 6 10.4413 6.31607 9.87868 6.87868C9.31607 7.44129 9 8.20435 9 9C9 9.79565 9.31607 10.5587 9.87868 11.1213C10.4413 11.6839 11.2044 12 12 12ZM1 18V17C1 16.2044 1.31607 15.4413 1.87868 14.8787C2.44129 14.3161 3.20435 14 4 14M4 14C4.53043 14 5.03914 13.7893 5.41421 13.4142C5.78929 13.0391 6 12.5304 6 12C6 11.4696 5.78929 10.9609 5.41421 10.5858C5.03914 10.2107 4.53043 10 4 10C3.46957 10 2.96086 10.2107 2.58579 10.5858C2.21071 10.9609 2 11.4696 2 12C2 12.5304 2.21071 13.0391 2.58579 13.4142C2.96086 13.7893 3.46957 14 4 14ZM23 18V17C23 16.2044 22.6839 15.4413 22.1213 14.8787C21.5587 14.3161 20.7956 14 20 14M20 14C20.5304 14 21.0391 13.7893 21.4142 13.4142C21.7893 13.0391 22 12.5304 22 12C22 11.4696 21.7893 10.9609 21.4142 10.5858C21.0391 10.2107 20.5304 10 20 10C19.4696 10 18.9609 10.2107 18.5858 10.5858C18.2107 10.9609 18 11.4696 18 12C18 12.5304 18.2107 13.0391 18.5858 13.4142C18.9609 13.7893 19.4696 14 20 14Z" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
3
desktop/app/src/main/resources/icons/speaker.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.9399 16.1395L16.8389 18.968L18.7707 18.4503L14.6296 2.99552L12.6978 3.51316L9.86936 8.41214L3.10787 10.2239C2.04536 10.5086 1.40896 11.6108 1.69366 12.6734L2.72894 16.5371C3.01364 17.5996 4.11591 18.236 5.17843 17.9513L6.14435 17.6925L6.92081 20.5902C7.20551 21.6528 8.30778 22.2892 9.3703 22.0045L11.3022 21.4868L10.0081 16.6572L11.9399 16.1395ZM9.83246 20.6383L8.53836 15.8087L12.1094 14.8518L17.0084 17.6802L17.301 17.6018L13.7811 4.46522L13.4885 4.54362L10.6601 9.4426L3.41846 11.383C2.9961 11.4962 2.7396 11.9404 2.85277 12.3628L3.88805 16.2265C4.00122 16.6488 4.44549 16.9053 4.86784 16.7922L6.99288 16.2228L8.07992 20.2797C8.19309 20.702 8.63736 20.9585 9.05972 20.8453L9.83246 20.6383ZM20.5067 12.565C20.1939 12.8063 19.8244 12.9916 19.4085 13.1031L17.8556 7.30751C18.2714 7.19608 18.6841 7.17183 19.0756 7.22442C20.2302 7.37948 21.2013 8.20262 21.5298 9.42883C21.8584 10.655 21.429 11.8534 20.5067 12.565ZM19.4361 8.56972L20.1462 11.2197C20.4235 10.8108 20.5169 10.2852 20.3707 9.73942C20.2245 9.19368 19.8807 8.78518 19.4361 8.56972Z" fill="white"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
10
desktop/app/src/main/resources/icons/telegram.svg
Normal file
@ -0,0 +1,10 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12 0C8.81813 0 5.76375 1.26506 3.51562 3.51469C1.2652 5.76522 0.000643966 8.81734 0 12C0 15.1813 1.26562 18.2357 3.51562 20.4853C5.76375 22.7349 8.81813 24 12 24C15.1819 24 18.2363 22.7349 20.4844 20.4853C22.7344 18.2357 24 15.1813 24 12C24 8.81869 22.7344 5.76431 20.4844 3.51469C18.2363 1.26506 15.1819 0 12 0Z" fill="url(#paint0_linear_558_2319)"/>
|
||||
<path d="M5.43184 11.8732C8.93059 10.3492 11.2631 9.34448 12.4293 8.85898C15.7631 7.47279 16.455 7.23204 16.9068 7.22389C17.0062 7.22229 17.2275 7.24686 17.3718 7.36357C17.4918 7.46201 17.5256 7.59514 17.5425 7.68861C17.5575 7.78198 17.5781 7.99479 17.5612 8.16092C17.3812 10.0584 16.5993 14.663 16.2018 16.7884C16.035 17.6876 15.7031 17.9891 15.3825 18.0185C14.685 18.0827 14.1562 17.558 13.4812 17.1157C12.4256 16.4233 11.8293 15.9924 10.8037 15.3169C9.61872 14.5361 10.3875 14.1069 11.0625 13.4057C11.2387 13.2221 14.31 10.4293 14.3681 10.176C14.3756 10.1443 14.3831 10.0262 14.3118 9.96392C14.2425 9.90148 14.1393 9.92286 14.0643 9.93973C13.9575 9.96373 12.2718 11.079 9.00184 13.2853C8.52372 13.6142 8.09059 13.7745 7.70059 13.766C7.27309 13.7569 6.44809 13.5238 5.83497 13.3247C5.08497 13.0804 4.48684 12.9512 4.53934 12.5362C4.56559 12.3202 4.86372 12.0992 5.43184 11.8732Z" fill="white"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_558_2319" x1="1200" y1="0" x2="1200" y2="2400" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#2AABEE"/>
|
||||
<stop offset="1" stop-color="#229ED9"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
@ -1,5 +1,8 @@
|
||||
package ir.amirab.util
|
||||
|
||||
import ir.amirab.util.platform.Platform
|
||||
import java.awt.Desktop
|
||||
import java.net.URI
|
||||
import java.net.URL
|
||||
import java.net.URLDecoder
|
||||
|
||||
@ -10,10 +13,10 @@ object UrlUtils {
|
||||
}.map { url ->
|
||||
val foundName = url.path
|
||||
.split("/")
|
||||
.filter { it.isNotBlank()}
|
||||
.filter { it.isNotBlank() }
|
||||
.lastOrNull()?.let {
|
||||
kotlin.runCatching {
|
||||
URLDecoder.decode(it,Charsets.UTF_8)
|
||||
URLDecoder.decode(it, Charsets.UTF_8)
|
||||
}.getOrNull()
|
||||
}
|
||||
if (foundName != null) {
|
||||
@ -23,4 +26,13 @@ object UrlUtils {
|
||||
}
|
||||
.getOrNull()
|
||||
}
|
||||
|
||||
fun openUrl(url: String) {
|
||||
kotlin.runCatching {
|
||||
val desktop = Desktop.getDesktop()
|
||||
if (desktop.isSupported(Desktop.Action.BROWSE)) {
|
||||
desktop.browse(URI(url))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|