💄 put movies into table
This commit is contained in:
		
							parent
							
								
									2cae1b0d6f
								
							
						
					
					
						commit
						e9c86ea889
					
				
					 3 changed files with 30 additions and 118 deletions
				
			
		
							
								
								
									
										45
									
								
								src/App.css
									
										
									
									
									
								
							
							
						
						
									
										45
									
								
								src/App.css
									
										
									
									
									
								
							|  | @ -1,42 +1,9 @@ | ||||||
| #root { | :root { | ||||||
|   max-width: 1280px; |   --bg: #27374d; | ||||||
|   margin: 0 auto; |   --text-1: #dde6ed; | ||||||
|   padding: 2rem; |  | ||||||
|   text-align: center; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .logo { | html { | ||||||
|   height: 6em; |   background-color: var(--bg); | ||||||
|   padding: 1.5em; |   color: var(--text-1); | ||||||
|   will-change: filter; |  | ||||||
|   transition: filter 300ms; |  | ||||||
| } |  | ||||||
| .logo:hover { |  | ||||||
|   filter: drop-shadow(0 0 2em #646cffaa); |  | ||||||
| } |  | ||||||
| .logo.react:hover { |  | ||||||
|   filter: drop-shadow(0 0 2em #61dafbaa); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @keyframes logo-spin { |  | ||||||
|   from { |  | ||||||
|     transform: rotate(0deg); |  | ||||||
|   } |  | ||||||
|   to { |  | ||||||
|     transform: rotate(360deg); |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @media (prefers-reduced-motion: no-preference) { |  | ||||||
|   a:nth-of-type(2) .logo { |  | ||||||
|     animation: logo-spin infinite 20s linear; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .card { |  | ||||||
|   padding: 2em; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .read-the-docs { |  | ||||||
|   color: #888; |  | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										34
									
								
								src/App.tsx
									
										
									
									
									
								
							
							
						
						
									
										34
									
								
								src/App.tsx
									
										
									
									
									
								
							|  | @ -1,13 +1,14 @@ | ||||||
| import { useEffect, useState } from 'react' | import { useEffect, useState } from 'react' | ||||||
| import './App.css' | import './App.css' | ||||||
|  | import q from 'qjuul' | ||||||
| 
 | 
 | ||||||
| function App() { | function App() { | ||||||
|   const API_MOVIE_KEY = import.meta.env.VITE_MOVIE_API_KEY |   const API_MOVIE_KEY = 'd92949d8' | ||||||
|   const [movies, setMovies] = useState([]) |   const [movies, setMovies] = useState([]) | ||||||
|   const [loading, setLoading] = useState(true) |   const [loading, setLoading] = useState(true) | ||||||
| 
 | 
 | ||||||
|   useEffect(() => { |   useEffect(() => { | ||||||
|     fetch(`http://www.omdbapi.com/?apikey=${API_MOVIE_KEY}&s=batman`) |     fetch(`http://www.omdbapi.com/?apikey=${API_MOVIE_KEY}&s=spider-man`) | ||||||
|       .then((response) => response.json()) |       .then((response) => response.json()) | ||||||
|       .then((data) => { |       .then((data) => { | ||||||
|         setMovies(data.Search) |         setMovies(data.Search) | ||||||
|  | @ -18,20 +19,33 @@ function App() { | ||||||
| 
 | 
 | ||||||
|   return ( |   return ( | ||||||
|     <> |     <> | ||||||
|       <div> |       <q.div> | ||||||
|  |         <div> | ||||||
|  |           <h1>All movies</h1> | ||||||
|  |         </div> | ||||||
|         {!loading && movies ? ( |         {!loading && movies ? ( | ||||||
|           <div> |           <div> | ||||||
|             {movies.map((movie: any) => ( |             <table> | ||||||
|               <div> |               <tr> | ||||||
|                 <h1>{movie.Title}</h1> |                 <th>Poster</th> | ||||||
|                 <img src={movie.Poster} alt={movie.Title} /> |                 <th>Title</th> | ||||||
|               </div> |                 <th>Year</th> | ||||||
|             ))} |               </tr> | ||||||
|  |               {movies.map((movie: any) => ( | ||||||
|  |                 <tr> | ||||||
|  |                   <td> | ||||||
|  |                     <img src={movie.Poster} alt={movie.Title} width="100" /> | ||||||
|  |                   </td> | ||||||
|  |                   <td>{movie.Title}</td> | ||||||
|  |                   <td>{movie.Year}</td> | ||||||
|  |                 </tr> | ||||||
|  |               ))} | ||||||
|  |             </table> | ||||||
|           </div> |           </div> | ||||||
|         ) : ( |         ) : ( | ||||||
|           <h1>Loading...</h1> |           <h1>Loading...</h1> | ||||||
|         )} |         )} | ||||||
|       </div> |       </q.div> | ||||||
|     </> |     </> | ||||||
|   ) |   ) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,69 +0,0 @@ | ||||||
| :root { |  | ||||||
|   font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; |  | ||||||
|   line-height: 1.5; |  | ||||||
|   font-weight: 400; |  | ||||||
| 
 |  | ||||||
|   color-scheme: light dark; |  | ||||||
|   color: rgba(255, 255, 255, 0.87); |  | ||||||
|   background-color: #242424; |  | ||||||
| 
 |  | ||||||
|   font-synthesis: none; |  | ||||||
|   text-rendering: optimizeLegibility; |  | ||||||
|   -webkit-font-smoothing: antialiased; |  | ||||||
|   -moz-osx-font-smoothing: grayscale; |  | ||||||
|   -webkit-text-size-adjust: 100%; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| a { |  | ||||||
|   font-weight: 500; |  | ||||||
|   color: #646cff; |  | ||||||
|   text-decoration: inherit; |  | ||||||
| } |  | ||||||
| a:hover { |  | ||||||
|   color: #535bf2; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| body { |  | ||||||
|   margin: 0; |  | ||||||
|   display: flex; |  | ||||||
|   place-items: center; |  | ||||||
|   min-width: 320px; |  | ||||||
|   min-height: 100vh; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| h1 { |  | ||||||
|   font-size: 3.2em; |  | ||||||
|   line-height: 1.1; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| button { |  | ||||||
|   border-radius: 8px; |  | ||||||
|   border: 1px solid transparent; |  | ||||||
|   padding: 0.6em 1.2em; |  | ||||||
|   font-size: 1em; |  | ||||||
|   font-weight: 500; |  | ||||||
|   font-family: inherit; |  | ||||||
|   background-color: #1a1a1a; |  | ||||||
|   cursor: pointer; |  | ||||||
|   transition: border-color 0.25s; |  | ||||||
| } |  | ||||||
| button:hover { |  | ||||||
|   border-color: #646cff; |  | ||||||
| } |  | ||||||
| button:focus, |  | ||||||
| button:focus-visible { |  | ||||||
|   outline: 4px auto -webkit-focus-ring-color; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| @media (prefers-color-scheme: light) { |  | ||||||
|   :root { |  | ||||||
|     color: #213547; |  | ||||||
|     background-color: #ffffff; |  | ||||||
|   } |  | ||||||
|   a:hover { |  | ||||||
|     color: #747bff; |  | ||||||
|   } |  | ||||||
|   button { |  | ||||||
|     background-color: #f9f9f9; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
		Reference in a new issue
	
	 Sindre Kjelsrud
						Sindre Kjelsrud