Álvaro Valenzuela Valdes commited on
Commit
4c7260e
·
1 Parent(s): 9fcafa1

Fix live badge prop issue and derive live badge internally

Browse files
frontend/app/page.tsx CHANGED
@@ -255,7 +255,6 @@ export default function HomePage() {
255
  onAnalyze={handleTenderSelect}
256
  forceShowFollowed={activeTab === "My Portfolio"}
257
  initialKeyword={searchKeyword}
258
- showLiveDefaultBadge={!searchKeyword && activeTab === "Tender Search"}
259
  lang={lang}
260
  />
261
  )}
 
255
  onAnalyze={handleTenderSelect}
256
  forceShowFollowed={activeTab === "My Portfolio"}
257
  initialKeyword={searchKeyword}
 
258
  lang={lang}
259
  />
260
  )}
frontend/components/TenderSearch.tsx CHANGED
@@ -43,6 +43,7 @@ export default function TenderSearch({ tenders, onSearch, onAnalyze, forceShowFo
43
 
44
  const isTenderCode = /^[0-9]+-[0-9]+-[A-Z0-9]+$/i.test(keyword);
45
  const isLiveSearch = Boolean(isTenderCode || providerCode || orgCode || status || date);
 
46
  const searchButtonLabel = isLoading
47
  ? "Searching..."
48
  : isLiveSearch
@@ -300,14 +301,19 @@ export default function TenderSearch({ tenders, onSearch, onAnalyze, forceShowFo
300
  </div>
301
 
302
  {/* Results Controls */}
303
- <div className="flex items-center justify-between px-2">
304
- <div className="flex items-center gap-3">
305
  <h3 className="text-lg font-bold text-white">
306
  {showOnlyFollowed ? "Saved Opportunities" : "Market Results"}
307
  </h3>
308
  <span className="text-[10px] bg-white/5 text-slate-400 px-2 py-0.5 rounded-full border border-white/5">
309
  {filteredTenders.length} items
310
  </span>
 
 
 
 
 
311
  </div>
312
  {followedCodes.length > 0 && (
313
  <button
 
43
 
44
  const isTenderCode = /^[0-9]+-[0-9]+-[A-Z0-9]+$/i.test(keyword);
45
  const isLiveSearch = Boolean(isTenderCode || providerCode || orgCode || status || date);
46
+ const showLiveDefaultBadge = !showOnlyFollowed && !keyword && !providerCode && !orgCode && !status && !date;
47
  const searchButtonLabel = isLoading
48
  ? "Searching..."
49
  : isLiveSearch
 
301
  </div>
302
 
303
  {/* Results Controls */}
304
+ <div className="flex flex-col gap-3 px-2 md:flex-row md:items-center md:justify-between">
305
+ <div className="flex flex-wrap items-center gap-3">
306
  <h3 className="text-lg font-bold text-white">
307
  {showOnlyFollowed ? "Saved Opportunities" : "Market Results"}
308
  </h3>
309
  <span className="text-[10px] bg-white/5 text-slate-400 px-2 py-0.5 rounded-full border border-white/5">
310
  {filteredTenders.length} items
311
  </span>
312
+ {showLiveDefaultBadge && (
313
+ <span className="text-[10px] bg-emerald-500/10 text-emerald-200 px-2 py-0.5 rounded-full border border-emerald-500/20 font-bold uppercase tracking-[0.25em]">
314
+ Live Mercado Público data
315
+ </span>
316
+ )}
317
  </div>
318
  {followedCodes.length > 0 && (
319
  <button