feat(frontend): add product detail view and navigation
- Create ProductView component with product details display - Add ProductView.css with responsive styling - Add product screen to App.jsx screen system - Pass onNavigateToProduct callback from App to SearchView - Update ProductResults onSelect to use callback instead of window.location
This commit is contained in:
@@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react';
|
||||
import './App.css';
|
||||
import HomeView from './views/HomeView';
|
||||
import SearchView from './views/SearchView';
|
||||
import ProductView from './views/ProductView';
|
||||
import ScannerView from './views/ScannerView';
|
||||
import AlertsView from './views/AlertsView';
|
||||
import ProfileView from './views/ProfileView';
|
||||
@@ -19,6 +20,7 @@ function App() {
|
||||
const [showSaved, setShowSaved] = useState(false);
|
||||
const [badgeCount, setBadgeCount] = useState(0);
|
||||
const [prescriptionSearch, setPrescriptionSearch] = useState('');
|
||||
const [productScreen, setProductScreen] = useState(null);
|
||||
const [screenSize, setScreenSize] = useState({
|
||||
width: window.innerWidth,
|
||||
height: window.innerHeight
|
||||
@@ -180,6 +182,16 @@ function App() {
|
||||
currentUser={currentUser}
|
||||
onLoginRequest={() => setShowLogin(true)}
|
||||
initialQuery={prescriptionSearch}
|
||||
onNavigateToProduct={(source, id) => setProductScreen({ source, id })}
|
||||
/>
|
||||
);
|
||||
break;
|
||||
case 'product':
|
||||
activeView = (
|
||||
<ProductView
|
||||
source={productScreen?.source}
|
||||
id={productScreen?.id}
|
||||
onBack={() => { setProductScreen(null); setScreen('search'); }}
|
||||
/>
|
||||
);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user