Skip to content

fix: Move Hunger Games to a real view instead of overlay (#4681) #6555

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

Merged

Conversation

LorenzoMascia
Copy link
Contributor

Committer: Lorenzo Mascia [email protected]

Changes :
modified: packages/smooth_app/lib/pages/hunger_games/question_card.dart
modified: packages/smooth_app/lib/pages/hunger_games/question_page.dart
modified: packages/smooth_app/lib/pages/preferences/user_preferences_contribute.dart
modified: packages/smooth_app/lib/pages/product/product_questions_widget.dart

What

  • Moved the Hunger Games screen from an overlay to a real view using a standard Scaffold, as described in the issue.
  • This improves navigation consistency and aligns the UI with the rest of the app.

fix: Move Hunger Games to real view instead of overlay

Screenshot

Screenshot 2025-04-15 211841
Screenshot 2025-04-15 212004

Fixes bug(s)

@monsieurtanuki
Copy link
Contributor

Hi @LorenzoMascia!
First thing, have your code formatted (cf. flutter format . and CTRL-S).

Copy link
Contributor

@monsieurtanuki monsieurtanuki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @LorenzoMascia!
Of course the first thing is to fix the formatting, but please read my other comments.

builder: (context) => QuestionsPage( ),
),
).then((questionsAnswered) {
// Gestisci il risultato se necessario
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per favore, niente in italiano.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done, no more Italian

@@ -77,20 +77,24 @@ class _ProductQuestionsWidgetState extends State<ProductQuestionsWidget>
Future<void> _openQuestions() async {
_trackEvent(AnalyticsEvent.questionClicked);

final int? answeredQuestions = await openQuestionPage(
Navigator.push(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No await? Then please make it explicit and use unawait(.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

_QuestionPageState._numberQuestionsNext,
? AppLocalizations.of(context).robotoff_next_n_questions(10

// QuestionPageState._numberQuestionsNext,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No useless comments, please.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed the comment and replaced the 10 with the variable numberQuestionsNext

@@ -367,7 +281,7 @@ class _LoadingQuestionsView extends StatelessWidget {
child: Center(
child: DefaultTextStyle(
textAlign: TextAlign.center,
style: const TextStyle(),
style: TextStyle(color: colorScheme.onBackground),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure what makes you use explicit colors.
Anyway, if you select onBackground as a background color, shouldn't you use background as a front color?
Shouldn't you rather use primary and onPrimary?
Or no color at all, just using the app and the device's default values?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

used primary, and I had to specify the color because with the light theme the lettering was not visible


void _incrementQuestionsAnswered() {
setState(() {
_questionsAnswered++;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure how setState works but ++_questionsAnswered would be more appropriate.

@@ -62,7 +62,7 @@ class QuestionCard extends StatelessWidget {
mainAxisSize: MainAxisSize.min,
children: <Widget>[
SizedBox(
height: screenSize.height / 6,
height: screenSize.height / 4,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would an Expanded give us more flexibility?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

using Expanded
Screenshot 2025-04-16 182409
Screenshot 2025-04-16 182611

);
_currentQuestionIndex = 0;
} catch (e) {
debugPrint('Error loading next questions: $e');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No debugPrint, please.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

debugPrint removed

);
_currentQuestionIndex = 0;
try {
setState(() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally speaking, you're supposed to test if(mounted) before calling setState.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ping

}
}

void _incrementQuestionsAnswered() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cannot see the added value of moving the code here.
It was more relevant to put that in _saveAnswer, wasn't it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

function removed

.toList(growable: false),
),
),
).then((questionsAnswered) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't use that much the then syntax. Harder to read.
Please stick to the int? value = await myMethod(); if (value ... syntax.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changed the construct

@codecov-commenter
Copy link

codecov-commenter commented Apr 16, 2025

Codecov Report

Attention: Patch coverage is 1.20482% with 82 lines in your changes missing coverage. Please review.

Project coverage is 5.84%. Comparing base (4d9c7fc) to head (53dc1de).
Report is 838 commits behind head on develop.

Files with missing lines Patch % Lines
...ooth_app/lib/pages/hunger_games/question_page.dart 1.63% 60 Missing ⚠️
...b/pages/hunger_games/question_image_thumbnail.dart 0.00% 9 Missing ⚠️
...pp/lib/pages/product/product_questions_widget.dart 0.00% 8 Missing ⚠️
...pages/preferences/user_preferences_contribute.dart 0.00% 4 Missing ⚠️
...ooth_app/lib/pages/hunger_games/question_card.dart 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           develop   #6555      +/-   ##
==========================================
- Coverage     9.54%   5.84%   -3.70%     
==========================================
  Files          325     499     +174     
  Lines        16411   29817   +13406     
==========================================
+ Hits          1567    1744     +177     
- Misses       14844   28073   +13229     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

@monsieurtanuki monsieurtanuki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @LorenzoMascia, and thank you for your changes!
I like the Expanded version, though the image size isn't correctly computed (the bottom of the big image isn't visible). That needs to be fixed (maybe removing the SizedBox and letting the system compute by itself, I don't know).
Please read my other comments.

@@ -77,16 +77,20 @@ class _ProductQuestionsWidgetState extends State<ProductQuestionsWidget>
Future<void> _openQuestions() async {
_trackEvent(AnalyticsEvent.questionClicked);

final int? answeredQuestions = await openQuestionPage(
final int? questionsAnswered = await Navigator.push<int>(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the record, don't change the naming of the variables unless the change is very relevant.
It was probably not the case here, and the reviewer still has to check every change...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed

@@ -308,7 +308,13 @@ class UserPreferencesContribute extends AbstractUserPreferences {
AnalyticsHelper.trackEvent(
AnalyticsEvent.hungerGameOpened,
);
await openQuestionPage(context);

Navigator.push(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use the simpler await syntax.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

],
return Expanded(
child: Column(
mainAxisSize: MainAxisSize.max, // <--- CAMBIATO
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per favore...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

deleted, sorry

Comment on lines 34 to 47
BuildContext context,
Widget child,
ImageChunkEvent? loadingProgress,
) {
if (loadingProgress == null) {
// TODO(monsieurtanuki): remove this when the image is not null anymore
return child;
}
return const Center(
child: CircularProgressIndicator.adaptive());
},
),
);
},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Honestly, what's the point of changing the parameter names and the coding style, except annoying the reviewer?
You literally changed nothing here, except adding an unexpected TODO with my name...
Please revert that part.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted

Comment on lines 13 to 14
Widget build(BuildContext context) {
return Container(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the point of changing the coding style? Please revert that part.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted

Comment on lines 27 to 28
width: constraints.maxWidth,
height: constraints.maxHeight,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you please try with double.infinity for width and height?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed

const _QuestionPage({
class QuestionsPage extends StatefulWidget {
const QuestionsPage({
super.key,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need key, do we?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, we don't. Deleted.

);
_currentQuestionIndex = 0;
try {
setState(() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ping

setState(() {
_state = const _RobotoffQuestionLoadingState();
});
_loadQuestions(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add unawaited(.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added

@@ -367,7 +274,7 @@ class _LoadingQuestionsView extends StatelessWidget {
child: Center(
child: DefaultTextStyle(
textAlign: TextAlign.center,
style: const TextStyle(),
style: TextStyle(color: colorScheme.onSurface),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please

  • make a screenshot
  • remove all your color and style changes, and then make a screenshot

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are right, the screenshots are exactly the same.

@LorenzoMascia
Copy link
Contributor Author

The final result using BoxFit.contain instead of cover for the ìmage:

Screenshot 2025-04-21 202721

Lorenzo Mascia added 3 commits April 22, 2025 09:23
…verlay

Committer: Lorenzo Mascia <[email protected]>

Changes :
	modified:   packages/smooth_app/lib/pages/hunger_games/question_card.dart
	modified:   packages/smooth_app/lib/pages/hunger_games/question_page.dart
	modified:   packages/smooth_app/lib/pages/preferences/user_preferences_contribute.dart
	modified:   packages/smooth_app/lib/pages/product/product_questions_widget.dart
Committer: Lorenzo Mascia <[email protected]>

Changes:
	modified:   packages/smooth_app/lib/pages/hunger_games/question_card.dart
	modified:   packages/smooth_app/lib/pages/hunger_games/question_image_thumbnail.dart
	modified:   packages/smooth_app/lib/pages/hunger_games/question_page.dart
	modified:   packages/smooth_app/lib/pages/preferences/user_preferences_contribute.dart
	modified:   packages/smooth_app/lib/pages/product/product_questions_widget.dart
Committer: Lorenzo Mascia <[email protected]>

Changes:
	modified:   packages/smooth_app/lib/pages/hunger_games/question_image_thumbnail.dart
	modified:   packages/smooth_app/lib/pages/hunger_games/question_page.dart
	modified:   packages/smooth_app/lib/pages/preferences/user_preferences_contribute.dart
	modified:   packages/smooth_app/lib/pages/product/product_questions_widget.dart
@LorenzoMascia LorenzoMascia force-pushed the fix/hunger-games-view branch from 81ca678 to 3992c5c Compare April 22, 2025 07:23
Copy link
Contributor

@monsieurtanuki monsieurtanuki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job @LorenzoMascia!

If you have 10 minutes, please have a look at my comments. If you already know that you won't have time for that in a near future, please tell me.

I'm still surprised that you had to change the styles and colors, but that's another story.

progress == null
? child
: const CircularProgressIndicator.adaptive(),
child: LayoutBuilder(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then we don't need a LayoutBuilder anymore, do we?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it's no longer needed. I had used the builder to get the BoxConstraints during some trials, but in the end I didn’t use them.

onAnswer: onAnswer,
),
],
return Expanded(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if that Expanded is relevant.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it works in the same way returning directly the Column without the Expanded

@github-project-automation github-project-automation bot moved this from 💬 To discuss and validate to 🎊 Done in 🤳🥫 The Open Food Facts mobile app (Android & iOS) Apr 22, 2025
@monsieurtanuki
Copy link
Contributor

@LorenzoMascia And congratulations for your first PR here!

LorenzoMascia and others added 3 commits April 22, 2025 19:39
Committer: Lorenzo Mascia <[email protected]>

Changes:
	modified:   lib/pages/hunger_games/question_image_thumbnail.dart
	modified:   lib/pages/hunger_games/question_page.dart
@monsieurtanuki
Copy link
Contributor

Hi @LorenzoMascia!
Before I merge your code, would you please attach a screenshot?
I'm a bit worried about your choice of adding extra styles and extra colors. Thank you!

@LorenzoMascia
Copy link
Contributor Author

Screenshot with App Setting->Theme Light:

Screenshot 2025-04-27 175756

Screenshot with App Setting->Theme Dark:

Screenshot 2025-04-27 175656

@monsieurtanuki
Copy link
Contributor

Thank you @LorenzoMascia!

Now, would you please attach the very same screenshots without your text size, style and color modifications? I'm really puzzled about how relevant they are. Especially as in both dark and light modes:

  • we use the same foregrounds and backgrounds for all "hunger games specific" items (e.g. the "YES" button), therefore we don't need any tap dancing about onPrimary and primary, it's just always white on green.
  • we use the default colors for the rest (e.g. the name of the product)

Besides, I'm a bit nervous about the instability of code like this one:

            style: textTheme.bodyLarge?.copyWith(
              fontWeight: FontWeight.bold,
              fontSize: 20.0,
              color: colorScheme.onSurface,
            ) ??
            const TextStyle(),

So, if there is no textTheme.bodyLarge, we forget about setting fontWeight, fontSize and color altogether.

Sorry about that.

@LorenzoMascia
Copy link
Contributor Author

Without restyling there is an issue with the light theme. Following the screenshots of Loading and Error page

Loading Default Styles Light
Error Light Defaukt Style

The same screens are ok in the dark theme

Loading Defaukt Styles Dark
Error Dark Defaul Style

Following the screens with style override.

Screenshot 2025-04-27 175736
Screenshot 2025-04-28 210404
Loading restyled Dark
Screenshot 2025-04-28 210225

No styles applied to the other pages

@monsieurtanuki monsieurtanuki marked this pull request as ready for review April 30, 2025 14:10
@monsieurtanuki monsieurtanuki merged commit 11bf06d into openfoodfacts:develop Apr 30, 2025
6 checks passed
@monsieurtanuki
Copy link
Contributor

Thank you @LorenzoMascia!

andylin2004 added a commit to ossd-s25/openfoodfacts-smooth-app that referenced this pull request May 14, 2025
commit 6155ae2
Author: qq3173732005 <[email protected]>
Date:   Sat May 10 22:02:16 2025 -0400

    popup menu with edit option in product gallery view

commit 924c3c0
Merge: 1f53375 3e91178
Author: qq3173732005 <[email protected]>
Date:   Fri May 9 16:17:17 2025 -0400

    Merge branch 'openfoodfacts:develop' into sz-6119

commit 3e91178
Author: Ashutosh Khadse <[email protected]>
Date:   Thu May 8 18:45:48 2025 +0530

    feat: Add infinite scrolling to the various Open Prices ListViews. (openfoodfacts#6561)

    * feat: Add infinite scrolling to the various Open Prices ListViews.

    * feat: Add infinite scrolling to the various Open Prices ListViews.

    * feat: Add infinite scrolling to the proofs,location,prices,product,contribution using generic class.

    * fix: resolve code comment issue

    * fix: resolve code comment issue

    * fix: resolve code comment issue

    * fix: resolve conflict

    * fix: resolve conflict

    * fix: resolve code comment issue

    * fix: resolve code comment issue

    * fix: resolve code comment issue

    * fix: resolve code issue

    * fix: resolve code comment issue

    * fix: resolve code comment issue

    * fix: change code according to concept of OOP Java

    * fix: resolve code comment issue

    * fix: resolve code comment issue

    * fix: resolve code comment issue

    * fix: resolve code comment issue

    * fix: changed proofs page from grid to list with infinite scroll list

    * Update packages/smooth_app/lib/pages/prices/product_prices_list.dart

    * Update packages/smooth_app/lib/pages/prices/prices_proofs_page.dart

    * Update packages/smooth_app/lib/pages/prices/prices_proofs_page.dart

    * Update packages/smooth_app/lib/pages/prices/prices_proofs_page.dart

    * fix: resolve code comment issue

    ---------

    Co-authored-by: monsieurtanuki <[email protected]>

commit f1820a8
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed May 7 17:39:07 2025 +0200

    chore(deps): bump actions/checkout from 3 to 4 (openfoodfacts#6584)

    Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
    - [Release notes](https://github.com/actions/checkout/releases)
    - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
    - [Commits](actions/checkout@v3...v4)

    ---
    updated-dependencies:
    - dependency-name: actions/checkout
      dependency-version: '4'
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 6450b6d
Author: Edouard Marquez <[email protected]>
Date:   Wed May 7 17:38:47 2025 +0200

    chore: UI/UX for Robotoff suggestions improved (openfoodfacts#6585)

    * CW

    * Iteration

commit 23c4abd
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue May 6 11:53:17 2025 +0200

    chore(deps): bump fastlane in /packages/smooth_app/android (openfoodfacts#6583)

    Bumps [fastlane](https://github.com/fastlane/fastlane) from 2.227.1 to 2.227.2.
    - [Release notes](https://github.com/fastlane/fastlane/releases)
    - [Changelog](https://github.com/fastlane/fastlane/blob/master/CHANGELOG.latest.md)
    - [Commits](fastlane/fastlane@fastlane/2.227.1...fastlane/2.227.2)

    ---
    updated-dependencies:
    - dependency-name: fastlane
      dependency-version: 2.227.2
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Pierre Slamich <[email protected]>

commit bed4d8b
Author: monsieurtanuki <[email protected]>
Date:   Tue May 6 11:46:37 2025 +0200

    fix: 6560 - explicit readyForPriceTagValidation parameter for proof upload (openfoodfacts#6573)

    * fix: 6560 - explicit readyForPriceTagValidation parameter for proof upload

    Impacted files:
    * `background_task_add_price.dart`: added explicit `readyForPriceTagValidation` parameter for proof upload
    * `pubspec.lock`: wtf
    * `pubspec.yaml`: upgraded `openfoodfacts` to `3.22.0`

    * upgraded PricesStatsPage too to openfoodfacts 3.22.0

commit 0e8aecb
Author: Pierre Slamich <[email protected]>
Date:   Tue May 6 11:18:51 2025 +0200

    ci: Create one-check.yml (openfoodfacts#6570)

    * ci: Create one-check.yml

    * fix: Update one-check.yml

    * Potential fix for code scanning alert no. 29: Workflow does not contain permissions

    Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

    * fix: Update app_fr.arb

    * Update app_he.arb

    * Update app_pl.arb

    * fix: Update app_da.arb

    * fix: Update app_ro.arb

    * Update .github/workflows/one-check.yml

    ---------

    Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

commit 2b558dc
Author: Edouard Marquez <[email protected]>
Date:   Tue May 6 10:22:30 2025 +0200

    UI improvements (openfoodfacts#6581)

commit 6ca6a0b
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue May 6 10:16:51 2025 +0200

    chore(deps): bump fastlane in /packages/smooth_app/ios (openfoodfacts#6582)

    Bumps [fastlane](https://github.com/fastlane/fastlane) from 2.227.1 to 2.227.2.
    - [Release notes](https://github.com/fastlane/fastlane/releases)
    - [Changelog](https://github.com/fastlane/fastlane/blob/master/CHANGELOG.latest.md)
    - [Commits](fastlane/fastlane@fastlane/2.227.1...fastlane/2.227.2)

    ---
    updated-dependencies:
    - dependency-name: fastlane
      dependency-version: 2.227.2
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 453ccf5
Author: Edouard Marquez <[email protected]>
Date:   Mon May 5 19:23:01 2025 +0200

    feat: Improvements for Robotoff questions in Edit mode  (openfoodfacts#6579)

    * Improve robotoff questions in edit mode

    * SmoothImage for the proof

    * Remove print statement

commit a031602
Author: Cherish <[email protected]>
Date:   Mon May 5 18:37:39 2025 +0530

    feat: add packaging photo access in packaging components screen (openfoodfacts#6452)

commit 9a23a8c
Author: Cherish <[email protected]>
Date:   Mon May 5 04:35:51 2025 +0530

    feat: add properties (Folksonomy Engine) button to navbar  (openfoodfacts#6505)

    Co-authored-by: Edouard Marquez <[email protected]>

commit f0340fc
Author: vinay chavhan <[email protected]>
Date:   Mon May 5 03:15:44 2025 +0530

    fix: UI padding for better layout (openfoodfacts#6509)

    Co-authored-by: Edouard Marquez <[email protected]>

commit d1ba3f8
Author: Ashutosh Khadse <[email protected]>
Date:   Sun May 4 12:42:05 2025 +0530

    fix: dark mode issue in feedback page (openfoodfacts#6576)

    * fix: dark mode issue in feedback page

    * fix: dark mode issue in feedback page

    * fix: dark mode issue in feedback page

    * fix: dark mode issue in feedback page

    * fix: dark mode issue in feedback page

commit 44e4e5a
Author: Abhishek-P0207 <[email protected]>
Date:   Sat May 3 00:12:29 2025 +0530

    fix: Removed the option to add an item through barcode from Add a Price page (openfoodfacts#6525)

    * Fixed the add the item

    * refactor

    * fix-1:condition on usage of add an item

    * refactor

    * fix-2:add extra condition

    * Fix : Changed acc. to suggestion

    * Fix : Changed acc. to suggestion and formatted

    * suggested changes made

    * formatted

    * fixed formatting issues

    * format

    * small correction

    * changed acc. to suggestion

    * changed acc. to suggestion

commit c68b4d1
Author: Pierre Slamich <[email protected]>
Date:   Fri May 2 19:42:03 2025 +0200

    ci: Update mkdocs.yml

commit 1ad9e9f
Author: Pierre Slamich <[email protected]>
Date:   Fri May 2 19:34:56 2025 +0200

    fix: Update dartdoc.yml

commit b94a8e9
Author: Pierre Slamich <[email protected]>
Date:   Fri May 2 19:32:15 2025 +0200

    ci: Update dartdoc.yml

commit 8ed470b
Author: Open Food Facts Bot <[email protected]>
Date:   Wed Apr 30 20:49:26 2025 +0200

    chore: New translations to review and merge (openfoodfacts#6534)

    * New translations app_en.arb (Maltese)

    * New translations app_en.arb (Welsh)

    * New translations app_en.arb (Faroese)

    * New translations app_en.arb (Esperanto)

    * New translations app_en.arb (Uyghur)

    * New translations app_en.arb (Luxembourgish)

    * New translations app_en.arb (Chinese Traditional, Hong Kong)

    * New translations app_en.arb (Tatar)

    * New translations app_en.arb (Malayalam)

    * New translations app_en.arb (Breton)

    * New translations app_en.arb (Romansh)

    * New translations app_en.arb (Tibetan)

    * New translations app_en.arb (Latin)

    * New translations app_en.arb (Bosnian)

    * New translations app_en.arb (Sinhala)

    * New translations app_en.arb (Cornish)

    * New translations app_en.arb (Uzbek)

    * New translations app_en.arb (Kannada)

    * New translations app_en.arb (Akan)

    * New translations app_en.arb (Assamese)

    * New translations app_en.arb (Scottish Gaelic)

    * New translations app_en.arb (Wolof)

    * New translations app_en.arb (Southern Ndebele)

    * New translations app_en.arb (Walloon)

    * New translations app_en.arb (Malagasy)

    * New translations app_en.arb (Swahili)

    * New translations app_en.arb (Odia)

    * New translations app_en.arb (Norwegian Bokmal)

    * New translations app_en.arb (Occitan)

    * New translations app_en.arb (Serbian (Latin))

    * New translations app_en.arb (Amharic)

    * New translations app_en.arb (Nepali)

    * New translations app_en.arb (Montenegrin (Cyrillic))

    * New translations app_en.arb (Dutch, Belgium)

    * New translations app_en.arb (Tahitian)

    * New translations app_en.arb (Hausa)

    * New translations app_en.arb (Chuvash)

    * New translations app_en.arb (Tajik)

    * New translations app_en.arb (Lao)

    * New translations app_en.arb (Quechua)

    * New translations app_en.arb (Somali)

    * New translations app_en.arb (Yoruba)

    * New translations app_en.arb (Afar)

    * New translations app_en.arb (Bambara)

    * New translations app_en.arb (Chechen)

    * New translations app_en.arb (Corsican)

    * New translations app_en.arb (Haitian Creole)

    * New translations app_en.arb (Sichuan Yi)

    * New translations app_en.arb (Inuktitut)

    * New translations app_en.arb (Javanese)

    * New translations app_en.arb (Sardinian)

    * New translations app_en.arb (Sindhi)

    * New translations app_en.arb (Sango)

    * New translations app_en.arb (Shona)

    * New translations app_en.arb (Tigrinya)

    * New translations app_en.arb (Sanskrit)

    * New translations app_en.arb (Akan, Twi)

    * New translations app_en.arb (Urdu (India))

    * New translations app_en.arb (Karakalpak)

    * New translations app_en.arb (German)

    * New translations app_en.arb (Hebrew)

    * New translations app_en.arb (Greek)

    * New translations app_en.arb (Ukrainian)

    * New translations app_en.arb (Spanish)

    * New translations app_en.arb (Chinese Simplified)

    * New translations app_en.arb (Chinese Traditional)

    * New translations app_en.arb (Chinese Traditional, Hong Kong)

    * New translations infoplist.strings (Chinese Traditional)

    * New translations infoplist.strings (Chinese Traditional, Hong Kong)

    * New translations app_en.arb (Danish)

    * New translations app_en.arb (Danish)

    * New translations app_en.arb (Danish)

    * New translations app_en.arb (Dutch)

    * New translations app_en.arb (Danish)

    * New translations app_en.arb (Slovak)

    * New translations app_en.arb (Danish)

    * New translations app_en.arb (Slovak)

    * New translations app_en.arb (Portuguese)

    * New translations app_en.arb (Slovak)

    * New translations app_en.arb (Serbian (Cyrillic))

    * New translations app_en.arb (Chinese Simplified)

    * New translations app_en.arb (Chinese Traditional)

    * New translations app_en.arb (Portuguese, Brazilian)

    * New translations app_en.arb (English, Australia)

    * New translations app_en.arb (English, United Kingdom)

    * New translations app_en.arb (Chinese Traditional, Hong Kong)

    * New translations app_en.arb (Serbian (Latin))

    * New translations app_en.arb (Montenegrin (Cyrillic))

    * New translations app_en.arb (Dutch, Belgium)

    * New translations infoplist.strings (Slovak)

    * New translations app_en.arb (Danish)

    * New translations app_en.arb (Chinese Simplified)

    * New translations app_en.arb (Danish)

    * New translations app_en.arb (Slovak)

    * New translations app_en.arb (Slovak)

    * New translations app_en.arb (Slovak)

    * New translations app_en.arb (Slovak)

    * New translations app_en.arb (Slovak)

    * Delete packages/smooth_app/lib/l10n/app_kaa.arb

    * New translations app_en.arb (Greek)

    * New translations app_en.arb (Greek)

    * New translations app_en.arb (Romanian)

    * New translations app_en.arb (French)

    * New translations app_en.arb (Spanish)

    * New translations app_en.arb (Arabic)

    * New translations app_en.arb (Belarusian)

    * New translations app_en.arb (Bulgarian)

    * New translations app_en.arb (Catalan)

    * New translations app_en.arb (Czech)

    * New translations app_en.arb (Danish)

    * New translations app_en.arb (German)

    * New translations app_en.arb (Greek)

    * New translations app_en.arb (Basque)

    * New translations app_en.arb (Finnish)

    * New translations app_en.arb (Irish)

    * New translations app_en.arb (Gujarati)

    * New translations app_en.arb (Hebrew)

    * New translations app_en.arb (Hungarian)

    * New translations app_en.arb (Armenian)

    * New translations app_en.arb (Italian)

    * New translations app_en.arb (Japanese)

    * New translations app_en.arb (Georgian)

    * New translations app_en.arb (Korean)

    * New translations app_en.arb (Kurdish)

    * New translations app_en.arb (Lithuanian)

    * New translations app_en.arb (Mongolian)

    * New translations app_en.arb (Dutch)

    * New translations app_en.arb (Norwegian)

    * New translations app_en.arb (Punjabi)

    * New translations app_en.arb (Polish)

    * New translations app_en.arb (Portuguese)

    * New translations app_en.arb (Russian)

    * New translations app_en.arb (Slovak)

    * New translations app_en.arb (Slovenian)

    * New translations app_en.arb (Albanian)

    * New translations app_en.arb (Serbian (Cyrillic))

    * New translations app_en.arb (Swati)

    * New translations app_en.arb (Southern Sotho)

    * New translations app_en.arb (Swedish)

    * New translations app_en.arb (Tswana)

    * New translations app_en.arb (Turkish)

    * New translations app_en.arb (Tsonga)

    * New translations app_en.arb (Ukrainian)

    * New translations app_en.arb (Venda)

    * New translations app_en.arb (Xhosa)

    * New translations app_en.arb (Chinese Simplified)

    * New translations app_en.arb (Chinese Traditional)

    * New translations app_en.arb (Zulu)

    * New translations app_en.arb (English)

    * New translations app_en.arb (Vietnamese)

    * New translations app_en.arb (Galician)

    * New translations app_en.arb (Icelandic)

    * New translations app_en.arb (Portuguese, Brazilian)

    * New translations app_en.arb (Indonesian)

    * New translations app_en.arb (Persian)

    * New translations app_en.arb (Khmer)

    * New translations app_en.arb (Tamil)

    * New translations app_en.arb (Bengali)

    * New translations app_en.arb (Marathi)

    * New translations app_en.arb (Thai)

    * New translations app_en.arb (Croatian)

    * New translations app_en.arb (Norwegian Nynorsk)

    * New translations app_en.arb (Kazakh)

    * New translations app_en.arb (Estonian)

    * New translations app_en.arb (Latvian)

    * New translations app_en.arb (Azerbaijani)

    * New translations app_en.arb (Hindi)

    * New translations app_en.arb (Kyrgyz)

    * New translations app_en.arb (Malay)

    * New translations app_en.arb (Maori)

    * New translations app_en.arb (Telugu)

    * New translations app_en.arb (English, Australia)

    * New translations app_en.arb (English, United Kingdom)

    * New translations app_en.arb (Tagalog)

    * New translations app_en.arb (Burmese)

    * New translations app_en.arb (Yiddish)

    * New translations app_en.arb (Maltese)

    * New translations app_en.arb (Welsh)

    * New translations app_en.arb (Faroese)

    * New translations app_en.arb (Esperanto)

    * New translations app_en.arb (Uyghur)

    * New translations app_en.arb (Luxembourgish)

    * New translations app_en.arb (Chinese Traditional, Hong Kong)

    * New translations app_en.arb (Tatar)

    * New translations app_en.arb (Malayalam)

    * New translations app_en.arb (Breton)

    * New translations app_en.arb (Romansh)

    * New translations app_en.arb (Tibetan)

    * New translations app_en.arb (Latin)

    * New translations app_en.arb (Bosnian)

    * New translations app_en.arb (Sinhala)

    * New translations app_en.arb (Cornish)

    * New translations app_en.arb (Uzbek)

    * New translations app_en.arb (Kannada)

    * New translations app_en.arb (Akan)

    * New translations app_en.arb (Assamese)

    * New translations app_en.arb (Scottish Gaelic)

    * New translations app_en.arb (Wolof)

    * New translations app_en.arb (Southern Ndebele)

    * New translations app_en.arb (Walloon)

    * New translations app_en.arb (Malagasy)

    * New translations app_en.arb (Swahili)

    * New translations app_en.arb (Odia)

    * New translations app_en.arb (Norwegian Bokmal)

    * New translations app_en.arb (Occitan)

    * New translations app_en.arb (Serbian (Latin))

    * New translations app_en.arb (Amharic)

    * New translations app_en.arb (Nepali)

    * New translations app_en.arb (Montenegrin (Cyrillic))

    * New translations app_en.arb (Dutch, Belgium)

    * New translations app_en.arb (Tahitian)

    * New translations app_en.arb (Hausa)

    * New translations app_en.arb (Chuvash)

    * New translations app_en.arb (Tajik)

    * New translations app_en.arb (Lao)

    * New translations app_en.arb (Quechua)

    * New translations app_en.arb (Somali)

    * New translations app_en.arb (Yoruba)

    * New translations app_en.arb (Afar)

    * New translations app_en.arb (Bambara)

    * New translations app_en.arb (Chechen)

    * New translations app_en.arb (Corsican)

    * New translations app_en.arb (Haitian Creole)

    * New translations app_en.arb (Sichuan Yi)

    * New translations app_en.arb (Inuktitut)

    * New translations app_en.arb (Javanese)

    * New translations app_en.arb (Sardinian)

    * New translations app_en.arb (Sindhi)

    * New translations app_en.arb (Sango)

    * New translations app_en.arb (Shona)

    * New translations app_en.arb (Tigrinya)

    * New translations app_en.arb (Sanskrit)

    * New translations app_en.arb (Akan, Twi)

    * New translations app_en.arb (Urdu (India))

    * New translations app_en.arb (Karakalpak)

    * New translations app_en.arb (German)

    * New translations app_en.arb (Dutch)

    * New translations app_en.arb (Danish)

    * New translations app_en.arb (Ukrainian)

    * New translations app_en.arb (Danish)

    * New translations app_en.arb (Danish)

    * New translations app_en.arb (Chinese Traditional)

    * New translations app_en.arb (English, Australia)

    * New translations app_en.arb (English, United Kingdom)

    * New translations infoplist.strings (Chinese Traditional)

    * New translations app_en.arb (Hungarian)

    * New translations app_en.arb (Dutch, Belgium)

    * New translations app_en.arb (Slovak)

    * Delete packages/smooth_app/lib/l10n/app_kaa.arb

    ---------

    Co-authored-by: Pierre Slamich <[email protected]>

commit 11bf06d
Author: Lore <[email protected]>
Date:   Wed Apr 30 16:10:24 2025 +0200

    fix: Move Hunger Games to a real view instead of overlay (openfoodfacts#4681) (openfoodfacts#6555)

    * Fix openfoodfacts#4681: Move Hunger Games to a real view instead of overlay

    Committer: Lorenzo Mascia <[email protected]>

    Changes :
    	modified:   packages/smooth_app/lib/pages/hunger_games/question_card.dart
    	modified:   packages/smooth_app/lib/pages/hunger_games/question_page.dart
    	modified:   packages/smooth_app/lib/pages/preferences/user_preferences_contribute.dart
    	modified:   packages/smooth_app/lib/pages/product/product_questions_widget.dart

    * Fixes after code review

    Committer: Lorenzo Mascia <[email protected]>

    Changes:
    	modified:   packages/smooth_app/lib/pages/hunger_games/question_card.dart
    	modified:   packages/smooth_app/lib/pages/hunger_games/question_image_thumbnail.dart
    	modified:   packages/smooth_app/lib/pages/hunger_games/question_page.dart
    	modified:   packages/smooth_app/lib/pages/preferences/user_preferences_contribute.dart
    	modified:   packages/smooth_app/lib/pages/product/product_questions_widget.dart

    * Fixes after second review

    Committer: Lorenzo Mascia <[email protected]>

    Changes:
    	modified:   packages/smooth_app/lib/pages/hunger_games/question_image_thumbnail.dart
    	modified:   packages/smooth_app/lib/pages/hunger_games/question_page.dart
    	modified:   packages/smooth_app/lib/pages/preferences/user_preferences_contribute.dart
    	modified:   packages/smooth_app/lib/pages/product/product_questions_widget.dart

    * Update packages/smooth_app/lib/pages/hunger_games/question_card.dart

    Co-authored-by: monsieurtanuki <[email protected]>

    * Fixes after third review

    Committer: Lorenzo Mascia <[email protected]>

    Changes:
    	modified:   lib/pages/hunger_games/question_image_thumbnail.dart
    	modified:   lib/pages/hunger_games/question_page.dart

    ---------

    Co-authored-by: Lorenzo Mascia <[email protected]>
    Co-authored-by: monsieurtanuki <[email protected]>

commit 943db63
Author: Pierre Slamich <[email protected]>
Date:   Wed Apr 30 14:48:34 2025 +0200

    ci: Update mkdocs.yml by adding edit button

commit 913d888
Author: Pierre Slamich <[email protected]>
Date:   Sun Apr 27 12:19:27 2025 +0200

    fix: Update dartdoc.yml

commit dcf31fa
Author: Pierre Slamich <[email protected]>
Date:   Sun Apr 27 12:16:13 2025 +0200

    fix: Update dartdoc.yml

commit 7897374
Author: Pierre Slamich <[email protected]>
Date:   Sun Apr 27 12:10:00 2025 +0200

    fix: Update README.md

commit aca2b47
Author: Pierre Slamich <[email protected]>
Date:   Sun Apr 27 11:51:46 2025 +0200

    fix: Update dartdoc.yml

commit 4049d8f
Author: Pierre Slamich <[email protected]>
Date:   Sun Apr 27 11:47:01 2025 +0200

    fix: Update dartdoc.yml

commit cdd93b9
Author: Pierre Slamich <[email protected]>
Date:   Sun Apr 27 11:44:05 2025 +0200

    fix: Update dartdoc.yml

commit df0343e
Author: Pierre Slamich <[email protected]>
Date:   Sun Apr 27 11:36:46 2025 +0200

    fix: Update dartdoc.yml

commit 8ca9d82
Author: Pierre Slamich <[email protected]>
Date:   Sun Apr 27 11:30:55 2025 +0200

    ci: dartdoc + mkdocs (openfoodfacts#5717)

    * ci: dartdoc + mkdocs

commit f6284e0
Author: Primaël Quémerais <[email protected]>
Date:   Sat Apr 26 16:58:02 2025 +0200

    feat: Adding Robotoff Questions to product edition (openfoodfacts#6407)

    * feat: adds robotoff questions to SimpleInputPage

    * feat: add localization for Robotoff question answered message

    * fix: remove unused import

    * Added missing type annotation

    * feat: redesigned Robotoff questions integration.

    * fix: update state change notification mechanism in AbstractSimpleInputPageHelper

    * feat: improve layout and padding in SimpleInputWidget and SmoothIconButton

    * feat: implement SmoothBooleanButton for enhanced boolean selection UI

    * fix: take into account multiple questions

    * Merging translations

    * Update packages/smooth_app/lib/pages/product/simple_input_page.dart

    Co-authored-by: monsieurtanuki <[email protected]>

    ---------

    Co-authored-by: monsieurtanuki <[email protected]>

commit 1d895ff
Author: Primaël Quémerais <[email protected]>
Date:   Sat Apr 26 16:11:54 2025 +0200

    fix: Update plural formatting in localization files for Greek and Dutch (openfoodfacts#6564)

commit 4cf4c65
Author: Pierre Slamich <[email protected]>
Date:   Sat Apr 26 14:38:52 2025 +0200

    fix: Update .gitignore with kaa.arb

commit 15d374d
Author: Pierre Slamich <[email protected]>
Date:   Sat Apr 26 12:06:27 2025 +0200

    ci: Update config.yaml

commit a0917eb
Author: Pierre Slamich <[email protected]>
Date:   Sat Apr 26 11:28:11 2025 +0200

    docs: Update config.yaml

commit d23b07a
Author: Pierre Slamich <[email protected]>
Date:   Sat Apr 26 10:49:52 2025 +0200

    ci: Update android-release-to-org-openfoodfacts-scanner.yml

commit f943f18
Author: Pierre Slamich <[email protected]>
Date:   Sat Apr 26 10:44:28 2025 +0200

    ci: Update xcversion in fastfile

commit ea22089
Author: Pierre Slamich <[email protected]>
Date:   Fri Apr 25 16:54:13 2025 +0200

    fix: design promo (openfoodfacts#6563)

commit 048d144
Author: Pierre Slamich <[email protected]>
Date:   Tue Apr 22 13:33:25 2025 +0200

    ci: Update github-projects-ventilation.yml

commit 1f53375
Merge: c04254d 4e8b6f3
Author: qq3173732005 <[email protected]>
Date:   Mon Apr 21 12:49:07 2025 -0400

    Merge branch 'openfoodfacts:develop' into sz-6119

commit 4e8b6f3
Author: Ashutosh Khadse <[email protected]>
Date:   Sun Apr 20 14:57:07 2025 +0530

    feat: Added stats view to the prices (openfoodfacts#6553)

    * add: Stats view to the prices

    * add: Stats view to the prices

    * feat: Add stats view to prices with refactored structure and full localization support

    * feat: Add stats view to prices with refactored structure and full localization support

    * feat: Add stats view to prices with simplified structure

    * feat: Add stats view to prices with simplified structure

    * feat: resolve code comment issue

    * feat: resolve code comment issue

commit bc306ae
Author: vinay chavhan <[email protected]>
Date:   Sun Apr 20 14:50:04 2025 +0530

    feat : add shortcut to GDPR requests Wikipage in Prices screen (openfoodfacts#6558)

commit 6ce17c3
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Sat Apr 19 12:39:17 2025 +0200

    chore(deps): bump flutter_svg from 2.0.17 to 2.1.0 in /packages/scanner/shared (openfoodfacts#6557)

    * chore(deps): bump flutter_svg in /packages/scanner/shared

    Bumps [flutter_svg](https://github.com/flutter/packages/tree/main/third_party/packages) from 2.0.17 to 2.1.0.
    - [Release notes](https://github.com/flutter/packages/releases)
    - [Commits](https://github.com/flutter/packages/commits/flutter_svg-v2.1.0/third_party/packages)

    ---
    updated-dependencies:
    - dependency-name: flutter_svg
      dependency-version: 2.1.0
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    * upgraded both flutter_svg

    ---------

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Cirrus CI <[email protected]>

commit c04254d
Merge: c914a89 120d810
Author: qq3173732005 <[email protected]>
Date:   Sun Apr 6 13:08:15 2025 -0400

    Merge branch 'develop' into sz-6119

commit c914a89
Author: qq3173732005 <[email protected]>
Date:   Sun Apr 6 13:06:37 2025 -0400

    Removed hardcoded strings for ImageField

commit b316b40
Author: qq3173732005 <[email protected]>
Date:   Sun Mar 30 23:57:20 2025 -0400

    Added edit shortcut to gallery screens
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

Move Hunger Games to a real view, as opposed to an overlay
3 participants