From 8bfccd51ebbdb0d1530116f44afa8621a2ecd38a Mon Sep 17 00:00:00 2001 From: Kevin Boulongne Date: Tue, 15 Oct 2024 11:23:36 +0200 Subject: [PATCH] feat: Add images related to Data Management --- .../swisstransfer/ui/images/ThemedImage.kt | 30 ++ .../ui/images/icons/matomo/Matomo.kt | 53 +++ .../ui/images/icons/matomo/MatomoDark.kt | 205 +++++++++ .../ui/images/icons/matomo/MatomoLight.kt | 195 ++++++++ .../ui/images/icons/sentry/Sentry.kt | 53 +++ .../ui/images/icons/sentry/SentryDark.kt | 131 ++++++ .../ui/images/icons/sentry/SentryLight.kt | 131 ++++++ .../illus/dataProtection/DataProtection.kt | 53 +++ .../dataProtection/DataProtectionDark.kt | 434 ++++++++++++++++++ .../dataProtection/DataProtectionLight.kt | 434 ++++++++++++++++++ .../ui/images/illus/matomo/Matomo.kt | 53 +++ .../ui/images/illus/matomo/MatomoDark.kt | 402 ++++++++++++++++ .../ui/images/illus/matomo/MatomoLight.kt | 392 ++++++++++++++++ .../ui/images/illus/sentry/Sentry.kt | 53 +++ .../ui/images/illus/sentry/SentryDark.kt | 210 +++++++++ .../ui/images/illus/sentry/SentryLight.kt | 193 ++++++++ 16 files changed, 3022 insertions(+) create mode 100644 app/src/main/java/com/infomaniak/swisstransfer/ui/images/ThemedImage.kt create mode 100644 app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/matomo/Matomo.kt create mode 100644 app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/matomo/MatomoDark.kt create mode 100644 app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/matomo/MatomoLight.kt create mode 100644 app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/sentry/Sentry.kt create mode 100644 app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/sentry/SentryDark.kt create mode 100644 app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/sentry/SentryLight.kt create mode 100644 app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/dataProtection/DataProtection.kt create mode 100644 app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/dataProtection/DataProtectionDark.kt create mode 100644 app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/dataProtection/DataProtectionLight.kt create mode 100644 app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/matomo/Matomo.kt create mode 100644 app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/matomo/MatomoDark.kt create mode 100644 app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/matomo/MatomoLight.kt create mode 100644 app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/sentry/Sentry.kt create mode 100644 app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/sentry/SentryDark.kt create mode 100644 app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/sentry/SentryLight.kt diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/images/ThemedImage.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/ThemedImage.kt new file mode 100644 index 000000000..a6081a354 --- /dev/null +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/ThemedImage.kt @@ -0,0 +1,30 @@ +/* + * Infomaniak SwissTransfer - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.swisstransfer.ui.images + +import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.vector.ImageVector +import com.infomaniak.swisstransfer.ui.theme.LocalIsDarkMode + +interface ThemedImage { + val light: ImageVector + val dark: ImageVector + + @Composable + fun image(): ImageVector = if (LocalIsDarkMode.current) dark else light +} diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/matomo/Matomo.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/matomo/Matomo.kt new file mode 100644 index 000000000..af95ef338 --- /dev/null +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/matomo/Matomo.kt @@ -0,0 +1,53 @@ +/* + * Infomaniak SwissTransfer - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.swisstransfer.ui.images.icons.matomo + +import android.content.res.Configuration +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import com.infomaniak.swisstransfer.ui.images.AppImages +import com.infomaniak.swisstransfer.ui.images.AppImages.AppIcons +import com.infomaniak.swisstransfer.ui.images.ThemedImage +import com.infomaniak.swisstransfer.ui.theme.SwissTransferTheme + +val AppIcons.Matomo: ThemedImage + get() = _matomo ?: object : ThemedImage { + override val light = AppIcons.MatomoLight + override val dark = AppIcons.MatomoDark + }.also { _matomo = it } + +private var _matomo: ThemedImage? = null + +@Preview(name = "Light") +@Preview(name = "Dark", uiMode = Configuration.UI_MODE_NIGHT_YES or Configuration.UI_MODE_TYPE_NORMAL) +@Composable +private fun Preview() { + SwissTransferTheme { + Box { + Image( + imageVector = AppIcons.Matomo.image(), + contentDescription = null, + modifier = Modifier.size(AppImages.previewSize), + ) + } + } +} diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/matomo/MatomoDark.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/matomo/MatomoDark.kt new file mode 100644 index 000000000..ab8185032 --- /dev/null +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/matomo/MatomoDark.kt @@ -0,0 +1,205 @@ +/* + * Infomaniak SwissTransfer - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.swisstransfer.ui.images.icons.matomo + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.infomaniak.swisstransfer.ui.images.AppImages +import com.infomaniak.swisstransfer.ui.images.AppImages.AppIcons + +val AppIcons.MatomoDark: ImageVector + get() { + + if (_matomoDark != null) return _matomoDark!! + + _matomoDark = Builder( + name = "MatomoDark", + defaultWidth = 24.0.dp, + defaultHeight = 24.0.dp, + viewportWidth = 24.0f, + viewportHeight = 24.0f, + ).apply { + path( + fill = SolidColor(Color(0xFFFFFFFF)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(12.0f, 12.0f) + moveToRelative(-12.0f, 0.0f) + arcToRelative(12.0f, 12.0f, 0.0f, true, true, 24.0f, 0.0f) + arcToRelative(12.0f, 12.0f, 0.0f, true, true, -24.0f, 0.0f) + } + path( + fill = SolidColor(Color(0xFF95C748)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(21.35f, 13.478f) + lineTo(21.302f, 13.402f) + curveTo(21.293f, 13.393f, 21.285f, 13.382f, 21.279f, 13.37f) + lineTo(17.939f, 8.288f) + lineTo(13.623f, 11.493f) + lineTo(16.794f, 16.36f) + lineTo(16.833f, 16.422f) + lineTo(16.851f, 16.447f) + curveTo(17.253f, 17.028f, 17.866f, 17.428f, 18.56f, 17.563f) + curveTo(19.253f, 17.697f, 19.972f, 17.554f, 20.561f, 17.164f) + curveTo(21.15f, 16.775f, 21.564f, 16.171f, 21.713f, 15.481f) + curveTo(21.862f, 14.79f, 21.735f, 14.069f, 21.359f, 13.471f) + } + path( + fill = SolidColor(Color(0xFF35BFC0)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(8.403f, 14.893f) + curveTo(8.403f, 14.358f, 8.245f, 13.836f, 7.948f, 13.392f) + curveTo(7.651f, 12.948f, 7.229f, 12.601f, 6.735f, 12.397f) + curveTo(6.242f, 12.193f, 5.699f, 12.139f, 5.174f, 12.243f) + curveTo(4.65f, 12.347f, 4.169f, 12.605f, 3.791f, 12.983f) + curveTo(3.413f, 13.36f, 3.156f, 13.842f, 3.052f, 14.366f) + curveTo(2.948f, 14.89f, 3.001f, 15.433f, 3.206f, 15.927f) + curveTo(3.41f, 16.42f, 3.756f, 16.842f, 4.201f, 17.139f) + curveTo(4.645f, 17.436f, 5.167f, 17.594f, 5.701f, 17.594f) + curveTo(6.418f, 17.594f, 7.105f, 17.31f, 7.612f, 16.803f) + curveTo(8.118f, 16.296f, 8.403f, 15.609f, 8.403f, 14.893f) + close() + } + path( + fill = SolidColor(Color(0xFF3253A0)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(18.354f, 9.703f) + curveTo(18.355f, 9.281f, 18.258f, 8.864f, 18.069f, 8.487f) + curveTo(17.881f, 8.109f, 17.607f, 7.781f, 17.268f, 7.528f) + curveTo(16.93f, 7.276f, 16.538f, 7.106f, 16.122f, 7.032f) + curveTo(15.707f, 6.959f, 15.28f, 6.983f, 14.875f, 7.104f) + curveTo(14.471f, 7.225f, 14.101f, 7.439f, 13.794f, 7.729f) + curveTo(13.487f, 8.019f, 13.252f, 8.376f, 13.108f, 8.773f) + curveTo(12.965f, 9.17f, 12.916f, 9.595f, 12.965f, 10.014f) + curveTo(13.015f, 10.433f, 13.163f, 10.834f, 13.395f, 11.186f) + lineTo(11.335f, 8.288f) + curveTo(11.094f, 7.895f, 10.756f, 7.57f, 10.353f, 7.345f) + curveTo(9.951f, 7.12f, 9.497f, 7.002f, 9.036f, 7.002f) + curveTo(8.575f, 7.002f, 8.122f, 7.12f, 7.719f, 7.345f) + curveTo(7.317f, 7.57f, 6.979f, 7.895f, 6.738f, 8.288f) + lineTo(3.473f, 13.38f) + curveTo(3.727f, 13.004f, 4.071f, 12.698f, 4.474f, 12.49f) + curveTo(4.877f, 12.282f, 5.326f, 12.18f, 5.78f, 12.191f) + curveTo(6.233f, 12.203f, 6.676f, 12.329f, 7.068f, 12.557f) + curveTo(7.46f, 12.785f, 7.788f, 13.108f, 8.022f, 13.496f) + lineTo(10.153f, 16.493f) + curveTo(10.404f, 16.835f, 10.731f, 17.113f, 11.109f, 17.305f) + curveTo(11.487f, 17.497f, 11.905f, 17.597f, 12.328f, 17.597f) + curveTo(12.752f, 17.597f, 13.17f, 17.497f, 13.548f, 17.305f) + curveTo(13.926f, 17.113f, 14.253f, 16.835f, 14.503f, 16.493f) + lineTo(14.526f, 16.459f) + curveTo(14.582f, 16.381f, 14.633f, 16.3f, 14.68f, 16.216f) + lineTo(17.885f, 11.218f) + curveTo(18.186f, 10.77f, 18.345f, 10.242f, 18.343f, 9.703f) + moveTo(14.029f, 11.868f) + lineTo(14.082f, 11.907f) + lineTo(14.045f, 11.868f) + moveTo(17.193f, 11.919f) + lineTo(17.251f, 11.871f) + lineTo(17.184f, 11.921f) + moveTo(3.407f, 13.487f) + curveTo(3.427f, 13.453f, 3.446f, 13.421f, 3.468f, 13.389f) + lineTo(3.404f, 13.487f) + horizontalLineTo(3.407f) + close() + } + path( + fill = SolidColor(Color(0xFFF38334)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(18.344f, 9.703f) + curveTo(18.344f, 9.168f, 18.186f, 8.646f, 17.889f, 8.201f) + curveTo(17.591f, 7.757f, 17.169f, 7.411f, 16.675f, 7.206f) + curveTo(16.181f, 7.002f, 15.638f, 6.949f, 15.113f, 7.054f) + curveTo(14.589f, 7.158f, 14.108f, 7.416f, 13.73f, 7.795f) + curveTo(13.353f, 8.173f, 13.096f, 8.655f, 12.993f, 9.18f) + curveTo(12.889f, 9.704f, 12.943f, 10.248f, 13.149f, 10.741f) + curveTo(13.354f, 11.235f, 13.702f, 11.656f, 14.147f, 11.952f) + curveTo(14.592f, 12.248f, 15.115f, 12.406f, 15.65f, 12.404f) + curveTo(16.366f, 12.404f, 17.053f, 12.12f, 17.56f, 11.613f) + curveTo(18.067f, 11.106f, 18.351f, 10.419f, 18.351f, 9.703f) + } + path( + fill = SolidColor(Color(0xFF3152A0)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(15.65f, 12.404f) + curveTo(15.202f, 12.405f, 14.761f, 12.293f, 14.367f, 12.081f) + curveTo(13.973f, 11.868f, 13.638f, 11.561f, 13.392f, 11.186f) + lineTo(11.332f, 8.288f) + curveTo(11.091f, 7.895f, 10.753f, 7.57f, 10.351f, 7.345f) + curveTo(9.949f, 7.12f, 9.495f, 7.001f, 9.034f, 7.001f) + curveTo(8.573f, 7.001f, 8.12f, 7.12f, 7.718f, 7.345f) + curveTo(7.316f, 7.57f, 6.978f, 7.895f, 6.737f, 8.288f) + lineTo(3.463f, 13.38f) + curveTo(3.717f, 13.004f, 4.061f, 12.698f, 4.464f, 12.49f) + curveTo(4.867f, 12.282f, 5.316f, 12.18f, 5.77f, 12.191f) + curveTo(6.223f, 12.203f, 6.666f, 12.329f, 7.058f, 12.557f) + curveTo(7.45f, 12.785f, 7.778f, 13.108f, 8.012f, 13.496f) + lineTo(10.155f, 16.493f) + curveTo(10.405f, 16.835f, 10.733f, 17.113f, 11.111f, 17.305f) + curveTo(11.488f, 17.497f, 11.906f, 17.597f, 12.33f, 17.597f) + curveTo(12.754f, 17.597f, 13.172f, 17.497f, 13.55f, 17.305f) + curveTo(13.927f, 17.113f, 14.255f, 16.835f, 14.505f, 16.493f) + lineTo(14.526f, 16.459f) + lineTo(14.681f, 16.23f) + lineTo(17.886f, 11.23f) + curveTo(17.638f, 11.593f, 17.304f, 11.89f, 16.914f, 12.095f) + curveTo(16.524f, 12.3f, 16.09f, 12.406f, 15.65f, 12.404f) + close() + } + }.build() + + return _matomoDark!! + } + +private var _matomoDark: ImageVector? = null + +@Preview +@Composable +private fun Preview() { + Box { + Image( + imageVector = AppIcons.MatomoDark, + contentDescription = null, + modifier = Modifier.size(AppImages.previewSize), + ) + } +} diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/matomo/MatomoLight.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/matomo/MatomoLight.kt new file mode 100644 index 000000000..291bec431 --- /dev/null +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/matomo/MatomoLight.kt @@ -0,0 +1,195 @@ +/* + * Infomaniak SwissTransfer - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.swisstransfer.ui.images.icons.matomo + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.infomaniak.swisstransfer.ui.images.AppImages +import com.infomaniak.swisstransfer.ui.images.AppImages.AppIcons + +val AppIcons.MatomoLight: ImageVector + get() { + + if (_matomoLight != null) return _matomoLight!! + + _matomoLight = Builder( + name = "MatomoLight", + defaultWidth = 24.0.dp, + defaultHeight = 24.0.dp, + viewportWidth = 24.0f, + viewportHeight = 24.0f, + ).apply { + path( + fill = SolidColor(Color(0xFF95C748)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(23.42f, 13.465f) + lineTo(23.359f, 13.369f) + curveTo(23.347f, 13.356f, 23.337f, 13.342f, 23.33f, 13.328f) + lineTo(19.066f, 6.841f) + lineTo(13.559f, 10.932f) + lineTo(17.605f, 17.144f) + lineTo(17.655f, 17.223f) + lineTo(17.678f, 17.255f) + curveTo(18.191f, 17.996f, 18.974f, 18.507f, 19.859f, 18.678f) + curveTo(20.744f, 18.849f, 21.661f, 18.667f, 22.413f, 18.17f) + curveTo(23.166f, 17.674f, 23.694f, 16.902f, 23.884f, 16.021f) + curveTo(24.074f, 15.14f, 23.912f, 14.219f, 23.432f, 13.456f) + } + path( + fill = SolidColor(Color(0xFF35BFC0)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(6.896f, 15.271f) + curveTo(6.896f, 14.589f, 6.694f, 13.922f, 6.315f, 13.355f) + curveTo(5.936f, 12.788f, 5.397f, 12.346f, 4.767f, 12.085f) + curveTo(4.137f, 11.825f, 3.444f, 11.756f, 2.775f, 11.889f) + curveTo(2.106f, 12.022f, 1.492f, 12.351f, 1.01f, 12.833f) + curveTo(0.528f, 13.315f, 0.199f, 13.929f, 0.066f, 14.598f) + curveTo(-0.067f, 15.267f, 0.001f, 15.96f, 0.262f, 16.59f) + curveTo(0.523f, 17.22f, 0.965f, 17.759f, 1.532f, 18.138f) + curveTo(2.099f, 18.516f, 2.766f, 18.719f, 3.448f, 18.719f) + curveTo(4.362f, 18.719f, 5.239f, 18.355f, 5.886f, 17.709f) + curveTo(6.532f, 17.062f, 6.896f, 16.185f, 6.896f, 15.271f) + close() + } + path( + fill = SolidColor(Color(0xFF3253A0)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(19.596f, 8.647f) + curveTo(19.597f, 8.108f, 19.473f, 7.577f, 19.232f, 7.095f) + curveTo(18.992f, 6.613f, 18.642f, 6.194f, 18.21f, 5.872f) + curveTo(17.779f, 5.55f, 17.278f, 5.333f, 16.747f, 5.239f) + curveTo(16.217f, 5.145f, 15.672f, 5.176f, 15.156f, 5.331f) + curveTo(14.64f, 5.485f, 14.167f, 5.758f, 13.776f, 6.128f) + curveTo(13.384f, 6.498f, 13.085f, 6.954f, 12.901f, 7.46f) + curveTo(12.717f, 7.967f, 12.655f, 8.509f, 12.718f, 9.044f) + curveTo(12.782f, 9.578f, 12.97f, 10.091f, 13.267f, 10.54f) + lineTo(10.637f, 6.841f) + curveTo(10.329f, 6.34f, 9.898f, 5.925f, 9.384f, 5.638f) + curveTo(8.871f, 5.35f, 8.292f, 5.2f, 7.704f, 5.2f) + curveTo(7.115f, 5.2f, 6.536f, 5.35f, 6.023f, 5.638f) + curveTo(5.509f, 5.925f, 5.078f, 6.34f, 4.77f, 6.841f) + lineTo(0.603f, 13.339f) + curveTo(0.927f, 12.86f, 1.367f, 12.469f, 1.881f, 12.204f) + curveTo(2.395f, 11.939f, 2.968f, 11.808f, 3.547f, 11.823f) + curveTo(4.126f, 11.838f, 4.691f, 11.998f, 5.191f, 12.289f) + curveTo(5.692f, 12.58f, 6.11f, 12.993f, 6.409f, 13.488f) + lineTo(9.129f, 17.313f) + curveTo(9.449f, 17.75f, 9.867f, 18.105f, 10.349f, 18.35f) + curveTo(10.831f, 18.594f, 11.364f, 18.722f, 11.905f, 18.722f) + curveTo(12.446f, 18.722f, 12.979f, 18.594f, 13.462f, 18.35f) + curveTo(13.944f, 18.105f, 14.362f, 17.75f, 14.681f, 17.313f) + lineTo(14.71f, 17.269f) + curveTo(14.782f, 17.17f, 14.847f, 17.067f, 14.906f, 16.96f) + lineTo(18.997f, 10.581f) + curveTo(19.381f, 10.009f, 19.584f, 9.336f, 19.581f, 8.647f) + moveTo(14.076f, 11.411f) + lineTo(14.144f, 11.461f) + lineTo(14.097f, 11.411f) + moveTo(18.114f, 11.475f) + lineTo(18.187f, 11.414f) + lineTo(18.103f, 11.478f) + moveTo(0.519f, 13.477f) + curveTo(0.545f, 13.433f, 0.568f, 13.392f, 0.597f, 13.351f) + lineTo(0.516f, 13.477f) + horizontalLineTo(0.519f) + close() + } + path( + fill = SolidColor(Color(0xFFF38334)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(19.581f, 8.647f) + curveTo(19.581f, 7.965f, 19.379f, 7.298f, 19.0f, 6.731f) + curveTo(18.62f, 6.163f, 18.081f, 5.721f, 17.451f, 5.461f) + curveTo(16.82f, 5.2f, 16.127f, 5.132f, 15.458f, 5.266f) + curveTo(14.788f, 5.4f, 14.174f, 5.729f, 13.692f, 6.212f) + curveTo(13.21f, 6.695f, 12.883f, 7.31f, 12.751f, 7.98f) + curveTo(12.619f, 8.649f, 12.688f, 9.343f, 12.95f, 9.972f) + curveTo(13.213f, 10.602f, 13.656f, 11.14f, 14.224f, 11.518f) + curveTo(14.792f, 11.896f, 15.46f, 12.097f, 16.142f, 12.095f) + curveTo(17.057f, 12.095f, 17.934f, 11.731f, 18.58f, 11.085f) + curveTo(19.227f, 10.438f, 19.59f, 9.561f, 19.59f, 8.647f) + } + path( + fill = SolidColor(Color(0xFF3152A0)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(16.143f, 12.095f) + curveTo(15.571f, 12.095f, 15.009f, 11.953f, 14.506f, 11.682f) + curveTo(14.003f, 11.41f, 13.575f, 11.018f, 13.262f, 10.54f) + lineTo(10.632f, 6.841f) + curveTo(10.325f, 6.34f, 9.894f, 5.925f, 9.38f, 5.638f) + curveTo(8.867f, 5.35f, 8.288f, 5.199f, 7.7f, 5.199f) + curveTo(7.112f, 5.199f, 6.533f, 5.35f, 6.02f, 5.638f) + curveTo(5.506f, 5.925f, 5.075f, 6.34f, 4.768f, 6.841f) + lineTo(0.59f, 13.339f) + curveTo(0.913f, 12.86f, 1.353f, 12.469f, 1.867f, 12.204f) + curveTo(2.382f, 11.939f, 2.955f, 11.808f, 3.533f, 11.823f) + curveTo(4.112f, 11.838f, 4.677f, 11.998f, 5.178f, 12.289f) + curveTo(5.678f, 12.58f, 6.097f, 12.993f, 6.395f, 13.488f) + lineTo(9.13f, 17.313f) + curveTo(9.45f, 17.75f, 9.867f, 18.105f, 10.35f, 18.35f) + curveTo(10.832f, 18.594f, 11.365f, 18.722f, 11.906f, 18.722f) + curveTo(12.447f, 18.722f, 12.98f, 18.594f, 13.463f, 18.35f) + curveTo(13.945f, 18.105f, 14.363f, 17.75f, 14.682f, 17.313f) + lineTo(14.708f, 17.269f) + lineTo(14.907f, 16.977f) + lineTo(18.998f, 10.596f) + curveTo(18.68f, 11.06f, 18.254f, 11.439f, 17.757f, 11.7f) + curveTo(17.259f, 11.962f, 16.705f, 12.097f, 16.143f, 12.095f) + close() + } + }.build() + + return _matomoLight!! + } + +private var _matomoLight: ImageVector? = null + +@Preview +@Composable +private fun Preview() { + Box { + Image( + imageVector = AppIcons.MatomoLight, + contentDescription = null, + modifier = Modifier.size(AppImages.previewSize), + ) + } +} diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/sentry/Sentry.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/sentry/Sentry.kt new file mode 100644 index 000000000..fa3418fe1 --- /dev/null +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/sentry/Sentry.kt @@ -0,0 +1,53 @@ +/* + * Infomaniak SwissTransfer - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.swisstransfer.ui.images.icons.sentry + +import android.content.res.Configuration +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import com.infomaniak.swisstransfer.ui.images.AppImages +import com.infomaniak.swisstransfer.ui.images.AppImages.AppIcons +import com.infomaniak.swisstransfer.ui.images.ThemedImage +import com.infomaniak.swisstransfer.ui.theme.SwissTransferTheme + +val AppIcons.Sentry: ThemedImage + get() = _sentry ?: object : ThemedImage { + override val light = AppIcons.SentryLight + override val dark = AppIcons.SentryDark + }.also { _sentry = it } + +private var _sentry: ThemedImage? = null + +@Preview(name = "Light") +@Preview(name = "Dark", uiMode = Configuration.UI_MODE_NIGHT_YES or Configuration.UI_MODE_TYPE_NORMAL) +@Composable +private fun Preview() { + SwissTransferTheme { + Box { + Image( + imageVector = AppIcons.Sentry.image(), + contentDescription = null, + modifier = Modifier.size(AppImages.previewSize), + ) + } + } +} diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/sentry/SentryDark.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/sentry/SentryDark.kt new file mode 100644 index 000000000..951f17f00 --- /dev/null +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/sentry/SentryDark.kt @@ -0,0 +1,131 @@ +/* + * Infomaniak SwissTransfer - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.swisstransfer.ui.images.icons.sentry + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.infomaniak.swisstransfer.ui.images.AppImages +import com.infomaniak.swisstransfer.ui.images.AppImages.AppIcons + +val AppIcons.SentryDark: ImageVector + get() { + + if (_sentryDark != null) return _sentryDark!! + + _sentryDark = Builder( + name = "SentryDark", + defaultWidth = 24.0.dp, + defaultHeight = 24.0.dp, + viewportWidth = 24.0f, + viewportHeight = 24.0f, + ).apply { + path( + fill = SolidColor(Color(0xFFFFFFFF)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(13.922f, 2.012f) + curveTo(13.784f, 1.752f, 13.595f, 1.523f, 13.366f, 1.339f) + curveTo(13.136f, 1.154f, 12.872f, 1.018f, 12.589f, 0.939f) + curveTo(12.305f, 0.86f, 12.009f, 0.84f, 11.717f, 0.879f) + curveTo(11.426f, 0.918f, 11.145f, 1.016f, 10.893f, 1.167f) + curveTo(10.553f, 1.373f, 10.273f, 1.664f, 10.082f, 2.012f) + lineTo(6.921f, 7.719f) + lineTo(7.727f, 8.201f) + curveTo(9.971f, 9.582f, 11.846f, 11.488f, 13.19f, 13.754f) + curveTo(14.533f, 16.021f, 15.306f, 18.58f, 15.441f, 21.211f) + horizontalLineTo(13.222f) + curveTo(13.086f, 18.979f, 12.414f, 16.813f, 11.263f, 14.895f) + curveTo(10.112f, 12.978f, 8.516f, 11.366f, 6.61f, 10.196f) + lineTo(5.803f, 9.715f) + lineTo(2.858f, 15.051f) + lineTo(3.665f, 15.533f) + curveTo(4.654f, 16.149f, 5.492f, 16.979f, 6.119f, 17.962f) + curveTo(6.745f, 18.944f, 7.144f, 20.055f, 7.286f, 21.211f) + horizontalLineTo(2.218f) + curveTo(2.119f, 21.211f, 2.024f, 21.171f, 1.955f, 21.101f) + curveTo(1.885f, 21.031f, 1.846f, 20.935f, 1.846f, 20.837f) + curveTo(1.845f, 20.767f, 1.862f, 20.699f, 1.896f, 20.639f) + lineTo(3.308f, 18.088f) + curveTo(2.835f, 17.671f, 2.288f, 17.346f, 1.696f, 17.129f) + lineTo(0.298f, 19.674f) + curveTo(0.003f, 20.204f, -0.077f, 20.827f, 0.075f, 21.415f) + curveTo(0.227f, 22.003f, 0.6f, 22.509f, 1.115f, 22.83f) + curveTo(1.448f, 23.031f, 1.829f, 23.137f, 2.218f, 23.138f) + horizontalLineTo(9.193f) + verticalLineTo(22.176f) + curveTo(9.202f, 20.669f, 8.861f, 19.179f, 8.196f, 17.826f) + curveTo(7.532f, 16.472f, 6.563f, 15.292f, 5.364f, 14.377f) + lineTo(6.479f, 12.373f) + curveTo(8.013f, 13.501f, 9.259f, 14.977f, 10.115f, 16.68f) + curveTo(10.97f, 18.382f, 11.411f, 20.263f, 11.4f, 22.168f) + verticalLineTo(23.133f) + horizontalLineTo(17.314f) + verticalLineTo(22.169f) + curveTo(17.33f, 19.196f, 16.621f, 16.264f, 15.249f, 13.626f) + curveTo(13.876f, 10.989f, 11.882f, 8.726f, 9.437f, 7.033f) + lineTo(11.681f, 2.976f) + curveTo(11.704f, 2.933f, 11.735f, 2.896f, 11.773f, 2.865f) + curveTo(11.811f, 2.835f, 11.855f, 2.813f, 11.901f, 2.8f) + curveTo(11.948f, 2.787f, 11.997f, 2.783f, 12.045f, 2.79f) + curveTo(12.093f, 2.796f, 12.139f, 2.813f, 12.181f, 2.837f) + curveTo(12.237f, 2.871f, 12.283f, 2.919f, 12.315f, 2.976f) + lineTo(22.097f, 20.639f) + curveTo(22.146f, 20.726f, 22.159f, 20.829f, 22.134f, 20.926f) + curveTo(22.11f, 21.023f, 22.049f, 21.106f, 21.964f, 21.16f) + curveTo(21.907f, 21.195f, 21.841f, 21.213f, 21.774f, 21.211f) + horizontalLineTo(19.486f) + curveTo(19.514f, 21.856f, 19.518f, 22.497f, 19.486f, 23.141f) + horizontalLineTo(21.782f) + curveTo(22.383f, 23.128f, 22.954f, 22.878f, 23.369f, 22.444f) + curveTo(23.785f, 22.011f, 24.012f, 21.43f, 24.0f, 20.83f) + curveTo(24.0f, 20.426f, 23.898f, 20.029f, 23.703f, 19.675f) + lineTo(13.922f, 2.012f) + close() + } + }.build() + + return _sentryDark!! + } + +private var _sentryDark: ImageVector? = null + +@Preview +@Composable +private fun Preview() { + Box { + Image( + imageVector = AppIcons.SentryDark, + contentDescription = null, + modifier = Modifier.size(AppImages.previewSize), + ) + } +} diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/sentry/SentryLight.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/sentry/SentryLight.kt new file mode 100644 index 000000000..ab39f7ca8 --- /dev/null +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/icons/sentry/SentryLight.kt @@ -0,0 +1,131 @@ +/* + * Infomaniak SwissTransfer - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.swisstransfer.ui.images.icons.sentry + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.infomaniak.swisstransfer.ui.images.AppImages +import com.infomaniak.swisstransfer.ui.images.AppImages.AppIcons + +val AppIcons.SentryLight: ImageVector + get() { + + if (_sentryLight != null) return _sentryLight!! + + _sentryLight = Builder( + name = "SentryLight", + defaultWidth = 24.0.dp, + defaultHeight = 24.0.dp, + viewportWidth = 24.0f, + viewportHeight = 24.0f, + ).apply { + path( + fill = SolidColor(Color(0xFF000000)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(13.922f, 2.012f) + curveTo(13.784f, 1.752f, 13.595f, 1.523f, 13.366f, 1.338f) + curveTo(13.136f, 1.154f, 12.872f, 1.018f, 12.589f, 0.939f) + curveTo(12.305f, 0.86f, 12.009f, 0.839f, 11.717f, 0.878f) + curveTo(11.426f, 0.917f, 11.145f, 1.016f, 10.893f, 1.167f) + curveTo(10.553f, 1.372f, 10.273f, 1.664f, 10.082f, 2.012f) + lineTo(6.921f, 7.718f) + lineTo(7.727f, 8.201f) + curveTo(9.971f, 9.582f, 11.846f, 11.488f, 13.19f, 13.754f) + curveTo(14.533f, 16.02f, 15.306f, 18.579f, 15.441f, 21.211f) + horizontalLineTo(13.222f) + curveTo(13.086f, 18.979f, 12.414f, 16.812f, 11.263f, 14.895f) + curveTo(10.112f, 12.977f, 8.516f, 11.365f, 6.61f, 10.195f) + lineTo(5.803f, 9.714f) + lineTo(2.858f, 15.051f) + lineTo(3.665f, 15.533f) + curveTo(4.654f, 16.149f, 5.492f, 16.979f, 6.119f, 17.961f) + curveTo(6.745f, 18.944f, 7.144f, 20.054f, 7.286f, 21.211f) + horizontalLineTo(2.218f) + curveTo(2.119f, 21.21f, 2.024f, 21.171f, 1.955f, 21.1f) + curveTo(1.885f, 21.03f, 1.846f, 20.935f, 1.846f, 20.836f) + curveTo(1.845f, 20.767f, 1.862f, 20.699f, 1.896f, 20.638f) + lineTo(3.308f, 18.087f) + curveTo(2.835f, 17.67f, 2.288f, 17.345f, 1.696f, 17.128f) + lineTo(0.298f, 19.673f) + curveTo(0.003f, 20.204f, -0.077f, 20.827f, 0.075f, 21.415f) + curveTo(0.227f, 22.002f, 0.6f, 22.509f, 1.115f, 22.83f) + curveTo(1.448f, 23.03f, 1.829f, 23.136f, 2.218f, 23.138f) + horizontalLineTo(9.193f) + verticalLineTo(22.176f) + curveTo(9.202f, 20.668f, 8.861f, 19.179f, 8.196f, 17.826f) + curveTo(7.532f, 16.472f, 6.563f, 15.291f, 5.364f, 14.376f) + lineTo(6.479f, 12.372f) + curveTo(8.013f, 13.501f, 9.259f, 14.977f, 10.115f, 16.679f) + curveTo(10.97f, 18.382f, 11.411f, 20.262f, 11.4f, 22.167f) + verticalLineTo(23.132f) + horizontalLineTo(17.314f) + verticalLineTo(22.169f) + curveTo(17.33f, 19.196f, 16.621f, 16.264f, 15.249f, 13.626f) + curveTo(13.876f, 10.989f, 11.882f, 8.725f, 9.437f, 7.033f) + lineTo(11.681f, 2.976f) + curveTo(11.704f, 2.933f, 11.735f, 2.895f, 11.773f, 2.865f) + curveTo(11.811f, 2.835f, 11.855f, 2.812f, 11.901f, 2.799f) + curveTo(11.948f, 2.786f, 11.997f, 2.783f, 12.045f, 2.79f) + curveTo(12.093f, 2.796f, 12.139f, 2.812f, 12.181f, 2.837f) + curveTo(12.237f, 2.871f, 12.283f, 2.919f, 12.315f, 2.976f) + lineTo(22.097f, 20.638f) + curveTo(22.146f, 20.726f, 22.159f, 20.828f, 22.134f, 20.925f) + curveTo(22.11f, 21.022f, 22.049f, 21.106f, 21.964f, 21.159f) + curveTo(21.907f, 21.195f, 21.841f, 21.212f, 21.774f, 21.211f) + horizontalLineTo(19.486f) + curveTo(19.514f, 21.855f, 19.518f, 22.496f, 19.486f, 23.141f) + horizontalLineTo(21.782f) + curveTo(22.383f, 23.128f, 22.954f, 22.878f, 23.369f, 22.444f) + curveTo(23.785f, 22.011f, 24.012f, 21.43f, 24.0f, 20.829f) + curveTo(24.0f, 20.426f, 23.898f, 20.028f, 23.703f, 19.675f) + lineTo(13.922f, 2.012f) + close() + } + }.build() + + return _sentryLight!! + } + +private var _sentryLight: ImageVector? = null + +@Preview +@Composable +private fun Preview() { + Box { + Image( + imageVector = AppIcons.SentryLight, + contentDescription = null, + modifier = Modifier.size(AppImages.previewSize), + ) + } +} diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/dataProtection/DataProtection.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/dataProtection/DataProtection.kt new file mode 100644 index 000000000..65a52772a --- /dev/null +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/dataProtection/DataProtection.kt @@ -0,0 +1,53 @@ +/* + * Infomaniak SwissTransfer - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.swisstransfer.ui.images.illus.dataProtection + +import android.content.res.Configuration +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import com.infomaniak.swisstransfer.ui.images.AppImages +import com.infomaniak.swisstransfer.ui.images.AppImages.AppIllus +import com.infomaniak.swisstransfer.ui.images.ThemedImage +import com.infomaniak.swisstransfer.ui.theme.SwissTransferTheme + +val AppIllus.DataProtection: ThemedImage + get() = _dataProtection ?: object : ThemedImage { + override val light = AppIllus.DataProtectionLight + override val dark = AppIllus.DataProtectionDark + }.also { _dataProtection = it } + +private var _dataProtection: ThemedImage? = null + +@Preview(name = "Light") +@Preview(name = "Dark", uiMode = Configuration.UI_MODE_NIGHT_YES or Configuration.UI_MODE_TYPE_NORMAL) +@Composable +private fun Preview() { + SwissTransferTheme { + Box { + Image( + imageVector = AppIllus.DataProtection.image(), + contentDescription = null, + modifier = Modifier.size(AppImages.previewSize), + ) + } + } +} diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/dataProtection/DataProtectionDark.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/dataProtection/DataProtectionDark.kt new file mode 100644 index 000000000..ad4e733fb --- /dev/null +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/dataProtection/DataProtectionDark.kt @@ -0,0 +1,434 @@ +/* + * Infomaniak SwissTransfer - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.swisstransfer.ui.images.illus.dataProtection + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.EvenOdd +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeCap.Companion.Round +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.group +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.infomaniak.swisstransfer.ui.images.AppImages +import com.infomaniak.swisstransfer.ui.images.AppImages.AppIllus + +val AppIllus.DataProtectionDark: ImageVector + get() { + + if (_dataProtectionDark != null) return _dataProtectionDark!! + + _dataProtectionDark = Builder( + name = "DataProtectionDark", + defaultWidth = 101.0.dp, + defaultHeight = 93.0.dp, + viewportWidth = 101.0f, + viewportHeight = 93.0f, + ).apply { + path( + fill = SolidColor(Color(0xFF3C4F52)), stroke = SolidColor(Color(0xFFDCE4E5)), + strokeLineWidth = 0.5f, strokeLineCap = Butt, strokeLineJoin = Miter, + strokeLineMiter = 4.0f, pathFillType = NonZero + ) { + moveTo(71.42f, 48.52f) + lineTo(71.4f, 48.29f) + horizontalLineTo(71.17f) + horizontalLineTo(18.96f) + horizontalLineTo(18.73f) + lineTo(18.72f, 48.52f) + lineTo(16.04f, 91.89f) + lineTo(16.02f, 92.16f) + horizontalLineTo(16.29f) + horizontalLineTo(73.84f) + horizontalLineTo(74.11f) + lineTo(74.09f, 91.89f) + lineTo(71.42f, 48.52f) + close() + } + path( + fill = SolidColor(Color(0x00000000)), stroke = SolidColor(Color(0xFF67DD95)), + strokeLineWidth = 0.5f, strokeLineCap = Round, strokeLineJoin = Miter, + strokeLineMiter = 4.0f, pathFillType = NonZero + ) { + moveTo(43.34f, 61.8f) + curveTo(43.34f, 65.18f, 44.6f, 68.44f, 45.79f, 71.57f) + curveTo(46.31f, 72.93f, 46.97f, 74.35f, 47.08f, 75.81f) + curveTo(47.12f, 76.43f, 47.36f, 77.43f, 47.03f, 78.0f) + curveTo(46.44f, 79.01f, 43.64f, 78.77f, 42.78f, 78.75f) + curveTo(40.01f, 78.69f, 37.18f, 78.21f, 34.61f, 77.16f) + curveTo(34.03f, 76.93f, 32.96f, 76.54f, 33.31f, 75.72f) + curveTo(33.82f, 74.53f, 35.83f, 73.78f, 36.87f, 73.26f) + curveTo(40.23f, 71.57f, 43.69f, 70.38f, 47.41f, 69.75f) + curveTo(49.13f, 69.46f, 50.91f, 69.07f, 52.66f, 69.0f) + curveTo(52.94f, 68.99f, 53.89f, 68.9f, 53.03f, 69.05f) + curveTo(48.25f, 69.88f, 43.49f, 70.9f, 38.72f, 71.78f) + curveTo(36.04f, 72.27f, 33.36f, 72.73f, 30.67f, 73.15f) + curveTo(29.86f, 73.28f, 27.43f, 73.7f, 28.22f, 73.48f) + curveTo(30.26f, 72.91f, 32.22f, 72.0f, 34.22f, 71.33f) + curveTo(39.71f, 69.51f, 45.57f, 68.21f, 51.3f, 67.45f) + curveTo(54.75f, 66.99f, 58.22f, 66.77f, 61.67f, 66.37f) + curveTo(62.59f, 66.26f, 63.54f, 66.09f, 64.47f, 66.09f) + } + path( + fill = SolidColor(Color(0xFF3C4F52)), stroke = SolidColor(Color(0xFFDCE4E5)), + strokeLineWidth = 0.5f, strokeLineCap = Butt, strokeLineJoin = Miter, + strokeLineMiter = 4.0f, pathFillType = NonZero + ) { + moveTo(16.29f, 13.22f) + horizontalLineTo(16.02f) + lineTo(16.04f, 13.49f) + lineTo(18.72f, 48.56f) + lineTo(18.73f, 48.79f) + horizontalLineTo(18.96f) + horizontalLineTo(71.16f) + horizontalLineTo(71.39f) + lineTo(71.41f, 48.56f) + lineTo(73.29f, 23.93f) + lineTo(73.3f, 23.82f) + lineTo(73.22f, 23.74f) + lineTo(63.58f, 13.3f) + lineTo(63.51f, 13.22f) + horizontalLineTo(63.4f) + horizontalLineTo(16.29f) + close() + } + path( + fill = SolidColor(Color(0xFFDCE4E5)), stroke = SolidColor(Color(0xFFDCE4E5)), + strokeLineWidth = 0.5f, strokeLineCap = Butt, strokeLineJoin = Miter, + strokeLineMiter = 4.0f, pathFillType = NonZero + ) { + moveTo(63.86f, 13.71f) + lineTo(63.5f, 13.32f) + lineTo(63.43f, 13.85f) + lineTo(62.08f, 23.88f) + lineTo(62.05f, 24.16f) + lineTo(62.33f, 24.16f) + lineTo(73.05f, 24.17f) + lineTo(73.62f, 24.17f) + lineTo(73.23f, 23.75f) + lineTo(63.86f, 13.71f) + close() + } + path( + fill = SolidColor(Color(0xFFDCE4E5)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(26.73f, 25.52f) + lineTo(52.7f, 25.52f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 53.77f, 26.59f) + lineTo(53.77f, 26.59f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 52.7f, 27.66f) + lineTo(26.73f, 27.66f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 25.66f, 26.59f) + lineTo(25.66f, 26.59f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 26.73f, 25.52f) + close() + } + path( + fill = SolidColor(Color(0xFFDCE4E5)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(26.73f, 30.87f) + lineTo(62.6f, 30.87f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 63.67f, 31.94f) + lineTo(63.67f, 31.94f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 62.6f, 33.01f) + lineTo(26.73f, 33.01f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 25.66f, 31.94f) + lineTo(25.66f, 31.94f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 26.73f, 30.87f) + close() + } + path( + fill = SolidColor(Color(0xFFDCE4E5)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(26.73f, 36.23f) + lineTo(62.6f, 36.23f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 63.67f, 37.3f) + lineTo(63.67f, 37.3f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 62.6f, 38.37f) + lineTo(26.73f, 38.37f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 25.66f, 37.3f) + lineTo(25.66f, 37.3f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 26.73f, 36.23f) + close() + } + path( + fill = SolidColor(Color(0xFFDCE4E5)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(26.73f, 41.58f) + lineTo(62.6f, 41.58f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 63.67f, 42.65f) + lineTo(63.67f, 42.65f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 62.6f, 43.72f) + lineTo(26.73f, 43.72f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 25.66f, 42.65f) + lineTo(25.66f, 42.65f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 26.73f, 41.58f) + close() + } + path( + fill = SolidColor(Color(0xFF67DD95)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(88.36f, 49.61f) + lineToRelative(5.45f, 6.19f) + lineToRelative(-20.06f, 17.66f) + lineToRelative(-5.45f, -6.19f) + close() + } + path( + fill = SolidColor(Color(0xFF3CB572)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(90.11f, 51.59f) + lineToRelative(1.96f, 2.23f) + lineToRelative(-20.06f, 17.66f) + lineToRelative(-1.96f, -2.23f) + close() + } + path( + fill = SolidColor(Color(0xFF67DD95)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(93.07f, 45.47f) + curveTo(94.16f, 44.5f, 95.83f, 44.61f, 96.79f, 45.7f) + lineTo(98.76f, 47.93f) + curveTo(99.72f, 49.03f, 99.61f, 50.69f, 98.52f, 51.66f) + lineTo(94.31f, 55.36f) + lineTo(88.86f, 49.17f) + lineTo(93.07f, 45.47f) + close() + } + path( + fill = SolidColor(Color(0xFFF1F1F1)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = EvenOdd + ) { + moveTo(71.21f, 73.06f) + curveTo(71.62f, 72.7f, 72.24f, 72.74f, 72.61f, 73.15f) + curveTo(72.97f, 73.56f, 72.93f, 74.19f, 72.52f, 74.55f) + lineTo(71.21f, 73.06f) + close() + moveTo(69.77f, 69.93f) + curveTo(69.41f, 69.52f, 68.78f, 69.48f, 68.37f, 69.84f) + lineTo(69.79f, 71.45f) + curveTo(69.79f, 71.45f, 69.79f, 71.45f, 69.79f, 71.45f) + lineTo(71.21f, 73.06f) + curveTo(71.62f, 72.7f, 71.66f, 72.08f, 71.3f, 71.67f) + lineTo(71.19f, 71.54f) + curveTo(70.83f, 71.14f, 70.22f, 71.09f, 69.81f, 71.43f) + curveTo(70.2f, 71.07f, 70.23f, 70.46f, 69.88f, 70.06f) + lineTo(69.77f, 69.93f) + close() + moveTo(67.07f, 68.36f) + curveTo(67.48f, 68.0f, 68.1f, 68.04f, 68.46f, 68.45f) + curveTo(68.82f, 68.86f, 68.78f, 69.48f, 68.37f, 69.84f) + lineTo(67.07f, 68.36f) + close() + moveTo(67.06f, 68.36f) + lineTo(72.51f, 74.55f) + lineTo(63.76f, 77.58f) + curveTo(63.2f, 77.77f, 62.69f, 77.19f, 62.95f, 76.66f) + lineTo(67.06f, 68.36f) + close() + } + path( + fill = SolidColor(Color(0xFF3CB572)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(64.38f, 73.8f) + lineTo(66.78f, 76.52f) + lineTo(63.69f, 77.64f) + curveTo(63.13f, 77.84f, 62.61f, 77.25f, 62.88f, 76.72f) + lineTo(64.38f, 73.8f) + close() + } + path( + fill = SolidColor(Color(0xFF67DD95)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(16.71f, 16.3f) + moveToRelative(-14.4f, 1.81f) + arcToRelative(14.51f, 14.51f, 127.83f, true, true, 28.79f, -3.62f) + arcToRelative(14.51f, 14.51f, 127.83f, true, true, -28.79f, 3.62f) + } + group { + path( + fill = SolidColor(Color(0xFF014958)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(15.8f, 9.1f) + curveTo(16.05f, 9.07f, 16.28f, 9.25f, 16.31f, 9.49f) + lineTo(16.42f, 10.39f) + curveTo(16.45f, 10.64f, 16.28f, 10.87f, 16.03f, 10.9f) + curveTo(15.78f, 10.93f, 15.55f, 10.76f, 15.52f, 10.51f) + lineTo(15.41f, 9.61f) + curveTo(15.38f, 9.36f, 15.55f, 9.13f, 15.8f, 9.1f) + close() + } + path( + fill = SolidColor(Color(0xFF014958)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = EvenOdd + ) { + moveTo(14.89f, 20.03f) + curveTo(14.19f, 19.74f, 13.57f, 19.28f, 13.09f, 18.68f) + curveTo(12.57f, 18.03f, 12.24f, 17.24f, 12.15f, 16.41f) + lineTo(12.15f, 16.41f) + curveTo(12.02f, 15.22f, 12.36f, 14.03f, 13.09f, 13.09f) + curveTo(13.82f, 12.14f, 14.89f, 11.52f, 16.08f, 11.35f) + curveTo(16.08f, 11.35f, 16.09f, 11.35f, 16.09f, 11.35f) + curveTo(17.28f, 11.22f, 18.47f, 11.56f, 19.41f, 12.29f) + curveTo(20.36f, 13.02f, 20.98f, 14.09f, 21.15f, 15.27f) + lineTo(21.15f, 15.28f) + curveTo(21.26f, 16.11f, 21.14f, 16.95f, 20.8f, 17.72f) + curveTo(20.49f, 18.41f, 20.0f, 19.01f, 19.39f, 19.46f) + lineTo(19.69f, 21.86f) + curveTo(19.74f, 22.22f, 19.64f, 22.58f, 19.42f, 22.87f) + curveTo(19.19f, 23.15f, 18.87f, 23.34f, 18.51f, 23.38f) + lineTo(16.71f, 23.61f) + curveTo(16.35f, 23.65f, 15.99f, 23.56f, 15.71f, 23.33f) + curveTo(15.42f, 23.11f, 15.24f, 22.79f, 15.19f, 22.43f) + lineTo(14.89f, 20.03f) + close() + moveTo(15.81f, 20.07f) + lineTo(15.92f, 20.97f) + lineTo(18.62f, 20.63f) + lineTo(18.51f, 19.73f) + lineTo(15.81f, 20.07f) + close() + moveTo(16.04f, 21.87f) + lineTo(16.09f, 22.32f) + curveTo(16.11f, 22.44f, 16.17f, 22.54f, 16.26f, 22.62f) + curveTo(16.36f, 22.69f, 16.48f, 22.72f, 16.6f, 22.71f) + lineTo(18.4f, 22.48f) + curveTo(18.52f, 22.47f, 18.63f, 22.41f, 18.7f, 22.31f) + curveTo(18.77f, 22.22f, 18.81f, 22.1f, 18.79f, 21.98f) + lineTo(18.74f, 21.53f) + lineTo(16.04f, 21.87f) + close() + moveTo(13.81f, 13.64f) + curveTo(14.39f, 12.89f, 15.25f, 12.39f, 16.2f, 12.25f) + curveTo(17.15f, 12.15f, 18.1f, 12.42f, 18.86f, 13.01f) + curveTo(19.61f, 13.6f, 20.11f, 14.45f, 20.25f, 15.4f) + curveTo(20.34f, 16.06f, 20.25f, 16.74f, 19.97f, 17.34f) + curveTo(19.71f, 17.92f, 19.3f, 18.41f, 18.79f, 18.78f) + lineTo(15.3f, 19.22f) + curveTo(14.72f, 18.99f, 14.2f, 18.61f, 13.8f, 18.12f) + curveTo(13.39f, 17.6f, 13.13f, 16.97f, 13.05f, 16.31f) + curveTo(12.95f, 15.36f, 13.22f, 14.4f, 13.81f, 13.64f) + close() + } + path( + fill = SolidColor(Color(0xFF014958)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(10.3f, 16.19f) + curveTo(10.05f, 16.22f, 9.87f, 16.45f, 9.9f, 16.7f) + curveTo(9.93f, 16.95f, 10.16f, 17.12f, 10.41f, 17.09f) + lineTo(11.31f, 16.98f) + curveTo(11.56f, 16.95f, 11.73f, 16.72f, 11.7f, 16.47f) + curveTo(11.67f, 16.22f, 11.44f, 16.05f, 11.19f, 16.08f) + lineTo(10.3f, 16.19f) + close() + } + path( + fill = SolidColor(Color(0xFF014958)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(10.77f, 11.7f) + curveTo(10.92f, 11.5f, 11.21f, 11.46f, 11.41f, 11.61f) + lineTo(12.15f, 12.16f) + curveTo(12.35f, 12.31f, 12.39f, 12.59f, 12.24f, 12.79f) + curveTo(12.09f, 12.99f, 11.81f, 13.04f, 11.6f, 12.89f) + lineTo(10.86f, 12.34f) + curveTo(10.66f, 12.19f, 10.62f, 11.9f, 10.77f, 11.7f) + close() + } + path( + fill = SolidColor(Color(0xFF014958)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(21.99f, 14.72f) + curveTo(21.74f, 14.75f, 21.57f, 14.98f, 21.6f, 15.23f) + curveTo(21.63f, 15.47f, 21.86f, 15.65f, 22.1f, 15.62f) + lineTo(23.0f, 15.51f) + curveTo(23.25f, 15.48f, 23.43f, 15.25f, 23.4f, 15.0f) + curveTo(23.37f, 14.75f, 23.14f, 14.58f, 22.89f, 14.61f) + lineTo(21.99f, 14.72f) + close() + } + path( + fill = SolidColor(Color(0xFF014958)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(21.32f, 10.38f) + curveTo(21.51f, 10.53f, 21.54f, 10.82f, 21.39f, 11.01f) + lineTo(20.81f, 11.73f) + curveTo(20.65f, 11.92f, 20.36f, 11.95f, 20.17f, 11.8f) + curveTo(19.97f, 11.64f, 19.94f, 11.35f, 20.1f, 11.16f) + lineTo(20.68f, 10.44f) + curveTo(20.84f, 10.25f, 21.12f, 10.22f, 21.32f, 10.38f) + close() + } + } + }.build() + + return _dataProtectionDark!! + } + +private var _dataProtectionDark: ImageVector? = null + +@Preview +@Composable +private fun Preview() { + Box { + Image( + imageVector = AppIllus.DataProtectionDark, + contentDescription = null, + modifier = Modifier.size(AppImages.previewSize), + ) + } +} diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/dataProtection/DataProtectionLight.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/dataProtection/DataProtectionLight.kt new file mode 100644 index 000000000..a8a0cbda2 --- /dev/null +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/dataProtection/DataProtectionLight.kt @@ -0,0 +1,434 @@ +/* + * Infomaniak SwissTransfer - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.swisstransfer.ui.images.illus.dataProtection + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.EvenOdd +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeCap.Companion.Round +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.group +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.infomaniak.swisstransfer.ui.images.AppImages +import com.infomaniak.swisstransfer.ui.images.AppImages.AppIllus + +val AppIllus.DataProtectionLight: ImageVector + get() { + + if (_dataProtectionLight != null) return _dataProtectionLight!! + + _dataProtectionLight = Builder( + name = "DataProtectionLight", + defaultWidth = 101.0.dp, + defaultHeight = 93.0.dp, + viewportWidth = 101.0f, + viewportHeight = 93.0f, + ).apply { + path( + fill = SolidColor(Color(0xFFFAFAFA)), stroke = SolidColor(Color(0xFF9F9F9F)), + strokeLineWidth = 0.5f, strokeLineCap = Butt, strokeLineJoin = Miter, + strokeLineMiter = 4.0f, pathFillType = NonZero + ) { + moveTo(71.42f, 48.52f) + lineTo(71.4f, 48.29f) + horizontalLineTo(71.17f) + horizontalLineTo(18.97f) + horizontalLineTo(18.73f) + lineTo(18.72f, 48.52f) + lineTo(16.04f, 91.89f) + lineTo(16.02f, 92.16f) + horizontalLineTo(16.29f) + horizontalLineTo(73.84f) + horizontalLineTo(74.11f) + lineTo(74.09f, 91.89f) + lineTo(71.42f, 48.52f) + close() + } + path( + fill = SolidColor(Color(0x00000000)), stroke = SolidColor(Color(0xFF014958)), + strokeLineWidth = 0.5f, strokeLineCap = Round, strokeLineJoin = Miter, + strokeLineMiter = 4.0f, pathFillType = NonZero + ) { + moveTo(43.34f, 61.8f) + curveTo(43.34f, 65.18f, 44.6f, 68.44f, 45.79f, 71.57f) + curveTo(46.31f, 72.93f, 46.97f, 74.35f, 47.08f, 75.81f) + curveTo(47.12f, 76.43f, 47.36f, 77.43f, 47.03f, 78.0f) + curveTo(46.44f, 79.01f, 43.64f, 78.77f, 42.78f, 78.75f) + curveTo(40.01f, 78.69f, 37.18f, 78.21f, 34.61f, 77.16f) + curveTo(34.03f, 76.93f, 32.96f, 76.54f, 33.31f, 75.72f) + curveTo(33.82f, 74.53f, 35.83f, 73.79f, 36.87f, 73.26f) + curveTo(40.23f, 71.57f, 43.69f, 70.38f, 47.41f, 69.76f) + curveTo(49.13f, 69.46f, 50.91f, 69.07f, 52.66f, 69.0f) + curveTo(52.94f, 68.99f, 53.89f, 68.9f, 53.03f, 69.05f) + curveTo(48.25f, 69.88f, 43.49f, 70.9f, 38.72f, 71.78f) + curveTo(36.04f, 72.27f, 33.36f, 72.73f, 30.67f, 73.15f) + curveTo(29.86f, 73.28f, 27.43f, 73.7f, 28.22f, 73.48f) + curveTo(30.26f, 72.91f, 32.22f, 72.0f, 34.22f, 71.33f) + curveTo(39.71f, 69.51f, 45.56f, 68.21f, 51.3f, 67.45f) + curveTo(54.75f, 66.99f, 58.22f, 66.77f, 61.67f, 66.37f) + curveTo(62.59f, 66.26f, 63.54f, 66.09f, 64.47f, 66.09f) + } + path( + fill = SolidColor(Color(0xFFFAFAFA)), stroke = SolidColor(Color(0xFF9F9F9F)), + strokeLineWidth = 0.5f, strokeLineCap = Butt, strokeLineJoin = Miter, + strokeLineMiter = 4.0f, pathFillType = NonZero + ) { + moveTo(16.29f, 13.22f) + horizontalLineTo(16.02f) + lineTo(16.04f, 13.49f) + lineTo(18.72f, 48.56f) + lineTo(18.73f, 48.79f) + horizontalLineTo(18.96f) + horizontalLineTo(71.16f) + horizontalLineTo(71.39f) + lineTo(71.41f, 48.56f) + lineTo(73.29f, 23.93f) + lineTo(73.3f, 23.82f) + lineTo(73.22f, 23.74f) + lineTo(63.58f, 13.3f) + lineTo(63.51f, 13.22f) + horizontalLineTo(63.4f) + horizontalLineTo(16.29f) + close() + } + path( + fill = SolidColor(Color(0xFFF1F1F1)), stroke = SolidColor(Color(0xFF9F9F9F)), + strokeLineWidth = 0.5f, strokeLineCap = Butt, strokeLineJoin = Miter, + strokeLineMiter = 4.0f, pathFillType = NonZero + ) { + moveTo(63.86f, 13.71f) + lineTo(63.5f, 13.32f) + lineTo(63.43f, 13.85f) + lineTo(62.09f, 23.88f) + lineTo(62.05f, 24.16f) + lineTo(62.33f, 24.16f) + lineTo(73.05f, 24.17f) + lineTo(73.62f, 24.17f) + lineTo(73.23f, 23.75f) + lineTo(63.86f, 13.71f) + close() + } + path( + fill = SolidColor(Color(0xFF9F9F9F)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(26.73f, 25.52f) + lineTo(52.7f, 25.52f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 53.77f, 26.59f) + lineTo(53.77f, 26.59f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 52.7f, 27.66f) + lineTo(26.73f, 27.66f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 25.66f, 26.59f) + lineTo(25.66f, 26.59f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 26.73f, 25.52f) + close() + } + path( + fill = SolidColor(Color(0xFF9F9F9F)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(26.73f, 30.87f) + lineTo(62.6f, 30.87f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 63.67f, 31.94f) + lineTo(63.67f, 31.94f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 62.6f, 33.01f) + lineTo(26.73f, 33.01f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 25.66f, 31.94f) + lineTo(25.66f, 31.94f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 26.73f, 30.87f) + close() + } + path( + fill = SolidColor(Color(0xFF9F9F9F)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(26.73f, 36.23f) + lineTo(62.6f, 36.23f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 63.67f, 37.3f) + lineTo(63.67f, 37.3f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 62.6f, 38.37f) + lineTo(26.73f, 38.37f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 25.66f, 37.3f) + lineTo(25.66f, 37.3f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 26.73f, 36.23f) + close() + } + path( + fill = SolidColor(Color(0xFF9F9F9F)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(26.73f, 41.58f) + lineTo(62.6f, 41.58f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 63.67f, 42.65f) + lineTo(63.67f, 42.65f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 62.6f, 43.72f) + lineTo(26.73f, 43.72f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 25.66f, 42.65f) + lineTo(25.66f, 42.65f) + arcTo(1.07f, 1.07f, 0.0f, false, true, 26.73f, 41.58f) + close() + } + path( + fill = SolidColor(Color(0xFF3CB572)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(88.36f, 49.61f) + lineToRelative(5.45f, 6.19f) + lineToRelative(-20.06f, 17.66f) + lineToRelative(-5.45f, -6.19f) + close() + } + path( + fill = SolidColor(Color(0xFF014958)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(90.11f, 51.59f) + lineToRelative(1.96f, 2.23f) + lineToRelative(-20.06f, 17.66f) + lineToRelative(-1.96f, -2.23f) + close() + } + path( + fill = SolidColor(Color(0xFF3CB572)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(93.07f, 45.47f) + curveTo(94.16f, 44.5f, 95.83f, 44.61f, 96.79f, 45.7f) + lineTo(98.76f, 47.93f) + curveTo(99.72f, 49.03f, 99.61f, 50.69f, 98.52f, 51.66f) + lineTo(94.31f, 55.36f) + lineTo(88.86f, 49.17f) + lineTo(93.07f, 45.47f) + close() + } + path( + fill = SolidColor(Color(0xFFF1F1F1)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = EvenOdd + ) { + moveTo(71.21f, 73.06f) + curveTo(71.62f, 72.7f, 72.24f, 72.74f, 72.61f, 73.15f) + curveTo(72.97f, 73.56f, 72.93f, 74.19f, 72.52f, 74.55f) + lineTo(71.21f, 73.06f) + close() + moveTo(69.77f, 69.93f) + curveTo(69.41f, 69.52f, 68.78f, 69.48f, 68.37f, 69.84f) + lineTo(69.79f, 71.45f) + curveTo(69.79f, 71.45f, 69.79f, 71.45f, 69.79f, 71.45f) + lineTo(71.21f, 73.06f) + curveTo(71.62f, 72.7f, 71.66f, 72.08f, 71.3f, 71.67f) + lineTo(71.19f, 71.54f) + curveTo(70.83f, 71.14f, 70.22f, 71.09f, 69.81f, 71.43f) + curveTo(70.2f, 71.07f, 70.23f, 70.46f, 69.88f, 70.06f) + lineTo(69.77f, 69.93f) + close() + moveTo(67.07f, 68.36f) + curveTo(67.48f, 68.0f, 68.1f, 68.04f, 68.46f, 68.45f) + curveTo(68.82f, 68.86f, 68.78f, 69.48f, 68.37f, 69.84f) + lineTo(67.07f, 68.36f) + close() + moveTo(67.06f, 68.36f) + lineTo(72.52f, 74.55f) + lineTo(63.76f, 77.58f) + curveTo(63.2f, 77.77f, 62.69f, 77.19f, 62.95f, 76.66f) + lineTo(67.06f, 68.36f) + close() + } + path( + fill = SolidColor(Color(0xFF014958)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(64.38f, 73.8f) + lineTo(66.78f, 76.52f) + lineTo(63.69f, 77.64f) + curveTo(63.13f, 77.84f, 62.61f, 77.25f, 62.88f, 76.72f) + lineTo(64.38f, 73.8f) + close() + } + path( + fill = SolidColor(Color(0xFF014958)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(16.71f, 16.3f) + moveToRelative(-14.4f, 1.81f) + arcToRelative(14.51f, 14.51f, 127.83f, true, true, 28.79f, -3.62f) + arcToRelative(14.51f, 14.51f, 127.83f, true, true, -28.79f, 3.62f) + } + group { + path( + fill = SolidColor(Color(0xFFffffff)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(15.8f, 9.1f) + curveTo(16.05f, 9.07f, 16.28f, 9.25f, 16.31f, 9.49f) + lineTo(16.42f, 10.39f) + curveTo(16.45f, 10.64f, 16.28f, 10.87f, 16.03f, 10.9f) + curveTo(15.78f, 10.93f, 15.55f, 10.76f, 15.52f, 10.51f) + lineTo(15.41f, 9.61f) + curveTo(15.38f, 9.36f, 15.55f, 9.13f, 15.8f, 9.1f) + close() + } + path( + fill = SolidColor(Color(0xFFffffff)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = EvenOdd + ) { + moveTo(14.89f, 20.03f) + curveTo(14.19f, 19.74f, 13.57f, 19.28f, 13.09f, 18.69f) + curveTo(12.57f, 18.03f, 12.24f, 17.24f, 12.15f, 16.41f) + lineTo(12.15f, 16.41f) + curveTo(12.02f, 15.22f, 12.36f, 14.03f, 13.09f, 13.09f) + curveTo(13.82f, 12.14f, 14.89f, 11.52f, 16.08f, 11.35f) + curveTo(16.08f, 11.35f, 16.09f, 11.35f, 16.09f, 11.35f) + curveTo(17.28f, 11.22f, 18.47f, 11.56f, 19.41f, 12.29f) + curveTo(20.36f, 13.02f, 20.98f, 14.09f, 21.15f, 15.28f) + lineTo(21.15f, 15.28f) + curveTo(21.26f, 16.11f, 21.14f, 16.95f, 20.8f, 17.72f) + curveTo(20.49f, 18.41f, 20.0f, 19.01f, 19.39f, 19.46f) + lineTo(19.69f, 21.86f) + curveTo(19.74f, 22.22f, 19.64f, 22.58f, 19.42f, 22.87f) + curveTo(19.19f, 23.15f, 18.87f, 23.34f, 18.51f, 23.38f) + lineTo(16.71f, 23.61f) + curveTo(16.35f, 23.65f, 15.99f, 23.56f, 15.71f, 23.33f) + curveTo(15.42f, 23.11f, 15.24f, 22.79f, 15.19f, 22.43f) + lineTo(14.89f, 20.03f) + close() + moveTo(15.81f, 20.07f) + lineTo(15.92f, 20.97f) + lineTo(18.62f, 20.63f) + lineTo(18.51f, 19.73f) + lineTo(15.81f, 20.07f) + close() + moveTo(16.04f, 21.87f) + lineTo(16.09f, 22.32f) + curveTo(16.11f, 22.44f, 16.17f, 22.54f, 16.26f, 22.62f) + curveTo(16.36f, 22.69f, 16.48f, 22.72f, 16.6f, 22.71f) + lineTo(18.4f, 22.48f) + curveTo(18.52f, 22.47f, 18.63f, 22.41f, 18.7f, 22.31f) + curveTo(18.77f, 22.22f, 18.81f, 22.1f, 18.79f, 21.98f) + lineTo(18.74f, 21.53f) + lineTo(16.04f, 21.87f) + close() + moveTo(13.81f, 13.64f) + curveTo(14.4f, 12.89f, 15.25f, 12.39f, 16.2f, 12.25f) + curveTo(17.15f, 12.15f, 18.1f, 12.42f, 18.86f, 13.01f) + curveTo(19.61f, 13.6f, 20.11f, 14.45f, 20.25f, 15.4f) + curveTo(20.34f, 16.06f, 20.25f, 16.74f, 19.97f, 17.34f) + curveTo(19.71f, 17.92f, 19.3f, 18.41f, 18.79f, 18.78f) + lineTo(15.3f, 19.22f) + curveTo(14.72f, 18.99f, 14.2f, 18.61f, 13.8f, 18.12f) + curveTo(13.39f, 17.6f, 13.13f, 16.97f, 13.05f, 16.31f) + curveTo(12.95f, 15.36f, 13.22f, 14.4f, 13.81f, 13.64f) + close() + } + path( + fill = SolidColor(Color(0xFFffffff)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(10.3f, 16.19f) + curveTo(10.05f, 16.22f, 9.87f, 16.45f, 9.9f, 16.7f) + curveTo(9.93f, 16.95f, 10.16f, 17.12f, 10.41f, 17.09f) + lineTo(11.31f, 16.98f) + curveTo(11.56f, 16.95f, 11.73f, 16.72f, 11.7f, 16.47f) + curveTo(11.67f, 16.22f, 11.44f, 16.05f, 11.2f, 16.08f) + lineTo(10.3f, 16.19f) + close() + } + path( + fill = SolidColor(Color(0xFFffffff)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(10.77f, 11.7f) + curveTo(10.92f, 11.5f, 11.21f, 11.46f, 11.41f, 11.61f) + lineTo(12.15f, 12.16f) + curveTo(12.35f, 12.31f, 12.39f, 12.59f, 12.24f, 12.79f) + curveTo(12.09f, 12.99f, 11.81f, 13.04f, 11.6f, 12.89f) + lineTo(10.87f, 12.34f) + curveTo(10.66f, 12.19f, 10.62f, 11.9f, 10.77f, 11.7f) + close() + } + path( + fill = SolidColor(Color(0xFFffffff)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(21.99f, 14.72f) + curveTo(21.74f, 14.75f, 21.57f, 14.98f, 21.6f, 15.23f) + curveTo(21.63f, 15.47f, 21.86f, 15.65f, 22.11f, 15.62f) + lineTo(23.0f, 15.51f) + curveTo(23.25f, 15.48f, 23.43f, 15.25f, 23.4f, 15.0f) + curveTo(23.37f, 14.75f, 23.14f, 14.58f, 22.89f, 14.61f) + lineTo(21.99f, 14.72f) + close() + } + path( + fill = SolidColor(Color(0xFFffffff)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(21.32f, 10.38f) + curveTo(21.51f, 10.53f, 21.54f, 10.82f, 21.39f, 11.01f) + lineTo(20.81f, 11.73f) + curveTo(20.65f, 11.92f, 20.36f, 11.95f, 20.17f, 11.8f) + curveTo(19.97f, 11.64f, 19.94f, 11.35f, 20.1f, 11.16f) + lineTo(20.68f, 10.44f) + curveTo(20.84f, 10.25f, 21.12f, 10.22f, 21.32f, 10.38f) + close() + } + } + }.build() + + return _dataProtectionLight!! + } + +private var _dataProtectionLight: ImageVector? = null + +@Preview +@Composable +private fun Preview() { + Box { + Image( + imageVector = AppIllus.DataProtectionLight, + contentDescription = null, + modifier = Modifier.size(AppImages.previewSize), + ) + } +} diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/matomo/Matomo.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/matomo/Matomo.kt new file mode 100644 index 000000000..6c72f19e4 --- /dev/null +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/matomo/Matomo.kt @@ -0,0 +1,53 @@ +/* + * Infomaniak SwissTransfer - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.swisstransfer.ui.images.illus.matomo + +import android.content.res.Configuration +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import com.infomaniak.swisstransfer.ui.images.AppImages +import com.infomaniak.swisstransfer.ui.images.AppImages.AppIllus +import com.infomaniak.swisstransfer.ui.images.ThemedImage +import com.infomaniak.swisstransfer.ui.theme.SwissTransferTheme + +val AppIllus.Matomo: ThemedImage + get() = _matomo ?: object : ThemedImage { + override val light = AppIllus.MatomoLight + override val dark = AppIllus.MatomoDark + }.also { _matomo = it } + +private var _matomo: ThemedImage? = null + +@Preview(name = "Light") +@Preview(name = "Dark", uiMode = Configuration.UI_MODE_NIGHT_YES or Configuration.UI_MODE_TYPE_NORMAL) +@Composable +private fun Preview() { + SwissTransferTheme { + Box { + Image( + imageVector = AppIllus.Matomo.image(), + contentDescription = null, + modifier = Modifier.size(AppImages.previewSize), + ) + } + } +} diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/matomo/MatomoDark.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/matomo/MatomoDark.kt new file mode 100644 index 000000000..30cff2865 --- /dev/null +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/matomo/MatomoDark.kt @@ -0,0 +1,402 @@ +/* + * Infomaniak SwissTransfer - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.swisstransfer.ui.images.illus.matomo + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.group +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.infomaniak.swisstransfer.ui.images.AppImages +import com.infomaniak.swisstransfer.ui.images.AppImages.AppIllus + +val AppIllus.MatomoDark: ImageVector + get() { + + if (_matomoDark != null) return _matomoDark!! + + _matomoDark = Builder( + name = "MatomoDark", + defaultWidth = 181.0.dp, + defaultHeight = 32.0.dp, + viewportWidth = 181.0f, + viewportHeight = 32.0f, + ).apply { + group { + path( + fill = SolidColor(Color(0xFFFFFFFF)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(16.5f, 16.0f) + moveToRelative(-16.0f, 0.0f) + arcToRelative(16.0f, 16.0f, 0.0f, true, true, 32.0f, 0.0f) + arcToRelative(16.0f, 16.0f, 0.0f, true, true, -32.0f, 0.0f) + } + path( + fill = SolidColor(Color(0xFF95C748)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(28.2f, 17.84f) + lineTo(28.14f, 17.74f) + curveTo(28.13f, 17.73f, 28.12f, 17.72f, 28.11f, 17.7f) + lineTo(23.7f, 11.0f) + lineTo(18.01f, 15.23f) + lineTo(22.19f, 21.65f) + lineTo(22.24f, 21.73f) + lineTo(22.27f, 21.76f) + curveTo(22.8f, 22.53f, 23.61f, 23.05f, 24.52f, 23.23f) + curveTo(25.44f, 23.41f, 26.38f, 23.22f, 27.16f, 22.71f) + curveTo(27.94f, 22.19f, 28.48f, 21.4f, 28.68f, 20.48f) + curveTo(28.88f, 19.57f, 28.71f, 18.62f, 28.21f, 17.83f) + } + path( + fill = SolidColor(Color(0xFF35BFC0)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(11.13f, 19.71f) + curveTo(11.13f, 19.01f, 10.92f, 18.32f, 10.53f, 17.73f) + curveTo(10.14f, 17.14f, 9.58f, 16.69f, 8.93f, 16.42f) + curveTo(8.28f, 16.15f, 7.56f, 16.08f, 6.87f, 16.22f) + curveTo(6.18f, 16.35f, 5.54f, 16.69f, 5.05f, 17.19f) + curveTo(4.55f, 17.69f, 4.21f, 18.32f, 4.07f, 19.01f) + curveTo(3.93f, 19.71f, 4.0f, 20.42f, 4.27f, 21.07f) + curveTo(4.54f, 21.72f, 5.0f, 22.28f, 5.59f, 22.67f) + curveTo(6.17f, 23.06f, 6.86f, 23.27f, 7.56f, 23.27f) + curveTo(8.51f, 23.27f, 9.42f, 22.9f, 10.08f, 22.23f) + curveTo(10.75f, 21.56f, 11.13f, 20.65f, 11.13f, 19.71f) + close() + } + } + path( + fill = SolidColor(Color(0xFF3253A0)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(24.25f, 12.87f) + curveTo(24.25f, 12.31f, 24.12f, 11.76f, 23.88f, 11.26f) + curveTo(23.63f, 10.76f, 23.27f, 10.33f, 22.82f, 10.0f) + curveTo(22.37f, 9.66f, 21.86f, 9.44f, 21.31f, 9.34f) + curveTo(20.76f, 9.25f, 20.2f, 9.28f, 19.66f, 9.44f) + curveTo(19.13f, 9.6f, 18.64f, 9.88f, 18.24f, 10.26f) + curveTo(17.83f, 10.64f, 17.52f, 11.12f, 17.33f, 11.64f) + curveTo(17.14f, 12.16f, 17.08f, 12.72f, 17.14f, 13.28f) + curveTo(17.21f, 13.83f, 17.4f, 14.36f, 17.71f, 14.82f) + lineTo(14.99f, 11.0f) + curveTo(14.68f, 10.48f, 14.23f, 10.05f, 13.7f, 9.76f) + curveTo(13.17f, 9.46f, 12.57f, 9.3f, 11.96f, 9.3f) + curveTo(11.35f, 9.3f, 10.76f, 9.46f, 10.23f, 9.76f) + curveTo(9.7f, 10.05f, 9.25f, 10.48f, 8.93f, 11.0f) + lineTo(4.63f, 17.71f) + curveTo(4.96f, 17.22f, 5.41f, 16.82f, 5.95f, 16.54f) + curveTo(6.48f, 16.27f, 7.07f, 16.13f, 7.67f, 16.15f) + curveTo(8.27f, 16.16f, 8.85f, 16.33f, 9.37f, 16.63f) + curveTo(9.88f, 16.93f, 10.32f, 17.36f, 10.63f, 17.87f) + lineTo(13.44f, 21.82f) + curveTo(13.77f, 22.27f, 14.2f, 22.64f, 14.7f, 22.89f) + curveTo(15.19f, 23.14f, 15.75f, 23.28f, 16.3f, 23.28f) + curveTo(16.86f, 23.28f, 17.41f, 23.14f, 17.91f, 22.89f) + curveTo(18.41f, 22.64f, 18.84f, 22.27f, 19.17f, 21.82f) + lineTo(19.2f, 21.78f) + curveTo(19.28f, 21.67f, 19.34f, 21.57f, 19.41f, 21.45f) + lineTo(23.63f, 14.86f) + curveTo(24.03f, 14.27f, 24.24f, 13.58f, 24.24f, 12.87f) + moveTo(18.55f, 15.72f) + lineTo(18.62f, 15.77f) + lineTo(18.57f, 15.72f) + moveTo(22.72f, 15.79f) + lineTo(22.8f, 15.72f) + lineTo(22.71f, 15.79f) + moveTo(4.54f, 17.86f) + curveTo(4.57f, 17.81f, 4.59f, 17.77f, 4.62f, 17.73f) + lineTo(4.54f, 17.86f) + horizontalLineTo(4.54f) + close() + } + path( + fill = SolidColor(Color(0xFFF38334)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(24.24f, 12.87f) + curveTo(24.24f, 12.16f, 24.03f, 11.47f, 23.64f, 10.88f) + curveTo(23.24f, 10.3f, 22.69f, 9.84f, 22.04f, 9.57f) + curveTo(21.38f, 9.3f, 20.67f, 9.23f, 19.98f, 9.37f) + curveTo(19.28f, 9.51f, 18.65f, 9.85f, 18.15f, 10.35f) + curveTo(17.65f, 10.85f, 17.32f, 11.48f, 17.18f, 12.18f) + curveTo(17.04f, 12.87f, 17.11f, 13.58f, 17.39f, 14.23f) + curveTo(17.66f, 14.89f, 18.11f, 15.44f, 18.7f, 15.83f) + curveTo(19.29f, 16.22f, 19.98f, 16.43f, 20.68f, 16.43f) + curveTo(21.63f, 16.43f, 22.53f, 16.05f, 23.2f, 15.38f) + curveTo(23.87f, 14.72f, 24.25f, 13.81f, 24.25f, 12.87f) + } + path( + fill = SolidColor(Color(0xFF3152A0)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(20.68f, 16.43f) + curveTo(20.09f, 16.43f, 19.51f, 16.28f, 18.99f, 16.0f) + curveTo(18.47f, 15.72f, 18.03f, 15.32f, 17.71f, 14.82f) + lineTo(14.99f, 11.0f) + curveTo(14.67f, 10.48f, 14.23f, 10.05f, 13.7f, 9.76f) + curveTo(13.17f, 9.46f, 12.57f, 9.3f, 11.96f, 9.3f) + curveTo(11.35f, 9.3f, 10.75f, 9.46f, 10.22f, 9.76f) + curveTo(9.69f, 10.05f, 9.25f, 10.48f, 8.93f, 11.0f) + lineTo(4.61f, 17.71f) + curveTo(4.95f, 17.22f, 5.4f, 16.82f, 5.93f, 16.54f) + curveTo(6.46f, 16.27f, 7.06f, 16.13f, 7.65f, 16.15f) + curveTo(8.25f, 16.16f, 8.84f, 16.33f, 9.35f, 16.63f) + curveTo(9.87f, 16.93f, 10.3f, 17.36f, 10.61f, 17.87f) + lineTo(13.44f, 21.82f) + curveTo(13.77f, 22.27f, 14.2f, 22.64f, 14.7f, 22.89f) + curveTo(15.2f, 23.14f, 15.75f, 23.28f, 16.31f, 23.28f) + curveTo(16.86f, 23.28f, 17.42f, 23.14f, 17.91f, 22.89f) + curveTo(18.41f, 22.64f, 18.84f, 22.27f, 19.17f, 21.82f) + lineTo(19.2f, 21.77f) + lineTo(19.41f, 21.47f) + lineTo(23.63f, 14.88f) + curveTo(23.31f, 15.36f, 22.87f, 15.75f, 22.35f, 16.02f) + curveTo(21.84f, 16.29f, 21.26f, 16.43f, 20.68f, 16.43f) + close() + } + path( + fill = SolidColor(Color(0xFFffffff)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(180.11f, 17.84f) + curveTo(180.11f, 19.64f, 179.58f, 21.39f, 178.58f, 22.89f) + curveTo(177.58f, 24.38f, 176.16f, 25.54f, 174.51f, 26.23f) + curveTo(172.85f, 26.92f, 171.02f, 27.1f, 169.26f, 26.75f) + curveTo(167.5f, 26.4f, 165.88f, 25.53f, 164.61f, 24.26f) + curveTo(163.34f, 22.99f, 162.48f, 21.37f, 162.13f, 19.61f) + curveTo(161.77f, 17.85f, 161.96f, 16.03f, 162.64f, 14.37f) + curveTo(163.33f, 12.71f, 164.49f, 11.29f, 165.99f, 10.29f) + curveTo(167.48f, 9.29f, 169.24f, 8.76f, 171.03f, 8.76f) + curveTo(173.44f, 8.76f, 175.75f, 9.72f, 177.45f, 11.42f) + curveTo(179.15f, 13.12f, 180.11f, 15.43f, 180.11f, 17.84f) + close() + moveTo(171.03f, 13.29f) + curveTo(170.13f, 13.29f, 169.25f, 13.56f, 168.5f, 14.06f) + curveTo(167.76f, 14.56f, 167.17f, 15.27f, 166.83f, 16.1f) + curveTo(166.49f, 16.93f, 166.4f, 17.85f, 166.57f, 18.73f) + curveTo(166.75f, 19.61f, 167.18f, 20.42f, 167.82f, 21.06f) + curveTo(168.45f, 21.69f, 169.26f, 22.13f, 170.14f, 22.3f) + curveTo(171.03f, 22.48f, 171.94f, 22.39f, 172.77f, 22.04f) + curveTo(173.6f, 21.7f, 174.31f, 21.12f, 174.81f, 20.37f) + curveTo(175.31f, 19.62f, 175.58f, 18.74f, 175.58f, 17.84f) + curveTo(175.58f, 17.24f, 175.46f, 16.65f, 175.23f, 16.1f) + curveTo(175.01f, 15.55f, 174.67f, 15.05f, 174.25f, 14.63f) + curveTo(173.82f, 14.2f, 173.32f, 13.87f, 172.77f, 13.64f) + curveTo(172.22f, 13.41f, 171.63f, 13.29f, 171.03f, 13.29f) + close() + moveTo(132.05f, 17.85f) + curveTo(132.05f, 19.64f, 131.52f, 21.4f, 130.52f, 22.89f) + curveTo(129.52f, 24.39f, 128.1f, 25.55f, 126.44f, 26.24f) + curveTo(124.78f, 26.92f, 122.96f, 27.1f, 121.2f, 26.75f) + curveTo(119.44f, 26.4f, 117.82f, 25.54f, 116.55f, 24.27f) + curveTo(115.28f, 23.0f, 114.41f, 21.38f, 114.06f, 19.62f) + curveTo(113.71f, 17.86f, 113.89f, 16.03f, 114.58f, 14.37f) + curveTo(115.27f, 12.71f, 116.43f, 11.3f, 117.92f, 10.3f) + curveTo(119.42f, 9.3f, 121.17f, 8.77f, 122.97f, 8.77f) + curveTo(125.38f, 8.77f, 127.69f, 9.72f, 129.39f, 11.43f) + curveTo(131.09f, 13.13f, 132.05f, 15.44f, 132.05f, 17.85f) + close() + moveTo(122.97f, 13.3f) + curveTo(122.07f, 13.3f, 121.19f, 13.57f, 120.44f, 14.07f) + curveTo(119.69f, 14.57f, 119.11f, 15.28f, 118.77f, 16.11f) + curveTo(118.42f, 16.94f, 118.33f, 17.85f, 118.51f, 18.73f) + curveTo(118.68f, 19.62f, 119.12f, 20.43f, 119.75f, 21.06f) + curveTo(120.39f, 21.7f, 121.2f, 22.13f, 122.08f, 22.31f) + curveTo(122.96f, 22.48f, 123.88f, 22.39f, 124.71f, 22.05f) + curveTo(125.54f, 21.71f, 126.25f, 21.12f, 126.75f, 20.37f) + curveTo(127.25f, 19.63f, 127.52f, 18.75f, 127.52f, 17.85f) + curveTo(127.52f, 16.64f, 127.04f, 15.48f, 126.18f, 14.63f) + curveTo(125.33f, 13.78f, 124.18f, 13.3f, 122.97f, 13.3f) + close() + moveTo(88.72f, 8.76f) + curveTo(88.28f, 8.74f, 87.84f, 8.86f, 87.47f, 9.1f) + curveTo(87.1f, 9.34f, 86.81f, 9.69f, 86.64f, 10.1f) + curveTo(85.26f, 9.26f, 83.69f, 8.8f, 82.07f, 8.76f) + curveTo(80.46f, 8.73f, 78.86f, 9.13f, 77.46f, 9.92f) + curveTo(76.05f, 10.71f, 74.87f, 11.86f, 74.06f, 13.25f) + curveTo(73.24f, 14.65f, 72.81f, 16.23f, 72.81f, 17.85f) + curveTo(72.81f, 19.46f, 73.24f, 21.05f, 74.06f, 22.44f) + curveTo(74.87f, 23.84f, 76.05f, 24.99f, 77.46f, 25.77f) + curveTo(78.86f, 26.56f, 80.46f, 26.96f, 82.07f, 26.93f) + curveTo(83.69f, 26.9f, 85.26f, 26.44f, 86.64f, 25.59f) + curveTo(86.81f, 26.0f, 87.1f, 26.35f, 87.48f, 26.59f) + curveTo(87.85f, 26.83f, 88.29f, 26.95f, 88.73f, 26.93f) + curveTo(89.04f, 26.94f, 89.35f, 26.88f, 89.63f, 26.77f) + curveTo(89.92f, 26.65f, 90.18f, 26.47f, 90.4f, 26.25f) + curveTo(90.61f, 26.02f, 90.78f, 25.76f, 90.88f, 25.47f) + curveTo(90.99f, 25.17f, 91.03f, 24.86f, 91.01f, 24.55f) + verticalLineTo(11.12f) + curveTo(91.03f, 10.81f, 90.99f, 10.5f, 90.88f, 10.21f) + curveTo(90.78f, 9.92f, 90.61f, 9.65f, 90.4f, 9.43f) + curveTo(90.18f, 9.21f, 89.92f, 9.03f, 89.63f, 8.91f) + curveTo(89.35f, 8.8f, 89.04f, 8.74f, 88.73f, 8.75f) + moveTo(81.92f, 22.39f) + curveTo(81.04f, 22.39f, 80.18f, 22.13f, 79.44f, 21.65f) + curveTo(78.7f, 21.17f, 78.11f, 20.49f, 77.76f, 19.68f) + curveTo(77.4f, 18.87f, 77.28f, 17.98f, 77.42f, 17.11f) + curveTo(77.57f, 16.24f, 77.96f, 15.42f, 78.55f, 14.77f) + curveTo(79.15f, 14.12f, 79.92f, 13.65f, 80.77f, 13.43f) + curveTo(81.62f, 13.21f, 82.53f, 13.24f, 83.36f, 13.52f) + curveTo(84.2f, 13.8f, 84.94f, 14.31f, 85.49f, 15.0f) + curveTo(86.04f, 15.7f, 86.37f, 16.53f, 86.45f, 17.41f) + verticalLineTo(18.24f) + curveTo(86.35f, 19.37f, 85.83f, 20.42f, 84.99f, 21.19f) + curveTo(84.15f, 21.95f, 83.06f, 22.38f, 81.92f, 22.38f) + moveTo(112.33f, 19.1f) + curveTo(112.3f, 18.52f, 112.05f, 17.98f, 111.63f, 17.58f) + curveTo(111.21f, 17.18f, 110.65f, 16.95f, 110.07f, 16.95f) + curveTo(109.49f, 16.95f, 108.93f, 17.18f, 108.51f, 17.58f) + curveTo(108.09f, 17.98f, 107.84f, 18.52f, 107.81f, 19.1f) + curveTo(107.72f, 19.92f, 107.34f, 20.68f, 106.73f, 21.23f) + curveTo(106.12f, 21.79f, 105.33f, 22.09f, 104.5f, 22.09f) + curveTo(103.68f, 22.09f, 102.89f, 21.79f, 102.28f, 21.23f) + curveTo(101.67f, 20.68f, 101.28f, 19.92f, 101.2f, 19.1f) + verticalLineTo(13.3f) + horizontalLineTo(106.53f) + curveTo(107.14f, 13.3f, 107.71f, 13.06f, 108.14f, 12.63f) + curveTo(108.56f, 12.21f, 108.8f, 11.63f, 108.8f, 11.03f) + curveTo(108.8f, 10.43f, 108.56f, 9.85f, 108.14f, 9.43f) + curveTo(107.71f, 9.0f, 107.14f, 8.76f, 106.53f, 8.76f) + horizontalLineTo(101.19f) + verticalLineTo(7.22f) + curveTo(101.16f, 6.64f, 100.91f, 6.09f, 100.49f, 5.69f) + curveTo(100.07f, 5.29f, 99.51f, 5.07f, 98.93f, 5.07f) + curveTo(98.35f, 5.07f, 97.79f, 5.29f, 97.37f, 5.69f) + curveTo(96.95f, 6.09f, 96.7f, 6.64f, 96.67f, 7.22f) + verticalLineTo(8.78f) + horizontalLineTo(94.84f) + curveTo(94.24f, 8.78f, 93.66f, 9.02f, 93.24f, 9.44f) + curveTo(92.82f, 9.86f, 92.58f, 10.44f, 92.58f, 11.04f) + curveTo(92.58f, 11.63f, 92.82f, 12.21f, 93.24f, 12.63f) + curveTo(93.66f, 13.06f, 94.24f, 13.29f, 94.84f, 13.29f) + horizontalLineTo(96.67f) + verticalLineTo(19.1f) + curveTo(96.7f, 21.17f, 97.53f, 23.15f, 98.99f, 24.61f) + curveTo(100.46f, 26.07f, 102.43f, 26.9f, 104.5f, 26.93f) + curveTo(106.58f, 26.93f, 108.57f, 26.1f, 110.04f, 24.63f) + curveTo(111.5f, 23.17f, 112.33f, 21.18f, 112.33f, 19.1f) + close() + moveTo(160.38f, 24.65f) + verticalLineTo(16.49f) + curveTo(160.37f, 14.95f, 159.89f, 13.45f, 159.01f, 12.17f) + curveTo(158.14f, 10.9f, 156.91f, 9.92f, 155.48f, 9.34f) + curveTo(154.05f, 8.77f, 152.48f, 8.63f, 150.97f, 8.95f) + curveTo(149.46f, 9.27f, 148.07f, 10.02f, 146.99f, 11.12f) + curveTo(145.91f, 10.02f, 144.53f, 9.27f, 143.02f, 8.95f) + curveTo(141.51f, 8.63f, 139.94f, 8.77f, 138.51f, 9.35f) + curveTo(137.07f, 9.93f, 135.84f, 10.92f, 134.97f, 12.19f) + curveTo(134.1f, 13.47f, 133.63f, 14.97f, 133.62f, 16.51f) + verticalLineTo(24.65f) + curveTo(133.64f, 25.23f, 133.89f, 25.78f, 134.32f, 26.18f) + curveTo(134.74f, 26.58f, 135.29f, 26.8f, 135.88f, 26.8f) + curveTo(136.46f, 26.8f, 137.01f, 26.58f, 137.43f, 26.18f) + curveTo(137.86f, 25.78f, 138.11f, 25.23f, 138.13f, 24.65f) + verticalLineTo(16.59f) + curveTo(138.21f, 15.76f, 138.59f, 14.99f, 139.2f, 14.44f) + curveTo(139.82f, 13.88f, 140.61f, 13.57f, 141.44f, 13.57f) + curveTo(142.27f, 13.57f, 143.07f, 13.88f, 143.68f, 14.44f) + curveTo(144.29f, 14.99f, 144.67f, 15.76f, 144.75f, 16.59f) + verticalLineTo(24.58f) + curveTo(144.75f, 25.19f, 144.99f, 25.77f, 145.41f, 26.21f) + curveTo(145.84f, 26.65f, 146.42f, 26.9f, 147.03f, 26.92f) + curveTo(147.63f, 26.9f, 148.2f, 26.64f, 148.61f, 26.2f) + curveTo(149.02f, 25.76f, 149.25f, 25.18f, 149.24f, 24.58f) + verticalLineTo(16.59f) + curveTo(149.32f, 15.76f, 149.7f, 14.99f, 150.31f, 14.44f) + curveTo(150.92f, 13.88f, 151.72f, 13.57f, 152.55f, 13.57f) + curveTo(153.38f, 13.57f, 154.17f, 13.88f, 154.79f, 14.44f) + curveTo(155.4f, 14.99f, 155.78f, 15.76f, 155.85f, 16.59f) + verticalLineTo(24.65f) + curveTo(155.85f, 25.25f, 156.09f, 25.83f, 156.51f, 26.25f) + curveTo(156.94f, 26.67f, 157.51f, 26.91f, 158.11f, 26.91f) + curveTo(158.71f, 26.91f, 159.28f, 26.67f, 159.71f, 26.25f) + curveTo(160.13f, 25.83f, 160.37f, 25.25f, 160.37f, 24.65f) + moveTo(71.27f, 24.65f) + verticalLineTo(16.48f) + curveTo(71.25f, 14.94f, 70.77f, 13.44f, 69.9f, 12.16f) + curveTo(69.02f, 10.89f, 67.79f, 9.91f, 66.36f, 9.33f) + curveTo(64.93f, 8.76f, 63.36f, 8.63f, 61.85f, 8.94f) + curveTo(60.34f, 9.26f, 58.95f, 10.02f, 57.87f, 11.12f) + curveTo(56.79f, 10.02f, 55.41f, 9.27f, 53.9f, 8.95f) + curveTo(52.39f, 8.63f, 50.82f, 8.77f, 49.39f, 9.35f) + curveTo(47.96f, 9.92f, 46.73f, 10.91f, 45.86f, 12.19f) + curveTo(44.99f, 13.46f, 44.52f, 14.97f, 44.5f, 16.51f) + verticalLineTo(24.65f) + curveTo(44.5f, 25.25f, 44.74f, 25.82f, 45.16f, 26.24f) + curveTo(45.58f, 26.67f, 46.16f, 26.91f, 46.76f, 26.91f) + curveTo(47.36f, 26.91f, 47.93f, 26.67f, 48.35f, 26.24f) + curveTo(48.78f, 25.82f, 49.02f, 25.25f, 49.02f, 24.65f) + verticalLineTo(16.58f) + curveTo(49.02f, 15.7f, 49.37f, 14.86f, 49.99f, 14.23f) + curveTo(50.61f, 13.61f, 51.45f, 13.26f, 52.34f, 13.26f) + curveTo(53.22f, 13.26f, 54.06f, 13.61f, 54.68f, 14.23f) + curveTo(55.31f, 14.86f, 55.66f, 15.7f, 55.66f, 16.58f) + verticalLineTo(24.57f) + curveTo(55.66f, 25.18f, 55.9f, 25.76f, 56.32f, 26.2f) + curveTo(56.75f, 26.64f, 57.33f, 26.9f, 57.94f, 26.92f) + curveTo(58.54f, 26.89f, 59.11f, 26.63f, 59.52f, 26.19f) + curveTo(59.94f, 25.75f, 60.16f, 25.17f, 60.15f, 24.57f) + verticalLineTo(16.58f) + curveTo(60.24f, 15.76f, 60.62f, 15.0f, 61.23f, 14.45f) + curveTo(61.84f, 13.9f, 62.63f, 13.59f, 63.46f, 13.59f) + curveTo(64.28f, 13.59f, 65.07f, 13.9f, 65.68f, 14.45f) + curveTo(66.29f, 15.0f, 66.68f, 15.76f, 66.76f, 16.58f) + verticalLineTo(24.65f) + curveTo(66.76f, 25.25f, 67.0f, 25.82f, 67.42f, 26.24f) + curveTo(67.85f, 26.67f, 68.42f, 26.91f, 69.02f, 26.91f) + curveTo(69.62f, 26.91f, 70.19f, 26.67f, 70.61f, 26.24f) + curveTo(71.04f, 25.82f, 71.28f, 25.25f, 71.28f, 24.65f) + } + }.build() + + return _matomoDark!! + } + +private var _matomoDark: ImageVector? = null + +@Preview +@Composable +private fun Preview() { + Box { + Image( + imageVector = AppIllus.MatomoDark, + contentDescription = null, + modifier = Modifier.size(AppImages.previewSize), + ) + } +} diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/matomo/MatomoLight.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/matomo/MatomoLight.kt new file mode 100644 index 000000000..5cb86909d --- /dev/null +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/matomo/MatomoLight.kt @@ -0,0 +1,392 @@ +/* + * Infomaniak SwissTransfer - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.swisstransfer.ui.images.illus.matomo + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.group +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.infomaniak.swisstransfer.ui.images.AppImages +import com.infomaniak.swisstransfer.ui.images.AppImages.AppIllus + +val AppIllus.MatomoLight: ImageVector + get() { + + if (_matomoLight != null) return _matomoLight!! + + _matomoLight = Builder( + name = "MatomoLight", + defaultWidth = 181.0.dp, + defaultHeight = 32.0.dp, + viewportWidth = 181.0f, + viewportHeight = 32.0f, + ).apply { + group { + path( + fill = SolidColor(Color(0xFF95C748)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(43.11f, 18.68f) + lineTo(42.99f, 18.5f) + curveTo(42.97f, 18.48f, 42.96f, 18.45f, 42.94f, 18.42f) + lineTo(35.19f, 6.14f) + lineTo(25.16f, 13.89f) + lineTo(32.53f, 25.65f) + lineTo(32.62f, 25.8f) + lineTo(32.66f, 25.86f) + curveTo(33.59f, 27.26f, 35.02f, 28.23f, 36.63f, 28.56f) + curveTo(38.24f, 28.88f, 39.91f, 28.53f, 41.27f, 27.59f) + curveTo(42.64f, 26.65f, 43.6f, 25.19f, 43.95f, 23.52f) + curveTo(44.3f, 21.85f, 44.0f, 20.11f, 43.13f, 18.67f) + } + path( + fill = SolidColor(Color(0xFF35BFC0)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(13.05f, 22.1f) + curveTo(13.05f, 20.81f, 12.68f, 19.55f, 11.99f, 18.48f) + curveTo(11.3f, 17.4f, 10.32f, 16.56f, 9.17f, 16.07f) + curveTo(8.03f, 15.58f, 6.77f, 15.45f, 5.55f, 15.7f) + curveTo(4.33f, 15.95f, 3.21f, 16.57f, 2.34f, 17.49f) + curveTo(1.46f, 18.4f, 0.86f, 19.56f, 0.62f, 20.83f) + curveTo(0.38f, 22.1f, 0.5f, 23.41f, 0.98f, 24.6f) + curveTo(1.45f, 25.79f, 2.26f, 26.81f, 3.29f, 27.53f) + curveTo(4.32f, 28.25f, 5.53f, 28.63f, 6.77f, 28.63f) + curveTo(8.44f, 28.63f, 10.03f, 27.94f, 11.21f, 26.72f) + curveTo(12.39f, 25.5f, 13.05f, 23.83f, 13.05f, 22.1f) + close() + } + path( + fill = SolidColor(Color(0xFF3253A0)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(36.16f, 9.56f) + curveTo(36.16f, 8.54f, 35.93f, 7.53f, 35.49f, 6.62f) + curveTo(35.06f, 5.71f, 34.42f, 4.91f, 33.63f, 4.3f) + curveTo(32.85f, 3.69f, 31.94f, 3.28f, 30.97f, 3.1f) + curveTo(30.01f, 2.93f, 29.02f, 2.99f, 28.08f, 3.28f) + curveTo(27.14f, 3.57f, 26.28f, 4.09f, 25.57f, 4.79f) + curveTo(24.85f, 5.49f, 24.31f, 6.35f, 23.98f, 7.31f) + curveTo(23.64f, 8.27f, 23.53f, 9.3f, 23.64f, 10.31f) + curveTo(23.76f, 11.32f, 24.1f, 12.29f, 24.64f, 13.14f) + lineTo(19.86f, 6.14f) + curveTo(19.3f, 5.19f, 18.51f, 4.4f, 17.58f, 3.86f) + curveTo(16.64f, 3.32f, 15.59f, 3.03f, 14.52f, 3.03f) + curveTo(13.45f, 3.03f, 12.4f, 3.32f, 11.46f, 3.86f) + curveTo(10.53f, 4.4f, 9.74f, 5.19f, 9.18f, 6.14f) + lineTo(1.6f, 18.45f) + curveTo(2.19f, 17.54f, 2.99f, 16.8f, 3.93f, 16.3f) + curveTo(4.86f, 15.79f, 5.9f, 15.55f, 6.96f, 15.57f) + curveTo(8.01f, 15.6f, 9.04f, 15.91f, 9.95f, 16.46f) + curveTo(10.86f, 17.01f, 11.62f, 17.79f, 12.16f, 18.73f) + lineTo(17.11f, 25.97f) + curveTo(17.69f, 26.8f, 18.45f, 27.47f, 19.33f, 27.93f) + curveTo(20.21f, 28.4f, 21.18f, 28.64f, 22.16f, 28.64f) + curveTo(23.15f, 28.64f, 24.12f, 28.4f, 25.0f, 27.93f) + curveTo(25.87f, 27.47f, 26.63f, 26.8f, 27.21f, 25.97f) + lineTo(27.27f, 25.89f) + curveTo(27.4f, 25.7f, 27.52f, 25.5f, 27.62f, 25.3f) + lineTo(35.07f, 13.22f) + curveTo(35.76f, 12.14f, 36.14f, 10.86f, 36.13f, 9.56f) + moveTo(26.11f, 14.79f) + lineTo(26.24f, 14.89f) + lineTo(26.15f, 14.79f) + moveTo(33.46f, 14.92f) + lineTo(33.59f, 14.8f) + lineTo(33.44f, 14.92f) + moveTo(1.45f, 18.71f) + curveTo(1.49f, 18.62f, 1.54f, 18.55f, 1.59f, 18.47f) + lineTo(1.44f, 18.71f) + horizontalLineTo(1.45f) + close() + } + path( + fill = SolidColor(Color(0xFFF38334)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(36.13f, 9.56f) + curveTo(36.13f, 8.27f, 35.76f, 7.0f, 35.07f, 5.93f) + curveTo(34.38f, 4.86f, 33.4f, 4.02f, 32.25f, 3.53f) + curveTo(31.1f, 3.03f, 29.84f, 2.9f, 28.62f, 3.16f) + curveTo(27.41f, 3.41f, 26.29f, 4.03f, 25.41f, 4.95f) + curveTo(24.54f, 5.86f, 23.94f, 7.03f, 23.7f, 8.3f) + curveTo(23.46f, 9.56f, 23.58f, 10.88f, 24.06f, 12.07f) + curveTo(24.54f, 13.26f, 25.35f, 14.28f, 26.38f, 15.0f) + curveTo(27.41f, 15.71f, 28.63f, 16.09f, 29.87f, 16.09f) + curveTo(31.53f, 16.09f, 33.13f, 15.4f, 34.3f, 14.18f) + curveTo(35.48f, 12.95f, 36.14f, 11.29f, 36.14f, 9.56f) + } + path( + fill = SolidColor(Color(0xFF3152A0)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(29.87f, 16.09f) + curveTo(28.83f, 16.09f, 27.81f, 15.82f, 26.89f, 15.31f) + curveTo(25.98f, 14.79f, 25.2f, 14.05f, 24.63f, 13.14f) + lineTo(19.85f, 6.14f) + curveTo(19.29f, 5.19f, 18.5f, 4.4f, 17.57f, 3.86f) + curveTo(16.63f, 3.32f, 15.58f, 3.03f, 14.51f, 3.03f) + curveTo(13.44f, 3.03f, 12.39f, 3.32f, 11.45f, 3.86f) + curveTo(10.52f, 4.4f, 9.74f, 5.19f, 9.18f, 6.14f) + lineTo(1.57f, 18.45f) + curveTo(2.16f, 17.54f, 2.96f, 16.8f, 3.9f, 16.3f) + curveTo(4.83f, 15.79f, 5.88f, 15.55f, 6.93f, 15.57f) + curveTo(7.98f, 15.6f, 9.01f, 15.91f, 9.92f, 16.46f) + curveTo(10.83f, 17.01f, 11.59f, 17.79f, 12.14f, 18.73f) + lineTo(17.11f, 25.97f) + curveTo(17.69f, 26.8f, 18.45f, 27.47f, 19.33f, 27.93f) + curveTo(20.21f, 28.4f, 21.18f, 28.64f, 22.16f, 28.64f) + curveTo(23.15f, 28.64f, 24.12f, 28.4f, 24.99f, 27.93f) + curveTo(25.87f, 27.47f, 26.63f, 26.8f, 27.21f, 25.97f) + lineTo(27.26f, 25.89f) + lineTo(27.62f, 25.33f) + lineTo(35.07f, 13.25f) + curveTo(34.49f, 14.13f, 33.71f, 14.85f, 32.81f, 15.34f) + curveTo(31.9f, 15.84f, 30.89f, 16.09f, 29.87f, 16.09f) + close() + } + path( + fill = SolidColor(Color(0xFF3F4445)), stroke = null, strokeLineWidth = + 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = + 4.0f, pathFillType = NonZero + ) { + moveTo(180.5f, 17.59f) + curveTo(180.5f, 19.38f, 179.99f, 21.14f, 179.03f, 22.63f) + curveTo(178.07f, 24.13f, 176.71f, 25.29f, 175.11f, 25.98f) + curveTo(173.52f, 26.66f, 171.77f, 26.84f, 170.07f, 26.49f) + curveTo(168.38f, 26.14f, 166.83f, 25.28f, 165.61f, 24.01f) + curveTo(164.39f, 22.74f, 163.56f, 21.12f, 163.22f, 19.36f) + curveTo(162.88f, 17.6f, 163.06f, 15.77f, 163.72f, 14.11f) + curveTo(164.38f, 12.45f, 165.49f, 11.04f, 166.93f, 10.04f) + curveTo(168.36f, 9.04f, 170.05f, 8.51f, 171.78f, 8.51f) + curveTo(174.09f, 8.51f, 176.31f, 9.46f, 177.94f, 11.17f) + curveTo(179.58f, 12.87f, 180.5f, 15.18f, 180.5f, 17.59f) + close() + moveTo(171.78f, 13.04f) + curveTo(170.91f, 13.04f, 170.07f, 13.31f, 169.35f, 13.81f) + curveTo(168.63f, 14.31f, 168.07f, 15.02f, 167.74f, 15.85f) + curveTo(167.41f, 16.68f, 167.32f, 17.59f, 167.49f, 18.48f) + curveTo(167.66f, 19.36f, 168.07f, 20.17f, 168.69f, 20.8f) + curveTo(169.3f, 21.44f, 170.07f, 21.87f, 170.92f, 22.05f) + curveTo(171.77f, 22.22f, 172.65f, 22.13f, 173.45f, 21.79f) + curveTo(174.25f, 21.45f, 174.93f, 20.86f, 175.41f, 20.11f) + curveTo(175.89f, 19.37f, 176.15f, 18.49f, 176.15f, 17.59f) + curveTo(176.15f, 16.99f, 176.03f, 16.4f, 175.81f, 15.85f) + curveTo(175.59f, 15.3f, 175.27f, 14.79f, 174.87f, 14.37f) + curveTo(174.46f, 13.95f, 173.98f, 13.61f, 173.45f, 13.39f) + curveTo(172.92f, 13.16f, 172.35f, 13.04f, 171.78f, 13.04f) + close() + moveTo(134.32f, 17.59f) + curveTo(134.32f, 19.39f, 133.81f, 21.14f, 132.85f, 22.64f) + curveTo(131.89f, 24.13f, 130.53f, 25.3f, 128.94f, 25.98f) + curveTo(127.34f, 26.67f, 125.59f, 26.85f, 123.9f, 26.5f) + curveTo(122.21f, 26.15f, 120.65f, 25.28f, 119.43f, 24.01f) + curveTo(118.21f, 22.74f, 117.38f, 21.13f, 117.04f, 19.36f) + curveTo(116.71f, 17.6f, 116.88f, 15.78f, 117.54f, 14.12f) + curveTo(118.2f, 12.46f, 119.32f, 11.04f, 120.75f, 10.04f) + curveTo(122.19f, 9.05f, 123.87f, 8.51f, 125.6f, 8.51f) + curveTo(127.91f, 8.51f, 130.13f, 9.47f, 131.77f, 11.17f) + curveTo(133.4f, 12.88f, 134.32f, 15.19f, 134.32f, 17.59f) + close() + moveTo(125.6f, 13.05f) + curveTo(124.74f, 13.05f, 123.89f, 13.31f, 123.17f, 13.81f) + curveTo(122.45f, 14.31f, 121.89f, 15.02f, 121.56f, 15.85f) + curveTo(121.23f, 16.68f, 121.14f, 17.6f, 121.31f, 18.48f) + curveTo(121.48f, 19.36f, 121.9f, 20.17f, 122.51f, 20.81f) + curveTo(123.12f, 21.45f, 123.9f, 21.88f, 124.75f, 22.05f) + curveTo(125.6f, 22.23f, 126.47f, 22.14f, 127.27f, 21.8f) + curveTo(128.07f, 21.45f, 128.75f, 20.87f, 129.23f, 20.12f) + curveTo(129.71f, 19.37f, 129.97f, 18.49f, 129.97f, 17.59f) + curveTo(129.97f, 16.39f, 129.51f, 15.23f, 128.69f, 14.38f) + curveTo(127.87f, 13.52f, 126.76f, 13.05f, 125.6f, 13.05f) + close() + moveTo(92.7f, 8.51f) + curveTo(92.27f, 8.49f, 91.85f, 8.61f, 91.49f, 8.85f) + curveTo(91.14f, 9.09f, 90.86f, 9.44f, 90.7f, 9.85f) + curveTo(89.38f, 9.0f, 87.86f, 8.54f, 86.31f, 8.51f) + curveTo(84.76f, 8.48f, 83.23f, 8.88f, 81.87f, 9.67f) + curveTo(80.52f, 10.46f, 79.39f, 11.61f, 78.61f, 13.0f) + curveTo(77.82f, 14.39f, 77.41f, 15.98f, 77.41f, 17.59f) + curveTo(77.41f, 19.21f, 77.82f, 20.79f, 78.61f, 22.19f) + curveTo(79.39f, 23.58f, 80.52f, 24.73f, 81.87f, 25.52f) + curveTo(83.23f, 26.31f, 84.76f, 26.71f, 86.31f, 26.68f) + curveTo(87.86f, 26.65f, 89.38f, 26.18f, 90.7f, 25.34f) + curveTo(90.86f, 25.75f, 91.14f, 26.1f, 91.5f, 26.33f) + curveTo(91.86f, 26.57f, 92.28f, 26.69f, 92.7f, 26.67f) + curveTo(93.0f, 26.68f, 93.3f, 26.63f, 93.57f, 26.51f) + curveTo(93.85f, 26.39f, 94.1f, 26.22f, 94.31f, 25.99f) + curveTo(94.51f, 25.77f, 94.67f, 25.5f, 94.77f, 25.21f) + curveTo(94.87f, 24.92f, 94.92f, 24.61f, 94.89f, 24.3f) + verticalLineTo(10.87f) + curveTo(94.92f, 10.56f, 94.87f, 10.25f, 94.77f, 9.96f) + curveTo(94.67f, 9.67f, 94.51f, 9.4f, 94.31f, 9.18f) + curveTo(94.1f, 8.95f, 93.85f, 8.78f, 93.57f, 8.66f) + curveTo(93.3f, 8.54f, 93.0f, 8.49f, 92.7f, 8.5f) + moveTo(86.16f, 22.14f) + curveTo(85.32f, 22.14f, 84.49f, 21.88f, 83.78f, 21.4f) + curveTo(83.06f, 20.92f, 82.5f, 20.23f, 82.16f, 19.42f) + curveTo(81.82f, 18.62f, 81.71f, 17.72f, 81.84f, 16.85f) + curveTo(81.98f, 15.98f, 82.36f, 15.17f, 82.93f, 14.52f) + curveTo(83.5f, 13.86f, 84.24f, 13.4f, 85.06f, 13.18f) + curveTo(85.88f, 12.95f, 86.74f, 12.98f, 87.55f, 13.26f) + curveTo(88.35f, 13.54f, 89.06f, 14.06f, 89.59f, 14.75f) + curveTo(90.12f, 15.44f, 90.44f, 16.28f, 90.52f, 17.16f) + verticalLineTo(17.99f) + curveTo(90.42f, 19.12f, 89.92f, 20.17f, 89.11f, 20.93f) + curveTo(88.31f, 21.7f, 87.25f, 22.12f, 86.16f, 22.13f) + moveTo(115.38f, 18.85f) + curveTo(115.35f, 18.27f, 115.11f, 17.72f, 114.7f, 17.32f) + curveTo(114.3f, 16.92f, 113.76f, 16.7f, 113.21f, 16.7f) + curveTo(112.65f, 16.7f, 112.11f, 16.92f, 111.71f, 17.32f) + curveTo(111.3f, 17.72f, 111.06f, 18.27f, 111.03f, 18.85f) + curveTo(110.95f, 19.67f, 110.59f, 20.43f, 110.0f, 20.98f) + curveTo(109.41f, 21.53f, 108.65f, 21.84f, 107.86f, 21.84f) + curveTo(107.07f, 21.84f, 106.31f, 21.53f, 105.72f, 20.98f) + curveTo(105.13f, 20.43f, 104.76f, 19.67f, 104.69f, 18.85f) + verticalLineTo(13.05f) + horizontalLineTo(109.81f) + curveTo(110.39f, 13.05f, 110.94f, 12.81f, 111.35f, 12.38f) + curveTo(111.76f, 11.95f, 111.99f, 11.38f, 111.99f, 10.78f) + curveTo(111.99f, 10.17f, 111.76f, 9.6f, 111.35f, 9.17f) + curveTo(110.94f, 8.75f, 110.39f, 8.51f, 109.81f, 8.51f) + horizontalLineTo(104.68f) + verticalLineTo(6.96f) + curveTo(104.65f, 6.38f, 104.41f, 5.84f, 104.0f, 5.44f) + curveTo(103.6f, 5.04f, 103.06f, 4.81f, 102.5f, 4.81f) + curveTo(101.94f, 4.81f, 101.41f, 5.04f, 101.0f, 5.44f) + curveTo(100.6f, 5.84f, 100.36f, 6.38f, 100.33f, 6.96f) + verticalLineTo(8.52f) + horizontalLineTo(98.57f) + curveTo(98.0f, 8.52f, 97.45f, 8.76f, 97.04f, 9.19f) + curveTo(96.63f, 9.61f, 96.4f, 10.18f, 96.4f, 10.78f) + curveTo(96.4f, 11.38f, 96.63f, 11.95f, 97.04f, 12.38f) + curveTo(97.45f, 12.8f, 98.0f, 13.04f, 98.57f, 13.04f) + horizontalLineTo(100.33f) + verticalLineTo(18.85f) + curveTo(100.36f, 20.92f, 101.16f, 22.89f, 102.57f, 24.36f) + curveTo(103.97f, 25.82f, 105.87f, 26.65f, 107.86f, 26.67f) + curveTo(109.85f, 26.67f, 111.76f, 25.85f, 113.17f, 24.38f) + curveTo(114.58f, 22.91f, 115.38f, 20.92f, 115.38f, 18.85f) + close() + moveTo(161.55f, 24.4f) + verticalLineTo(16.24f) + curveTo(161.53f, 14.69f, 161.07f, 13.19f, 160.23f, 11.92f) + curveTo(159.39f, 10.65f, 158.21f, 9.66f, 156.83f, 9.09f) + curveTo(155.46f, 8.51f, 153.95f, 8.38f, 152.5f, 8.69f) + curveTo(151.05f, 9.01f, 149.72f, 9.77f, 148.68f, 10.87f) + curveTo(147.64f, 9.77f, 146.31f, 9.01f, 144.86f, 8.7f) + curveTo(143.41f, 8.38f, 141.9f, 8.52f, 140.53f, 9.1f) + curveTo(139.15f, 9.67f, 137.97f, 10.66f, 137.13f, 11.94f) + curveTo(136.3f, 13.21f, 135.84f, 14.72f, 135.83f, 16.26f) + verticalLineTo(24.4f) + curveTo(135.85f, 24.98f, 136.1f, 25.53f, 136.5f, 25.93f) + curveTo(136.9f, 26.33f, 137.44f, 26.55f, 138.0f, 26.55f) + curveTo(138.56f, 26.55f, 139.09f, 26.33f, 139.5f, 25.93f) + curveTo(139.9f, 25.53f, 140.14f, 24.98f, 140.17f, 24.4f) + verticalLineTo(16.33f) + curveTo(140.24f, 15.51f, 140.61f, 14.74f, 141.2f, 14.18f) + curveTo(141.79f, 13.62f, 142.55f, 13.31f, 143.35f, 13.31f) + curveTo(144.14f, 13.31f, 144.91f, 13.62f, 145.5f, 14.18f) + curveTo(146.09f, 14.74f, 146.45f, 15.51f, 146.52f, 16.33f) + verticalLineTo(24.32f) + curveTo(146.53f, 24.93f, 146.76f, 25.52f, 147.16f, 25.95f) + curveTo(147.57f, 26.39f, 148.13f, 26.65f, 148.71f, 26.67f) + curveTo(149.29f, 26.64f, 149.84f, 26.38f, 150.24f, 25.94f) + curveTo(150.63f, 25.51f, 150.85f, 24.92f, 150.84f, 24.32f) + verticalLineTo(16.33f) + curveTo(150.91f, 15.51f, 151.28f, 14.74f, 151.87f, 14.18f) + curveTo(152.46f, 13.62f, 153.22f, 13.31f, 154.02f, 13.31f) + curveTo(154.81f, 13.31f, 155.58f, 13.62f, 156.17f, 14.18f) + curveTo(156.76f, 14.74f, 157.12f, 15.51f, 157.19f, 16.33f) + verticalLineTo(24.4f) + curveTo(157.19f, 25.0f, 157.42f, 25.57f, 157.83f, 26.0f) + curveTo(158.24f, 26.42f, 158.79f, 26.66f, 159.36f, 26.66f) + curveTo(159.94f, 26.66f, 160.49f, 26.42f, 160.9f, 26.0f) + curveTo(161.3f, 25.57f, 161.53f, 25.0f, 161.53f, 24.4f) + moveTo(75.93f, 24.39f) + verticalLineTo(16.23f) + curveTo(75.91f, 14.68f, 75.45f, 13.18f, 74.61f, 11.91f) + curveTo(73.77f, 10.64f, 72.59f, 9.65f, 71.21f, 9.08f) + curveTo(69.83f, 8.51f, 68.33f, 8.37f, 66.88f, 8.69f) + curveTo(65.42f, 9.01f, 64.1f, 9.77f, 63.06f, 10.87f) + curveTo(62.02f, 9.77f, 60.69f, 9.01f, 59.24f, 8.69f) + curveTo(57.79f, 8.38f, 56.28f, 8.52f, 54.91f, 9.09f) + curveTo(53.53f, 9.67f, 52.35f, 10.66f, 51.52f, 11.93f) + curveTo(50.68f, 13.21f, 50.23f, 14.71f, 50.21f, 16.25f) + verticalLineTo(24.39f) + curveTo(50.21f, 24.99f, 50.44f, 25.57f, 50.85f, 25.99f) + curveTo(51.25f, 26.41f, 51.8f, 26.65f, 52.38f, 26.65f) + curveTo(52.96f, 26.65f, 53.51f, 26.41f, 53.91f, 25.99f) + curveTo(54.32f, 25.57f, 54.55f, 24.99f, 54.55f, 24.39f) + verticalLineTo(16.33f) + curveTo(54.55f, 15.45f, 54.88f, 14.6f, 55.48f, 13.98f) + curveTo(56.08f, 13.36f, 56.89f, 13.01f, 57.74f, 13.01f) + curveTo(58.58f, 13.01f, 59.4f, 13.36f, 59.99f, 13.98f) + curveTo(60.59f, 14.6f, 60.93f, 15.45f, 60.93f, 16.33f) + verticalLineTo(24.31f) + curveTo(60.93f, 24.92f, 61.16f, 25.51f, 61.57f, 25.95f) + curveTo(61.98f, 26.39f, 62.54f, 26.64f, 63.12f, 26.66f) + curveTo(63.7f, 26.64f, 64.25f, 26.37f, 64.65f, 25.94f) + curveTo(65.04f, 25.5f, 65.26f, 24.91f, 65.25f, 24.31f) + verticalLineTo(16.33f) + curveTo(65.33f, 15.51f, 65.7f, 14.75f, 66.28f, 14.2f) + curveTo(66.87f, 13.64f, 67.63f, 13.34f, 68.42f, 13.34f) + curveTo(69.21f, 13.34f, 69.98f, 13.64f, 70.56f, 14.2f) + curveTo(71.15f, 14.75f, 71.52f, 15.51f, 71.6f, 16.33f) + verticalLineTo(24.39f) + curveTo(71.6f, 24.99f, 71.83f, 25.57f, 72.23f, 25.99f) + curveTo(72.64f, 26.41f, 73.19f, 26.65f, 73.77f, 26.65f) + curveTo(74.34f, 26.65f, 74.89f, 26.41f, 75.3f, 25.99f) + curveTo(75.71f, 25.57f, 75.94f, 24.99f, 75.94f, 24.39f) + } + } + }.build() + + return _matomoLight!! + } + +private var _matomoLight: ImageVector? = null + +@Preview +@Composable +private fun Preview() { + Box { + Image( + imageVector = AppIllus.MatomoLight, + contentDescription = null, + modifier = Modifier.size(AppImages.previewSize), + ) + } +} diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/sentry/Sentry.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/sentry/Sentry.kt new file mode 100644 index 000000000..a8aa1dc95 --- /dev/null +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/sentry/Sentry.kt @@ -0,0 +1,53 @@ +/* + * Infomaniak SwissTransfer - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.swisstransfer.ui.images.illus.sentry + +import android.content.res.Configuration +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import com.infomaniak.swisstransfer.ui.images.AppImages +import com.infomaniak.swisstransfer.ui.images.AppImages.AppIllus +import com.infomaniak.swisstransfer.ui.images.ThemedImage +import com.infomaniak.swisstransfer.ui.theme.SwissTransferTheme + +val AppIllus.Sentry: ThemedImage + get() = _sentry ?: object : ThemedImage { + override val light = AppIllus.SentryLight + override val dark = AppIllus.SentryDark + }.also { _sentry = it } + +private var _sentry: ThemedImage? = null + +@Preview(name = "Light") +@Preview(name = "Dark", uiMode = Configuration.UI_MODE_NIGHT_YES or Configuration.UI_MODE_TYPE_NORMAL) +@Composable +private fun Preview() { + SwissTransferTheme { + Box { + Image( + imageVector = AppIllus.Sentry.image(), + contentDescription = null, + modifier = Modifier.size(AppImages.previewSize), + ) + } + } +} diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/sentry/SentryDark.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/sentry/SentryDark.kt new file mode 100644 index 000000000..ec600e023 --- /dev/null +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/sentry/SentryDark.kt @@ -0,0 +1,210 @@ +/* + * Infomaniak SwissTransfer - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.swisstransfer.ui.images.illus.sentry + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.infomaniak.swisstransfer.ui.images.AppImages +import com.infomaniak.swisstransfer.ui.images.AppImages.AppIllus + +val AppIllus.SentryDark: ImageVector + get() { + + if (_sentryDark != null) return _sentryDark!! + + _sentryDark = Builder( + name = "SentryDark", + defaultWidth = 163.0.dp, + defaultHeight = 38.0.dp, + viewportWidth = 163.0f, + viewportHeight = 38.0f, + ).apply { + path( + fill = SolidColor(Color(0xFFFFFFFF)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(23.93f, 2.56f) + curveTo(23.6f, 1.99f, 23.12f, 1.51f, 22.55f, 1.18f) + curveTo(21.98f, 0.85f, 21.34f, 0.68f, 20.69f, 0.68f) + curveTo(20.04f, 0.68f, 19.39f, 0.85f, 18.83f, 1.18f) + curveTo(18.26f, 1.51f, 17.78f, 1.99f, 17.45f, 2.56f) + lineTo(12.11f, 11.95f) + curveTo(16.19f, 14.04f, 19.66f, 17.19f, 22.18f, 21.08f) + curveTo(24.71f, 24.97f, 26.2f, 29.48f, 26.5f, 34.15f) + horizontalLineTo(22.76f) + curveTo(22.45f, 30.15f, 21.14f, 26.3f, 18.94f, 22.98f) + curveTo(16.74f, 19.66f, 13.73f, 16.99f, 10.22f, 15.23f) + lineTo(5.28f, 24.0f) + curveTo(7.26f, 24.91f, 8.98f, 26.31f, 10.29f, 28.08f) + curveTo(11.59f, 29.85f, 12.45f, 31.93f, 12.77f, 34.13f) + horizontalLineTo(4.16f) + curveTo(4.06f, 34.12f, 3.96f, 34.09f, 3.88f, 34.03f) + curveTo(3.79f, 33.98f, 3.72f, 33.9f, 3.67f, 33.81f) + curveTo(3.62f, 33.72f, 3.59f, 33.61f, 3.59f, 33.51f) + curveTo(3.59f, 33.4f, 3.61f, 33.3f, 3.66f, 33.21f) + lineTo(6.05f, 29.04f) + curveTo(5.24f, 28.35f, 4.32f, 27.82f, 3.32f, 27.46f) + lineTo(0.96f, 31.62f) + curveTo(0.72f, 32.06f, 0.56f, 32.54f, 0.49f, 33.03f) + curveTo(0.43f, 33.53f, 0.46f, 34.03f, 0.59f, 34.52f) + curveTo(0.72f, 35.0f, 0.94f, 35.45f, 1.24f, 35.85f) + curveTo(1.53f, 36.24f, 1.91f, 36.57f, 2.33f, 36.82f) + curveTo(2.89f, 37.15f, 3.52f, 37.32f, 4.16f, 37.32f) + horizontalLineTo(15.95f) + curveTo(16.16f, 34.55f, 15.68f, 31.76f, 14.55f, 29.24f) + curveTo(13.41f, 26.71f, 11.66f, 24.53f, 9.46f, 22.91f) + lineTo(11.33f, 19.57f) + curveTo(14.11f, 21.53f, 16.34f, 24.2f, 17.8f, 27.31f) + curveTo(19.26f, 30.42f, 19.91f, 33.87f, 19.68f, 37.32f) + horizontalLineTo(29.66f) + curveTo(29.9f, 32.1f, 28.79f, 26.9f, 26.46f, 22.25f) + curveTo(24.12f, 17.61f, 20.64f, 13.67f, 16.36f, 10.84f) + lineTo(20.15f, 4.18f) + curveTo(20.23f, 4.03f, 20.37f, 3.93f, 20.53f, 3.88f) + curveTo(20.69f, 3.84f, 20.85f, 3.87f, 21.0f, 3.95f) + curveTo(21.43f, 4.19f, 37.45f, 32.91f, 37.75f, 33.24f) + curveTo(37.8f, 33.34f, 37.83f, 33.45f, 37.83f, 33.56f) + curveTo(37.82f, 33.67f, 37.79f, 33.78f, 37.74f, 33.87f) + curveTo(37.68f, 33.97f, 37.6f, 34.05f, 37.51f, 34.1f) + curveTo(37.41f, 34.16f, 37.31f, 34.18f, 37.2f, 34.18f) + horizontalLineTo(33.34f) + curveTo(33.39f, 35.24f, 33.39f, 36.3f, 33.34f, 37.35f) + horizontalLineTo(37.21f) + curveTo(37.71f, 37.36f, 38.19f, 37.26f, 38.65f, 37.07f) + curveTo(39.1f, 36.88f, 39.52f, 36.59f, 39.87f, 36.24f) + curveTo(40.21f, 35.88f, 40.49f, 35.46f, 40.68f, 34.99f) + curveTo(40.87f, 34.52f, 40.96f, 34.02f, 40.96f, 33.52f) + curveTo(40.96f, 32.85f, 40.79f, 32.19f, 40.46f, 31.62f) + lineTo(23.93f, 2.56f) + close() + moveTo(101.22f, 24.23f) + lineTo(89.25f, 8.36f) + horizontalLineTo(86.27f) + verticalLineTo(29.63f) + horizontalLineTo(89.29f) + verticalLineTo(13.33f) + lineTo(101.6f, 29.63f) + horizontalLineTo(104.24f) + verticalLineTo(8.36f) + horizontalLineTo(101.22f) + verticalLineTo(24.23f) + close() + moveTo(71.08f, 20.28f) + horizontalLineTo(81.81f) + verticalLineTo(17.52f) + horizontalLineTo(71.07f) + verticalLineTo(11.11f) + horizontalLineTo(83.18f) + verticalLineTo(8.35f) + horizontalLineTo(67.99f) + verticalLineTo(29.63f) + horizontalLineTo(83.33f) + verticalLineTo(26.87f) + horizontalLineTo(71.07f) + lineTo(71.08f, 20.28f) + close() + moveTo(58.46f, 17.58f) + curveTo(54.29f, 16.55f, 53.12f, 15.74f, 53.12f, 13.75f) + curveTo(53.12f, 11.97f, 54.65f, 10.76f, 56.94f, 10.76f) + curveTo(59.02f, 10.83f, 61.03f, 11.57f, 62.67f, 12.89f) + lineTo(64.29f, 10.53f) + curveTo(62.22f, 8.86f, 59.64f, 7.97f, 57.0f, 8.03f) + curveTo(52.89f, 8.03f, 50.03f, 10.53f, 50.03f, 14.09f) + curveTo(50.03f, 17.92f, 52.46f, 19.24f, 56.89f, 20.35f) + curveTo(60.83f, 21.28f, 62.04f, 22.15f, 62.04f, 24.09f) + curveTo(62.04f, 26.03f, 60.42f, 27.23f, 57.91f, 27.23f) + curveTo(55.42f, 27.22f, 53.02f, 26.25f, 51.18f, 24.51f) + lineTo(49.36f, 26.75f) + curveTo(51.71f, 28.83f, 54.71f, 29.97f, 57.81f, 29.96f) + curveTo(62.25f, 29.96f, 65.11f, 27.5f, 65.11f, 23.71f) + curveTo(65.08f, 20.49f, 63.23f, 18.77f, 58.46f, 17.58f) + close() + moveTo(159.09f, 8.36f) + lineTo(152.86f, 18.35f) + lineTo(146.66f, 8.36f) + horizontalLineTo(143.05f) + lineTo(151.23f, 21.22f) + verticalLineTo(29.64f) + horizontalLineTo(154.34f) + verticalLineTo(21.12f) + lineTo(162.58f, 8.36f) + horizontalLineTo(159.09f) + close() + moveTo(106.69f, 11.24f) + horizontalLineTo(113.48f) + verticalLineTo(29.64f) + horizontalLineTo(116.59f) + verticalLineTo(11.24f) + horizontalLineTo(123.38f) + verticalLineTo(8.36f) + horizontalLineTo(106.7f) + lineTo(106.69f, 11.24f) + close() + moveTo(137.78f, 21.33f) + curveTo(140.91f, 20.44f, 142.64f, 18.19f, 142.64f, 14.98f) + curveTo(142.64f, 10.89f, 139.73f, 8.32f, 135.04f, 8.32f) + horizontalLineTo(125.83f) + verticalLineTo(29.63f) + horizontalLineTo(128.91f) + verticalLineTo(21.98f) + horizontalLineTo(134.14f) + lineTo(139.39f, 29.64f) + horizontalLineTo(142.99f) + lineTo(137.32f, 21.47f) + lineTo(137.78f, 21.33f) + close() + moveTo(128.9f, 19.25f) + verticalLineTo(11.17f) + horizontalLineTo(134.71f) + curveTo(137.75f, 11.17f, 139.48f, 12.65f, 139.48f, 15.2f) + curveTo(139.48f, 17.76f, 137.62f, 19.25f, 134.75f, 19.25f) + horizontalLineTo(128.9f) + close() + } + }.build() + + return _sentryDark!! + } + +private var _sentryDark: ImageVector? = null + +@Preview +@Composable +private fun Preview() { + Box { + Image( + imageVector = AppIllus.SentryDark, + contentDescription = null, + modifier = Modifier.size(AppImages.previewSize), + ) + } +} diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/sentry/SentryLight.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/sentry/SentryLight.kt new file mode 100644 index 000000000..edbf11944 --- /dev/null +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/images/illus/sentry/SentryLight.kt @@ -0,0 +1,193 @@ +/* + * Infomaniak SwissTransfer - Android + * Copyright (C) 2024 Infomaniak Network SA + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.infomaniak.swisstransfer.ui.images.illus.sentry + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.infomaniak.swisstransfer.ui.images.AppImages +import com.infomaniak.swisstransfer.ui.images.AppImages.AppIllus + +val AppIllus.SentryLight: ImageVector + get() { + + if (_sentryLight != null) return _sentryLight!! + + _sentryLight = Builder( + name = "SentryLight", + defaultWidth = 163.0.dp, + defaultHeight = 36.0.dp, + viewportWidth = 163.0f, + viewportHeight = 36.0f, + ).apply { + path( + fill = SolidColor(Color(0xFF000000)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(24.23f, 2.07f) + curveTo(23.54f, 0.93f, 22.32f, 0.24f, 21.0f, 0.24f) + curveTo(19.68f, 0.24f, 18.46f, 0.93f, 17.77f, 2.07f) + lineTo(12.47f, 11.15f) + curveTo(20.72f, 15.27f, 26.16f, 23.45f, 26.78f, 32.65f) + horizontalLineTo(23.06f) + curveTo(22.44f, 24.77f, 17.7f, 17.8f, 10.59f, 14.33f) + lineTo(5.68f, 22.82f) + curveTo(9.67f, 24.61f, 12.47f, 28.31f, 13.12f, 32.64f) + horizontalLineTo(4.57f) + curveTo(4.36f, 32.62f, 4.18f, 32.5f, 4.07f, 32.32f) + curveTo(3.97f, 32.14f, 3.97f, 31.92f, 4.07f, 31.74f) + lineTo(6.44f, 27.71f) + curveTo(5.63f, 27.04f, 4.72f, 26.52f, 3.73f, 26.18f) + lineTo(1.38f, 30.21f) + curveTo(0.89f, 31.05f, 0.75f, 32.06f, 1.01f, 33.01f) + curveTo(1.27f, 33.96f, 1.89f, 34.76f, 2.74f, 35.24f) + curveTo(3.3f, 35.55f, 3.93f, 35.72f, 4.57f, 35.72f) + horizontalLineTo(16.28f) + curveTo(16.73f, 30.26f, 14.28f, 24.97f, 9.83f, 21.77f) + lineTo(11.69f, 18.54f) + curveTo(17.31f, 22.4f, 20.47f, 28.93f, 20.0f, 35.72f) + horizontalLineTo(29.93f) + curveTo(30.4f, 25.43f, 25.36f, 15.66f, 16.69f, 10.08f) + lineTo(20.46f, 3.63f) + curveTo(20.63f, 3.34f, 21.01f, 3.24f, 21.31f, 3.41f) + curveTo(21.73f, 3.65f, 37.67f, 31.45f, 37.97f, 31.77f) + curveTo(38.07f, 31.96f, 38.07f, 32.2f, 37.96f, 32.39f) + curveTo(37.84f, 32.58f, 37.64f, 32.69f, 37.42f, 32.68f) + horizontalLineTo(33.58f) + curveTo(33.63f, 33.71f, 33.63f, 34.73f, 33.58f, 35.76f) + horizontalLineTo(37.43f) + curveTo(38.42f, 35.76f, 39.37f, 35.37f, 40.07f, 34.68f) + curveTo(40.77f, 33.98f, 41.16f, 33.03f, 41.16f, 32.04f) + curveTo(41.16f, 31.39f, 40.99f, 30.76f, 40.66f, 30.2f) + lineTo(24.23f, 2.07f) + close() + moveTo(101.09f, 23.05f) + lineTo(89.19f, 7.68f) + horizontalLineTo(86.22f) + verticalLineTo(28.28f) + horizontalLineTo(89.23f) + verticalLineTo(12.49f) + lineTo(101.47f, 28.28f) + horizontalLineTo(104.1f) + verticalLineTo(7.68f) + horizontalLineTo(101.09f) + verticalLineTo(23.05f) + close() + moveTo(71.12f, 19.23f) + horizontalLineTo(81.79f) + verticalLineTo(16.55f) + horizontalLineTo(71.11f) + verticalLineTo(10.35f) + horizontalLineTo(83.15f) + verticalLineTo(7.67f) + horizontalLineTo(68.04f) + verticalLineTo(28.28f) + horizontalLineTo(83.3f) + verticalLineTo(25.6f) + horizontalLineTo(71.11f) + lineTo(71.12f, 19.23f) + close() + moveTo(58.57f, 16.61f) + curveTo(54.42f, 15.61f, 53.26f, 14.82f, 53.26f, 12.9f) + curveTo(53.26f, 11.18f, 54.78f, 10.01f, 57.05f, 10.01f) + curveTo(59.12f, 10.07f, 61.12f, 10.79f, 62.75f, 12.06f) + lineTo(64.37f, 9.78f) + curveTo(62.3f, 8.16f, 59.74f, 7.31f, 57.11f, 7.36f) + curveTo(53.03f, 7.36f, 50.18f, 9.78f, 50.18f, 13.23f) + curveTo(50.18f, 16.94f, 52.6f, 18.22f, 57.01f, 19.29f) + curveTo(60.92f, 20.19f, 62.13f, 21.03f, 62.13f, 22.91f) + curveTo(62.13f, 24.79f, 60.51f, 25.95f, 58.02f, 25.95f) + curveTo(55.54f, 25.94f, 53.15f, 25.0f, 51.33f, 23.32f) + lineTo(49.51f, 25.49f) + curveTo(51.85f, 27.5f, 54.83f, 28.6f, 57.92f, 28.6f) + curveTo(62.34f, 28.6f, 65.17f, 26.22f, 65.17f, 22.54f) + curveTo(65.15f, 19.43f, 63.31f, 17.76f, 58.57f, 16.61f) + close() + moveTo(158.65f, 7.68f) + lineTo(152.45f, 17.35f) + lineTo(146.29f, 7.68f) + horizontalLineTo(142.69f) + lineTo(150.83f, 20.14f) + verticalLineTo(28.29f) + horizontalLineTo(153.92f) + verticalLineTo(20.04f) + lineTo(162.12f, 7.68f) + horizontalLineTo(158.65f) + close() + moveTo(106.53f, 10.47f) + horizontalLineTo(113.28f) + verticalLineTo(28.29f) + horizontalLineTo(116.38f) + verticalLineTo(10.47f) + horizontalLineTo(123.13f) + verticalLineTo(7.68f) + horizontalLineTo(106.54f) + lineTo(106.53f, 10.47f) + close() + moveTo(137.45f, 20.24f) + curveTo(140.56f, 19.38f, 142.29f, 17.2f, 142.29f, 14.09f) + curveTo(142.29f, 10.13f, 139.39f, 7.64f, 134.72f, 7.64f) + horizontalLineTo(125.56f) + verticalLineTo(28.27f) + horizontalLineTo(128.63f) + verticalLineTo(20.87f) + horizontalLineTo(133.83f) + lineTo(139.05f, 28.29f) + horizontalLineTo(142.63f) + lineTo(136.99f, 20.37f) + lineTo(137.45f, 20.24f) + close() + moveTo(128.62f, 18.23f) + verticalLineTo(10.4f) + horizontalLineTo(134.4f) + curveTo(137.42f, 10.4f, 139.14f, 11.83f, 139.14f, 14.31f) + curveTo(139.14f, 16.78f, 137.3f, 18.23f, 134.43f, 18.23f) + horizontalLineTo(128.62f) + close() + } + }.build() + + return _sentryLight!! + } + +private var _sentryLight: ImageVector? = null + +@Preview +@Composable +private fun Preview() { + Box { + Image( + imageVector = AppIllus.SentryLight, + contentDescription = null, + modifier = Modifier.size(AppImages.previewSize), + ) + } +}