diff --git a/.gitignore b/.gitignore index cd40d6bc..9dac25c0 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,6 @@ js/vendor/config.js dist/windows/Install Popcorn Time.exe dist/mac/Popcorn Time.app/ dist/mac/Popcorn Time.zip + +node-webkit.app +config.codekit \ No newline at end of file diff --git a/css/app.css b/css/app.css index 1c72e534..e1bf1edf 100644 --- a/css/app.css +++ b/css/app.css @@ -51,7 +51,7 @@ a img { border: none; } -article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary { +article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } @@ -64,7 +64,6 @@ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, -webkit-transform: translate(0, 0); } } - @-webkit-keyframes sidebareffect2 { from { -webkit-transform: translate(0, 0); @@ -74,7 +73,6 @@ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, -webkit-transform: translate(100%, 0); } } - @-webkit-keyframes spin { from { -webkit-transform: rotate(0deg); @@ -84,7 +82,6 @@ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, -webkit-transform: rotate(360deg); } } - @-webkit-keyframes backdropFadeIn { from { opacity: 0; @@ -94,7 +91,6 @@ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, opacity: 0.2; } } - body { -webkit-user-select: none; } @@ -238,8 +234,18 @@ body { font-family: 'Helvetica Neue', Arial, sans-serif; -webkit-font-smoothing: antialiased; color: white; + font-size: 100%; +} + +body.tv-mode-enable { + font-size: 31px; } +@media (max-width: 1440px) { + body.tv-mode-enable { + font-size: 23px; + } +} ::-webkit-input-placeholder { color: rgba(255, 255, 255, 0.4); font-weight: normal; @@ -280,7 +286,7 @@ a { display: none; } .page::-webkit-scrollbar-thumb { - background: rgba(0, 0, 0, 0); + background: transparent; background-clip: content-box; border-radius: 10px; border: 2px solid transparent; @@ -304,17 +310,17 @@ a { border: 1px solid rgba(255, 255, 255, 0.2); } .page.notransition .movie { - -webkit-transition-delay: 0s, 0s; -moz-transition-delay: 0s, 0s; -o-transition-delay: 0s, 0s; + -webkit-transition-delay: 0s, 0s; transition-delay: 0s, 0s; } .btn { - -webkit-transition: background-color ease; - -webkit-transition-delay: 0.3s; -moz-transition: background-color ease 0.3s; -o-transition: background-color ease 0.3s; + -webkit-transition: background-color ease; + -webkit-transition-delay: 0.3s; transition: background-color ease 0.3s; color: #999999; display: inline-block; @@ -351,8 +357,8 @@ a { /* -- App */ #header { - -webkit-box-sizing: border-box; -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; box-sizing: border-box; border: 1px solid #000; height: 45px; @@ -436,10 +442,32 @@ a { #header .btn-set button.fullscreen.active::before { content: "\e00B"; } +#header .btn-set button.tv-mode { + color: #000; + background: transparent; + margin: 0; + width: 32px; + height: 32px; + border-radius: 0; + display: block; + font-size: 12px; +} +#header .btn-set button.tv-mode::before { + content: "\e623"; + font-family: VideoJS; + font-size: 1.85em; + line-height: 0.2em; + background: none; + display: block; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.1); +} +#header .btn-set button.tv-mode.active::before { + content: "\e623"; +} #notification { - -webkit-box-sizing: border-box; -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; box-sizing: border-box; position: absolute; top: 45px; @@ -465,16 +493,16 @@ a { } #catalog-select { - -webkit-box-sizing: border-box; -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; box-sizing: border-box; overflow-x: hidden; overflow-y: overlay; -webkit-overflow-scrolling: touch; - width: 180px; + width: 11.25em; position: absolute; top: 45px; - padding: 20px; + padding: 1.25em; height: calc(100% - 45px); background: #121212; border-right: 1px solid #000; @@ -494,7 +522,7 @@ a { display: none; } #catalog-select::-webkit-scrollbar-thumb { - background: rgba(0, 0, 0, 0); + background: transparent; background-clip: content-box; border-radius: 10px; border: 2px solid transparent; @@ -518,26 +546,26 @@ a { border: 1px solid rgba(255, 255, 255, 0.2); } #catalog-select h4 { - margin-top: 40px; + margin-top: 2.6em; color: #404040; font-weight: bold; - margin-bottom: 10px; + margin-bottom: 0.4em; } #catalog-select ul li { display: block; font-weight: bold; - font-size: 13px; + font-size: 0.8125em; } #catalog-select ul li a { - -webkit-transition: background-color ease; - -webkit-transition-delay: 0.3s; -moz-transition: background-color ease 0.3s; -o-transition: background-color ease 0.3s; + -webkit-transition: background-color ease; + -webkit-transition-delay: 0.3s; transition: background-color ease 0.3s; color: #999999; display: block; border-radius: 3px; - padding: 8px; + padding: 0.61538461538462em; } #catalog-select ul li a:hover { background: #010101; @@ -553,37 +581,37 @@ a { } #catalog-select .search { position: absolute; - right: 20px; - top: 12px; + right: 1.25em; + top: 0.75em; } #catalog-select .search input { border: 2px solid rgba(255, 255, 255, 0.4); border-radius: 5px; color: #FFF; - font-size: 12px; - height: 15px; - padding: 8px 10px; - width: 115px; + font-size: 0.75em; + height: 1.25em; + padding: 0.5em 0.83333333333333em; + width: 9.58333333333333em; background: transparent; font-weight: bold; } #catalog-select .search i { position: absolute; - top: 10px; - right: 10px; + top: 0.4375em; + right: 0.625em; color: rgba(255, 255, 255, 0.4); } .container { height: calc(100% - 45px); overflow: hidden; - margin: 45px 0 0 180px; + margin: 45px 0 0 11.25em; position: relative; } body.has-notification .container { height: calc(100% - 45px - 45px); - margin: 90px 0 0 180px; + margin: 90px 0 0 11.25em; } body.has-notification #catalog-select { top: 90px; @@ -594,10 +622,10 @@ body.has-notification #notification { } .popcorn-load { - -webkit-transition: opacity ease; - -webkit-transition-delay: 1s; -moz-transition: opacity ease 1s; -o-transition: opacity ease 1s; + -webkit-transition: opacity ease; + -webkit-transition-delay: 1s; transition: opacity ease 1s; background: rgba(0, 0, 0, 0.8); color: #fff; @@ -614,10 +642,10 @@ body.has-notification #notification { pointer-events: none; } .popcorn-load .wrapper { - -webkit-transform: translateY(-100%); -moz-transform: translateY(-100%); -ms-transform: translateY(-100%); -o-transform: translateY(-100%); + -webkit-transform: translateY(-100%); transform: translateY(-100%); font-size: 40px; position: absolute; @@ -649,9 +677,9 @@ body.has-notification #notification { padding: 3px; } .popcorn-load .progressbar .progress { - -webkit-transition: width 0.2s ease; -moz-transition: width 0.2s ease; -o-transition: width 0.2s ease; + -webkit-transition: width 0.2s ease; transition: width 0.2s ease; display: block; height: 14px; @@ -694,10 +722,10 @@ body.has-notification #notification { } .popcorn-disclaimer { - -webkit-transition: opacity ease; - -webkit-transition-delay: 0.3s; -moz-transition: opacity ease 0.3s; -o-transition: opacity ease 0.3s; + -webkit-transition: opacity ease; + -webkit-transition-delay: 0.3s; transition: opacity ease 0.3s; background: #000000; color: #fff; @@ -718,16 +746,16 @@ body.has-notification #notification { pointer-events: none; } .popcorn-disclaimer .text, .popcorn-disclaimer .btn { - -webkit-transition: opacity 2s ease-out; -moz-transition: opacity 2s ease-out; -o-transition: opacity 2s ease-out; + -webkit-transition: opacity 2s ease-out; transition: opacity 2s ease-out; } .popcorn-disclaimer .wrapper { - -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); + -webkit-transform: translateY(-50%); transform: translateY(-50%); font-size: 30px; position: absolute; @@ -762,11 +790,11 @@ body.has-notification #notification { margin-bottom: 15px; } .movie-list li { - height: 195px; - width: 132px; + width: 8.3125em; + height: 12.25em; padding: 0; display: inline-block; - margin: 12px; + margin: 0.75em; border-radius: 3px; position: relative; background: #000; @@ -775,30 +803,30 @@ body.has-notification #notification { opacity: 1; } .movie-list li i { - -webkit-transition: all ease; - -webkit-transition-delay: 0.3s; -moz-transition: all ease 0.3s; -o-transition: all ease 0.3s; + -webkit-transition: all ease; + -webkit-transition-delay: 0.3s; transition: all ease 0.3s; background: rgba(0, 0, 0, 0.4); color: #FFF; display: block; position: absolute; bottom: 0; - line-height: 195px; + line-height: 3.21666666666667em; right: 0; top: 0; left: 0; text-align: center; - font-size: 60px; + font-size: 3.75em; opacity: 0; width: 101%; height: 101%; z-index: 10; } .movie-list li .cover { - width: 133px; - height: 196px; + width: 8.3125em; + height: 12.25em; overflow: hidden; display: block; margin: 0 0 10px 0; @@ -807,10 +835,10 @@ body.has-notification #notification { -webkit-transform: translateZ(0); } .movie-list li img { - -webkit-transition: all ease; - -webkit-transition-delay: 1s; -moz-transition: all ease 1s; -o-transition: all ease 1s; + -webkit-transition: all ease; + -webkit-transition-delay: 1s; transition: all ease 1s; height: 100%; width: 100%; @@ -840,20 +868,20 @@ body.has-notification #notification { } .movie-list li a { display: block; - height: 196px; - width: 133px; + width: 8.3125em; + height: 12.25em; } .movie-list li strong { color: #FFF; display: block; font-weight: bold; - font-size: 14px; - overflow: hidden; + font-size: 0.875em; + overflow: visible; text-overflow: ellipsis; white-space: nowrap; } .movie-list li small { - font-size: 12px; + font-size: 0.75em; color: #666; } .movie-list li::before { @@ -869,323 +897,323 @@ body.has-notification #notification { } .movie { - -webkit-transform: scale(0, 0); -moz-transform: scale(0, 0); -ms-transform: scale(0, 0); -o-transform: scale(0, 0); + -webkit-transform: scale(0, 0); transform: scale(0, 0); - -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease; -moz-transition: opacity 0.3s ease, -moz-transform 0.3s ease; -o-transition: opacity 0.3s ease, -o-transform 0.3s ease; + -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease; transition: opacity 0.3s ease, transform 0.3s ease; opacity: 0; } .movie:nth-child(1) { - -webkit-transition-delay: 0s, 0s; -moz-transition-delay: 0s, 0s; -o-transition-delay: 0s, 0s; + -webkit-transition-delay: 0s, 0s; transition-delay: 0s, 0s; } .movie:nth-child(2) { - -webkit-transition-delay: 0s, 0.1s; -moz-transition-delay: 0s, 0.1s; -o-transition-delay: 0s, 0.1s; + -webkit-transition-delay: 0s, 0.1s; transition-delay: 0s, 0.1s; } .movie:nth-child(3) { - -webkit-transition-delay: 0s, 0.2s; -moz-transition-delay: 0s, 0.2s; -o-transition-delay: 0s, 0.2s; + -webkit-transition-delay: 0s, 0.2s; transition-delay: 0s, 0.2s; } .movie:nth-child(4) { - -webkit-transition-delay: 0s, 0.3s; -moz-transition-delay: 0s, 0.3s; -o-transition-delay: 0s, 0.3s; + -webkit-transition-delay: 0s, 0.3s; transition-delay: 0s, 0.3s; } .movie:nth-child(5) { - -webkit-transition-delay: 0s, 0.4s; -moz-transition-delay: 0s, 0.4s; -o-transition-delay: 0s, 0.4s; + -webkit-transition-delay: 0s, 0.4s; transition-delay: 0s, 0.4s; } .movie:nth-child(6) { - -webkit-transition-delay: 0s, 0.5s; -moz-transition-delay: 0s, 0.5s; -o-transition-delay: 0s, 0.5s; + -webkit-transition-delay: 0s, 0.5s; transition-delay: 0s, 0.5s; } .movie:nth-child(7) { - -webkit-transition-delay: 0s, 0.6s; -moz-transition-delay: 0s, 0.6s; -o-transition-delay: 0s, 0.6s; + -webkit-transition-delay: 0s, 0.6s; transition-delay: 0s, 0.6s; } .movie:nth-child(8) { - -webkit-transition-delay: 0s, 0.7s; -moz-transition-delay: 0s, 0.7s; -o-transition-delay: 0s, 0.7s; + -webkit-transition-delay: 0s, 0.7s; transition-delay: 0s, 0.7s; } .movie:nth-child(9) { - -webkit-transition-delay: 0s, 0.8s; -moz-transition-delay: 0s, 0.8s; -o-transition-delay: 0s, 0.8s; + -webkit-transition-delay: 0s, 0.8s; transition-delay: 0s, 0.8s; } .movie:nth-child(10) { - -webkit-transition-delay: 0s, 0.9s; -moz-transition-delay: 0s, 0.9s; -o-transition-delay: 0s, 0.9s; + -webkit-transition-delay: 0s, 0.9s; transition-delay: 0s, 0.9s; } .movie:nth-child(11) { - -webkit-transition-delay: 0s, 1s; -moz-transition-delay: 0s, 1s; -o-transition-delay: 0s, 1s; + -webkit-transition-delay: 0s, 1s; transition-delay: 0s, 1s; } .movie:nth-child(12) { - -webkit-transition-delay: 0s, 1.1s; -moz-transition-delay: 0s, 1.1s; -o-transition-delay: 0s, 1.1s; + -webkit-transition-delay: 0s, 1.1s; transition-delay: 0s, 1.1s; } .movie:nth-child(13) { - -webkit-transition-delay: 0s, 1.2s; -moz-transition-delay: 0s, 1.2s; -o-transition-delay: 0s, 1.2s; + -webkit-transition-delay: 0s, 1.2s; transition-delay: 0s, 1.2s; } .movie:nth-child(14) { - -webkit-transition-delay: 0s, 1.3s; -moz-transition-delay: 0s, 1.3s; -o-transition-delay: 0s, 1.3s; + -webkit-transition-delay: 0s, 1.3s; transition-delay: 0s, 1.3s; } .movie:nth-child(15) { - -webkit-transition-delay: 0s, 1.4s; -moz-transition-delay: 0s, 1.4s; -o-transition-delay: 0s, 1.4s; + -webkit-transition-delay: 0s, 1.4s; transition-delay: 0s, 1.4s; } .movie:nth-child(16) { - -webkit-transition-delay: 0s, 1.5s; -moz-transition-delay: 0s, 1.5s; -o-transition-delay: 0s, 1.5s; + -webkit-transition-delay: 0s, 1.5s; transition-delay: 0s, 1.5s; } .movie:nth-child(17) { - -webkit-transition-delay: 0s, 1.6s; -moz-transition-delay: 0s, 1.6s; -o-transition-delay: 0s, 1.6s; + -webkit-transition-delay: 0s, 1.6s; transition-delay: 0s, 1.6s; } .movie:nth-child(18) { - -webkit-transition-delay: 0s, 1.7s; -moz-transition-delay: 0s, 1.7s; -o-transition-delay: 0s, 1.7s; + -webkit-transition-delay: 0s, 1.7s; transition-delay: 0s, 1.7s; } .movie:nth-child(19) { - -webkit-transition-delay: 0s, 1.8s; -moz-transition-delay: 0s, 1.8s; -o-transition-delay: 0s, 1.8s; + -webkit-transition-delay: 0s, 1.8s; transition-delay: 0s, 1.8s; } .movie:nth-child(20) { - -webkit-transition-delay: 0s, 1.9s; -moz-transition-delay: 0s, 1.9s; -o-transition-delay: 0s, 1.9s; + -webkit-transition-delay: 0s, 1.9s; transition-delay: 0s, 1.9s; } .movie:nth-child(21) { - -webkit-transition-delay: 0s, 2s; -moz-transition-delay: 0s, 2s; -o-transition-delay: 0s, 2s; + -webkit-transition-delay: 0s, 2s; transition-delay: 0s, 2s; } .movie:nth-child(22) { - -webkit-transition-delay: 0s, 2.1s; -moz-transition-delay: 0s, 2.1s; -o-transition-delay: 0s, 2.1s; + -webkit-transition-delay: 0s, 2.1s; transition-delay: 0s, 2.1s; } .movie:nth-child(23) { - -webkit-transition-delay: 0s, 2.2s; -moz-transition-delay: 0s, 2.2s; -o-transition-delay: 0s, 2.2s; + -webkit-transition-delay: 0s, 2.2s; transition-delay: 0s, 2.2s; } .movie:nth-child(24) { - -webkit-transition-delay: 0s, 2.3s; -moz-transition-delay: 0s, 2.3s; -o-transition-delay: 0s, 2.3s; + -webkit-transition-delay: 0s, 2.3s; transition-delay: 0s, 2.3s; } .movie:nth-child(25) { - -webkit-transition-delay: 0s, 2.4s; -moz-transition-delay: 0s, 2.4s; -o-transition-delay: 0s, 2.4s; + -webkit-transition-delay: 0s, 2.4s; transition-delay: 0s, 2.4s; } .movie:nth-child(26) { - -webkit-transition-delay: 0s, 2.5s; -moz-transition-delay: 0s, 2.5s; -o-transition-delay: 0s, 2.5s; + -webkit-transition-delay: 0s, 2.5s; transition-delay: 0s, 2.5s; } .movie:nth-child(27) { - -webkit-transition-delay: 0s, 2.6s; -moz-transition-delay: 0s, 2.6s; -o-transition-delay: 0s, 2.6s; + -webkit-transition-delay: 0s, 2.6s; transition-delay: 0s, 2.6s; } .movie:nth-child(28) { - -webkit-transition-delay: 0s, 2.7s; -moz-transition-delay: 0s, 2.7s; -o-transition-delay: 0s, 2.7s; + -webkit-transition-delay: 0s, 2.7s; transition-delay: 0s, 2.7s; } .movie:nth-child(29) { - -webkit-transition-delay: 0s, 2.8s; -moz-transition-delay: 0s, 2.8s; -o-transition-delay: 0s, 2.8s; + -webkit-transition-delay: 0s, 2.8s; transition-delay: 0s, 2.8s; } .movie:nth-child(30) { - -webkit-transition-delay: 0s, 2.9s; -moz-transition-delay: 0s, 2.9s; -o-transition-delay: 0s, 2.9s; + -webkit-transition-delay: 0s, 2.9s; transition-delay: 0s, 2.9s; } .movie:nth-child(31) { - -webkit-transition-delay: 0s, 3s; -moz-transition-delay: 0s, 3s; -o-transition-delay: 0s, 3s; + -webkit-transition-delay: 0s, 3s; transition-delay: 0s, 3s; } .movie:nth-child(32) { - -webkit-transition-delay: 0s, 3.1s; -moz-transition-delay: 0s, 3.1s; -o-transition-delay: 0s, 3.1s; + -webkit-transition-delay: 0s, 3.1s; transition-delay: 0s, 3.1s; } .movie:nth-child(33) { - -webkit-transition-delay: 0s, 3.2s; -moz-transition-delay: 0s, 3.2s; -o-transition-delay: 0s, 3.2s; + -webkit-transition-delay: 0s, 3.2s; transition-delay: 0s, 3.2s; } .movie:nth-child(34) { - -webkit-transition-delay: 0s, 3.3s; -moz-transition-delay: 0s, 3.3s; -o-transition-delay: 0s, 3.3s; + -webkit-transition-delay: 0s, 3.3s; transition-delay: 0s, 3.3s; } .movie:nth-child(35) { - -webkit-transition-delay: 0s, 3.4s; -moz-transition-delay: 0s, 3.4s; -o-transition-delay: 0s, 3.4s; + -webkit-transition-delay: 0s, 3.4s; transition-delay: 0s, 3.4s; } .movie:nth-child(36) { - -webkit-transition-delay: 0s, 3.5s; -moz-transition-delay: 0s, 3.5s; -o-transition-delay: 0s, 3.5s; + -webkit-transition-delay: 0s, 3.5s; transition-delay: 0s, 3.5s; } .movie:nth-child(37) { - -webkit-transition-delay: 0s, 3.6s; -moz-transition-delay: 0s, 3.6s; -o-transition-delay: 0s, 3.6s; + -webkit-transition-delay: 0s, 3.6s; transition-delay: 0s, 3.6s; } .movie:nth-child(38) { - -webkit-transition-delay: 0s, 3.7s; -moz-transition-delay: 0s, 3.7s; -o-transition-delay: 0s, 3.7s; + -webkit-transition-delay: 0s, 3.7s; transition-delay: 0s, 3.7s; } .movie:nth-child(39) { - -webkit-transition-delay: 0s, 3.8s; -moz-transition-delay: 0s, 3.8s; -o-transition-delay: 0s, 3.8s; + -webkit-transition-delay: 0s, 3.8s; transition-delay: 0s, 3.8s; } .movie:nth-child(40) { - -webkit-transition-delay: 0s, 3.9s; -moz-transition-delay: 0s, 3.9s; -o-transition-delay: 0s, 3.9s; + -webkit-transition-delay: 0s, 3.9s; transition-delay: 0s, 3.9s; } .movie:nth-child(41) { - -webkit-transition-delay: 0s, 4s; -moz-transition-delay: 0s, 4s; -o-transition-delay: 0s, 4s; + -webkit-transition-delay: 0s, 4s; transition-delay: 0s, 4s; } .movie:nth-child(42) { - -webkit-transition-delay: 0s, 4.1s; -moz-transition-delay: 0s, 4.1s; -o-transition-delay: 0s, 4.1s; + -webkit-transition-delay: 0s, 4.1s; transition-delay: 0s, 4.1s; } .movie:nth-child(43) { - -webkit-transition-delay: 0s, 4.2s; -moz-transition-delay: 0s, 4.2s; -o-transition-delay: 0s, 4.2s; + -webkit-transition-delay: 0s, 4.2s; transition-delay: 0s, 4.2s; } .movie:nth-child(44) { - -webkit-transition-delay: 0s, 4.3s; -moz-transition-delay: 0s, 4.3s; -o-transition-delay: 0s, 4.3s; + -webkit-transition-delay: 0s, 4.3s; transition-delay: 0s, 4.3s; } .movie:nth-child(45) { - -webkit-transition-delay: 0s, 4.4s; -moz-transition-delay: 0s, 4.4s; -o-transition-delay: 0s, 4.4s; + -webkit-transition-delay: 0s, 4.4s; transition-delay: 0s, 4.4s; } .movie:nth-child(46) { - -webkit-transition-delay: 0s, 4.5s; -moz-transition-delay: 0s, 4.5s; -o-transition-delay: 0s, 4.5s; + -webkit-transition-delay: 0s, 4.5s; transition-delay: 0s, 4.5s; } .movie:nth-child(47) { - -webkit-transition-delay: 0s, 4.6s; -moz-transition-delay: 0s, 4.6s; -o-transition-delay: 0s, 4.6s; + -webkit-transition-delay: 0s, 4.6s; transition-delay: 0s, 4.6s; } .movie:nth-child(48) { - -webkit-transition-delay: 0s, 4.7s; -moz-transition-delay: 0s, 4.7s; -o-transition-delay: 0s, 4.7s; + -webkit-transition-delay: 0s, 4.7s; transition-delay: 0s, 4.7s; } .movie:nth-child(49) { - -webkit-transition-delay: 0s, 4.8s; -moz-transition-delay: 0s, 4.8s; -o-transition-delay: 0s, 4.8s; + -webkit-transition-delay: 0s, 4.8s; transition-delay: 0s, 4.8s; } .movie:nth-child(50) { - -webkit-transition-delay: 0s, 4.9s; -moz-transition-delay: 0s, 4.9s; -o-transition-delay: 0s, 4.9s; + -webkit-transition-delay: 0s, 4.9s; transition-delay: 0s, 4.9s; } .movie.loaded { opacity: 1; - -webkit-transform: scale(1, 1); -moz-transform: scale(1, 1); -ms-transform: scale(1, 1); -o-transform: scale(1, 1); + -webkit-transform: scale(1, 1); transform: scale(1, 1); } @@ -1233,8 +1261,8 @@ body.has-notification #notification { padding: 6px 12px; position: relative; text-decoration: none; - -webkit-box-sizing: border-box; -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; box-sizing: border-box; border: 1px solid #000; text-align: center; @@ -1298,7 +1326,7 @@ sidebar .play::-webkit-scrollbar-track-piece { display: none; } sidebar .play::-webkit-scrollbar-thumb { - background: rgba(0, 0, 0, 0); + background: transparent; background-clip: content-box; border-radius: 10px; border: 2px solid transparent; @@ -1400,8 +1428,8 @@ sidebar .play .movie-detail .closer { position: absolute; top: 0; left: 0; - height: 30px; - width: 30px; + height: 2.5em; + width: 2.5em; z-index: 300; cursor: pointer; } @@ -1416,6 +1444,10 @@ sidebar .play .movie-detail .closer i { opacity: 0.5; text-shadow: 0 0 5px #000; } +sidebar .play .movie-detail .closer img { + width: 100%; + height: 100%; +} sidebar .play .movie-detail .poster-cont, sidebar .play .movie-detail .side-content { display: table-cell; @@ -1445,30 +1477,30 @@ sidebar .play .movie-detail .poster-cont img.big-poster { } sidebar .play .movie-detail .poster-cont .movie-config h4 { font-weight: bold; - font-size: 14px; - margin-left: 10px; - margin-top: 8px; + font-size: 0.875em; + margin-left: 0.71428571428571em; + margin-top: 0.57142857142857em; } sidebar .play .movie-detail .poster-cont .movie-config .quality-cont { position: absolute; bottom: 0; left: 0; - height: 50px; + height: 3.125em; width: 100%; - margin-left: 1px; + margin-left: 0.0625em; text-shadow: 0 0 2px #000; background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.85) 100%); -webkit-transform: translateZ(0); } sidebar .play .movie-detail .poster-cont .movie-config .quality-cont .quality-off { - margin-left: 10px; - font-size: 12px; + margin-left: 0.83333333333333em; + font-size: 0.75em; } sidebar .play .movie-detail .poster-cont .movie-config li.options span.extra-data { font-weight: bold; color: #FFF; float: right; - font-size: 15px; + font-size: 0.9375em; } sidebar .play .movie-detail .poster-cont .movie-config li.options span.good { color: #27ae60; @@ -1493,43 +1525,43 @@ sidebar .play .movie-detail .poster-cont .movie-config .switch { background: transparent; border-radius: 32px; display: block; - height: 12px; + height: 0.75em; position: absolute; - width: 25px; + width: 1.5625em; border: 2px solid #FFF; - left: 48px; - top: 28px; + left: 3em; + top: 1.75em; cursor: pointer; } sidebar .play .movie-detail .poster-cont .movie-config .switch label { - -webkit-transition: color 0.2s ease; -moz-transition: color 0.2s ease; -o-transition: color 0.2s ease; + -webkit-transition: color 0.2s ease; transition: color 0.2s ease; color: #fff; - font-size: 12px; + font-size: 0.75em; font-weight: bold; text-transform: uppercase; - width: 20px; + width: 1.66666666666667em; cursor: pointer; } sidebar .play .movie-detail .poster-cont .movie-config .switch label:nth-of-type(1) { - left: -38px; + left: -3.16666666666667em; position: absolute; text-align: right; } sidebar .play .movie-detail .poster-cont .movie-config .switch label:nth-of-type(2) { position: absolute; - right: -30px; + right: -2.5em; text-align: left; } sidebar .play .movie-detail .poster-cont .movie-config .switch input { - height: 12px; + height: 0.75em; left: 0; opacity: 0; position: absolute; top: 0; - width: 60px; + width: 3.75em; z-index: 2; cursor: pointer; } @@ -1543,7 +1575,7 @@ sidebar .play .movie-detail .poster-cont .movie-config .switch input:checked ~ l color: #FFF; } sidebar .play .movie-detail .poster-cont .movie-config .switch input:checked ~ .toggle { - left: 2px; + left: 0.125em; } sidebar .play .movie-detail .poster-cont .movie-config .switch input ~ :checked ~ label:nth-of-type(1) { color: #FFF; @@ -1552,20 +1584,20 @@ sidebar .play .movie-detail .poster-cont .movie-config .switch input ~ :checked color: #286dc4; } sidebar .play .movie-detail .poster-cont .movie-config .switch input ~ :checked ~ .toggle { - left: 13px; + left: 0.8125em; } sidebar .play .movie-detail .poster-cont .movie-config .toggle { - -webkit-transition: left 0.2s ease; -moz-transition: left 0.2s ease; -o-transition: left 0.2s ease; + -webkit-transition: left 0.2s ease; transition: left 0.2s ease; background: #286dc4; border-radius: 50%; - height: 10px; + height: 0.625em; left: 0; position: absolute; - top: 1px; - width: 10px; + top: 0.0625em; + width: 0.625em; z-index: 1; } sidebar .play .movie-detail .side-content { @@ -1584,18 +1616,18 @@ sidebar .play .movie-detail .side-content .title { } sidebar .play .movie-detail .side-content .title h2 { font-weight: 200; - font-size: 34px; - margin-bottom: 10px; + font-size: 2.125em; + margin-bottom: 0.29411764705882em; color: #f5f7fa; - padding-right: 30px; + padding-right: 0.88235294117647em; } sidebar .play .movie-detail .side-content .title .movie-quick-info { - margin-bottom: 5px; + margin-bottom: 0.3125em; } sidebar .play .movie-detail .side-content .title .movie-quick-info li { display: inline-block; vertical-align: top; - font-size: 12px; + font-size: 0.75em; color: #286dc4; font-weight: bold; } @@ -1607,14 +1639,14 @@ sidebar .play .movie-detail .side-content .title .movie-quick-info li:last-child display: none; } sidebar .play .movie-detail .side-content .title .health { - font-size: 24px; - width: 20px; - height: 20px; + font-size: 1.5em; + width: 0.83333333333333em; + height: 0.83333333333333em; text-align: center; - line-height: 20px; + line-height: 0.83333333333333em; cursor: pointer; position: absolute; - top: 10px; + top: 0.41666666666667em; right: 0; } sidebar .play .movie-detail .side-content .title .health.bad { @@ -1636,28 +1668,28 @@ sidebar .play .movie-detail .side-content .title .health.excellent { sidebar .play .movie-detail .side-content .rating { display: inline-block; position: relative; - font-size: 14px; - margin: 0 10px 0 0; + font-size: 0.875em; + margin: 0 0.71428571428571em 0 0; } sidebar .play .movie-detail .side-content .rating ul { color: #f5f7fa; } sidebar .play .movie-detail .side-content p { - margin-top: 10px; + margin-top: 0.71428571428571em; color: #babdc2; - font-size: 14px; - line-height: 24px; + font-size: 0.875em; + line-height: 1.71428571428571em; } sidebar .play .movie-detail .side-content .subtitles-list { - margin-top: 10px; - margin-bottom: 10px; + margin-top: 0.625em; + margin-bottom: 0.625em; } sidebar .play .movie-detail .side-content .subtitles-list h4 { - font-size: 12px; + font-size: 0.75em; color: #f5f7fa; display: inline-block; vertical-align: middle; - margin-right: 5px; + margin-right: 0.41666666666667em; } sidebar .play .movie-detail .side-content .subtitles-list ul { display: inline-block; @@ -1668,9 +1700,10 @@ sidebar .play .movie-detail .side-content .subtitles-list ul li { vertical-align: top; } sidebar .play .movie-detail .side-content .subtitles-list ul li span { - width: 22px; - height: 16px; + width: 1.375em; + height: 1em; display: inline-block; + background-size: contain; } sidebar .play .movie-detail .side-content .subtitles-list ul li .flag.flag-english { background-image: url(../images/english.png); @@ -1705,10 +1738,10 @@ sidebar .play .movie-detail .side-content a.play-button { color: #FFF; font-weight: bold; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); - padding: 14px 26px; + padding: 0.875em 1.625em; border-radius: 2px; display: inline-block; - margin-top: 10px; + margin-top: 0.625em; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } sidebar .play .movie-detail .side-content a.play-button:hover { @@ -1872,18 +1905,18 @@ sidebar .play .movie-detail .side-content a.play-button:hover { } #video_player.vjs-user-inactive + #video_player_close { - -webkit-transition: opacity 0.8s ease; -moz-transition: opacity 0.8s ease; -o-transition: opacity 0.8s ease; + -webkit-transition: opacity 0.8s ease; transition: opacity 0.8s ease; opacity: 0.0; pointer-events: none; } #video_player.vjs-user-active + #video_player_close { - -webkit-transition: opacity 0.2s ease-out; -moz-transition: opacity 0.2s ease-out; -o-transition: opacity 0.2s ease-out; + -webkit-transition: opacity 0.2s ease-out; transition: opacity 0.2s ease-out; opacity: 1.0; pointer-events: all; diff --git a/index.html b/index.html index e1cfe47c..95327dc0 100644 --- a/index.html +++ b/index.html @@ -16,7 +16,8 @@

Popcorn Time

diff --git a/js/frontend/ui.js b/js/frontend/ui.js index 0792bb09..9492f006 100644 --- a/js/frontend/ui.js +++ b/js/frontend/ui.js @@ -62,6 +62,14 @@ jQuery(function ($) { $('.btn-os.fullscreen').toggleClass('active'); }); + //TV Mode button + $('.btn-os.tv-mode').on('click', function () { + win.toggleFullscreen(); + + $('body').toggleClass('tv-mode-enable'); + $('.btn-os.tv-mode').toggleClass('active'); + }); + // The app loading close button $('.popcorn-load .btn-close').click(function(event){ diff --git a/js/frontend/views/sidebar.js b/js/frontend/views/sidebar.js index 43806b19..44f3bf57 100644 --- a/js/frontend/views/sidebar.js +++ b/js/frontend/views/sidebar.js @@ -46,7 +46,7 @@ App.View.Sidebar = Backbone.View.extend({ $('.popcorn-load .progressinfo').text( i18n.__('connecting') ); App.loader(true, i18n.__('loadingVideo')); - $('body').removeClass().addClass('loading'); + $('body').addClass('loading'); // Used to keep track of loading status changes @@ -147,7 +147,7 @@ App.View.Sidebar = Backbone.View.extend({ }, show: function () { - $('body').removeClass().addClass('sidebar-open'); + $('body').addClass('sidebar-open'); this.$el.removeClass('hidden'); this.backdropCache = new Image(); diff --git a/js/vendor/video-js/font/vjs.eot b/js/vendor/video-js/font/vjs.eot index 32fe0a57..fd120122 100755 Binary files a/js/vendor/video-js/font/vjs.eot and b/js/vendor/video-js/font/vjs.eot differ diff --git a/js/vendor/video-js/font/vjs.svg b/js/vendor/video-js/font/vjs.svg index 95f1214e..b0ad0be7 100755 --- a/js/vendor/video-js/font/vjs.svg +++ b/js/vendor/video-js/font/vjs.svg @@ -3,7 +3,7 @@ Generated by IcoMoon - + @@ -59,4 +59,9 @@ + + + + + \ No newline at end of file diff --git a/js/vendor/video-js/font/vjs.ttf b/js/vendor/video-js/font/vjs.ttf index 6ff1f631..3330fcaa 100755 Binary files a/js/vendor/video-js/font/vjs.ttf and b/js/vendor/video-js/font/vjs.ttf differ diff --git a/js/vendor/video-js/font/vjs.woff b/js/vendor/video-js/font/vjs.woff index 1cb5ed97..5cc9b43f 100755 Binary files a/js/vendor/video-js/font/vjs.woff and b/js/vendor/video-js/font/vjs.woff differ diff --git a/package.json b/package.json index 63eed348..1f9a1bd8 100644 --- a/package.json +++ b/package.json @@ -7,9 +7,9 @@ "icon": "images/icon.png", "toolbar": false, "frame": false, - "width": 962, + "width": 965, "height": 600, - "min_width": 962, + "min_width": 965, "min_height": 600, "resizable": true }, diff --git a/sass/_layout.scss b/sass/_layout.scss old mode 100644 new mode 100755 index d6b40652..cbc3206f --- a/sass/_layout.scss +++ b/sass/_layout.scss @@ -13,8 +13,19 @@ body { font-family: 'Helvetica Neue', Arial, sans-serif; -webkit-font-smoothing: antialiased; color: $text-color; + font-size: 100%; } +body.tv-mode-enable{ + font-size: 31px; +} +@media (max-width: 1440px) { + body.tv-mode-enable{ + font-size: 23px; + } +} + + ::-webkit-input-placeholder { color: rgba(255, 255, 255, 0.4); font-weight: normal; @@ -150,6 +161,29 @@ a { text-decoration: none; } content: "\e00B"; } + &.tv-mode { + color:#000; + background:transparent; + margin:0; + width:32px; + height:32px; + border-radius:0; + display:block; + font-size: 12px; + } + &.tv-mode::before { + content: "\e623"; + font-family: VideoJS; + font-size: 1.85em; + line-height: 0.2em; + background: none; + display:block; + text-shadow: 0 1px 0 rgba(255,255,255,0.1) + } + &.tv-mode.active::before { + content: "\e623"; + } + } } } @@ -185,34 +219,34 @@ a { text-decoration: none; } #catalog-select { @include box-sizing(border-box); @include scrollable(); - width: 180px; + width: 11.25em; position: absolute; top: $header_height; - padding: 20px; + padding: 1.25em; height: calc(100% - #{$header_height}); background: #121212; border-right: 1px solid #000; font-family: 'Myriad Pro', 'Lucida Grande', sans-serif; h4 { - margin-top: 40px; + margin-top: 2.6em; color: #404040; font-weight: bold; - margin-bottom: 10px; + margin-bottom: 0.4em; } ul { li { display: block; font-weight: bold; - font-size: 13px; + font-size: 0.8125em; a { @include transition(background-color ease .3s); color: #999999; display: block; border-radius: 3px; - padding: 8px; + padding: 0.61538461538462em; &:hover { background: #010101; } } @@ -233,25 +267,25 @@ a { text-decoration: none; } .search { position: absolute; - right: 20px; - top: 12px; + right: 1.25em; + top: 0.75em; input { border: 2px solid rgba(255, 255, 255, 0.4); border-radius: 5px; color: #FFF; - font-size: 12px; - height: 15px; - padding: 8px 10px; - width: 115px; + font-size: 0.75em; + height: 1.25em; + padding: 0.5em 0.83333333333333em; + width: 9.58333333333333em; background: transparent; font-weight: bold; } i { position: absolute; - top: 10px; - right: 10px; + top: 0.4375em; + right: 0.625em; color: rgba(255, 255, 255, 0.4); } } @@ -262,7 +296,7 @@ a { text-decoration: none; } .container { height: calc(100% - #{$header_height}); overflow: hidden; - margin: #{$header_height} 0 0 180px; + margin: #{$header_height} 0 0 11.25em; position: relative; } @@ -271,7 +305,7 @@ a { text-decoration: none; } body.has-notification { .container { height: calc(100% - #{$header_height} - #{$notification_height}); - margin: $header_height + $notification_height 0 0 180px; + margin: $header_height + $notification_height 0 0 11.25em; } #catalog-select { diff --git a/sass/_moviedetails.scss b/sass/_moviedetails.scss old mode 100644 new mode 100755 index 49db0606..a590e1b3 --- a/sass/_moviedetails.scss +++ b/sass/_moviedetails.scss @@ -121,8 +121,8 @@ sidebar { position: absolute; top: 0; left: 0; - height: 30px; - width: 30px; + height: 2.5em; + width: 2.5em; z-index: 300; cursor: pointer; @@ -136,6 +136,11 @@ sidebar { opacity: 0.5; text-shadow: 0 0 5px #000; } + img { + width: 100%; + height: 100%; + + } } .poster-cont, @@ -168,25 +173,25 @@ sidebar { .movie-config { h4 { font-weight: bold; - font-size: 14px; - margin-left: 10px; - margin-top: 8px; + font-size: 0.875em; + margin-left: 0.71428571428571em; + margin-top: 0.57142857142857em; } .quality-cont { position: absolute; bottom: 0; left: 0; - height: 50px; + height: 3.125em; width: 100%; - margin-left:1px; + margin-left: 0.0625em; text-shadow: 0 0 2px #000; background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.85) 100%); -webkit-transform: translateZ(0); .quality-off { - margin-left: 10px; - font-size: 12px; + margin-left: 0.83333333333333em; + font-size: 0.75em; } } @@ -196,7 +201,7 @@ sidebar { font-weight: bold; color: #FFF; float: right; - font-size: 15px; + font-size: 0.9375em; } span.good { color: #27ae60; } @@ -220,43 +225,43 @@ sidebar { background: transparent; border-radius: 32px; display: block; - height: 12px; + height: 0.75em; position: absolute; - width: 25px; + width: 1.5625em; border: 2px solid #FFF; - left: 48px; - top: 28px; + left: 3em; + top: 1.75em; cursor: pointer; label { @include transition(color .2s ease); color: #fff; - font-size: 12px; + font-size: 0.75em; font-weight: bold; text-transform: uppercase; - width: 20px; + width: 1.66666666666667em; cursor: pointer; &:nth-of-type(1) { - left: -38px; + left: -3.16666666666667em; position: absolute; text-align: right; } &:nth-of-type(2) { position: absolute; - right: -30px; + right: -2.5em; text-align: left; } } input { - height: 12px; + height: 0.75em; left: 0; opacity: 0; position: absolute; top: 0; - width: 60px; + width: 3.75em; z-index: 2; cursor: pointer; @@ -268,7 +273,7 @@ sidebar { &:nth-of-type(2) { color: #FFF; } } - ~ .toggle { left: 2px; } + ~ .toggle { left: 0.125em; } } ~ :checked ~ label { @@ -276,7 +281,7 @@ sidebar { &:nth-of-type(2) { color: $popcorn-blue; } } - ~ :checked ~ .toggle { left: 13px; } + ~ :checked ~ .toggle { left: 0.8125em; } } } @@ -284,11 +289,11 @@ sidebar { @include transition(left .2s ease); background: $popcorn-blue; border-radius: 50%; - height: 10px; + height: 0.625em; left: 0; position: absolute; - top: 1px; - width: 10px; + top: 0.0625em; + width: 0.625em; z-index: 1; } } @@ -311,19 +316,19 @@ sidebar { h2 { font-weight: 200; - font-size: 34px; - margin-bottom: 10px; + font-size: 2.125em; + margin-bottom: 0.29411764705882em; color: #f5f7fa; - padding-right: 30px; + padding-right: 0.88235294117647em; } .movie-quick-info { - margin-bottom: 5px; + margin-bottom: 0.3125em; li { display: inline-block; vertical-align: top; - font-size: 12px; + font-size: 0.75em; color: $popcorn-blue; font-weight: bold; @@ -337,14 +342,14 @@ sidebar { } .health { - font-size: 24px; - width: 20px; - height: 20px; + font-size: 1.5em; + width: 0.83333333333333em; + height: 0.83333333333333em; text-align: center; - line-height: 20px; + line-height: 0.83333333333333em; cursor: pointer; position: absolute; - top: 10px; + top: 0.41666666666667em; right: 0; &.bad { @@ -372,29 +377,29 @@ sidebar { .rating { display: inline-block; position: relative; - font-size: 14px; - margin: 0 10px 0 0; + font-size: 0.875em; + margin: 0 0.71428571428571em 0 0; ul { color: #f5f7fa; } } p { - margin-top: 10px; + margin-top: 0.71428571428571em; color: #babdc2; - font-size: 14px; - line-height: 24px; + font-size: 0.875em; + line-height: 1.71428571428571em; } .subtitles-list { - margin-top: 10px; - margin-bottom: 10px; + margin-top: 0.625em; + margin-bottom: 0.625em; h4 { - font-size: 12px; + font-size: 0.75em; color: #f5f7fa; display: inline-block; vertical-align: middle; - margin-right: 5px; + margin-right: 0.41666666666667em; } ul { @@ -406,9 +411,10 @@ sidebar { vertical-align: top; span { - width: 22px; - height: 16px; + width: 1.375em; + height: 1em; display: inline-block; + background-size: contain; } .flag { @@ -432,10 +438,10 @@ sidebar { color: #FFF; font-weight: bold; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); - padding: 14px 26px; + padding: 0.875em 1.625em; border-radius: 2px; display: inline-block; - margin-top: 10px; + margin-top: 0.625em; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); &:hover { background-image: linear-gradient(to bottom, #4387de 0%, #175ab0 100%); } diff --git a/sass/_movielist.scss b/sass/_movielist.scss old mode 100644 new mode 100755 index 43ced822..692d1374 --- a/sass/_movielist.scss +++ b/sass/_movielist.scss @@ -3,11 +3,11 @@ margin-bottom: 15px; li { - height: 195px; - width: 132px; + width: 8.3125em; + height: 12.25em; padding: 0; display: inline-block; - margin: 12px; + margin: 0.75em; border-radius: 3px; position: relative; background: #000; @@ -21,12 +21,12 @@ display: block; position: absolute; bottom: 0; - line-height: 195px; + line-height: 3.21666666666667em; right: 0; top: 0; left: 0; text-align: center; - font-size: 60px; + font-size: 3.75em; opacity: 0; width: 101%; // "fixes" 1px line on hover height: 101%; // "fixes" 1px line on hover @@ -34,8 +34,8 @@ } .cover { - width: 133px; - height: 196px; + width: 8.3125em; + height: 12.25em; overflow: hidden; display: block; margin: 0 0 10px 0; @@ -78,22 +78,22 @@ a { display: block; - height: 196px; - width: 133px; + width: 8.3125em; + height: 12.25em; } strong { color: #FFF; display: block; font-weight: bold; - font-size: 14px; - overflow: hidden; + font-size: 0.875em; + overflow: visible; text-overflow: ellipsis; white-space: nowrap; } small { - font-size: 12px; + font-size: 0.75em; color: #666; }