From 0fb36b6334312792480f448cdcebbdaa4598f731 Mon Sep 17 00:00:00 2001 From: sairaj mote Date: Fri, 25 Jun 2021 18:09:37 +0530 Subject: [PATCH] UI update -- Added search suggestions with keyboard navigation -- added download indicator in torrent page -- removed torrent popup --- components.js | 6 +- css/main.css | 125 +++++++++---- css/main.min.css | 2 +- css/main.scss | 114 ++++++++---- index.html | 454 +++++++++++++++++++++++++++++------------------ 5 files changed, 446 insertions(+), 255 deletions(-) diff --git a/components.js b/components.js index 76f35c9..46d0d2e 100644 --- a/components.js +++ b/components.js @@ -369,8 +369,6 @@ input{ `; customElements.define('sm-input', class extends HTMLElement { - - static formAssociated = true; constructor() { super() @@ -1765,9 +1763,9 @@ customElements.define('strip-select', class extends HTMLElement{ this.stripSelect.addEventListener('change', e => { if (this._value !== e.target.value) { this._value = e.target.value - e.target.scrollIntoView({behavior: "smooth", block: "nearest", inline: "center"}) slot.assignedElements().forEach(elem => elem.removeAttribute('active')) e.target.setAttribute('active', '') + e.target.scrollIntoView({behavior: "smooth", block: "nearest", inline: "center"}) this.fireEvent() } }) @@ -1826,7 +1824,7 @@ stripOption.innerHTML = ` } .strip-option{ display: flex; - flex-strink: 0; + flex-shrink: 0; cursor: pointer; white-space: nowrap; border-radius: var(--border-radius); diff --git a/css/main.css b/css/main.css index 03d9050..ab1fbd5 100644 --- a/css/main.css +++ b/css/main.css @@ -78,7 +78,7 @@ main { p { font-size: 0.8; max-width: 60ch; - line-height: 1.5; + line-height: 1.7; color: rgba(var(--text-color), 0.8); } @@ -115,7 +115,7 @@ button:focus-visible { outline: rgba(var(--text-color), 1) 0.1rem solid; } -a:not([href=""]):any-link { +a.button:any-link { position: relative; display: inline-flex; align-items: center; @@ -132,7 +132,7 @@ a:not([href=""]):any-link { -webkit-tap-highlight-color: transparent; background-color: rgba(var(--text-color), 0.06); } -a:not([href=""]):any-link .icon { +a.button:any-link .icon { margin-right: 0.3rem; height: 1.2rem; } @@ -268,6 +268,10 @@ ul { justify-content: space-between; } +.w-100 { + width: 100%; +} + .ripple { position: absolute; border-radius: 50%; @@ -406,12 +410,18 @@ ul { color: rgba(var(--text-color), 0.7); } -#search_torrent { +.search-container { + position: relative; margin-bottom: 1rem; + justify-self: center; + width: min(28rem, 100%); +} + +#advance_torrent_search { + width: min(28rem, 100%); } .search-torrent { - width: min(28rem, 100%); --border-radius: 2rem; --background: rgba(var(--text-color), 0.06); } @@ -420,6 +430,41 @@ ul { fill: rgba(var(--text-color), 0.7); } +#search_suggestions { + top: 100%; + position: absolute; + z-index: 1; + width: 100%; + border-radius: 1rem; + margin-top: 0.5rem; + box-shadow: 0 0.5rem 1rem -0.5rem rgba(0, 0, 0, 0.2); + background-color: rgba(var(--foreground-color), 1); +} +#search_suggestions:not(:empty) { + padding: 0.5rem 0; +} + +a.search-suggestion { + display: flex; + cursor: pointer; + font-weight: 700; + font-size: 0.9rem; + padding: 0.8rem 1rem; + color: rgba(var(--text-color), 0.8); + outline: none; +} +a.search-suggestion:focus, a.search-suggestion:active { + outline: none; + border: 0; +} +a.search-suggestion:focus-visible { + outline: transparent; + background-color: rgba(var(--text-color), 0.1); +} +a.search-suggestion span { + font-weight: 500; +} + .torrent-container { padding: 1.5rem 0; display: grid; @@ -431,16 +476,23 @@ ul { display: grid; gap: 0 1rem; align-items: center; - grid-template-columns: auto 1fr auto; - cursor: pointer; + grid-template-columns: 1fr auto; padding: 1rem; border-radius: 0.3rem; -webkit-tap-highlight-color: transparent; background-color: rgba(var(--text-color), 0.06); } +.torrent-card .torrent-info { + gap: 0 1rem; + grid-template-columns: auto 1fr; + grid-template-areas: "torrent-icon ." "torrent-icon ."; +} .torrent-card .torrent-type-icon { padding: 0.8rem; } +.torrent-card__icon { + grid-area: torrent-icon; +} .torrent-card__icon .icon { height: 1.4rem; width: 1.4rem; @@ -457,17 +509,6 @@ ul { font-size: 0.85rem; color: rgba(var(--text-color), 0.7); } -.torrent-card__description { - font-size: 0.9rem; - overflow: hidden; - display: -webkit-box; - -webkit-line-clamp: 3; - -webkit-box-orient: vertical; - color: rgba(var(--text-color), 0.8); -} -.torrent-card__size { - font-weight: 500; -} .torrent-card__download-button { justify-self: flex-end; align-self: flex-start; @@ -505,10 +546,6 @@ ul { transition: stroke-dashoffset 0.3s; } -#torrent_popup { - --width: min(56rem, 100%); -} - .torrent-preview { display: grid; } @@ -538,6 +575,7 @@ ul { align-self: center; justify-self: center; padding: 2rem; + margin: 3rem 0 4rem 0; background-color: rgba(var(--text-color), 0.06); } #torrent_type_icon .icon { @@ -556,8 +594,8 @@ ul { } #torrent_name { - font-size: 1.5rem; - margin-bottom: 1rem; + font-size: 1.8rem; + margin-bottom: 2rem; } #torrent__description { @@ -567,7 +605,6 @@ ul { #torrent_uploader { font-weight: 500; - line-height: 1.7; margin-top: 1rem; width: auto; border-radius: 1.5rem; @@ -576,17 +613,24 @@ ul { background-color: rgba(var(--text-color), 0.1); } +#download_container { + display: flex; + align-items: center; + height: 3rem; + margin-top: 2rem; +} + #torrent_download_button { + align-self: flex-start; color: white; - width: 100%; flex-shrink: 0; padding: 0.7rem; - margin-top: 2rem; justify-content: center; background-color: var(--accent-color); } #torrent_download_button .icon { fill: white; + margin-right: 0.5rem; } #advance_search_section { @@ -613,7 +657,7 @@ sm-option { } #main_footer { - padding: 3rem 0; + padding: 2rem 0; background-color: rgba(var(--text-color), 0.06); } @@ -623,7 +667,7 @@ sm-option { } .torrent-card { - grid-template-columns: auto 1fr; + grid-template-columns: 1fr; } .torrent-card__icon { margin: 0; @@ -634,22 +678,20 @@ sm-option { .torrent-card__tags, .torrent-card__uploader { font-size: 0.7rem; } - .torrent-card__description { - display: none; - } .torrent-card__download-button, .torrent-card .progress-indicator { margin-top: 1rem; - grid-column: 2/3; - } - - #torrent_type_icon { - margin-bottom: 3rem; } #torrent_tags { font-size: 0.8rem; } + + #torrent_download_button, +#loader_container { + width: 100%; + justify-content: center; + } } @media only screen and (min-width: 640px) { .popup__header { @@ -682,7 +724,10 @@ sm-option { .torrent-preview { gap: 3rem; - grid-template-columns: 22rem 1fr; + } + + #torrent_name { + font-size: 4rem; } } @media only screen and (min-width: 1280px) { @@ -703,4 +748,8 @@ sm-option { ::-webkit-scrollbar-thumb:hover { background: rgba(var(--text-color), 0.5); } + + .search-suggestion:hover { + background-color: rgba(var(--text-color), 0.1); + } } \ No newline at end of file diff --git a/css/main.min.css b/css/main.min.css index 7880e4c..e176ee9 100644 --- a/css/main.min.css +++ b/css/main.min.css @@ -1 +1 @@ -a,button{color:inherit}.interact,.theme-switcher,.torrent-card,button{cursor:pointer;-webkit-tap-highlight-color:transparent}*{padding:0;margin:0;box-sizing:border-box;font-family:Inter,sans-serif}:root{font-size:clamp(1rem,1.2vmax,3rem)}body,html{height:100%;scroll-behavior:smooth}body{--accent-color:#304FFE;--light-shade:rgba(var(--text-color), 0.06);--text-color:17,17,17;--text-color-light:100,100,100;--foreground-color:255,255,255;--background-color:#F6f6f6;--error-color:red;--green:#00843b;color:rgba(var(--text-color),1);background:var(--background-color);display:flex;flex-direction:column}body[data-theme=dark]{--accent-color:#2353FF;--green:#13ff5a;--text-color:240,240,240;--text-color-light:170,170,170;--foreground-color:20,20,20;--background-color:#0a0a0a;--error-color:rgb(255, 106, 106)}main{flex:1}.full-bleed{grid-column:1/4}.h1{font-size:2.5rem}.h2,.page__title{font-size:2rem}.h3{font-size:1.4rem}.h4{font-size:1rem}.h5{font-size:.8rem}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}p{font-size:.8;max-width:60ch;line-height:1.5;color:rgba(var(--text-color),.8)}img{object-fit:cover}a{text-decoration:none}a:focus-visible{box-shadow:0 0 0 .1rem rgba(var(--text-color),1) inset}button{position:relative;display:inline-flex;overflow:hidden;align-items:center;background:0 0;outline:0;font-size:.9rem;font-weight:500;border-radius:.2rem;padding:.5rem .6rem;border:none}button:focus-visible{outline:solid rgba(var(--text-color),1)}a:not([href=""]):any-link{position:relative;display:inline-flex;align-items:center;background:0 0;cursor:pointer;outline:0;font-weight:500;font-size:.8rem;border-radius:.3rem;padding:.5rem .6rem;align-self:flex-start;text-decoration:none;color:rgba(var(--text-color),.7);-webkit-tap-highlight-color:transparent;background-color:rgba(var(--text-color),.06)}a:not([href=""]):any-link .icon{margin-right:.3rem;height:1.2rem}a:any-link:focus-visible{outline:solid rgba(var(--text-color),1)}sm-button{--border-radius:0.3rem}ul{list-style:none}.hide{opacity:0;pointer-events:none}.hide-completely{display:none!important}.no-transformations{transform:none!important}.overflow-ellipsis{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.breakable{overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.flex{display:flex}.grid{display:grid}.flow-column{grid-auto-flow:column}.gap-0-5{gap:.5rem}.gap-1{gap:1rem}.gap-1-5{gap:1.5rem}.gap-2{gap:2rem}.gap-3{gap:3rem}.text-align-right{text-align:right}.align-start{align-items:flex-start}.align-center{align-items:center}.text-center{text-align:center}.justify-start{justify-content:start}.justify-center{justify-content:center}.justify-right{margin-left:auto}.align-self-center{align-self:center}.justify-self-center{justify-self:center}.justify-self-start{justify-self:start}.direction-column{flex-direction:column}.space-between{justify-content:space-between}.ripple{position:absolute;border-radius:50%;transform:scale(0);background:rgba(var(--text-color),.16);pointer-events:none}.interact{position:relative;overflow:hidden}.observe-empty-state:empty{display:none}.observe-empty-state:not(:empty)~.empty-state{display:none}.icon{width:1.5rem;height:1.5rem;fill:rgba(var(--text-color),.9)}.page-layout{position:relative;display:grid;grid-template-columns:1rem minmax(0,1fr) 1rem}.page-layout>*{grid-column:2/3}.popup__header{display:grid;gap:.5rem;width:100%;padding:1rem 1.5rem;align-items:center;grid-template-columns:auto 1fr}.popup__header__close{padding:.5rem;cursor:pointer}.button--primary{color:#fff;font-weight:500;padding:.5rem 1.2rem;background-color:var(--accent-color)}.auto-grid-2{gap:2rem;grid-template-columns:1fr}#error_page,#loading_page{position:relative;display:grid;height:100%;place-content:center;justify-items:center}#main_header{position:relative;display:flex;padding:1rem;align-items:center;justify-content:space-between;grid-template-columns:repeat(3,1fr)}#main_header__logo{height:1.8rem;width:1.8rem}.theme-switcher{position:relative;justify-self:flex-end;width:1.5rem;height:1.5rem}.theme-switcher .icon{position:absolute;transition:transform .6s}.theme-switcher__checkbox{display:none}.theme-switcher__checkbox:checked~.moon-icon{transform:scale(0) rotate(90deg)}.theme-switcher__checkbox:not(:checked)~.sun-icon{transform:scale(0) rotate(-90deg)}.page{padding-bottom:2rem}#search_section{position:relative;display:grid;gap:.5rem 0;padding:4rem 0;justify-items:center}.app-icon{height:3rem;width:3rem}.app-name{font-weight:500;margin-bottom:1rem;font-size:.9rem;color:rgba(var(--text-color),.7)}#search_torrent{margin-bottom:1rem}.search-torrent{width:min(28rem,100%);--border-radius:2rem;--background:rgba(var(--text-color), 0.06)}.search-torrent .icon{height:1.2rem;fill:rgba(var(--text-color),.7)}.torrent-container{padding:1.5rem 0;display:grid;gap:.5rem;padding-bottom:4rem}.torrent-card{display:grid;gap:0 1rem;align-items:center;grid-template-columns:auto 1fr auto;padding:1rem;border-radius:.3rem;background-color:rgba(var(--text-color),.06)}.torrent-card .torrent-type-icon{padding:.8rem}.torrent-card__icon .icon{height:1.4rem;width:1.4rem}.torrent-card__title{font-weight:600;font-size:1.1rem;margin-bottom:.5rem}.torrent-card__tags,.torrent-card__uploader{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;color:rgba(var(--text-color),.7)}#torrent__description,#torrent_tags,#torrent_uploader,.progress-percent,.torrent-card__description{color:rgba(var(--text-color),.8)}.torrent-card__description{font-size:.9rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.torrent-card__size{font-weight:500}.torrent-card__download-button{justify-self:flex-end;align-self:flex-start;background-color:rgba(var(--text-color),.1)}.torrent-card__download-button .icon{height:1.4rem;margin-right:.5rem}.progress-indicator{justify-self:flex-end;height:2.3rem;padding:0 .6rem}.progress-percent{font-size:.9rem;font-weight:500}.progress-loader{height:1.2rem;width:1.2rem;fill:none;padding:.1rem;stroke-width:16;overflow:visible;margin-right:.5rem;stroke-dasharray:201;stroke-dashoffset:201;transform:rotate(-90deg);stroke:var(--accent-color);transition:stroke-dashoffset .3s}#torrent_popup{--width:min(56rem, 100%)}.torrent-preview{display:grid}.torrent-preview__info-section{display:flex;flex-direction:column;align-content:flex-start}.torrent-type-icon{display:flex;padding:1rem;border-radius:50%;align-items:center;justify-content:center;align-self:flex-start;aspect-ratio:1/1;flex-shrink:0;background-color:var(--accent-color)}#main_footer,#torrent_type_icon{background-color:rgba(var(--text-color),.06)}.torrent-type-icon .icon{fill:#fff}#torrent_type_icon{align-self:center;justify-self:center;padding:2rem}#torrent_type_icon .icon{height:3rem;width:3rem;fill:rgba(var(--text-color),.3)}#torrent_tags,#torrent_uploader{display:flex;width:100%;font-size:.85rem;margin-bottom:.3rem}#torrent_name{font-size:1.5rem;margin-bottom:1rem}#torrent__description{font-size:.9rem}#torrent_uploader{font-weight:500;line-height:1.7;margin-top:1rem;width:auto;border-radius:1.5rem;padding:.3rem .8rem;align-self:flex-start;background-color:rgba(var(--text-color),.1)}#torrent_download_button{color:#fff;width:100%;flex-shrink:0;padding:.7rem;margin-top:2rem;justify-content:center;background-color:var(--accent-color)}#torrent_download_button .icon{fill:#fff}#advance_search_section{align-items:flex-start;padding:1rem 0;margin-bottom:1rem}#advance_search_switch{justify-self:flex-start}#advance_search_switch h4{margin-left:1rem}sm-option{font-size:.9rem}#page_selector strip-option{--border-radius:0.3rem;--active-option-color:white;--active-option-backgroud-color:var(--accent-color)}#main_footer{padding:3rem 0}@media only screen and (max-width:640px){.popup__header{padding:0 1.5rem 0 .5rem}.torrent-card{grid-template-columns:auto 1fr}.torrent-card__icon{margin:0}.torrent-card__title{font-size:.95rem}.torrent-card__tags,.torrent-card__uploader{font-size:.7rem}.torrent-card__description{display:none}.torrent-card .progress-indicator,.torrent-card__download-button{margin-top:1rem;grid-column:2/3}#torrent_type_icon{margin-bottom:3rem}#torrent_tags{font-size:.8rem}}@media only screen and (min-width:640px){.popup__header{padding:1.5rem 1.5rem 0}#main_header,.torrent-card{padding:1.5rem}.auto-grid-2{grid-template-columns:1fr 1fr}.page-layout{grid-template-columns:1fr 90vw 1fr}.page__title{font-size:3rem}#torrent_popup{--min-height:80vh}.torrent-preview{gap:3rem;grid-template-columns:22rem 1fr}}@media only screen and (min-width:1280px){.page-layout{grid-template-columns:1fr 80vw 1fr}}@media (any-hover:hover){::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background:rgba(var(--text-color),.3);border-radius:1rem}::-webkit-scrollbar-thumb:hover{background:rgba(var(--text-color),.5)}} \ No newline at end of file +a,button{color:inherit}a,a.button:any-link{text-decoration:none}*{padding:0;margin:0;box-sizing:border-box;font-family:Inter,sans-serif}a.button:any-link,button{padding:.5rem .6rem;cursor:pointer;-webkit-tap-highlight-color:transparent}:root{font-size:clamp(1rem,1.2vmax,3rem)}body,html{height:100%;scroll-behavior:smooth}body{--accent-color:#304FFE;--light-shade:rgba(var(--text-color), 0.06);--text-color:17,17,17;--text-color-light:100,100,100;--foreground-color:255,255,255;--background-color:#F6f6f6;--error-color:red;--green:#00843b;color:rgba(var(--text-color),1);background:var(--background-color);display:flex;flex-direction:column}body[data-theme=dark]{--accent-color:#2353FF;--green:#13ff5a;--text-color:240,240,240;--text-color-light:170,170,170;--foreground-color:20,20,20;--background-color:#0a0a0a;--error-color:rgb(255, 106, 106)}main{flex:1}.full-bleed{grid-column:1/4}.h1{font-size:2.5rem}.h2,.page__title{font-size:2rem}.h3{font-size:1.4rem}.h4{font-size:1rem}.h5{font-size:.8rem}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}p{font-size:.8;max-width:60ch;line-height:1.7;color:rgba(var(--text-color),.8)}img{object-fit:cover}a:focus-visible{box-shadow:0 0 0 .1rem rgba(var(--text-color),1) inset}button{position:relative;display:inline-flex;overflow:hidden;align-items:center;background:0 0;outline:0;font-size:.9rem;font-weight:500;border-radius:.2rem;border:none}.app-name,a.button:any-link{font-weight:500;color:rgba(var(--text-color),.7)}button:focus-visible{outline:solid rgba(var(--text-color),1)}a.button:any-link{position:relative;display:inline-flex;align-items:center;background:0 0;outline:0;font-size:.8rem;border-radius:.3rem;align-self:flex-start;background-color:rgba(var(--text-color),.06)}a.button:any-link .icon{margin-right:.3rem;height:1.2rem}a:any-link:focus-visible{outline:solid rgba(var(--text-color),1)}sm-button{--border-radius:0.3rem}ul{list-style:none}.hide{opacity:0;pointer-events:none}.hide-completely{display:none!important}.no-transformations{transform:none!important}.overflow-ellipsis{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.breakable{overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.flex{display:flex}.grid{display:grid}.flow-column{grid-auto-flow:column}.gap-0-5{gap:.5rem}.gap-1{gap:1rem}.gap-1-5{gap:1.5rem}.gap-2{gap:2rem}.gap-3{gap:3rem}.text-align-right{text-align:right}.align-start{align-items:flex-start}.align-center{align-items:center}.text-center{text-align:center}.justify-start{justify-content:start}.justify-center{justify-content:center}.justify-right{margin-left:auto}.align-self-center{align-self:center}.justify-self-center{justify-self:center}.justify-self-start{justify-self:start}.direction-column{flex-direction:column}.space-between{justify-content:space-between}.w-100{width:100%}.ripple{position:absolute;border-radius:50%;transform:scale(0);background:rgba(var(--text-color),.16);pointer-events:none}#torrent_download_button,.button--primary,.torrent-type-icon{background-color:var(--accent-color)}.interact{position:relative;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent}.observe-empty-state:empty{display:none}.observe-empty-state:not(:empty)~.empty-state{display:none}.icon{width:1.5rem;height:1.5rem;fill:rgba(var(--text-color),.9)}.page-layout{position:relative;display:grid;grid-template-columns:1rem minmax(0,1fr) 1rem}.page-layout>*{grid-column:2/3}.popup__header{display:grid;gap:.5rem;width:100%;padding:1rem 1.5rem;align-items:center;grid-template-columns:auto 1fr}.popup__header__close{padding:.5rem;cursor:pointer}.button--primary{color:#fff;font-weight:500;padding:.5rem 1.2rem}.auto-grid-2{gap:2rem;grid-template-columns:1fr}#error_page,#loading_page{position:relative;display:grid;height:100%;place-content:center;justify-items:center}#main_header{position:relative;display:flex;padding:1rem;align-items:center;justify-content:space-between;grid-template-columns:repeat(3,1fr)}#main_header__logo{height:1.8rem;width:1.8rem}.theme-switcher{position:relative;justify-self:flex-end;width:1.5rem;height:1.5rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.theme-switcher .icon{position:absolute;transition:transform .6s}.theme-switcher__checkbox{display:none}.theme-switcher__checkbox:checked~.moon-icon{transform:scale(0) rotate(90deg)}.theme-switcher__checkbox:not(:checked)~.sun-icon{transform:scale(0) rotate(-90deg)}.page{padding-bottom:2rem}#search_section{position:relative;display:grid;gap:.5rem 0;padding:4rem 0;justify-items:center}.app-icon{height:3rem;width:3rem}#advance_torrent_search,.search-container{width:min(28rem,100%)}.app-name{margin-bottom:1rem;font-size:.9rem}.search-container{position:relative;margin-bottom:1rem;justify-self:center}.search-torrent{--border-radius:2rem;--background:rgba(var(--text-color), 0.06)}.search-torrent .icon{height:1.2rem;fill:rgba(var(--text-color),.7)}#search_suggestions{top:100%;position:absolute;z-index:1;width:100%;border-radius:1rem;margin-top:.5rem;box-shadow:0 .5rem 1rem -.5rem rgba(0,0,0,.2);background-color:rgba(var(--foreground-color),1)}#search_suggestions:not(:empty){padding:.5rem 0}a.search-suggestion{display:flex;cursor:pointer;font-weight:700;font-size:.9rem;padding:.8rem 1rem;color:rgba(var(--text-color),.8);outline:0}a.search-suggestion:active,a.search-suggestion:focus{outline:0;border:0}a.search-suggestion:focus-visible{outline:transparent;background-color:rgba(var(--text-color),.1)}a.search-suggestion span{font-weight:500}.torrent-container{padding:1.5rem 0;display:grid;gap:.5rem;padding-bottom:4rem}.torrent-card{display:grid;gap:0 1rem;align-items:center;grid-template-columns:1fr auto;padding:1rem;border-radius:.3rem;-webkit-tap-highlight-color:transparent;background-color:rgba(var(--text-color),.06)}.torrent-card .torrent-info{gap:0 1rem;grid-template-columns:auto 1fr;grid-template-areas:"torrent-icon ." "torrent-icon ."}.torrent-card .torrent-type-icon{padding:.8rem}.torrent-card__icon{grid-area:torrent-icon}.torrent-card__icon .icon{height:1.4rem;width:1.4rem}.torrent-card__title{font-weight:600;font-size:1.1rem;margin-bottom:.5rem}.torrent-card__tags,.torrent-card__uploader{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;color:rgba(var(--text-color),.7)}.torrent-card__download-button{justify-self:flex-end;align-self:flex-start;background-color:rgba(var(--text-color),.1)}.torrent-card__download-button .icon{height:1.4rem;margin-right:.5rem}.progress-indicator{justify-self:flex-end;height:2.3rem;padding:0 .6rem}.progress-percent{font-size:.9rem;font-weight:500;color:rgba(var(--text-color),.8)}.progress-loader{height:1.2rem;width:1.2rem;fill:none;padding:.1rem;stroke-width:16;overflow:visible;margin-right:.5rem;stroke-dasharray:201;stroke-dashoffset:201;transform:rotate(-90deg);stroke:var(--accent-color);transition:stroke-dashoffset .3s}.torrent-preview{display:grid}.torrent-preview__info-section{display:flex;flex-direction:column;align-content:flex-start}.torrent-type-icon{display:flex;padding:1rem;border-radius:50%;align-items:center;justify-content:center;align-self:flex-start;aspect-ratio:1/1;flex-shrink:0}#main_footer,#torrent_type_icon{background-color:rgba(var(--text-color),.06)}.torrent-type-icon .icon{fill:#fff}#torrent_type_icon{align-self:center;justify-self:center;padding:2rem;margin:3rem 0 4rem}#torrent_type_icon .icon{height:3rem;width:3rem;fill:rgba(var(--text-color),.3)}#torrent_tags,#torrent_uploader{display:flex;width:100%;font-size:.85rem;margin-bottom:.3rem;color:rgba(var(--text-color),.8)}#torrent_name{font-size:1.8rem;margin-bottom:2rem}#torrent__description{font-size:.9rem;color:rgba(var(--text-color),.8)}#torrent_uploader{font-weight:500;margin-top:1rem;width:auto;border-radius:1.5rem;padding:.3rem .8rem;align-self:flex-start;background-color:rgba(var(--text-color),.1)}#download_container{display:flex;align-items:center;height:3rem;margin-top:2rem}#torrent_download_button{align-self:flex-start;color:#fff;flex-shrink:0;padding:.7rem;justify-content:center}#torrent_download_button .icon{fill:#fff;margin-right:.5rem}#advance_search_section{align-items:flex-start;padding:1rem 0;margin-bottom:1rem}#advance_search_switch{justify-self:flex-start}#advance_search_switch h4{margin-left:1rem}sm-option{font-size:.9rem}#page_selector strip-option{--border-radius:0.3rem;--active-option-color:white;--active-option-backgroud-color:var(--accent-color)}#main_footer{padding:2rem 0}@media only screen and (max-width:640px){.popup__header{padding:0 1.5rem 0 .5rem}.torrent-card{grid-template-columns:1fr}.torrent-card__icon{margin:0}.torrent-card__title{font-size:.95rem}.torrent-card__tags,.torrent-card__uploader{font-size:.7rem}.torrent-card .progress-indicator,.torrent-card__download-button{margin-top:1rem}#torrent_tags{font-size:.8rem}#loader_container,#torrent_download_button{width:100%;justify-content:center}}@media only screen and (min-width:640px){.popup__header{padding:1.5rem 1.5rem 0}#main_header,.torrent-card{padding:1.5rem}.auto-grid-2{grid-template-columns:1fr 1fr}.page-layout{grid-template-columns:1fr 90vw 1fr}.page__title{font-size:3rem}#torrent_popup{--min-height:80vh}.torrent-preview{gap:3rem}#torrent_name{font-size:4rem}}@media only screen and (min-width:1280px){.page-layout{grid-template-columns:1fr 80vw 1fr}}@media (any-hover:hover){::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background:rgba(var(--text-color),.3);border-radius:1rem}::-webkit-scrollbar-thumb:hover{background:rgba(var(--text-color),.5)}.search-suggestion:hover{background-color:rgba(var(--text-color),.1)}} \ No newline at end of file diff --git a/css/main.scss b/css/main.scss index 375f888..37b27df 100644 --- a/css/main.scss +++ b/css/main.scss @@ -67,7 +67,7 @@ main{ p { font-size: 0.8; max-width: 60ch; - line-height: 1.5; + line-height: 1.7; color: rgba(var(--text-color), 0.8); } img{ @@ -100,7 +100,7 @@ button{ button:focus-visible{ outline: rgba(var(--text-color), 1) 0.1rem solid; } -a:not([href='']):any-link{ +a.button:any-link{ position: relative; display: inline-flex; align-items: center; @@ -222,6 +222,9 @@ ul{ .space-between{ justify-content: space-between; } +.w-100{ + width: 100%; +} .ripple{ position: absolute; border-radius: 50%; @@ -349,11 +352,16 @@ ul{ font-size: 0.9rem; color: rgba(var(--text-color), 0.7); } -#search_torrent{ +.search-container{ + position: relative; margin-bottom: 1rem; + justify-self: center; + width: min(28rem, 100%); +} +#advance_torrent_search{ + width: min(28rem, 100%); } .search-torrent{ - width: min(28rem, 100%); --border-radius: 2rem; --background: rgba(var(--text-color), 0.06); .icon{ @@ -361,6 +369,40 @@ ul{ fill: rgba(var(--text-color), 0.7); } } +#search_suggestions{ + top: 100%; + position: absolute; + z-index: 1; + width: 100%; + border-radius: 1rem; + margin-top: 0.5rem; + box-shadow: 0 0.5rem 1rem -0.5rem rgba(0,0,0,0.2); + background-color: rgba(var(--foreground-color), 1); + &:not(:empty){ + padding: 0.5rem 0; + } +} +a.search-suggestion{ + display: flex; + cursor: pointer; + font-weight: 700; + font-size: 0.9rem; + padding: 0.8rem 1rem; + color: rgba(var(--text-color), 0.8); + outline: none; + &:focus, + &:active{ + outline: none; + border: 0; + } + &:focus-visible{ + outline: transparent; + background-color: rgba(var(--text-color), 0.1); + } + span{ + font-weight: 500; + } +} .torrent-container{ padding: 1.5rem 0; @@ -373,16 +415,21 @@ ul{ display: grid; gap: 0 1rem; align-items: center; - grid-template-columns: auto 1fr auto; - cursor: pointer; + grid-template-columns: 1fr auto; padding: 1rem; border-radius: 0.3rem; -webkit-tap-highlight-color: transparent; background-color: rgba(var(--text-color), 0.06); + .torrent-info{ + gap: 0 1rem; + grid-template-columns: auto 1fr; + grid-template-areas: 'torrent-icon .' 'torrent-icon .'; + } .torrent-type-icon{ padding: 0.8rem; } &__icon{ + grid-area: torrent-icon; .icon{ height: 1.4rem; width: 1.4rem; @@ -401,17 +448,6 @@ ul{ font-size: 0.85rem; color: rgba(var(--text-color), 0.7); } - &__description{ - font-size: 0.9rem; - overflow: hidden; - display: -webkit-box; - -webkit-line-clamp: 3; - -webkit-box-orient: vertical; - color: rgba(var(--text-color), 0.8); - } - &__size{ - font-weight: 500; - } &__download-button{ justify-self: flex-end; align-self: flex-start; @@ -446,9 +482,6 @@ ul{ stroke: var(--accent-color); transition: stroke-dashoffset 0.3s; } -#torrent_popup{ - --width: min(56rem, 100%); -} .torrent-preview{ display: grid; } @@ -475,6 +508,7 @@ ul{ align-self: center; justify-self: center; padding: 2rem; + margin: 3rem 0 4rem 0; background-color: rgba(var(--text-color), 0.06); .icon{ height: 3rem; @@ -491,8 +525,8 @@ ul{ color: rgba(var(--text-color), 0.8); } #torrent_name{ - font-size: 1.5rem; - margin-bottom: 1rem; + font-size: 1.8rem; + margin-bottom: 2rem; } #torrent__description{ font-size: 0.9rem; @@ -500,7 +534,6 @@ ul{ } #torrent_uploader{ font-weight: 500; - line-height: 1.7; margin-top: 1rem; width: auto; border-radius: 1.5rem; @@ -508,16 +541,22 @@ ul{ align-self: flex-start; background-color: rgba(var(--text-color), 0.1); } +#download_container{ + display: flex; + align-items: center; + height: 3rem; + margin-top: 2rem; +} #torrent_download_button{ + align-self: flex-start; color: white; - width: 100%; flex-shrink: 0; padding: 0.7rem; - margin-top: 2rem; justify-content: center; background-color: var(--accent-color); .icon{ fill: white; + margin-right: 0.5rem; } } #advance_search_section{ @@ -543,7 +582,7 @@ sm-option{ } } #main_footer{ - padding: 3rem 0; + padding: 2rem 0; background-color: rgba(var(--text-color), 0.06); } @media only screen and (max-width: 640px) { @@ -551,7 +590,7 @@ sm-option{ padding: 0 1.5rem 0 0.5rem; } .torrent-card{ - grid-template-columns: auto 1fr; + grid-template-columns: 1fr; &__icon{ margin: 0; } @@ -562,21 +601,19 @@ sm-option{ &__uploader{ font-size: 0.7rem; } - &__description{ - display: none; - } &__download-button, .progress-indicator{ margin-top: 1rem; - grid-column: 2/3; } } - #torrent_type_icon{ - margin-bottom: 3rem; - } #torrent_tags{ font-size: 0.8rem; } + #torrent_download_button, + #loader_container{ + width: 100%; + justify-content: center; + } } @media only screen and (min-width: 640px) { .popup__header{ @@ -602,7 +639,9 @@ sm-option{ } .torrent-preview{ gap: 3rem; - grid-template-columns: 22rem 1fr; + } + #torrent_name{ + font-size: 4rem; } } @media only screen and (min-width: 1280px) { @@ -623,4 +662,9 @@ sm-option{ background: rgba(var(--text-color), 0.5); } } + .search-suggestion{ + &:hover{ + background-color: rgba(var(--text-color), 0.1); + } + } } \ No newline at end of file diff --git a/index.html b/index.html index 356ce9a..291b196 100644 --- a/index.html +++ b/index.html @@ -25,55 +25,87 @@ OK - - -
-
-
-
-

-

-
- -
-
-
- + RanchiMall
- + + + +

FLO Torrent

- - - +
+ + + + + + +
+
-
    +
    +
    +
    +
    +
    +
    +
    +
    +

    +

    +
    +
    + +
    +
    +