Advertisement
Uno-Dan

Just some code

Mar 19th, 2021
918
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. import { Link } from 'react-router-dom';
  3. import { Route, useParams } from 'react-router-dom'
  4. import Navbar, { NavItem } from '../components/navbar'
  5.  
  6. export const getImage = async ( url ) => {
  7.   let cache = await caches.open( 'ImageCache-v0.0.1' );
  8.   let cacheResponce = await cache.match( url );
  9.  
  10.   if (
  11.     cacheResponce &&
  12.     cacheResponce.status < 400 &&
  13.     cacheResponce.headers.has( 'content-type' ) &&
  14.     cacheResponce.headers.get('content-type').match(/^image\//i)
  15.   ) {
  16.     console.log( 'Using cached responce:', cacheResponce )
  17.   } else {
  18.     cacheResponce = await fetch( url );
  19.     if ( ! cacheResponce.ok ) {
  20.       throw new TypeError('Bad response status.');
  21.     }
  22.     await cache.put( url, cacheResponce.clone() );
  23.     console.log( 'Caching responce:', cacheResponce )
  24.   }
  25.   return cacheResponce.blob();
  26. }
  27.  
  28. export const Pages = props => {
  29.   const pages = props.pages
  30.  
  31.   // const [ navItems, setNavItems ] = useState( [] )
  32.  
  33.   return (
  34.     <main className='content ' >
  35.       <Navbar className='main' items={ pages } />
  36.       <header>HEADER</header>
  37.  
  38.       {
  39.         pages.map( ( { path, component: Component, initPrams } ) => (
  40.           <Route exact
  41.             path = { path }
  42.             render = { props =>
  43.               <Component { ...props } items={ initPrams } />
  44.             }
  45.           />
  46.         ) )
  47.       }
  48.  
  49.       <footer>FOOTER</footer>
  50.     </main>
  51.   );
  52. }
  53. export default Pages;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement