├── .gitignore ├── README.md ├── package-lock.json ├── package.json ├── public ├── favicon.ico ├── index.html ├── logo192.png ├── logo512.png ├── manifest.json └── robots.txt └── src ├── App.css ├── App.js ├── App.test.js ├── akun.png ├── component ├── 404not.js ├── a.js ├── anime.js ├── backdrop-card.js ├── backdrop-page.js ├── banner.js ├── cast-card.js ├── cast-rekomend-card.js ├── cast-rekomend-tv.js ├── footer.js ├── full.jpg ├── genre-content.js ├── genre-page.js ├── header.js ├── home.js ├── img │ ├── PngItem_6391407.png │ └── header.js ├── left-sidebar.js ├── media-backgdrop.js ├── media-poster.js ├── media-video.js ├── modal-item.js ├── modal-video.js ├── movie-all.js ├── movie-detail-card.js ├── moviecard.js ├── moviecontainer.js ├── moviedetail.js ├── people-card.js ├── people-detail.js ├── people-movie-credit.js ├── popular-people.js ├── poster-card.js ├── poster-page.js ├── profile-card.js ├── rekomen-card.js ├── review-card.js ├── review-page.js ├── review.js ├── search-content.js ├── search-page.js ├── slider.js ├── trending-card.js ├── tv-all.js ├── tv-detail-card.js ├── tv-detail.js ├── tv-recomend-card.js └── video-card.js ├── detail.css ├── empty.png ├── github.png ├── header.css ├── index.css ├── index.js ├── logo.svg ├── logos.png ├── next.png ├── prev.png ├── reportWebVitals.js ├── setupTests.js ├── star.png └── tmdb-logo.svg /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Getting Started with Create React App 2 | 3 | This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). 4 | 5 | ## Available Scripts 6 | 7 | In the project directory, you can run: 8 | 9 | ### `npm start` 10 | 11 | Runs the app in the development mode.\ 12 | Open [http://localhost:3000](http://localhost:3000) to view it in your browser. 13 | 14 | The page will reload when you make changes.\ 15 | You may also see any lint errors in the console. 16 | 17 | ### `npm test` 18 | 19 | Launches the test runner in the interactive watch mode.\ 20 | See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. 21 | 22 | ### `npm run build` 23 | 24 | Builds the app for production to the `build` folder.\ 25 | It correctly bundles React in production mode and optimizes the build for the best performance. 26 | 27 | The build is minified and the filenames include the hashes.\ 28 | Your app is ready to be deployed! 29 | 30 | See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. 31 | 32 | ### `npm run eject` 33 | 34 | **Note: this is a one-way operation. Once you `eject`, you can't go back!** 35 | 36 | If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. 37 | 38 | Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own. 39 | 40 | You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it. 41 | 42 | ## Learn More 43 | 44 | You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). 45 | 46 | To learn React, check out the [React documentation](https://reactjs.org/). 47 | 48 | ### Code Splitting 49 | 50 | This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) 51 | 52 | ### Analyzing the Bundle Size 53 | 54 | This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) 55 | 56 | ### Making a Progressive Web App 57 | 58 | This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) 59 | 60 | ### Advanced Configuration 61 | 62 | This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) 63 | 64 | ### Deployment 65 | 66 | This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) 67 | 68 | ### `npm run build` fails to minify 69 | 70 | This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) 71 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "homepage": "https://bay-s.github.io", 3 | "name": "movie-info-app", 4 | "version": "0.1.0", 5 | "private": true, 6 | "dependencies": { 7 | "@testing-library/jest-dom": "^5.16.4", 8 | "@testing-library/react": "^13.2.0", 9 | "@testing-library/user-event": "^13.5.0", 10 | "react": "^18.1.0", 11 | "react-dom": "^18.1.0", 12 | "react-router-dom": "^6.3.0", 13 | "react-scripts": "5.0.1", 14 | "web-vitals": "^2.1.4" 15 | }, 16 | "scripts": { 17 | "predeploy": "npm run build", 18 | "deploy": "gh-pages -b master -d build", 19 | "start": "react-scripts start", 20 | "build": "react-scripts build", 21 | "test": "react-scripts test", 22 | "eject": "react-scripts eject" 23 | }, 24 | "eslintConfig": { 25 | "extends": [ 26 | "react-app", 27 | "react-app/jest" 28 | ] 29 | }, 30 | "browserslist": { 31 | "production": [ 32 | ">0.2%", 33 | "not dead", 34 | "not op_mini all" 35 | ], 36 | "development": [ 37 | "last 1 chrome version", 38 | "last 1 firefox version", 39 | "last 1 safari version" 40 | ] 41 | }, 42 | "devDependencies": { 43 | "gh-pages": "^4.0.0" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bay-s/react-movie-app/8c4c3d3af26beea97631401a8cff12514230c092/public/favicon.ico -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 17 | 18 | 27 | React App 28 | 29 | 30 | 31 |
32 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bay-s/react-movie-app/8c4c3d3af26beea97631401a8cff12514230c092/public/logo192.png -------------------------------------------------------------------------------- /public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bay-s/react-movie-app/8c4c3d3af26beea97631401a8cff12514230c092/public/logo512.png -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /src/App.css: -------------------------------------------------------------------------------- 1 | html, 2 | body, 3 | div, 4 | span, 5 | applet, 6 | object, 7 | iframe, 8 | h1, 9 | h2, 10 | h3, 11 | h4, 12 | h5, 13 | h6, 14 | p, 15 | blockquote, 16 | pre, 17 | a, 18 | abbr, 19 | acronym, 20 | address, 21 | big, 22 | cite, 23 | code, 24 | del, 25 | dfn, 26 | em, 27 | img, 28 | ins, 29 | kbd, 30 | q, 31 | s, 32 | samp, 33 | small, 34 | strike, 35 | strong, 36 | sub, 37 | sup, 38 | tt, 39 | var, 40 | b, 41 | u, 42 | i, 43 | center, 44 | dl, 45 | dt, 46 | dd, 47 | ol, 48 | ul, 49 | li, 50 | fieldset, 51 | form, 52 | label, 53 | legend, 54 | table, 55 | caption, 56 | tbody, 57 | tfoot, 58 | thead, 59 | tr, 60 | th, 61 | td, 62 | article, 63 | aside, 64 | canvas, 65 | details, 66 | embed, 67 | figure, 68 | figcaption, 69 | footer, 70 | header, 71 | hgroup, 72 | menu, 73 | nav, 74 | output, 75 | ruby, 76 | section, 77 | summary, 78 | time, 79 | mark, 80 | audio, 81 | video { 82 | margin: 0; 83 | padding: 0; 84 | border: 0; 85 | font-size: 100%; 86 | font: inherit; 87 | vertical-align: baseline; 88 | } 89 | 90 | a{ 91 | text-decoration: none; 92 | } 93 | /* HTML5 display-role reset for older browsers */ 94 | article, 95 | aside, 96 | details, 97 | figcaption, 98 | figure, 99 | footer, 100 | header, 101 | hgroup, 102 | menu, 103 | nav, 104 | section { 105 | display: block; 106 | } 107 | 108 | body { 109 | line-height: 1; 110 | } 111 | 112 | ol, 113 | ul { 114 | list-style: none; 115 | } 116 | 117 | blockquote, 118 | q { 119 | quotes: none; 120 | } 121 | 122 | blockquote:before, 123 | blockquote:after, 124 | q:before, 125 | q:after { 126 | content: ''; 127 | content: none; 128 | } 129 | 130 | table { 131 | border-collapse: collapse; 132 | border-spacing: 0; 133 | } 134 | 135 | button { 136 | cursor: pointer; 137 | } 138 | 139 | :root { 140 | --green: #20B2AA; 141 | --tmdbDarkBlue: 3, 37, 65; 142 | } 143 | 144 | .App { 145 | display: flex; 146 | flex-direction: row; 147 | min-height: 100%; 148 | gap: 20px; 149 | margin: 70px 100px; 150 | } 151 | 152 | 153 | .not-found { 154 | display: flex; 155 | flex-direction: column; 156 | gap: 10px; 157 | margin: 250px auto; 158 | text-align: center; 159 | font-weight: bold; 160 | font-style: italic; 161 | color: black; 162 | } 163 | 164 | .not-found h1 { 165 | font-size: 50px; 166 | 167 | } 168 | 169 | body { 170 | background-color: rgba(0, 0, 0, 0.055); 171 | font-family: 'Outfit', sans-serif; 172 | /* background-color: #16151D; */ 173 | } 174 | 175 | 176 | /* BANNER */ 177 | 178 | /* .banner{ 179 | object-fit: cover; 180 | max-width: 100%; 181 | height: 400px; 182 | margin: 57px 0; 183 | opacity: 0.75; 184 | display: -webkit-box; 185 | display: -ms-flexbox; 186 | display: flex; 187 | -webkit-box-orient: vertical; 188 | -webkit-box-direction: normal; 189 | -ms-flex-direction: column; 190 | flex-direction: column; 191 | gap: 50px; 192 | -webkit-box-align: center; 193 | -ms-flex-align: center; 194 | align-items: center; 195 | background-position: center -100px; 196 | background-repeat: no-repeat; 197 | background-size: cover; 198 | } 199 | 200 | */ 201 | 202 | .banner { 203 | display: flex; 204 | height: 400px; 205 | } 206 | 207 | .dot-container{ 208 | position: absolute; 209 | bottom: 55px; 210 | left: 25%; 211 | display: flex; 212 | gap: 10px; 213 | z-index: 10; 214 | } 215 | 216 | .dot-container .dot{ 217 | padding: 5px; 218 | background-color:rgba(255, 255, 255, 0.363); 219 | color: red; 220 | border-radius: 50%; 221 | cursor: pointer; 222 | } 223 | 224 | .dot-active{ 225 | background-color:yellow; 226 | padding: 5px; 227 | border-radius: 50%; 228 | cursor: pointer; 229 | } 230 | 231 | .banner .slides { 232 | /* width: 820px; */ 233 | width: 835px; 234 | transition: 500ms; 235 | /* margin:57px auto; */ 236 | -webkit-box-shadow: inset 0 0 0 100vw rgb(0 0 0 / 70%); 237 | box-shadow: inset 0 0 0 100vw rgb(0 0 0 / 70%); 238 | background-size: cover; 239 | background-position: center, center; 240 | color: white; 241 | opacity: 2; 242 | -webkit-box-sizing: border-box; 243 | box-sizing: border-box; 244 | font-family: Arial, Helvetica, sans-serif; 245 | filter: brightness(1.1); 246 | } 247 | 248 | .shows{ 249 | animation: fade 500ms; 250 | display: block; 251 | width: 820px; 252 | transition: 500ms; 253 | -webkit-box-shadow: inset 0 0 0 100vw rgb(0 0 0 / 70%); 254 | box-shadow: inset 0 0 0 100vw rgb(0 0 0 / 70%); 255 | background-size: cover; 256 | background-position: center, center; 257 | color: white; 258 | opacity: 2; 259 | -webkit-box-sizing: border-box; 260 | box-sizing: border-box; 261 | font-family: Arial, Helvetica, sans-serif; 262 | filter: brightness(1.1); 263 | } 264 | 265 | .slides .rights { 266 | order: 2; 267 | } 268 | 269 | .slides .rights img { 270 | border-radius: 5px; 271 | width: 150px; 272 | height: 250px; 273 | object-fit: cover; 274 | } 275 | 276 | 277 | .slide-detail-inner { 278 | width: 90%; 279 | display: -webkit-box; 280 | display: -ms-flexbox; 281 | display: flex; 282 | margin: 50px 30px; 283 | flex-direction: column; 284 | } 285 | 286 | .slide-detail-info { 287 | display: flex; 288 | flex-direction: column; 289 | gap: 15px; 290 | } 291 | 292 | .slide-judul { 293 | display: flex; 294 | align-items: flex-start; 295 | gap: 50px; 296 | } 297 | 298 | .slide-judul-inner{ 299 | display: flex; 300 | flex-direction: column; 301 | gap: 10px; 302 | } 303 | 304 | .slide-judul-inner .genre a{ 305 | color: white; 306 | font-size: 15px; 307 | } 308 | 309 | .slide-detail-inner .overview { 310 | display: flex; 311 | flex-direction: column; 312 | gap: 10px; 313 | align-items: flex-start; 314 | } 315 | 316 | .slide-detail-inner .tag-title { 317 | font-size: 19px; 318 | } 319 | 320 | .slide-detail-inner .tagline { 321 | line-height: 19px; 322 | font-size: 13px; 323 | display: -webkit-box; 324 | -webkit-line-clamp: 2; 325 | -webkit-box-orient: vertical; 326 | -o-text-overflow: ellipsis; 327 | text-overflow: ellipsis; 328 | overflow: hidden; 329 | } 330 | 331 | .slide-judul .judul-inner { 332 | display: flex; 333 | flex-direction: column; 334 | gap: 10px; 335 | } 336 | 337 | .slide-judul .stars { 338 | display: flex; 339 | justify-content: space-between; 340 | gap: 10px; 341 | align-items: center; 342 | } 343 | 344 | .stars img { 345 | width: 70px; 346 | order: -1; 347 | } 348 | 349 | .stars-container{ 350 | display: flex; 351 | gap: 10px; 352 | } 353 | 354 | .stars { 355 | position: relative; 356 | } 357 | 358 | .stars .slide-rate { 359 | position: absolute; 360 | top: 28px; 361 | left: 22px; 362 | color: black; 363 | font-weight: bold; 364 | font-size: 18px; 365 | } 366 | 367 | .slide-judul .jdl a { 368 | font-size: 22px; 369 | font-weight: bold; 370 | color: white; 371 | text-decoration: none; 372 | text-overflow: ellipsis; 373 | } 374 | 375 | .slide-detail-info .genre a{ 376 | color: white; 377 | } 378 | .slide-judul .images a { 379 | font-size: 14px; 380 | color: white; 381 | text-decoration: none; 382 | } 383 | 384 | /* BANNER */ 385 | 386 | /* MAIN */ 387 | 388 | .content { 389 | flex: 2; 390 | -ms-grid-row: 2; 391 | -ms-grid-column: 1; 392 | -ms-grid-column-span: 3; 393 | display: -webkit-box; 394 | display: -ms-flexbox; 395 | display: flex; 396 | -webkit-box-orient: vertical; 397 | -webkit-box-direction: normal; 398 | -ms-flex-direction: column; 399 | flex-direction: column; 400 | gap: 20px; 401 | font-family: Arial, Helvetica, sans-serif; 402 | -webkit-box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; 403 | box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; 404 | position: relative; 405 | overflow: hidden; 406 | height: 100%; 407 | } 408 | 409 | 410 | .title { 411 | font-size: 20px; 412 | font-weight: bold; 413 | padding: 12px; 414 | color: black; 415 | padding: 10px; 416 | margin: 5px 0; 417 | grid-column-end: 1; 418 | grid-column-start: -1; 419 | /* background-color: black; */ 420 | /* background-color: var(--green); */ 421 | } 422 | 423 | .judul-container{ 424 | display: flex; 425 | justify-content: space-between; 426 | align-items: center; 427 | margin: 5px 5px; 428 | } 429 | 430 | .judul-container a{ 431 | color: #0b6dff; 432 | padding-right: 5px; 433 | } 434 | .detail-title { 435 | font-size: 20px; 436 | font-weight: bold; 437 | color: white; 438 | grid-column-start: 1; 439 | grid-column-end: -1; 440 | } 441 | 442 | .sub-title { 443 | font-size: 17px; 444 | font-weight: bold; 445 | color: white; 446 | background-color: #333333; 447 | padding: 10px; 448 | border-radius: 2px; 449 | } 450 | 451 | .judul-flex { 452 | display: flex; 453 | align-items: center; 454 | gap: 20px; 455 | } 456 | 457 | .tittle-inner { 458 | display: flex; 459 | align-items: center; 460 | gap: 10px; 461 | border: 1px solid #031d33; 462 | border-radius: 15px; 463 | } 464 | 465 | .tittle-inner a { 466 | text-decoration: none; 467 | font-size: 13px; 468 | font-weight: bold; 469 | padding: 10px 20px; 470 | color: black; 471 | transition: 250ms; 472 | } 473 | 474 | .tittle-inner .actives { 475 | background-color: #031d33; 476 | color: #20f0e5; 477 | border-radius: 15px; 478 | transition: 500ms; 479 | } 480 | 481 | .test { 482 | background: linear-gradient(to right, rgba(var(--tmdbDarkBlue), 0.75) 0%, rgba(var(--tmdbDarkBlue), 0.75) 100%); 483 | } 484 | 485 | .populer-container { 486 | position: relative; 487 | overflow: hidden; 488 | transition: 500ms; 489 | animation: fade 500ms; 490 | } 491 | 492 | 493 | .review-container { 494 | border-top: 2px solid rgba(0, 0, 0, 0.397); 495 | border-bottom: 2px solid rgba(0, 0, 0, 0.397); 496 | padding: 30px 0; 497 | } 498 | 499 | .reviews-container{ 500 | margin: 100px 50px; 501 | } 502 | 503 | .reviews-inner{ 504 | display: flex; 505 | flex-direction: column; 506 | gap: 35px; 507 | margin: 0 100px; 508 | } 509 | 510 | .review-content { 511 | display: flex; 512 | flex-direction: column; 513 | gap: 20px; 514 | } 515 | 516 | .review-card { 517 | display: flex; 518 | flex-direction: column; 519 | gap: 10px; 520 | background-color: white; 521 | border-radius: 5px; 522 | padding: 20px; 523 | -webkit-box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; 524 | box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; 525 | } 526 | 527 | .review-card .review-title { 528 | font-size: 20px; 529 | font-weight: bold; 530 | color: black; 531 | } 532 | 533 | .author .datez{ 534 | font-style: italic; 535 | } 536 | .review-card .paraf { 537 | font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 538 | word-spacing: 5px; 539 | line-height: 29px; 540 | text-align: left; 541 | letter-spacing:1px; 542 | font-size: 15px; 543 | font-weight: 450; 544 | } 545 | 546 | .parafs{ 547 | display: -webkit-box; 548 | -webkit-line-clamp: 2; 549 | -webkit-box-orient: vertical; 550 | -o-text-overflow: ellipsis; 551 | text-overflow: ellipsis; 552 | overflow: hidden; 553 | } 554 | .review-card .author { 555 | display: flex; 556 | flex-direction: column; 557 | align-items: flex-start; 558 | gap: 10px; 559 | } 560 | 561 | .review-card .profil { 562 | display: flex; 563 | gap: 20px; 564 | align-items: flex-start; 565 | } 566 | 567 | .review-card .profil img { 568 | width: 64px; 569 | height: 64px; 570 | border-radius: 50%; 571 | } 572 | 573 | .review-card .profil-info { 574 | display: flex; 575 | flex-direction: column; 576 | gap: 25px; 577 | align-items: flex-start; 578 | } 579 | 580 | .load{ 581 | color: black; 582 | font-weight: bold; 583 | padding: 10px; 584 | font-size: 17px; 585 | display: block; 586 | } 587 | 588 | .hide{ 589 | display: none; 590 | } 591 | 592 | .reviews { 593 | position: relative; 594 | text-decoration: none; 595 | color: black; 596 | font-weight: bold; 597 | } 598 | 599 | .reviews::after { 600 | content: " "; 601 | position: absolute; 602 | width: 100%; 603 | top: 17px; 604 | left: 0; 605 | font-weight: bold; 606 | border-bottom: 4px solid black; 607 | border-radius: 4px; 608 | } 609 | 610 | .tittle-inners { 611 | display: flex; 612 | align-items: center; 613 | gap: 600px; 614 | } 615 | 616 | .tittle-inners ul{ 617 | display: flex; 618 | align-items: center; 619 | gap: 20px; 620 | } 621 | 622 | .tittle-inners a { 623 | text-decoration: none; 624 | font-weight: bold; 625 | font-size: 16px; 626 | color: black; 627 | transition: 250ms; 628 | } 629 | 630 | 631 | .populer-inner { 632 | display: -webkit-box; 633 | display: -ms-flexbox; 634 | display: flex; 635 | gap: 20px; 636 | padding: 10px 0 10px 0; 637 | -webkit-transition: 500ms; 638 | -o-transition: 500ms; 639 | transition: 500ms; 640 | } 641 | 642 | .detail-inner { 643 | display: -webkit-box; 644 | display: -ms-flexbox; 645 | display: flex; 646 | gap: 20px; 647 | padding: 10px 0 10px 0; 648 | -webkit-transition: 500ms; 649 | -o-transition: 500ms; 650 | transition: 500ms; 651 | overflow-x: scroll; 652 | } 653 | 654 | .tombol-top { 655 | display: -webkit-box; 656 | display: -ms-flexbox; 657 | display: flex; 658 | font-size: 80px; 659 | color: blue; 660 | font-weight: 900; 661 | font-family: Arial, Helvetica, sans-serif; 662 | cursor: pointer; 663 | } 664 | 665 | .tombol-butt { 666 | display: -webkit-box; 667 | display: -ms-flexbox; 668 | display: flex; 669 | font-size: 80px; 670 | color: blue; 671 | font-weight: 900; 672 | font-family: Arial, Helvetica, sans-serif; 673 | cursor: pointer; 674 | } 675 | 676 | .kiri { 677 | display: none; 678 | width: 57px; 679 | height: 93px; 680 | background-image: url(prev.png); 681 | position: absolute; 682 | background-repeat: no-repeat; 683 | top: 37%; 684 | left: -1%; 685 | -webkit-filter: brightness(0.8); 686 | filter: brightness(0.8); 687 | z-index: 10; 688 | } 689 | 690 | .kanan { 691 | z-index: 10; 692 | width: 57px; 693 | height: 93px; 694 | background-image: url(next.png); 695 | position: absolute; 696 | background-repeat: no-repeat; 697 | top: 37%; 698 | right: -1%; 699 | -webkit-filter: brightness(0.8); 700 | filter: brightness(0.8); 701 | } 702 | 703 | .kiri:hover { 704 | -webkit-filter: brightness(1.5); 705 | filter: brightness(1.5); 706 | } 707 | 708 | .kanan:hover { 709 | -webkit-filter: brightness(1.5); 710 | filter: brightness(1.5); 711 | } 712 | 713 | .card { 714 | background-color: white; 715 | border-radius: 5px; 716 | -webkit-box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; 717 | box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; 718 | font-family: Arial, Helvetica, sans-serif; 719 | width: 150px; 720 | -webkit-transition: 500ms; 721 | -o-transition: 500ms; 722 | transition: 500ms; 723 | position: relative; 724 | animation: fade 500ms; 725 | } 726 | 727 | .card a { 728 | text-decoration: none; 729 | color: black; 730 | transition: 500ms; 731 | } 732 | 733 | .card a:hover { 734 | color: rgb(0, 153, 255); 735 | } 736 | 737 | .card .thumb { 738 | -webkit-transition: 500ms; 739 | -o-transition: 500ms; 740 | transition: 500ms; 741 | width: 150px; 742 | border-radius: 5px; 743 | cursor: pointer; 744 | } 745 | 746 | 747 | .card .info { 748 | display: -webkit-box; 749 | display: -ms-flexbox; 750 | display: flex; 751 | -webkit-box-orient: vertical; 752 | -webkit-box-direction: normal; 753 | -ms-flex-direction: column; 754 | flex-direction: column; 755 | -webkit-box-align: center; 756 | -ms-flex-align: center; 757 | align-items: center; 758 | text-align: center; 759 | margin: 20px auto; 760 | gap: 15px; 761 | } 762 | 763 | .card .info .judul { 764 | font-size: 17px; 765 | font-weight: 550; 766 | display: -webkit-box; 767 | -webkit-line-clamp: 2; 768 | -webkit-box-orient: vertical; 769 | -o-text-overflow: ellipsis; 770 | text-overflow: ellipsis; 771 | overflow: hidden; 772 | } 773 | 774 | .card .info .date { 775 | font-size: 14px; 776 | } 777 | 778 | 779 | /* END MAIN*/ 780 | 781 | /* LEFT MENU */ 782 | 783 | .left-sidebar { 784 | order: 2; 785 | flex: 0; 786 | flex-grow: 0.7; 787 | grid-area: left; 788 | display: flex; 789 | flex-direction: column; 790 | gap: 40px; 791 | /* -webkit-box-shadow: #333333 0px 3px 8px; 792 | box-shadow: #333333 0px 3px 8px; */ 793 | /* background-color: #16151D; */ 794 | /* border: 2px solid #333333; */ 795 | } 796 | 797 | .left-list { 798 | display: flex; 799 | flex-direction: column; 800 | gap: 20px; 801 | /* background-color: #333333; */ 802 | background-color: white; 803 | box-shadow: 1px 3px 8px rgb(49 49 49 / 10%); 804 | border-radius: 3px; 805 | } 806 | 807 | .inner-list { 808 | display: flex; 809 | flex-direction: column; 810 | gap: 15px; 811 | } 812 | 813 | .inner-list a { 814 | font-size: 17px; 815 | color: white; 816 | text-decoration: none; 817 | font-weight: bold; 818 | } 819 | 820 | 821 | .genre-list { 822 | display: flex; 823 | flex-wrap: wrap; 824 | gap: 5px; 825 | justify-content: space-around; 826 | font-size: inherit; 827 | } 828 | 829 | .genre-list li { 830 | width: 40%; 831 | padding: 5px 10px; 832 | background-color: #333333; 833 | list-style: none; 834 | border-radius: 3px; 835 | margin: auto; 836 | padding-left: 2px; 837 | line-height: 25px; 838 | transition: 200ms; 839 | text-align: center; 840 | } 841 | 842 | .genre-button { 843 | text-align: center; 844 | color: white; 845 | font-weight: bold; 846 | font-size: 12px; 847 | text-decoration: none; 848 | transition: 250ms; 849 | } 850 | 851 | .genre-list li:hover { 852 | background-color: rgba(0, 0, 0, 0.644); 853 | color: black; 854 | } 855 | 856 | .sidebar-content { 857 | display: flex; 858 | flex-direction: column; 859 | gap: 10px; 860 | margin: 5px 10px; 861 | } 862 | 863 | .sidebar-card { 864 | display: flex; 865 | align-items: center; 866 | gap: 15px; 867 | color: black; 868 | padding: 5px; 869 | border-bottom: 1px solid #ececec; 870 | transition: 500ms; 871 | animation: fade 500ms; 872 | } 873 | 874 | .sidebar-card .thumbs { 875 | width: 50px; 876 | } 877 | 878 | .trending-option ul { 879 | display: flex; 880 | justify-content: center; 881 | gap: 20px; 882 | } 883 | 884 | .trending-option { 885 | background-color: #333333; 886 | padding: 10px; 887 | border-radius: 5px; 888 | } 889 | 890 | .trending-option ul a { 891 | color: white; 892 | text-decoration: none; 893 | font-weight: bold; 894 | font-size: 13px; 895 | } 896 | 897 | .active { 898 | background-color: var(--green); 899 | padding: 5px 15px; 900 | border-radius: 2px; 901 | transition: 100ms; 902 | } 903 | 904 | .genres { 905 | font-size: 12px; 906 | display: flex; 907 | gap: 5px; 908 | flex-wrap: wrap; 909 | color: rgba(49, 44, 44, 0.712); 910 | } 911 | 912 | .card-genre { 913 | font-size: 12px; 914 | color: black; 915 | text-decoration: none; 916 | } 917 | 918 | .index span { 919 | font-size: 14px; 920 | padding: 5px 5px; 921 | border: 1px solid rgba(0, 0, 0, 0.479); 922 | border-radius: 3px; 923 | } 924 | 925 | .sidebar-info { 926 | display: flex; 927 | flex-direction: column; 928 | gap: 8px; 929 | } 930 | 931 | .sidebar-info .judul a { 932 | font-size: 16px; 933 | font-weight: bold; 934 | text-decoration: none; 935 | color: black; 936 | } 937 | 938 | /* END LEFT MENU */ 939 | 940 | /* VIDEO */ 941 | 942 | .video-container .title { 943 | font-size: 30px; 944 | font-weight: bold; 945 | padding: 20px; 946 | color: white; 947 | } 948 | 949 | .video-container { 950 | margin: 25px 0; 951 | position: relative; 952 | padding: 30px 0 30px 0; 953 | -webkit-transition: 1500ms; 954 | -o-transition: 1500ms; 955 | transition: 1500ms; 956 | width: 100%; 957 | background: rgba(3, 37, 65); 958 | overflow: hidden; 959 | color: white; 960 | background: linear-gradient(to right, rgba(var(--tmdbDarkBlue), 0.75) 0%, rgba(var(--tmdbDarkBlue), 0.75) 100%); 961 | } 962 | 963 | .video-container-inner { 964 | display: -webkit-box; 965 | display: -ms-flexbox; 966 | display: flex; 967 | overflow: hidden; 968 | gap: 15px; 969 | -webkit-transition: 500ms; 970 | -o-transition: 500ms; 971 | transition: 500ms; 972 | } 973 | 974 | .container-videos { 975 | -webkit-transition: 500ms; 976 | -o-transition: 500ms; 977 | transition: 500ms; 978 | display: -webkit-box; 979 | display: -ms-flexbox; 980 | display: flex; 981 | -webkit-box-orient: vertical; 982 | -webkit-box-direction: normal; 983 | -ms-flex-direction: column; 984 | flex-direction: column; 985 | -webkit-box-pack: center; 986 | -ms-flex-pack: center; 987 | justify-content: center; 988 | box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; 989 | background-color: white 990 | } 991 | 992 | .container-videos .info { 993 | display: -webkit-box; 994 | display: -ms-flexbox; 995 | display: flex; 996 | -webkit-box-orient: vertical; 997 | -webkit-box-direction: normal; 998 | -ms-flex-direction: column; 999 | flex-direction: column; 1000 | gap: 10px; 1001 | -webkit-filter: brightness(2); 1002 | filter: brightness(2); 1003 | } 1004 | 1005 | .container-videos .info .trailer { 1006 | color: black; 1007 | font-size: 17px; 1008 | font-weight: bold; 1009 | text-align: center; 1010 | } 1011 | 1012 | .container-videos .info .trailer-judul { 1013 | color: black; 1014 | font-size: 16px; 1015 | text-align: center; 1016 | } 1017 | 1018 | .image-wrappers{ 1019 | animation: fade 500ms; 1020 | } 1021 | 1022 | .image-wrappers img{ 1023 | height: 281px; 1024 | object-fit: contain; 1025 | } 1026 | 1027 | .view-all a{ 1028 | color:#0b75ff; 1029 | } 1030 | 1031 | .container-videos .play { 1032 | text-decoration: none; 1033 | position: absolute; 1034 | top: 35%; 1035 | left: 44%; 1036 | width: 50px; 1037 | color: white; 1038 | z-index: 5; 1039 | } 1040 | 1041 | .container-videos .play .play-img { 1042 | width: 50px; 1043 | } 1044 | 1045 | .container-videos .image-wrapper { 1046 | width: 300px; 1047 | height: 250px; 1048 | position: relative; 1049 | -webkit-box-sizing: border-box; 1050 | box-sizing: border-box; 1051 | overflow: hidden; 1052 | -webkit-transition: 500ms; 1053 | -o-transition: 500ms; 1054 | transition: 500ms; 1055 | } 1056 | 1057 | .image-wrapper:hover img { 1058 | -webkit-transform: scale(1.1); 1059 | -ms-transform: scale(1.1); 1060 | transform: scale(1.1); 1061 | -webkit-transition: 500ms; 1062 | -o-transition: 500ms; 1063 | transition: 500ms; 1064 | } 1065 | 1066 | .container-videos .image-wrapper img { 1067 | width: 300px; 1068 | } 1069 | 1070 | /* Then style the iframe to fit in the container div with full height and width */ 1071 | 1072 | /* END VIDEO */ 1073 | 1074 | /* MODAL */ 1075 | 1076 | .modal-video.modals { 1077 | -webkit-transition: 500ms; 1078 | -o-transition: 500ms; 1079 | transition: 500ms; 1080 | position: fixed; 1081 | top: 0; 1082 | left: 0; 1083 | bottom: 0; 1084 | right: 0; 1085 | background-color: rgba(0, 0, 0, 0.521); 1086 | z-index: 5555; 1087 | width: 100%; 1088 | height: 100%; 1089 | -webkit-transition: 250ms; 1090 | -o-transition: 250ms; 1091 | transition: 250ms; 1092 | opacity: 1; 1093 | height: 100%; 1094 | } 1095 | 1096 | .box-video { 1097 | width: 900px; 1098 | height: 600px; 1099 | margin: 35px auto; 1100 | display: -webkit-box; 1101 | display: -ms-flexbox; 1102 | display: flex; 1103 | } 1104 | 1105 | .show { 1106 | display: none; 1107 | } 1108 | 1109 | .containers { 1110 | position: relative; 1111 | overflow: hidden; 1112 | width: 100%; 1113 | padding-top: 56.25%; 1114 | /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */ 1115 | } 1116 | 1117 | .responsive-iframe { 1118 | position: absolute; 1119 | top: 0; 1120 | left: 0; 1121 | bottom: 0; 1122 | right: 0; 1123 | width: 100%; 1124 | height: 100%; 1125 | } 1126 | 1127 | /* END MODAL */ 1128 | 1129 | 1130 | /* FOOTER */ 1131 | .footers { 1132 | -ms-grid-row: 3; 1133 | -ms-grid-column: 1; 1134 | -ms-grid-column-span: 3; 1135 | /* width: 100%; */ 1136 | grid-area: butt; 1137 | background-color: #031d33; 1138 | padding: 30px; 1139 | color: white; 1140 | } 1141 | 1142 | .footer-info { 1143 | text-align: center; 1144 | display: -webkit-box; 1145 | display: -ms-flexbox; 1146 | display: flex; 1147 | -webkit-box-orient: vertical; 1148 | -webkit-box-direction: normal; 1149 | gap: 25px; 1150 | font-size: 17px; 1151 | font-weight: bold; 1152 | -webkit-box-align: center; 1153 | -ms-flex-align: center; 1154 | justify-content: center; 1155 | align-items: center; 1156 | } 1157 | 1158 | .footer-info img { 1159 | width: 250px; 1160 | } 1161 | 1162 | .footer-info .git { 1163 | width: 70px; 1164 | } 1165 | /* end footer */ 1166 | 1167 | .modals { 1168 | position: fixed; 1169 | top: 0; 1170 | left: 0; 1171 | bottom: 0; 1172 | right: 0; 1173 | z-index: 100; 1174 | background-color: rgba(0, 0, 0, 0.473); 1175 | animation: fade 500ms; 1176 | transition: 250ms; 1177 | } 1178 | 1179 | @keyframes fade { 1180 | 0% { 1181 | opacity: 0; 1182 | } 1183 | 1184 | 100% { 1185 | opacity: 1; 1186 | } 1187 | } 1188 | 1189 | .image-wrap { 1190 | margin: 70px 50px; 1191 | display: flex; 1192 | justify-content: center; 1193 | position: relative; 1194 | } 1195 | 1196 | .image-wrap img { 1197 | width: 700px; 1198 | height: 500px; 1199 | object-fit: contain; 1200 | } 1201 | 1202 | /* LOADING */ 1203 | 1204 | .loader-wrapper .hidden { 1205 | display: none; 1206 | } 1207 | 1208 | .loader-wrapper { 1209 | width: 100%; 1210 | height: 100%; 1211 | position: fixed; 1212 | top: 0; 1213 | left: 0; 1214 | background-color: #242f3f; 1215 | display: -webkit-box; 1216 | display: -ms-flexbox; 1217 | display: flex; 1218 | -webkit-box-pack: center; 1219 | -ms-flex-pack: center; 1220 | justify-content: center; 1221 | -webkit-box-align: center; 1222 | -ms-flex-align: center; 1223 | align-items: center; 1224 | z-index: 10; 1225 | } 1226 | 1227 | .loader { 1228 | display: inline-block; 1229 | width: 30px; 1230 | height: 30px; 1231 | position: relative; 1232 | border: 4px solid #Fff; 1233 | -webkit-animation: loader 2s infinite ease; 1234 | animation: loader 2s infinite ease; 1235 | } 1236 | 1237 | .loader-inner { 1238 | vertical-align: top; 1239 | display: inline-block; 1240 | width: 100%; 1241 | background-color: #fff; 1242 | -webkit-animation: loader-inner 2s infinite ease-in; 1243 | animation: loader-inner 2s infinite ease-in; 1244 | } 1245 | 1246 | @-webkit-keyframes loader { 1247 | 0% { 1248 | -webkit-transform: rotate(0deg); 1249 | transform: rotate(0deg); 1250 | } 1251 | 1252 | 25% { 1253 | -webkit-transform: rotate(180deg); 1254 | transform: rotate(180deg); 1255 | } 1256 | 1257 | 50% { 1258 | -webkit-transform: rotate(180deg); 1259 | transform: rotate(180deg); 1260 | } 1261 | 1262 | 75% { 1263 | -webkit-transform: rotate(360deg); 1264 | transform: rotate(360deg); 1265 | } 1266 | 1267 | 100% { 1268 | -webkit-transform: rotate(360deg); 1269 | transform: rotate(360deg); 1270 | } 1271 | } 1272 | 1273 | @keyframes loader { 1274 | 0% { 1275 | -webkit-transform: rotate(0deg); 1276 | transform: rotate(0deg); 1277 | } 1278 | 1279 | 25% { 1280 | -webkit-transform: rotate(180deg); 1281 | transform: rotate(180deg); 1282 | } 1283 | 1284 | 50% { 1285 | -webkit-transform: rotate(180deg); 1286 | transform: rotate(180deg); 1287 | } 1288 | 1289 | 75% { 1290 | -webkit-transform: rotate(360deg); 1291 | transform: rotate(360deg); 1292 | } 1293 | 1294 | 100% { 1295 | -webkit-transform: rotate(360deg); 1296 | transform: rotate(360deg); 1297 | } 1298 | } 1299 | 1300 | @-webkit-keyframes loader-inner { 1301 | 0% { 1302 | height: 0%; 1303 | } 1304 | 1305 | 25% { 1306 | height: 0%; 1307 | } 1308 | 1309 | 50% { 1310 | height: 100%; 1311 | } 1312 | 1313 | 75% { 1314 | height: 100%; 1315 | } 1316 | 1317 | 100% { 1318 | height: 0%; 1319 | } 1320 | } 1321 | 1322 | @keyframes loader-inner { 1323 | 0% { 1324 | height: 0%; 1325 | } 1326 | 1327 | 25% { 1328 | height: 0%; 1329 | } 1330 | 1331 | 50% { 1332 | height: 100%; 1333 | } 1334 | 1335 | 75% { 1336 | height: 100%; 1337 | } 1338 | 1339 | 100% { 1340 | height: 0%; 1341 | } 1342 | } 1343 | 1344 | 1345 | 1346 | .lds-facebook { 1347 | display: inline-block; 1348 | position: relative; 1349 | width: 80px; 1350 | height: 80px; 1351 | left: 30%; 1352 | margin: 100px 0; 1353 | } 1354 | 1355 | .lds-facebook div { 1356 | display: inline-block; 1357 | position: absolute; 1358 | left: 8px; 1359 | width: 16px; 1360 | background: black; 1361 | animation: lds-facebook 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite; 1362 | } 1363 | 1364 | .lds-facebook div:nth-child(1) { 1365 | left: 8px; 1366 | animation-delay: -0.24s; 1367 | } 1368 | 1369 | .lds-facebook div:nth-child(2) { 1370 | left: 32px; 1371 | animation-delay: -0.12s; 1372 | } 1373 | 1374 | .lds-facebook div:nth-child(3) { 1375 | left: 56px; 1376 | animation-delay: 0; 1377 | } 1378 | 1379 | @keyframes lds-facebook { 1380 | 0% { 1381 | top: 8px; 1382 | height: 64px; 1383 | } 1384 | 1385 | 50%, 1386 | 100% { 1387 | top: 24px; 1388 | height: 32px; 1389 | } 1390 | } 1391 | 1392 | /* END LOADING */ 1393 | 1394 | 1395 | 1396 | 1397 | /* RESPONSIVE */ 1398 | 1399 | @media (max-width:1200px) { 1400 | .App { 1401 | margin: 20px 10px; 1402 | } 1403 | 1404 | .reviews-container{ 1405 | margin: 100px 20px; 1406 | } 1407 | 1408 | .reviews-inner{ 1409 | margin: 0 10px; 1410 | } 1411 | } 1412 | 1413 | @media (max-width:1050px) { 1414 | .App { 1415 | margin: 75px 10px; 1416 | } 1417 | 1418 | .banner .slides { 1419 | width: 670px; 1420 | } 1421 | } 1422 | 1423 | @media (max-width:950px) { 1424 | .App { 1425 | margin: 70px 0; 1426 | flex-direction: column; 1427 | } 1428 | 1429 | .banner .slides { 1430 | width: 950px; 1431 | } 1432 | 1433 | .content { 1434 | margin: 0 10px; 1435 | } 1436 | 1437 | .box-video { 1438 | width: 850px; 1439 | height: 450px; 1440 | margin: 85px auto; 1441 | display: -webkit-box; 1442 | display: -ms-flexbox; 1443 | display: flex; 1444 | } 1445 | 1446 | } 1447 | 1448 | @media (max-width:900px) { 1449 | .banner .slides { 1450 | width:850px; 1451 | } 1452 | .slide-detail-inner { 1453 | margin:50px 50px; 1454 | } 1455 | 1456 | .slide-judul .jdl a { 1457 | text-overflow: ellipsis; 1458 | } 1459 | 1460 | .reviews-container{ 1461 | margin: 100px 10px; 1462 | } 1463 | 1464 | .reviews-inner{ 1465 | margin: 0 10px; 1466 | } 1467 | 1468 | .review-card .profil { 1469 | flex-direction: column; 1470 | padding: 25px; 1471 | } 1472 | 1473 | .review-card .paraf{ 1474 | font-size: 14px; 1475 | } 1476 | } 1477 | 1478 | @media (max-width:850px) { 1479 | .banner .slides { 1480 | width:805px; 1481 | } 1482 | .slide-detail-inner { 1483 | margin:50px 50px; 1484 | } 1485 | .slide-judul-inner{ 1486 | gap: 20px; 1487 | align-items: flex-start; 1488 | } 1489 | .slide-judul .jdl a { 1490 | text-overflow: ellipsis; 1491 | } 1492 | 1493 | .review-card .profil { 1494 | flex-direction: column; 1495 | padding: 25px; 1496 | } 1497 | 1498 | .review-card .paraf{ 1499 | word-break: break-word; 1500 | overflow-wrap: break-word; 1501 | } 1502 | } 1503 | 1504 | 1505 | @media (max-width:800px) { 1506 | .tittle-inners { 1507 | gap: 120px; 1508 | } 1509 | 1510 | .tittle-inners a{ 1511 | font-size: 14px; 1512 | } 1513 | 1514 | 1515 | .banner .slides { 1516 | width:750px; 1517 | } 1518 | .slide-detail-inner { 1519 | margin:50px 50px; 1520 | } 1521 | 1522 | .slide-judul .jdl a { 1523 | text-overflow: ellipsis; 1524 | } 1525 | 1526 | .slide-judul .jdl a { 1527 | text-overflow: ellipsis; 1528 | } 1529 | 1530 | .slide-judul-inner{ 1531 | gap: 20px; 1532 | align-items: flex-start; 1533 | } 1534 | 1535 | .slides .rights img { 1536 | border-radius: 5px; 1537 | width: 170px; 1538 | height: 280px; 1539 | object-fit: cover; 1540 | } 1541 | 1542 | .slide-detail-inner .overview { 1543 | display: flex; 1544 | flex-direction: column; 1545 | gap: 10px; 1546 | align-items: flex-start; 1547 | } 1548 | 1549 | .slide-detail-info { 1550 | display: flex; 1551 | flex-direction: column; 1552 | gap: 25px; 1553 | margin: 0 50px 0 15px; 1554 | } 1555 | .slide-detail-inner .tagline { 1556 | line-height: 19px; 1557 | font-size: 13px; 1558 | } 1559 | 1560 | .box-video { 1561 | width: 740px; 1562 | height: 450px; 1563 | margin: 85px auto; 1564 | display: -webkit-box; 1565 | display: -ms-flexbox; 1566 | display: flex; 1567 | } 1568 | 1569 | } 1570 | 1571 | @media (max-width:750px) { 1572 | .banner .slides { 1573 | width:700px; 1574 | } 1575 | .slide-detail-inner { 1576 | margin:50px 50px; 1577 | } 1578 | .slide-judul-inner{ 1579 | gap: 20px; 1580 | align-items: flex-start; 1581 | } 1582 | 1583 | .slide-judul .jdl a { 1584 | text-overflow: ellipsis; 1585 | } 1586 | 1587 | .box-video { 1588 | width: 650px; 1589 | height: 450px; 1590 | margin: 85px auto; 1591 | } 1592 | 1593 | } 1594 | 1595 | 1596 | @media (max-width:675px) { 1597 | .banner .slides { 1598 | width:635px; 1599 | } 1600 | .slide-detail-inner { 1601 | margin:50px 50px; 1602 | } 1603 | .slide-judul-inner{ 1604 | gap: 20px; 1605 | align-items: flex-start; 1606 | } 1607 | 1608 | .slide-judul .jdl a { 1609 | text-overflow: ellipsis; 1610 | } 1611 | 1612 | .box-video { 1613 | width: 600px; 1614 | height: 450px; 1615 | margin: 85px auto; 1616 | } 1617 | 1618 | 1619 | } 1620 | 1621 | @media (max-width:600px) { 1622 | .banner .slides { 1623 | width: 553px; 1624 | } 1625 | 1626 | .slide-detail-inner { 1627 | margin: 75px 35px 45px 20px; 1628 | gap: 60px; 1629 | } 1630 | 1631 | .slide-detail-info { 1632 | display: flex; 1633 | flex-direction: column; 1634 | gap: 5px; 1635 | } 1636 | .slides .rights img { 1637 | border-radius: 5px; 1638 | width: 150px; 1639 | height: 200px; 1640 | object-fit: cover; 1641 | } 1642 | 1643 | .images img { 1644 | width: 55px; 1645 | order: -1; 1646 | } 1647 | 1648 | .images .genre a{ 1649 | font-size: 13px; 1650 | } 1651 | 1652 | .images .genre{ 1653 | display: flex; 1654 | flex-wrap: wrap; 1655 | } 1656 | .stars { 1657 | position: relative; 1658 | } 1659 | 1660 | .images .slide-rate { 1661 | position: absolute; 1662 | top: 23px; 1663 | left: 18px; 1664 | color: black; 1665 | font-weight: bold; 1666 | font-size: 14px; 1667 | } 1668 | 1669 | 1670 | .slide-detail-inner .overview { 1671 | gap: 20px; 1672 | } 1673 | 1674 | .dot-container{ 1675 | bottom: 55px; 1676 | left: 10%; 1677 | gap: 10px; 1678 | } 1679 | 1680 | .box-video { 1681 | width: 550px; 1682 | height: 400px; 1683 | margin: 85px auto; 1684 | } 1685 | 1686 | 1687 | } 1688 | 1689 | @media (max-width:500px) { 1690 | 1691 | .box-video { 1692 | width: 450px; 1693 | height: 350px; 1694 | margin: 85px auto; 1695 | } 1696 | 1697 | .banner .slides { 1698 | width: 460px; 1699 | } 1700 | 1701 | .slide-detail-info { 1702 | display: flex; 1703 | flex-direction: column; 1704 | gap: 5px; 1705 | } 1706 | .slides .rights img { 1707 | border-radius: 5px; 1708 | width: 120px; 1709 | height: 200px; 1710 | object-fit: cover; 1711 | } 1712 | 1713 | .stars img { 1714 | width: 55px; 1715 | order: -1; 1716 | } 1717 | 1718 | .slide-judul-inner .genre a{ 1719 | font-size: 14px; 1720 | } 1721 | 1722 | .images .genre{ 1723 | display: flex; 1724 | flex-wrap: wrap; 1725 | } 1726 | .stars { 1727 | position: relative; 1728 | } 1729 | 1730 | .images .slide-rate { 1731 | position: absolute; 1732 | top: 23px; 1733 | left: 18px; 1734 | color: black; 1735 | font-weight: bold; 1736 | font-size: 14px; 1737 | } 1738 | 1739 | .slide-judul .judul-inner{ 1740 | align-items: center; 1741 | } 1742 | .slide-judul .jdl a { 1743 | font-size: 15px; 1744 | } 1745 | 1746 | .slide-detail-inner .overview { 1747 | gap: 25px; 1748 | } 1749 | .slide-detail-inner .overview .tagline{ 1750 | display: -webkit-box; 1751 | -webkit-line-clamp: 2; 1752 | -webkit-box-orient: vertical; 1753 | -o-text-overflow: ellipsis; 1754 | text-overflow: ellipsis; 1755 | overflow: hidden; 1756 | } 1757 | 1758 | .detil{ 1759 | margin-top: 20px; 1760 | } 1761 | } 1762 | 1763 | 1764 | 1765 | /* MOBILE */ 1766 | 1767 | @media (max-width:360px) { 1768 | .banner .slides { 1769 | width: 283px; 1770 | } 1771 | 1772 | 1773 | .slide-detail-info { 1774 | display: flex; 1775 | flex-direction: column; 1776 | gap: 5px; 1777 | } 1778 | 1779 | 1780 | .slide-detail-inner { 1781 | margin:30px 20px; 1782 | } 1783 | .stars img { 1784 | width: 55px; 1785 | order: -1; 1786 | } 1787 | 1788 | .slide-judul{ 1789 | gap: 5px; 1790 | } 1791 | 1792 | .slide-judul-inner .genre a{ 1793 | font-size: 14px; 1794 | } 1795 | 1796 | .stars img { 1797 | width: 35px; 1798 | order: -1; 1799 | } 1800 | 1801 | .slide-judul .jdl a { 1802 | font-size: 15px; 1803 | } 1804 | .slides .rights img { 1805 | border-radius: 5px; 1806 | width: 80px; 1807 | height: 120px; 1808 | object-fit: contain; 1809 | } 1810 | 1811 | 1812 | .stars .slide-rate { 1813 | position: absolute; 1814 | top: 23px; 1815 | left: 18px; 1816 | color: black; 1817 | font-weight: bold; 1818 | font-size: 14px; 1819 | } 1820 | 1821 | .slide-detail-info .overview .tagline{ 1822 | word-wrap: break-word; 1823 | overflow-wrap: break-word; 1824 | } 1825 | .judul-inner .date{ 1826 | font-size: 12px; 1827 | } 1828 | 1829 | .dot-container{ 1830 | position: absolute; 1831 | bottom: 25px; 1832 | left: 5%; 1833 | gap: 5px; 1834 | z-index: 10; 1835 | } 1836 | 1837 | .dot-container .dot{ 1838 | padding: 4px; 1839 | background-color:rgba(255, 255, 255, 0.363); 1840 | border-radius: 50%; 1841 | cursor: pointer; 1842 | } 1843 | 1844 | .tittle-inner a { 1845 | font-size: 12px; 1846 | padding: 10px 18px; 1847 | } 1848 | 1849 | .box-video { 1850 | width: 310px; 1851 | height: 300px; 1852 | margin: 85px auto; 1853 | } 1854 | 1855 | 1856 | .footer-info { 1857 | gap: 10px; 1858 | } 1859 | 1860 | .footer-info img { 1861 | width: 150px; 1862 | } 1863 | 1864 | .footer-info .git { 1865 | width: 50px; 1866 | } 1867 | 1868 | } -------------------------------------------------------------------------------- /src/App.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import Header from './component/header' 3 | import './App.css'; 4 | import { Navigate } from 'react-router-dom'; 5 | import { BrowserRouter as Router, Switch, Route ,Routes} from 'react-router-dom'; 6 | import Home from './component/home' 7 | import NotFound from './component/404not' 8 | import TvDetail from './component/tv-detail'; 9 | import MovieDetail from './component/moviedetail'; 10 | import SearchPage from './component/search-page' 11 | import Footer from './component/footer'; 12 | import PeopleDetail from './component/people-detail' 13 | import PopularPeople from './component/popular-people'; 14 | import GenrePage from './component/genre-page'; 15 | import MoviePopuler from './component/movie-all'; 16 | import AnimePopuler from './component/anime' 17 | import ReviewPage from './component/review-page'; 18 | import PosterPage from './component/poster-page'; 19 | import BackdropPage from './component/backdrop-page'; 20 | import TvPopuler from './component/tv-all'; 21 | 22 | class App extends React.Component { 23 | 24 | constructor(){ 25 | super() 26 | this.state = { 27 | search:'' 28 | } 29 | } 30 | 31 | 32 | render(){ 33 | 34 | return ( 35 | 36 |
37 | 38 | } exact/> 39 | } /> 40 | } /> 41 | } /> 42 | } /> 43 | } /> 44 | } /> 45 | } /> 46 | } /> 47 | } /> 48 | } /> 49 | } /> 50 | } /> 51 | } /> 52 | 53 |