first commit
This commit is contained in:
27
src/components/Footer/Footer.js
Normal file
27
src/components/Footer/Footer.js
Normal file
@@ -0,0 +1,27 @@
|
||||
import React from 'react';
|
||||
|
||||
const footer = () => (
|
||||
|
||||
<footer className="footer">
|
||||
<div className="footer__heading">icons</div>
|
||||
<div className="footer__container">
|
||||
<div className="footer__container--description">desc 1</div>
|
||||
<div className="footer__container--description">desc 2</div>
|
||||
<div className="footer__container--description">desc 3</div>
|
||||
<div className="footer__container--description">desc 4</div>
|
||||
<div className="footer__container--description">desc 5</div>
|
||||
<div className="footer__container--description">desc 6</div>
|
||||
<div className="footer__container--description">desc 7</div>
|
||||
<div className="footer__container--description">desc 8</div>
|
||||
<div className="footer__container--description">desc 9</div>
|
||||
<div className="footer__container--description">desc 10</div>
|
||||
<div className="footer__container--description">desc 11</div>
|
||||
<div className="footer__container--description">desc 12</div>
|
||||
<div className="footer__container--description">desc 13</div>
|
||||
</div>
|
||||
<div className="footer__serviceCode">service code</div>
|
||||
<div className="footer__copyright">copyright</div>
|
||||
</footer>
|
||||
);
|
||||
|
||||
export default footer;
|
||||
9
src/components/Header/Header.js
Normal file
9
src/components/Header/Header.js
Normal file
@@ -0,0 +1,9 @@
|
||||
import React from 'react';
|
||||
|
||||
const header = () => (
|
||||
<header className="header">
|
||||
Header
|
||||
</header>
|
||||
);
|
||||
|
||||
export default header;
|
||||
20
src/components/MovieRow/MovieRow.js
Normal file
20
src/components/MovieRow/MovieRow.js
Normal file
@@ -0,0 +1,20 @@
|
||||
import React from 'react';
|
||||
|
||||
const movieRow = (props) => (
|
||||
|
||||
<div className="movie">
|
||||
<div className="movie__column-poster">
|
||||
<img src={props.movie.posterSrc} alt="" className="movie__poster" />
|
||||
</div>
|
||||
|
||||
<div className={"movie__column-overview " + (props.val % 2 == 0 ? 'even' : 'odd')}>
|
||||
<h1 className="movie__column-overview-heading">{props.movie.title}</h1>
|
||||
<p className="movie__column-overview-text">{props.movie.overview}</p>
|
||||
<a className="movie__column-overview-btn"
|
||||
onClick={() => { window.location.href = "https://www.themoviedb.org/movie/" + props.movie.id; }}>
|
||||
view</a>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
export default movieRow;
|
||||
@@ -0,0 +1,11 @@
|
||||
import React from 'react';
|
||||
import { NavLink } from 'react-router-dom';
|
||||
|
||||
const navigationItem = (props) => (
|
||||
|
||||
<NavLink className="navigation__container-link" exact={props.exact}
|
||||
to={props.link}>{props.children}</NavLink>
|
||||
|
||||
)
|
||||
|
||||
export default navigationItem;
|
||||
24
src/components/NavigationItems/NavigationItems.js
Normal file
24
src/components/NavigationItems/NavigationItems.js
Normal file
@@ -0,0 +1,24 @@
|
||||
import React from 'react';
|
||||
import NavigationItem from './NavigationItem/NavigationItem';
|
||||
|
||||
|
||||
const navigationItems = props => (
|
||||
<ul className="navigation__container">
|
||||
<NavigationItem link="/" exact>Netflix</NavigationItem>
|
||||
<NavigationItem link="/">Home</NavigationItem>
|
||||
<NavigationItem link="/">TV Shows</NavigationItem>
|
||||
<NavigationItem link="/">Movies</NavigationItem>
|
||||
<NavigationItem link="/">Recently Added</NavigationItem>
|
||||
<NavigationItem link="/">My List</NavigationItem>
|
||||
|
||||
<div className="navigation__container--left">
|
||||
<input
|
||||
placeholder="Search movie..."
|
||||
type="text" />
|
||||
{/* <p>hello</p>
|
||||
<p>hello</p> */}
|
||||
</div>
|
||||
</ul>
|
||||
);
|
||||
|
||||
export default navigationItems;
|
||||
16
src/components/Search/Search.js
Normal file
16
src/components/Search/Search.js
Normal file
@@ -0,0 +1,16 @@
|
||||
import React from 'react';
|
||||
|
||||
const search = (props) => (
|
||||
<div className="search">
|
||||
|
||||
<input
|
||||
onChange={props.onSearch}
|
||||
type="text"
|
||||
placeholder="Search movie..."
|
||||
className="search__input"/>
|
||||
|
||||
</div>
|
||||
|
||||
);
|
||||
|
||||
export default search;
|
||||
62
src/containers/App.js
Normal file
62
src/containers/App.js
Normal file
@@ -0,0 +1,62 @@
|
||||
import React, { Component } from 'react';
|
||||
import axios from 'axios';
|
||||
|
||||
import Layout from './Layout/Layout';
|
||||
import MovieRow from '../components/MovieRow/MovieRow';
|
||||
|
||||
class App extends Component {
|
||||
|
||||
state = {
|
||||
// an array that will hold all of our movies component
|
||||
rows: []
|
||||
}
|
||||
|
||||
makeAipCall = (searchItem) => {
|
||||
const url = "https://api.themoviedb.org/3/search/movie?api_key=224ce27b38a3805ecf6f6c36eb3ba9d0&page=1&query=" + searchItem;
|
||||
axios.get(url)
|
||||
.then(res => {
|
||||
// extract the data from json object
|
||||
const movies = res.data.results;
|
||||
// Holds our movieComponent.
|
||||
let movieRows = [];
|
||||
let total = 0;
|
||||
movies.forEach((movie) => {
|
||||
// manually build our image url and set it on the movie object
|
||||
movie.posterSrc = "https://image.tmdb.org/t/p/w185" + movie.poster_path;
|
||||
total+= 1;
|
||||
// pass in the movie object to our MovieRow component and keep it in a variable called
|
||||
// movieComponent
|
||||
const movieComponent = <MovieRow
|
||||
val={total}
|
||||
key={movie.id}
|
||||
movie={movie}
|
||||
/>
|
||||
// push our movieComponent to our movieRows array;
|
||||
movieRows.push(movieComponent);
|
||||
})
|
||||
// update state
|
||||
this.setState({ rows: movieRows });
|
||||
}).catch(error => {
|
||||
console.log(error);
|
||||
});
|
||||
}
|
||||
|
||||
// get the user input and pass it to the makeAPICall function
|
||||
searchHandler = (event) => {
|
||||
const searchItem = event.target.value;
|
||||
this.makeAipCall(searchItem);
|
||||
}
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div>
|
||||
<Layout />
|
||||
{/* <Search onSearch={this.searchHandler}/>
|
||||
{this.state.rows} */}
|
||||
</div>
|
||||
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default App;
|
||||
35
src/containers/Layout/Layout.js
Normal file
35
src/containers/Layout/Layout.js
Normal file
@@ -0,0 +1,35 @@
|
||||
import React, { Component } from 'react';
|
||||
|
||||
import Navigation from '../Navigation/Navigation';
|
||||
import Header from '../../components/Header/Header';
|
||||
import MovieShowcase from '../MovieShowcase/MovieShowcase';
|
||||
import MovieOriginals from '../MovieOriginals/MovieOriginals';
|
||||
import Footer from '../../components/Footer/Footer';
|
||||
import { BrowserRouter } from "react-router-dom";
|
||||
|
||||
|
||||
// < Navigation />
|
||||
// <Header />
|
||||
// <MovieShowcase />
|
||||
// <MovieOriginals />
|
||||
// <Footer />
|
||||
class Layout extends Component {
|
||||
|
||||
|
||||
render() {
|
||||
|
||||
|
||||
return (
|
||||
<BrowserRouter>
|
||||
<div className="container">
|
||||
<Navigation />
|
||||
<Header />
|
||||
<MovieShowcase />
|
||||
<MovieOriginals />
|
||||
<Footer />
|
||||
</div>
|
||||
</BrowserRouter>)
|
||||
}
|
||||
}
|
||||
|
||||
export default Layout;
|
||||
22
src/containers/MovieOriginals/MovieOriginals.js
Normal file
22
src/containers/MovieOriginals/MovieOriginals.js
Normal file
@@ -0,0 +1,22 @@
|
||||
import React, { Component } from 'react';
|
||||
|
||||
class MovieOriginals extends Component {
|
||||
render() {
|
||||
return (
|
||||
<div className="movieOriginals">
|
||||
<h1>Netflix Originals</h1>
|
||||
<div className="movieOriginals__container">
|
||||
<div className="movieOriginals__container--movie">movie 1</div>
|
||||
<div className="movieOriginals__container--movie">movie 2</div>
|
||||
<div className="movieOriginals__container--movie">movie 3</div>
|
||||
<div className="movieOriginals__container--movie">movie 4</div>
|
||||
<div className="movieOriginals__container--movie">movie 5</div>
|
||||
<div className="movieOriginals__container--movie">movie 6</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default MovieOriginals;
|
||||
31
src/containers/MovieShowcase/MovieShowcase.js
Normal file
31
src/containers/MovieShowcase/MovieShowcase.js
Normal file
@@ -0,0 +1,31 @@
|
||||
import React, { Component } from "react";
|
||||
|
||||
class MovieShowcase extends Component {
|
||||
render() {
|
||||
return (
|
||||
<div className="movieShowcase">
|
||||
<h1 className="movieShowcase__heading">New Releases</h1>
|
||||
<div className="movieShowcase__container">
|
||||
<div className="movieShowcase__container--movie">movie 1</div>
|
||||
<div className="movieShowcase__container--movie">movie 2</div>
|
||||
<div className="movieShowcase__container--movie">movie 3</div>
|
||||
<div className="movieShowcase__container--movie">movie 4</div>
|
||||
<div className="movieShowcase__container--movie">movie 5</div>
|
||||
<div className="movieShowcase__container--movie">movie 6</div>
|
||||
</div>
|
||||
|
||||
<h1 className="movieShowcase__heading">Trending Now</h1>
|
||||
<div className="movieShowcase__container">
|
||||
<div className="movieShowcase__container--movie">movie 1</div>
|
||||
<div className="movieShowcase__container--movie">movie 2</div>
|
||||
<div className="movieShowcase__container--movie">movie 3</div>
|
||||
<div className="movieShowcase__container--movie">movie 4</div>
|
||||
<div className="movieShowcase__container--movie">movie 5</div>
|
||||
<div className="movieShowcase__container--movie">movie 6</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default MovieShowcase;
|
||||
38
src/containers/Navigation/Navigation.js
Normal file
38
src/containers/Navigation/Navigation.js
Normal file
@@ -0,0 +1,38 @@
|
||||
import React, { Component } from 'react';
|
||||
|
||||
import NavigationItems from '../../components/NavigationItems/NavigationItems';
|
||||
|
||||
|
||||
class navigation extends Component {
|
||||
state = {
|
||||
scrolling: false
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
window.addEventListener('scroll', this.handleScroll);
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
window.removeEventListener('scroll', this.handleScroll);
|
||||
}
|
||||
|
||||
handleScroll = (event) => {
|
||||
if (window.scrollY === 0 ) {
|
||||
this.setState({ scrolling: false });
|
||||
}
|
||||
else if (window.scrollY > 50) {
|
||||
this.setState({ scrolling: true });
|
||||
}
|
||||
}
|
||||
|
||||
render () {
|
||||
|
||||
return (
|
||||
<nav className={"navigation " + (this.state.scrolling ? "black" : "")} >
|
||||
<NavigationItems />
|
||||
</nav>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default navigation;
|
||||
15
src/index.html
Normal file
15
src/index.html
Normal file
@@ -0,0 +1,15 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>Netflix Clone</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
15
src/index.js
Normal file
15
src/index.js
Normal file
@@ -0,0 +1,15 @@
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import { BrowserRouter } from "react-router-dom";
|
||||
|
||||
import App from './containers/App';
|
||||
import './static/sass/style.scss';
|
||||
|
||||
|
||||
const app = (
|
||||
<BrowserRouter>
|
||||
<App />
|
||||
</BrowserRouter>
|
||||
);
|
||||
|
||||
ReactDOM.render(app, document.getElementById('app'));
|
||||
BIN
src/static/images/header-bg.jpg
Normal file
BIN
src/static/images/header-bg.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.9 MiB |
12
src/static/images/search-icon.svg
Normal file
12
src/static/images/search-icon.svg
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="251px" height="251px" viewBox="0 0 251 251" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 49.3 (51167) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>Slice 1</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="musica-searcher" fill="#FFFFFF" fill-rule="nonzero">
|
||||
<path d="M244.186,214.604 L189.807,160.226 C189.518,159.937 189.179,159.735 188.877,159.466 C199.577,143.235 205.822,123.806 205.822,102.912 C205.822,46.075 159.747,0 102.911,0 C46.075,0 0,46.075 0,102.911 C0,159.746 46.074,205.822 102.91,205.822 C123.805,205.822 143.233,199.577 159.464,188.877 C159.733,189.178 159.934,189.517 160.223,189.806 L214.603,244.186 C222.772,252.354 236.016,252.354 244.186,244.186 C252.354,236.017 252.354,222.773 244.186,214.604 Z M102.911,170.146 C65.777,170.146 35.675,140.044 35.675,102.911 C35.675,65.777 65.778,35.675 102.911,35.675 C140.043,35.675 170.146,65.778 170.146,102.911 C170.146,140.044 140.043,170.146 102.911,170.146 Z" id="Shape"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
0
src/static/sass/abstracts/_functions.scss
Normal file
0
src/static/sass/abstracts/_functions.scss
Normal file
0
src/static/sass/abstracts/_mixins.scss
Normal file
0
src/static/sass/abstracts/_mixins.scss
Normal file
14
src/static/sass/abstracts/_variables.scss
Normal file
14
src/static/sass/abstracts/_variables.scss
Normal file
@@ -0,0 +1,14 @@
|
||||
$color-dark: #171818;
|
||||
$color-background: #141414;
|
||||
$color-white: rgb(221, 218, 218);
|
||||
|
||||
$color-green: #1cb831;
|
||||
|
||||
$color-red: #e21221;
|
||||
|
||||
$color-dark-blue: #082452;
|
||||
$color-light-blue: rgb(15, 61, 129);
|
||||
$color-light-blue-2: #2b2da5;
|
||||
|
||||
$color-purple: #782da3;
|
||||
|
||||
2
src/static/sass/base/_animations.scss
Normal file
2
src/static/sass/base/_animations.scss
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
|
||||
61
src/static/sass/base/_base.scss
Normal file
61
src/static/sass/base/_base.scss
Normal file
@@ -0,0 +1,61 @@
|
||||
/* GLOBAL RESET */
|
||||
:global(html), :global(body), :global(div), :global(span), :global(applet), :global(object), :global(iframe),
|
||||
:global(h1), :global(h2), :global(h3), :global(h4), :global(h5), :global(h6), :global(p), :global(blockquote), :global(pre),
|
||||
:global(a), :global(abbr), :global(acronym), :global(address), :global(big), :global(cite), :global(code),
|
||||
:global(del), :global(dfn), :global(em), :global(img), :global(ins), :global(kbd), :global(q), :global(s), :global(samp),
|
||||
:global(small), :global(strike), :global(strong), :global(sub), :global(sup), :global(tt), :global(var),
|
||||
:global(b), :global(u), :global(i), :global(center),
|
||||
:global(dl), :global(dt), :global(dd), :global(ol), :global(ul), :global(li),
|
||||
:global(fieldset), :global(form), :global(label), :global(legend),
|
||||
:global(table), :global(caption), :global(tbody), :global(tfoot), :global(thead), :global(tr), :global(th), :global(td),
|
||||
:global(article), :global(aside), :global(canvas), :global(details), :global(embed),
|
||||
:global(figure), :global(figcaption), :global(footer), :global(header), :global(hgroup),
|
||||
:global(menu), :global(nav), :global(output), :global(ruby), :global(section), :global(summary),
|
||||
:global(time), :global(mark), :global(audio), :global(video) {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
vertical-align: baseline;
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
/* HTML5 display-role reset for older browsers */
|
||||
:global(article), :global(aside), :global(details), :global(figcaption), :global(figure),
|
||||
:global(footer), :global(header), :global(hgroup), :global(menu), :global(nav), :global(section) {
|
||||
display: block;
|
||||
}
|
||||
:global(body) {
|
||||
line-height: 1;
|
||||
}
|
||||
:global(ol), :global(ul) {
|
||||
list-style: none;
|
||||
}
|
||||
:global(blockquote), :global(q) {
|
||||
quotes: none;
|
||||
}
|
||||
:global(blockquote:before), :global(blockquote:after),
|
||||
:global(q:before), :global(q:after) {
|
||||
content: '';
|
||||
content: none;
|
||||
}
|
||||
:global(table) {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
box-sizing: border-box;
|
||||
background-color: fff;
|
||||
}
|
||||
|
||||
html {
|
||||
// this defines what 1rem is --> font root size
|
||||
font-size: 62.5%; // 10/16, 1rem = 10px;
|
||||
}
|
||||
|
||||
// GRID AREA
|
||||
.container {
|
||||
display: grid;
|
||||
grid-template-rows: 47vw min-content min-content min-content;
|
||||
grid-template-columns: 4% repeat(10, 1fr) 4%;
|
||||
}
|
||||
0
src/static/sass/base/_typography.scss
Normal file
0
src/static/sass/base/_typography.scss
Normal file
0
src/static/sass/base/_utils.scss
Normal file
0
src/static/sass/base/_utils.scss
Normal file
0
src/static/sass/components/_movie.scss
Normal file
0
src/static/sass/components/_movie.scss
Normal file
14
src/static/sass/components/_movieOriginals.scss
Normal file
14
src/static/sass/components/_movieOriginals.scss
Normal file
@@ -0,0 +1,14 @@
|
||||
.movieOriginals {
|
||||
background-color: pink;
|
||||
grid-column: 2 / 13;
|
||||
|
||||
&__container {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(6, 1fr);
|
||||
column-gap: .5rem;
|
||||
|
||||
&--movie {
|
||||
padding-bottom: 45rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
14
src/static/sass/components/_movieShowcase.scss
Normal file
14
src/static/sass/components/_movieShowcase.scss
Normal file
@@ -0,0 +1,14 @@
|
||||
.movieShowcase {
|
||||
background-color: blue;
|
||||
grid-column: 2 / 13;
|
||||
|
||||
&__container {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(6, 1fr);
|
||||
column-gap: .5rem;
|
||||
|
||||
&--movie {
|
||||
padding: 3rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
0
src/static/sass/components/_search.scss
Normal file
0
src/static/sass/components/_search.scss
Normal file
14
src/static/sass/layout/_footer.scss
Normal file
14
src/static/sass/layout/_footer.scss
Normal file
@@ -0,0 +1,14 @@
|
||||
.footer {
|
||||
background-color: greenyellow;
|
||||
grid-column: 2 / 13;
|
||||
|
||||
|
||||
&__container {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
|
||||
&--description {
|
||||
padding: 3rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
5
src/static/sass/layout/_header.scss
Normal file
5
src/static/sass/layout/_header.scss
Normal file
@@ -0,0 +1,5 @@
|
||||
.header {
|
||||
padding-top: 4rem;
|
||||
background-color: rebeccapurple;
|
||||
grid-column: 1 / 13;
|
||||
}
|
||||
87
src/static/sass/layout/_navigation.scss
Normal file
87
src/static/sass/layout/_navigation.scss
Normal file
@@ -0,0 +1,87 @@
|
||||
.navigation {
|
||||
background-color: transparent;
|
||||
|
||||
grid-column: 1 / 13;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 6.7rem;
|
||||
transition-timing-function: ease-in;
|
||||
transition: all 1s;
|
||||
|
||||
|
||||
&.black {
|
||||
background-color: $color-background;
|
||||
}
|
||||
|
||||
&__container {
|
||||
background-color: transparent;
|
||||
margin-left: 3.8rem;
|
||||
display: flex;
|
||||
height: 6.7rem;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
|
||||
a:first-child {
|
||||
padding-left: .2%;
|
||||
color: $color-red;
|
||||
font-size: 4rem;
|
||||
}
|
||||
|
||||
&-link {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
margin-right: 3rem;
|
||||
}
|
||||
|
||||
&--left {
|
||||
flex-grow: 1;
|
||||
color: #fff;
|
||||
padding-right: 4.6rem;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
input[type="text"] {
|
||||
// display: none;
|
||||
// color: #fff;
|
||||
border: none;
|
||||
outline: none;
|
||||
width: 0px;
|
||||
padding: 10px;
|
||||
padding-right: 2rem;
|
||||
// background: none;
|
||||
transition: width .5s cubic-bezier(0.000, 0.795, 0.000, 1.000);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
input[type="text"]:focus:hover {
|
||||
border-bottom: 1px solid #BBB;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
input[type="text"]:focus {
|
||||
width: 22rem;
|
||||
z-index: 1;
|
||||
background-color: #000;
|
||||
border: 1px solid #fff;
|
||||
cursor: text;
|
||||
}
|
||||
|
||||
input[type="submit"] {
|
||||
height: 67px;
|
||||
width: 63px;
|
||||
|
||||
color: red;
|
||||
text-indent: -10000px;
|
||||
border: none;
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
cursor: pointer;
|
||||
opacity: 0.4;
|
||||
cursor: pointer;
|
||||
transition: opacity .4s ease;
|
||||
}
|
||||
18
src/static/sass/style.scss
Normal file
18
src/static/sass/style.scss
Normal file
@@ -0,0 +1,18 @@
|
||||
@import "abstracts/functions";
|
||||
@import "abstracts/mixins";
|
||||
@import "abstracts/variables";
|
||||
|
||||
@import "base/animations";
|
||||
@import "base/base";
|
||||
@import "base/typography";
|
||||
@import "base/utils";
|
||||
|
||||
@import "components/search";
|
||||
@import "components/movie";
|
||||
@import "components/movieOriginals";
|
||||
@import "components/movieShowcase";
|
||||
|
||||
@import "layout/footer";
|
||||
@import "layout/header";
|
||||
@import "layout/navigation";
|
||||
|
||||
Reference in New Issue
Block a user