Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

531 - Update the Placeholder image #769

Merged
merged 4 commits into from
Jan 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
/*
* Software Name: Orange Design System
* SPDX-FileCopyrightText: Copyright (c) Orange SA
* SPDX-License-Identifier: MIT
*
* Copyright 2021 Orange
* This software is distributed under the MIT licence,
* the text of which is available at https://opensource.org/license/MIT/
* or see the "LICENSE" file for more details.
*
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
* /
* Software description: Android library of reusable graphical components
*/

package com.orange.ods.app.ui.components.appbars.top
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
/*
* Software Name: Orange Design System
* SPDX-FileCopyrightText: Copyright (c) Orange SA
* SPDX-License-Identifier: MIT
*
* Copyright 2021 Orange
* This software is distributed under the MIT licence,
* the text of which is available at https://opensource.org/license/MIT/
* or see the "LICENSE" file for more details.
*
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
* /
* Software description: Android library of reusable graphical components
*/

package com.orange.ods.app.ui.components.appbars.top
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
/*
* Software Name: Orange Design System
* SPDX-FileCopyrightText: Copyright (c) Orange SA
* SPDX-License-Identifier: MIT
*
* Copyright 2021 Orange
* This software is distributed under the MIT licence,
* the text of which is available at https://opensource.org/license/MIT/
* or see the "LICENSE" file for more details.
*
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
* /
* Software description: Android library of reusable graphical components
*/

package com.orange.ods.app.ui.components.appbars.top
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

package com.orange.ods.app.ui.components.banners

