CatimaLoyalty / Android

Catima, a Loyalty Card & Ticket Manager for Android
https://catima.app
GNU General Public License v3.0
870 stars 151 forks source link

Show existing card if scanned barcode already in use #1466

Open TheLastProject opened 1 year ago

TheLastProject commented 1 year ago

Got this feature request through email:

When I scan a card that I already have created, it makes a new entry. Instead, it would be very useful if it detected the same code and took you directly to the information of that card, to avoid creating duplicates.

Furthermore, this way, it would be possible to check the remaining points on that card just by scanning it.

This option would also be very interesting to check the remaining points for members of an association, which is my case.

It makes some sense to me, but we may need to tackle #1453 first (to prevent more code complications) and think of how this will interact with #1449.

My idea would be to show a dialog with something like:

Card already exists

The scanned code is already used. Do you want to open an existing card or create a new one?

Open Store 1 Open Store 1 Existing Duplicate Create new card

Any opinions?

obfusk commented 1 year ago

we may need to tackle #1453 first (to prevent more code complications) and think of how this will interact with #1449.

Yeah.

My idea would be to show a dialog with something like:

Maybe "A card with this barcode already exists"? But yeah, seems good. Happy to help with a PR :)

Furthermore, this way, it would be possible to check the remaining points on that card just by scanning it.

How is that supposed to work?

obfusk commented 1 year ago

Maybe "A card with this barcode already exists"?

Or just "Duplicate barcode" to keep it short.

tommyfenyx commented 1 year ago

Nice, I agree with the short suggestion.

ChaoticNeutralCzech commented 1 year ago

"Duplicate barcode" can also be a verb phrase, which might get misunderstood by users, or worse, mistranslated by a community translator. I would prefer the full sentence.