// app/screen-shared.jsx — recipes shared from other kitchens, grouped by sender. // Each cook's wordmark adapts to their name. Save into your own library. function SharedScreen() { const { layout, SHARED_KITCHENS, getRecipe, photoFor, openRecipe, back, saveRecipe, isFav } = useApp(); const isMobile = layout === 'mobile'; const isTablet = layout === 'tablet'; const cols = isMobile ? 2 : (isTablet ? 3 : 4); const pad = isMobile ? '0 18px' : '0 48px'; const [followed, setFollowed] = React.useState({}); const [saved, setSaved] = React.useState({}); return (
Shared with you · {SHARED_KITCHENS.reduce((s, k) => s + k.recipeIds.length, 0)} recipes from {SHARED_KITCHENS.length} cookbooks

From other kitchens.

{SHARED_KITCHENS.map((k, ki) => (
0 ? 32 : 0, borderTop: ki > 0 ? '1px solid var(--hairline)' : 'none' }}>
{k.initial}

{k.name} Cooks.

{k.meta}
{!isMobile && ( setFollowed((f) => ({ ...f, [k.name]: !f[k.name] }))} style={followed[k.name] ? { color: 'var(--olive)', borderColor: 'rgba(240,168,80,0.5)', background: 'rgba(240,168,80,0.10)' } : undefined}> {followed[k.name] ? <>Following : 'Follow cookbook'} )}
{k.recipeIds.map((id) => { const r = getRecipe(id); if (!r) return null; return (
openRecipe(id, { sharedBy: k.name })} style={{ cursor: 'pointer' }}>
); })}
))}
); } Object.assign(window, { SharedScreen });