Compare commits
2 Commits
c5d47ddd4d
...
a7834607fb
| Author | SHA1 | Date | |
|---|---|---|---|
| a7834607fb | |||
| ce3cca1d79 |
+2
-11
@@ -744,16 +744,8 @@ function extractCip(text) {
|
||||
return CARD_TEXT_PATTERNS.some(pattern => pattern.test(upper));
|
||||
};
|
||||
|
||||
// Try to find barcodes first (typically numeric-heavy)
|
||||
// TSI barcodes are usually numeric or alphanumeric with mostly numbers
|
||||
const numericMatches = cleaned.match(/\d{10,30}/g) || [];
|
||||
for (const match of numericMatches) {
|
||||
if (match.length >= 10 && match.length <= 30) {
|
||||
return match.toUpperCase();
|
||||
}
|
||||
}
|
||||
|
||||
// Try exact 16-char alphanumeric match, but filter card text
|
||||
// TSI barcodes are alphanumeric like "803401INURO0890417003211T11"
|
||||
// Prioritize full alphanumeric matches (8-30 chars) before pure numeric
|
||||
const exact = cleaned.match(/[A-Z0-9]{16}/i);
|
||||
if (exact) {
|
||||
const candidate = exact[0].toUpperCase();
|
||||
@@ -762,7 +754,6 @@ function extractCip(text) {
|
||||
}
|
||||
}
|
||||
|
||||
// Fallback: 8–30 alphanumeric chars, filter card text
|
||||
const looseMatches = cleaned.match(/[A-Z0-9]{8,30}/gi) || [];
|
||||
for (const match of looseMatches) {
|
||||
const candidate = match.toUpperCase();
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 93 KiB |
@@ -6,7 +6,7 @@ function HomeView({ onScanClick, onSearchClick }) {
|
||||
<div className="home-view">
|
||||
<div className="home-hero">
|
||||
<div className="home-logo-wrapper">
|
||||
<img src="/farmaclic_logo.png" alt="FarmaClic" className="home-logo" />
|
||||
<img src="/farmaclic_logo_home.png" alt="FarmaClic" className="home-logo" />
|
||||
<img src="/farmaclic_text.png" alt="FarmaClic" className="home-brand-name" />
|
||||
</div>
|
||||
<p className="home-desc">Encuentra tus medicamentos en farmacias cercanas</p>
|
||||
|
||||
Reference in New Issue
Block a user