import android.graphics.drawable.Drawable
import androidx.appcompat.content.res.AppCompatResources
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.padding
Expand All @@ -32,6 +33,7 @@ import coil.request.ImageRequest
import com.orange.ods.app.R
import com.orange.ods.app.databinding.OdsBannerBinding
import com.orange.ods.app.domain.recipes.LocalRecipes
import com.orange.ods.app.ui.LocalThemeManager
import com.orange.ods.app.ui.UiFramework
import com.orange.ods.app.ui.components.utilities.ComponentCountRow
import com.orange.ods.app.ui.components.utilities.ComponentCustomizationBottomSheetScaffold
Expand All @@ -40,6 +42,7 @@ import com.orange.ods.app.ui.utilities.DrawableManager
import com.orange.ods.app.ui.utilities.code.CodeImplementationColumn
import com.orange.ods.app.ui.utilities.code.FunctionCallCode
import com.orange.ods.app.ui.utilities.composable.Subtitle
import com.orange.ods.app.ui.utilities.extension.buildImageRequest
import com.orange.ods.compose.OdsComposable
import com.orange.ods.compose.component.banner.OdsBanner
import com.orange.ods.compose.component.chip.OdsChoiceChip
Expand All @@ -51,6 +54,8 @@ import com.orange.ods.extension.ifNotNull
@Composable
fun ComponentBanners() {
val bannerCustomizationState = rememberBannerCustomizationState()
val context = LocalContext.current
val darkModeEnabled = LocalThemeManager.current.darkModeEnabled
val recipes = LocalRecipes.current
val recipe = rememberSaveable { recipes.filter { it.description.isNotBlank() }.random() }

Expand Down Expand Up @@ -86,7 +91,6 @@ fun ComponentBanners() {
)
}
) {
val context = LocalContext.current
Column(
modifier = Modifier
.verticalScroll(rememberScrollState())
Expand All @@ -110,7 +114,7 @@ fun ComponentBanners() {
message = message,
image = if (hasImage) {
val painter = rememberAsyncImagePainter(
model = recipe.imageUrl,
model = buildImageRequest(context, recipe.imageUrl, darkModeEnabled),
placeholder = painterResource(id = placeholderResId),
error = painterResource(id = errorPlaceholderResId)
)
Expand All @@ -130,10 +134,10 @@ fun ComponentBanners() {
odsBanner.onSecondButtonClick = onFirstButtonClick
if (hasImage) {
odsBanner.image = AppCompatResources.getDrawable(context, placeholderResId)
val request = ImageRequest.Builder(context)
.data(recipe.imageUrl)
val onDrawable: (Drawable?) -> Unit = { odsBanner.image = it }
val request = ImageRequest.Builder(buildImageRequest(context, recipe.imageUrl, darkModeEnabled))
.error(errorPlaceholderResId)
.target { odsBanner.image = it }
.target(onError = onDrawable, onSuccess = onDrawable)
.build()
context.imageLoader.enqueue(request)
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,20 @@ import androidx.compose.ui.res.stringResource
import coil.compose.rememberAsyncImagePainter
import com.orange.ods.app.R
import com.orange.ods.app.domain.recipes.LocalRecipes
import com.orange.ods.app.ui.LocalThemeManager
import com.orange.ods.app.ui.components.utilities.clickOnElement
import com.orange.ods.app.ui.utilities.DrawableManager
import com.orange.ods.app.ui.utilities.code.CodeImplementationColumn
import com.orange.ods.app.ui.utilities.code.FunctionCallCode
import com.orange.ods.app.ui.utilities.extension.buildImageRequest
import com.orange.ods.compose.OdsComposable
import com.orange.ods.compose.component.card.OdsCard

import com.orange.ods.compose.component.card.OdsHorizontalCard

@Composable
fun CardHorizontal(customizationState: CardCustomizationState) {
val context = LocalContext.current
val darkModeEnabled = LocalThemeManager.current.darkModeEnabled
val recipes = LocalRecipes.current
val recipe = rememberSaveable { recipes.filter { it.description.isNotBlank() }.random() }

Expand All @@ -57,7 +59,7 @@ fun CardHorizontal(customizationState: CardCustomizationState) {
title = recipe.title,
image = OdsCard.Image(
rememberAsyncImagePainter(
model = recipe.imageUrl,
model = buildImageRequest(context, recipe.imageUrl, darkModeEnabled),
placeholder = painterResource(id = DrawableManager.getPlaceholderResId()),
error = painterResource(id = DrawableManager.getPlaceholderResId(error = true))
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,20 @@ import androidx.compose.ui.res.stringResource
import coil.compose.rememberAsyncImagePainter
import com.orange.ods.app.R
import com.orange.ods.app.domain.recipes.LocalRecipes
import com.orange.ods.app.ui.LocalThemeManager
import com.orange.ods.app.ui.components.utilities.clickOnElement
import com.orange.ods.app.ui.utilities.DrawableManager
import com.orange.ods.app.ui.utilities.code.CodeImplementationColumn
import com.orange.ods.app.ui.utilities.code.FunctionCallCode
import com.orange.ods.app.ui.utilities.extension.buildImageRequest
import com.orange.ods.compose.OdsComposable
import com.orange.ods.compose.component.card.OdsCard
import com.orange.ods.compose.component.card.OdsSmallCard

@Composable
fun CardSmall(customizationState: CardCustomizationState) {
val context = LocalContext.current
val darkModeEnabled = LocalThemeManager.current.darkModeEnabled
val recipes = LocalRecipes.current
val recipe = rememberSaveable { recipes.random() }

Expand All @@ -62,7 +65,7 @@ fun CardSmall(customizationState: CardCustomizationState) {
modifier = Modifier.weight(0.5f),
image = OdsCard.Image(
rememberAsyncImagePainter(
model = recipe.imageUrl,
model = buildImageRequest(context, recipe.imageUrl, darkModeEnabled),
placeholder = painterResource(id = DrawableManager.getPlaceholderResId()),
error = painterResource(id = DrawableManager.getPlaceholderResId(error = true)),
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,20 @@ import coil.request.ImageRequest
import coil.size.Size
import com.orange.ods.app.R
import com.orange.ods.app.domain.recipes.LocalRecipes
import com.orange.ods.app.ui.LocalThemeManager
import com.orange.ods.app.ui.components.utilities.clickOnElement
import com.orange.ods.app.ui.utilities.DrawableManager
import com.orange.ods.app.ui.utilities.code.CodeImplementationColumn
import com.orange.ods.app.ui.utilities.code.FunctionCallCode
import com.orange.ods.app.ui.utilities.extension.buildImageRequest
import com.orange.ods.compose.OdsComposable
import com.orange.ods.compose.component.card.OdsCard
import com.orange.ods.compose.component.card.OdsVerticalHeaderFirstCard

@Composable
fun CardVerticalHeaderFirst(customizationState: CardCustomizationState) {
val context = LocalContext.current
val darkModeEnabled = LocalThemeManager.current.darkModeEnabled
val recipes = LocalRecipes.current
val recipe = rememberSaveable { recipes.filter { it.description.isNotBlank() }.random() }

Expand All @@ -54,8 +57,7 @@ fun CardVerticalHeaderFirst(customizationState: CardCustomizationState) {
val secondButtonText = stringResource(id = R.string.component_element_second_button)
val cardText = stringResource(id = R.string.component_card_element_card)
val imagePainter = rememberAsyncImagePainter(
model = ImageRequest.Builder(context)
.data(recipe.imageUrl)
model = ImageRequest.Builder(buildImageRequest(context, recipe.imageUrl, darkModeEnabled))
.size(Size.ORIGINAL)
.build(),
placeholder = painterResource(id = DrawableManager.getPlaceholderResId()),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,20 @@ import androidx.compose.ui.res.stringResource
import coil.compose.rememberAsyncImagePainter
import com.orange.ods.app.R
import com.orange.ods.app.domain.recipes.LocalRecipes
import com.orange.ods.app.ui.LocalThemeManager
import com.orange.ods.app.ui.components.utilities.clickOnElement
import com.orange.ods.app.ui.utilities.DrawableManager
import com.orange.ods.app.ui.utilities.code.CodeImplementationColumn
import com.orange.ods.app.ui.utilities.code.FunctionCallCode
import com.orange.ods.app.ui.utilities.extension.buildImageRequest
import com.orange.ods.compose.OdsComposable
import com.orange.ods.compose.component.card.OdsCard
import com.orange.ods.compose.component.card.OdsVerticalImageFirstCard

@Composable
fun CardVerticalImageFirst(customizationState: CardCustomizationState) {
val context = LocalContext.current
val darkModeEnabled = LocalThemeManager.current.darkModeEnabled
val recipes = LocalRecipes.current
val recipe = rememberSaveable { recipes.filter { it.description.isNotBlank() }.random() }

Expand All @@ -56,7 +59,7 @@ fun CardVerticalImageFirst(customizationState: CardCustomizationState) {
title = recipe.title,
image = OdsCard.Image(
rememberAsyncImagePainter(
model = recipe.imageUrl,
model = buildImageRequest(context, recipe.imageUrl, darkModeEnabled),
placeholder = painterResource(id = DrawableManager.getPlaceholderResId()),
error = painterResource(id = DrawableManager.getPlaceholderResId(error = true))
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import androidx.compose.ui.res.stringResource
import coil.compose.rememberAsyncImagePainter
import com.orange.ods.app.R
import com.orange.ods.app.domain.recipes.LocalRecipes
import com.orange.ods.app.ui.LocalThemeManager
import com.orange.ods.app.ui.components.Variant
import com.orange.ods.app.ui.components.chips.ChipCustomizationState.ChipType
import com.orange.ods.app.ui.components.chips.ChipCustomizationState.LeadingElement
Expand All @@ -39,6 +40,7 @@ import com.orange.ods.app.ui.utilities.DrawableManager
import com.orange.ods.app.ui.utilities.code.CodeImplementationColumn
import com.orange.ods.app.ui.utilities.code.FunctionCallCode
import com.orange.ods.app.ui.utilities.composable.Subtitle
import com.orange.ods.app.ui.utilities.extension.buildImageRequest
import com.orange.ods.compose.OdsComposable
import com.orange.ods.compose.component.chip.OdsChip
import com.orange.ods.compose.component.chip.OdsChoiceChip
Expand Down Expand Up @@ -150,9 +152,10 @@ private fun Chip(chipCustomizationState: ChipCustomizationState) {
leading = when {
isActionChip || hasLeadingIcon -> recipe?.iconResId?.let { OdsChip.LeadingIcon(painterResource(id = it), "") }
hasLeadingAvatar -> {
val darkModeEnabled = LocalThemeManager.current.darkModeEnabled
OdsChip.LeadingAvatar(
rememberAsyncImagePainter(
model = recipe?.imageUrl,
model = buildImageRequest(context, recipe?.imageUrl, darkModeEnabled),
placeholder = painterResource(id = DrawableManager.getPlaceholderSmallResId()),
error = painterResource(id = DrawableManager.getPlaceholderSmallResId(error = true))
), ""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,20 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import coil.compose.rememberAsyncImagePainter
import com.orange.ods.app.R
import com.orange.ods.app.domain.recipes.LocalRecipes
import com.orange.ods.app.ui.LocalThemeManager
import com.orange.ods.app.ui.components.utilities.ComponentCustomizationBottomSheetScaffold
import com.orange.ods.app.ui.utilities.DrawableManager
import com.orange.ods.app.ui.utilities.code.CodeImplementationColumn
import com.orange.ods.app.ui.utilities.code.FunctionCallCode
import com.orange.ods.app.ui.utilities.composable.Subtitle
import com.orange.ods.app.ui.utilities.extension.buildImageRequest
import com.orange.ods.compose.OdsComposable
import com.orange.ods.compose.component.chip.OdsChip
import com.orange.ods.compose.component.chip.OdsChoiceChip
Expand All @@ -48,6 +51,8 @@ import com.orange.ods.compose.component.listitem.OdsListItem
@Composable
fun ChipFilter() {
val chipCustomizationState = rememberChipCustomizationState(chipType = rememberSaveable { mutableStateOf(ChipCustomizationState.ChipType.Filter) })
val context = LocalContext.current
val darkModeEnabled = LocalThemeManager.current.darkModeEnabled
val recipes = LocalRecipes.current
val recipe = rememberSaveable { recipes.filter { it.ingredients.count() >= 3 }.random() }

Expand Down Expand Up @@ -84,7 +89,7 @@ fun ChipFilter() {
leadingAvatar = if (hasLeadingAvatar) {
OdsChip.LeadingAvatar(
rememberAsyncImagePainter(
model = ingredient.food.imageUrl,
model = buildImageRequest(context, ingredient.food.imageUrl, darkModeEnabled),
placeholder = painterResource(id = DrawableManager.getPlaceholderSmallResId()),
error = painterResource(id = DrawableManager.getPlaceholderSmallResId(error = true))
), ""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,13 @@ import androidx.compose.ui.unit.dp
import coil.compose.rememberAsyncImagePainter
import com.orange.ods.app.R
import com.orange.ods.app.domain.recipes.LocalRecipes
import com.orange.ods.app.ui.LocalThemeManager
import com.orange.ods.app.ui.components.utilities.ComponentCustomizationBottomSheetScaffold
import com.orange.ods.app.ui.components.utilities.clickOnElement
import com.orange.ods.app.ui.utilities.code.CodeImplementationColumn
import com.orange.ods.app.ui.utilities.code.FunctionCallCode
import com.orange.ods.app.ui.utilities.composable.Subtitle
import com.orange.ods.app.ui.utilities.extension.buildImageRequest
import com.orange.ods.compose.OdsComposable
import com.orange.ods.compose.component.button.OdsIconButton
import com.orange.ods.compose.component.chip.OdsChoiceChip
Expand All @@ -52,6 +54,7 @@ import com.orange.ods.compose.component.listitem.OdsListItem
@Composable
fun ComponentImageItem() {
val context = LocalContext.current
val darkModeEnabled = LocalThemeManager.current.darkModeEnabled
val imageItemCustomizationState = rememberImageItemCustomizationState()
var iconChecked by rememberSaveable { mutableStateOf(false) }
val recipes = LocalRecipes.current
Expand Down Expand Up @@ -112,9 +115,9 @@ fun ComponentImageItem() {
onClick = { clickOnElement(context, context.getString(R.string.component_image_item)) },
image = OdsImageItem.Image(
rememberAsyncImagePainter(
model = recipe.imageUrl,
placeholder = painterResource(id = R.drawable.placeholder),
error = painterResource(id = R.drawable.placeholder)
model = buildImageRequest(context, recipe.imageUrl, darkModeEnabled),
placeholder = painterResource(id = com.orange.ods.R.drawable.placeholder),
error = painterResource(id = com.orange.ods.R.drawable.placeholder)
), ""
),
title = if (hasText) recipe.title else null,
Expand Down
Loading