The idea of making this web app was creating fancy looking custom styled React App using Horror Films Backend API for learning purpose.
Live: https://horror-films.airm.ct8.pl/
Github: https://github.com/airfortech/horror-films-backend
@tippyjs/react https://www.npmjs.com/package/@tippyjs/react
@vime/react https://www.npmjs.com/package/@vime/react
gsap https://www.npmjs.com/package/gsap
react-headless-pagination https://www.npmjs.com/package/react-headless-pagination
react-image-lightbox https://www.npmjs.com/package/react-image-lightbox
swiper https://www.npmjs.com/package/swiper
src
├───assets
│ ├───images
│ └───music
├───components
│ ├───FilmDetails
│ │ ├───Gallery
│ │ │ ├───Modal
│ │ │ └───Picture
│ │ ├───Header
│ │ ├───People
│ │ ├───PersonInfo
│ │ └───VideoPlayer
│ ├───FilmsList
│ │ ├───Pagination
│ │ └───Slider
│ │ └───Card
│ ├───Footer
│ ├───Header
│ │ ├───LanguageSwitcher
│ │ └───Search
│ │ ├───Switcher
│ │ └───SwitcherIcon
│ ├───HOCs
│ │ └───FadeOutEdges
│ ├───MusicPlayer
│ └───Tooltip
├───context
│ └───LanguageContext
├───effects
│ ├───bats
│ └───Fog
├───languages
├───tools
└───views
├───FilmsView
├───FilmView
├───NoResultsView
├───NotFoundView
└───ServerErrorView
npm install
/src/variables.js
file. Important variables:
API Url:
export const apiDomain = "http://localhost:3001/api";
Default search params:
export const getFilmsUrlParams =
"title=&page=1&sort_type=descending&sort_by=release_date";
Number of items you want to get:
export const getFilmUrlParams = {
backdrops: 20,
posters: 6,
cast: 14,
};
Play music in background at start (true
not supported in some browsers)
export const musicPlayerDefaultState = true;
Development mode:
npm start
Build Production app:
npm run build