From 3a38d5cb03624c1af3b14056611bd3b440ecec94 Mon Sep 17 00:00:00 2001 From: sairaj mote Date: Mon, 26 Jul 2021 17:19:51 +0530 Subject: [PATCH] Added filter by project to intern updates page --- components.js | 369 +++++++++++++++++++++++++++++++++++- css/main.css | 460 +++++++++++++++++++-------------------------- css/main.min.css | 2 +- css/main.scss | 479 ++++++++++++++++++++--------------------------- new.html | 440 ++++++++++++++++++++----------------------- 5 files changed, 956 insertions(+), 794 deletions(-) diff --git a/components.js b/components.js index c4f88f3..ad5ea27 100644 --- a/components.js +++ b/components.js @@ -1996,6 +1996,8 @@ smTabHeader.innerHTML = ` --accent-color: #4d2588; --text-color: 17, 17, 17; --background-color: 255, 255, 255; + --gap: 1rem; + --justify-content: flex-start; --tab-indicator-border-radius: 0.3rem; } .tabs{ @@ -2008,10 +2010,8 @@ smTabHeader.innerHTML = ` display: -ms-grid; display: grid; grid-auto-flow: column; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - gap: 1rem; + justify-content: var(--justify-content); + gap: var(--gap); position: relative; overflow: auto hidden; max-width: 100%; @@ -2055,7 +2055,7 @@ smTabHeader.innerHTML = ` color: var(--accent-color); opacity: 1; } - @media (hover: none){ + @media (any-hover: none){ .tab-header::-webkit-scrollbar-track { -webkit-box-shadow: none !important; background-color: transparent !important; @@ -2065,6 +2065,11 @@ smTabHeader.innerHTML = ` background-color: transparent; } } + @media (any-hover: hover){ + .tab-header{ + overflow: hidden; + } + }
@@ -2092,6 +2097,7 @@ customElements.define('sm-tab-header', class extends HTMLElement { this.changeTab = this.changeTab.bind(this) this.handleClick = this.handleClick.bind(this) this.handlePanelChange = this.handlePanelChange.bind(this) + this.moveIndiactor = this.moveIndiactor.bind(this) } fireEvent(index) { @@ -2117,10 +2123,9 @@ customElements.define('sm-tab-header', class extends HTMLElement { this.prevTab.classList.remove('active') target.classList.add('active') - target.scrollIntoView({ + this.tabHeader.scrollTo({ behavior: 'smooth', - block: 'nearest', - inline: 'center' + left: target.getBoundingClientRect().left - this.tabHeader.getBoundingClientRect().left + this.tabHeader.scrollLeft }) this.moveIndiactor(target.getBoundingClientRect()) this.prevTab = target; @@ -2204,6 +2209,7 @@ smTab.innerHTML = ` display: -ms-inline-flexbox; display: inline-flex; z-index: 1; + --padding: 0.8rem 1rem; } .tab{ position: relative; @@ -2217,7 +2223,7 @@ smTab.innerHTML = ` cursor: pointer; -webkit-tap-highlight-color: transparent; white-space: nowrap; - padding: 0.4rem 0.8rem; + padding: var(--padding); font-weight: 500; word-spacing: 0.1rem; text-align: center; @@ -3000,4 +3006,349 @@ customElements.define('sm-notifications', class extends HTMLElement { childList: true, }) } +}) + +const stripSelect = document.createElement('template') +stripSelect.innerHTML = ` + +
+
+ +
+ +
+ +
+
+ +` +customElements.define('strip-select', class extends HTMLElement{ + constructor() { + super() + this.attachShadow({ + mode: 'open' + }).append(stripSelect.content.cloneNode(true)) + this.stripSelect = this.shadowRoot.querySelector('.strip-select') + this.slottedOptions + this._value + this.scrollDistance + + this.scrollLeft = this.scrollLeft.bind(this) + this.scrollRight = this.scrollRight.bind(this) + this.fireEvent = this.fireEvent.bind(this) + } + get value() { + return this._value + } + scrollLeft(){ + this.stripSelect.scrollBy({ + left: -this.scrollDistance, + behavior: 'smooth' + }) + } + + scrollRight(){ + this.stripSelect.scrollBy({ + left: this.scrollDistance, + behavior: 'smooth' + }) + } + fireEvent(){ + this.dispatchEvent( + new CustomEvent("change", { + bubbles: true, + composed: true, + detail: { + value: this._value + } + }) + ) + } + connectedCallback() { + this.setAttribute('role', 'listbox') + + const slot = this.shadowRoot.querySelector('slot') + const coverLeft = this.shadowRoot.querySelector('.cover--left') + const coverRight = this.shadowRoot.querySelector('.cover--right') + const navButtonLeft = this.shadowRoot.querySelector('.nav-button--left') + const navButtonRight = this.shadowRoot.querySelector('.nav-button--right') + slot.addEventListener('slotchange', e => { + const assignedElements = slot.assignedElements() + assignedElements.forEach(elem => { + if (elem.hasAttribute('selected')) { + elem.setAttribute('active', '') + this._value = elem.value + } + }) + if (!this.hasAttribute('multiline')) { + if (assignedElements.length > 0) { + firstOptionObserver.observe(slot.assignedElements()[0]) + lastOptionObserver.observe(slot.assignedElements()[slot.assignedElements().length - 1]) + } + else { + navButtonLeft.classList.add('hide') + navButtonRight.classList.add('hide') + coverLeft.classList.add('hide') + coverRight.classList.add('hide') + firstOptionObserver.disconnect() + lastOptionObserver.disconnect() + } + } + }) + const resObs = new ResizeObserver(entries => { + entries.forEach(entry => { + if(entry.contentBoxSize) { + // Firefox implements `contentBoxSize` as a single content rect, rather than an array + const contentBoxSize = Array.isArray(entry.contentBoxSize) ? entry.contentBoxSize[0] : entry.contentBoxSize; + + this.scrollDistance = contentBoxSize.inlineSize * 0.6 + } else { + this.scrollDistance = entry.contentRect.width * 0.6 + } + }) + }) + resObs.observe(this) + this.stripSelect.addEventListener('option-clicked', e => { + if (this._value !== e.target.value) { + this._value = e.target.value + slot.assignedElements().forEach(elem => elem.removeAttribute('active')) + e.target.setAttribute('active', '') + e.target.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "center" }) + this.fireEvent() + } + }) + const firstOptionObserver = new IntersectionObserver(entries => { + entries.forEach(entry => { + if (entry.isIntersecting) { + navButtonLeft.classList.add('hide') + coverLeft.classList.add('hide') + } + else { + navButtonLeft.classList.remove('hide') + coverLeft.classList.remove('hide') + } + }) + }, + { + threshold: 0.9, + root: this + }) + const lastOptionObserver = new IntersectionObserver(entries => { + entries.forEach(entry => { + if (entry.isIntersecting) { + navButtonRight.classList.add('hide') + coverRight.classList.add('hide') + } + else { + navButtonRight.classList.remove('hide') + coverRight.classList.remove('hide') + } + }) + }, + { + threshold: 0.9, + root: this + }) + navButtonLeft.addEventListener('click', this.scrollLeft) + navButtonRight.addEventListener('click', this.scrollRight) + } + disconnectedCallback() { + navButtonLeft.removeEventListener('click', this.scrollLeft) + navButtonRight.removeEventListener('click', this.scrollRight) + } +}) + +//Strip option +const stripOption = document.createElement('template') +stripOption.innerHTML = ` + + +` +customElements.define('strip-option', class extends HTMLElement{ + constructor() { + super() + this.attachShadow({ + mode: 'open' + }).append(stripOption.content.cloneNode(true)) + this._value + this.radioButton = this.shadowRoot.querySelector('input') + + this.fireEvent = this.fireEvent.bind(this) + this.handleKeyDown = this.handleKeyDown.bind(this) + } + get value() { + return this._value + } + fireEvent(){ + this.dispatchEvent( + new CustomEvent("option-clicked", { + bubbles: true, + composed: true, + detail: { + value: this._value + } + }) + ) + } + handleKeyDown(e){ + if (e.key === 'Enter' || e.key === 'Space') { + this.fireEvent() + } + } + connectedCallback() { + this.setAttribute('role', 'option') + this.setAttribute('tabindex', '0') + this._value = this.getAttribute('value') + this.addEventListener('click', this.fireEvent) + this.addEventListener('keydown', this.handleKeyDown) + } + disconnectedCallback() { + this.removeEventListener('click', this.fireEvent) + this.removeEventListener('keydown', this.handleKeyDown) + } }) \ No newline at end of file diff --git a/css/main.css b/css/main.css index a00d5a0..4eac9e9 100644 --- a/css/main.css +++ b/css/main.css @@ -39,7 +39,7 @@ body[data-theme=dark] * { } p { - max-width: 65ch; + max-width: 70ch; line-height: 1.7; color: rgba(var(--text-color), 0.8); } @@ -59,13 +59,25 @@ a:where([class]):focus-visible { box-shadow: 0 0 0 0.1rem rgba(var(--text-color), 1) inset; } -button { +button, +.button { position: relative; display: inline-flex; border: none; background-color: transparent; overflow: hidden; color: inherit; + cursor: pointer; +} + +button:disabled { + opacity: 0.5; +} + +a.button { + padding: 0.6rem 1.2rem; + border-radius: 0.3rem; + background-color: rgba(var(--text-color), 0.06); } a:any-link:focus-visible { @@ -502,22 +514,10 @@ ul { gap: 1rem; display: grid; position: relative; - animation: fadein 0.4s ease; + animation: fadein 0.3s; + grid-template-columns: minmax(0, 1fr); } -.fade-in { - -webkit-animation: fadein 0.4s ease; - animation: fadein 0.4s ease; -} - -@-webkit-keyframes fadein { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} @keyframes fadein { 0% { opacity: 0; @@ -614,49 +614,35 @@ ul { .intern-card { user-select: none; + padding: 0.8rem 1rem; + gap: 0.8rem; + grid-template-columns: auto 1fr auto; } -.intern-card span:first-of-type { +.intern-card__initials { display: flex; + height: 2.6rem; + width: 2.6rem; justify-content: center; align-items: center; - flex-shrink: 0; - padding: 0.8rem; border-radius: 50%; - background: #673AB7; - margin-right: 1rem; color: white; font-weight: 500; - font-size: 1.2rem; - line-height: 0; + font-size: 1rem; + text-transform: uppercase; + background-color: var(--accent-color); } -.intern-card span:first-of-type::after { - content: ""; - display: block; - padding-bottom: 100%; -} - -.intern-card span:nth-of-type(2) { - flex: 1; - text-transform: capitalize; - flex-shrink: 0; -} - -.intern-card span:nth-of-type(3) { - display: inline-flex; - align-items: center; - align-content: center; +.intern-card__score-wrapper { font-weight: 500; font-size: 1.2rem; - color: var(--light-text); } -.intern-card span:nth-of-type(3) svg { +.intern-card .icon { fill: #FF5722 !important; height: 1rem !important; width: 1rem !important; - margin-right: 0.2rem; + margin-left: 0.2rem; } .card { @@ -733,7 +719,11 @@ ul { } #updates_page { - padding: 0.5rem 1rem; + padding: 1rem; +} + +#updates_page__project_selector strip-option { + font-size: 0.9rem; } .intern-update { @@ -741,13 +731,13 @@ ul { gap: 0.5rem; padding: 1rem; border-radius: 0.5rem; + content-visibility: auto; background-color: rgba(var(--text-color), 0.06); } .update__topic { font-weight: 500; font-size: 1rem; - max-width: 60ch; text-transform: capitalize; } @@ -769,49 +759,15 @@ ul { .container-header { display: flex; align-items: center; - flex-direction: row; width: 100%; padding: 1rem; } -.container-header h3 { +.container-header h4 { flex: 1; font-weight: 500; } -.container-header span { - color: var(--accent-color); - border-radius: 0.2rem; - margin-right: 0.2rem; - padding: 0.5rem 1rem; - font-weight: 500; -} - -.back-arrow { - fill: none; - stroke: rgba(var(--text-color), 0.8); - stroke-width: 6; - overflow: visible; - width: 2rem; - height: 2rem; - padding: 0.5rem 0.5rem 0.5rem 0; - cursor: pointer; -} - -.close-svg, -.tick-mark { - fill: none; - stroke: rgba(var(--text-color), 0.8); - stroke-width: 6; - overflow: visible; - height: 2rem; - width: 2rem; -} - -.close-svg { - padding: 0.6rem; -} - #intern_info { flex-direction: column; } @@ -830,13 +786,6 @@ ul { font-size: 0.9rem; } -#intern_info div svg { - fill: rgba(var(--text-color), 1); - height: 2.5rem; - padding: 0.6rem; - overflow: visible; -} - #intern_info .gold-fill { fill: #FF5722; } @@ -846,20 +795,6 @@ ul { font-size: 2rem; } -#intern_info #update_intern_score button { - border: 1px solid rgba(var(--text-color), 0.1); -} - -#intern_info #update_intern_score button svg { - stroke-width: 10; - fill: none; - stroke: var(--accent-color); -} - -#intern_info #update_intern_score rect { - stroke: transparent; -} - #intern_info h3 { text-transform: capitalize; } @@ -887,10 +822,6 @@ ul { background: rgba(var(--text-color), 0.04); } -.opac { - opacity: 1 !important; -} - #task_list { padding: 1.5rem 0; } @@ -924,20 +855,18 @@ ul { .task-option { grid-area: options; - cursor: pointer; transition: opacity 0.3s ease; padding: 0.5rem; } .task-option .icon { - height: 1rem; - width: 1rem; + height: 1.2rem; + width: 1.2rem; } .task-description { grid-area: description; margin: 0; overflow: hidden; - max-width: 100%; text-overflow: ellipsis; white-space: pre-line; } @@ -960,7 +889,6 @@ ul { text-transform: capitalize; } .assigned-interns .assigned-intern button { - cursor: pointer; padding: 0.2rem; } .assigned-interns .assigned-intern button .icon { @@ -1103,10 +1031,6 @@ ul { text-transform: capitalize; } -.apply-btn { - padding: 0.3rem 0.6rem; -} - .watching { position: relative; display: flex; @@ -1120,7 +1044,6 @@ ul { } .watching button { - cursor: pointer; padding: 0.5rem; border-radius: 0.5rem; } @@ -1128,7 +1051,7 @@ ul { #right { align-items: flex-start; align-content: flex-start; - padding: 0 1rem; + padding: 1rem; } #right div:first-of-type h2 { @@ -1148,10 +1071,6 @@ ul { text-align: center; } -.capitalise { - text-transform: capitalize; -} - #show_all, #project_explorer { margin: 0; @@ -1176,152 +1095,6 @@ ul { overflow-y: auto; } -@media only screen and (min-width: 640px) { - .hide-on-desktop { - display: none !important; - } - - .hide-on-mobile { - display: flex; - } - - .hide-page-on-mobile { - display: grid; - } - - sm-popup { - --width: 24rem; - } - - .popup__header { - padding: 1.5rem 1.5rem 0 0.5rem; - } - - #main_nav { - padding: 0.5rem; - flex-direction: column; - align-items: flex-start; - } - - .nav-list__item { - flex-direction: row; - align-items: center; - border-radius: 0.5rem; - padding: 0.8rem; - margin-bottom: 0.25rem; - font-size: 1rem; - } - .nav-list__item--active { - background-color: rgba(var(--text-color), 0.06); - } - .nav-list__item .icon { - margin-right: 0.5rem; - margin-bottom: 0; - } - - .project-card--active { - background-color: rgba(var(--text-color), 0.1); - } - - #settings_page { - padding: 1rem 2rem; - } - - #sign_in { - width: 24rem; - height: auto; - border-radius: 0.4rem; - } - - #dashboard_page { - padding: 1rem; - grid-template-columns: 3fr 1fr; - } - - #dashboard_page #status_map_container { - align-self: flex-start; - } - - .task .apply-btn { - opacity: 0; - -webkit-transition: opacity 0.3s ease; - transition: opacity 0.3s ease; - } - - .task:hover .apply-btn { - opacity: 1; - } - - #admin_page { - padding: 1rem; - grid-template-columns: 18rem minmax(0, 1fr); - grid-template-rows: auto 1fr; - grid-template-areas: "admin-header admin-header" ". ."; - } - - #admin_page__header { - grid-area: admin-header; - } - - #edit_data_fig { - width: 16rem; - justify-self: center; - } - - #admin_page__left { - height: 100%; - overflow-y: hidden; - } - #admin_page__left sm-tab-panels, -#admin_page__left sm-tab-panels > * { - height: 100%; - flex-direction: column; - } - #admin_page__left sm-tab-panels { - overflow-y: hidden; - } - #admin_page__left sm-tab-panels > * { - display: flex; - } - #admin_page__left .list-container { - height: 100%; - overflow-y: auto; - } - - #project_explorer { - display: grid; - height: 100%; - grid-template-columns: 16rem 3fr; - grid-template-areas: "left right"; - } - - #project_explorer #left { - grid-area: left; - height: 100%; - overflow-y: auto; - padding-bottom: 1.5rem; - border-right: 1px solid rgba(var(--text-color), 0.06); - background-color: rgba(var(--text-color), 0.06); - } - - #project_explorer #left h4 { - margin-top: 0; - margin-bottom: 0.5rem; - color: #29B6F6; - font-size: 0.9rem; - } - - #project_explorer #right { - grid-area: right; - height: 100%; - overflow-y: auto; - } - - #main_page { - grid-template-columns: 12rem minmax(0, 1fr); - grid-template-areas: "main-header main-header" "main-nav sub-pages"; - } -} #update_of_project { color: rgba(var(--text-color), 0.8); } @@ -1390,6 +1163,154 @@ ul { fill: var(--accent-color); } +#admin_page__left { + height: 100%; + overflow-y: hidden; +} +#admin_page__left sm-tab-header { + --gap: 0; + --justify-content: stretch; + border-bottom: 1px solid rgba(var(--text-color), 0.2); +} +#admin_page__left sm-tab { + justify-content: center; +} +#admin_page__left sm-tab-panels, +#admin_page__left sm-tab-panels > * { + height: 100%; + flex-direction: column; +} +#admin_page__left sm-tab-panels { + overflow-y: hidden; +} +#admin_page__left sm-tab-panels > * { + display: flex; +} +#admin_page__left .list-container { + height: 100%; + overflow-y: auto; +} + +@media only screen and (min-width: 640px) { + .hide-on-desktop { + display: none !important; + } + + .hide-on-mobile { + display: flex; + } + + .hide-page-on-mobile { + display: grid; + } + + sm-popup { + --width: 26rem; + } + + .popup__header { + padding: 1.5rem 1.5rem 0 0.5rem; + } + + #main_nav { + padding: 0.5rem; + flex-direction: column; + align-items: flex-start; + } + + .nav-list__item { + flex-direction: row; + align-items: center; + border-radius: 0.5rem; + padding: 0.8rem; + margin-bottom: 0.25rem; + font-size: 1rem; + } + .nav-list__item--active { + background-color: rgba(var(--text-color), 0.06); + } + .nav-list__item .icon { + margin-right: 0.5rem; + margin-bottom: 0; + } + + .project-card--active { + background-color: rgba(var(--text-color), 0.1); + } + + #settings_page { + padding: 1rem 2rem; + } + + #sign_in { + width: 24rem; + height: auto; + border-radius: 0.4rem; + } + + #dashboard_page { + padding: 1rem; + grid-template-columns: 3fr 1fr; + } + + #dashboard_page #status_map_container { + align-self: flex-start; + } + + #admin_page { + padding: 1rem; + grid-template-columns: 18rem minmax(0, 1fr); + grid-template-rows: auto 1fr; + grid-template-areas: "admin-header admin-header" ". ."; + } + + #admin_page__header { + grid-area: admin-header; + } + + #edit_data_fig { + width: 16rem; + justify-self: center; + } + + #project_explorer { + display: grid; + height: 100%; + grid-template-columns: 16rem 3fr; + grid-template-areas: "left right"; + } + + #project_explorer #left { + grid-area: left; + height: 100%; + overflow-y: auto; + padding-bottom: 1.5rem; + border-right: 1px solid rgba(var(--text-color), 0.06); + background-color: rgba(var(--text-color), 0.06); + } + + #project_explorer #left h4 { + margin-top: 0; + margin-bottom: 0.5rem; + color: #29B6F6; + font-size: 0.9rem; + } + + #project_explorer #right { + grid-area: right; + height: 100%; + overflow-y: auto; + } + + #main_page { + grid-template-columns: 12rem minmax(0, 1fr); + grid-template-areas: "main-header main-header" "main-nav sub-pages"; + } + + #post_update_popup { + --width: 32rem; + } +} @media (any-hover: hover) { ::-webkit-scrollbar { width: 0.5rem; @@ -1425,6 +1346,15 @@ ul { .task-option:focus-within { opacity: 1; } + + .apply-btn { + opacity: 0; + transition: opacity 0.3s; + } + + .task:hover .apply-btn { + opacity: 1; + } } @media (any-hover: none) { .task-option, diff --git a/css/main.min.css b/css/main.min.css index 86e5cf5..e7ae32c 100644 --- a/css/main.min.css +++ b/css/main.min.css @@ -1 +1 @@ -.hide,.ripple{pointer-events:none}.card,.request-card{margin-bottom:.5rem;display:flex}.interact,.nav-list__item{-webkit-tap-highlight-color:transparent;cursor:pointer}#loading_page,#sign_in_page{top:0;left:0;right:0;bottom:0;place-content:center}#loading_page,#sign_in_page,.center{place-content:center}*{padding:0;margin:0;box-sizing:border-box;font-family:Roboto,sans-serif}:root{font-size:clamp(1rem,1.2vmax,3rem)}body,html{height:100%;scroll-behavior:smooth}body{color:rgba(var(--text-color),1);background:rgba(var(--background-color),1)}body,body *{--accent-color:#5D54A4;--text-color:17,17,17;--background-color:246,246,246;--foreground-color:white;--danger-color:red}body[data-theme=dark],body[data-theme=dark] *{--accent-color:#9D65C9;--text-color:240,240,240;--text-color-light:170,170,170;--background-color:10,10,10;--foreground-color:rgb(20, 20, 20);--danger-color:rgb(255, 106, 106)}p{max-width:65ch;line-height:1.7;color:rgba(var(--text-color),.8)}p:not(:last-of-type){margin-bottom:1.5rem}img{object-fit:cover}a:where([class]){color:inherit;text-decoration:none}a:where([class]):focus-visible{box-shadow:0 0 0 .1rem rgba(var(--text-color),1) inset}button{position:relative;display:inline-flex;border:none;background-color:transparent;overflow:hidden;color:inherit}.color-0-8,.nav-list__item{color:rgba(var(--text-color),.8)}a:any-link:focus-visible{outline:solid rgba(var(--text-color),1)}sm-button{--border-radius:0.3rem}sm-button[variant=primary] .icon{fill:rgba(var(--background-color),1)}#edit_data_fig,sm-button[disabled] .icon{fill:rgba(var(--text-color),.6)}.hide{opacity:0}.hide-completely{display:none!important}.overflow-ellipsis{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.task p,.task-description,.task__description,.update__message{white-space:pre-line}.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}.full-bleed{grid-column:1/4}.h1{font-size:2.5rem}.h2{font-size:2rem}.h3{font-size:1.4rem}.h4{font-size:1rem}.h5,.nav-list__item{font-size:.8rem}.uppercase{text-transform:uppercase}#intern_info h3,#status_map_container #status_map h2,.assigned-interns .assigned-intern,.capitalise,.capitalize,.project-card,.update__topic{text-transform:capitalize}.flex{display:flex}.grid{display:grid}.grid-3{grid-template-columns:1fr auto auto}.popup__header,.task-list-item{grid-template-columns:auto 1fr auto}.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}#loading_page,.center,.text-center{text-align:center}.align-start{align-items:flex-start}.align-center{align-items:center}.justify-start{justify-content:start}.justify-center,.task .left{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}.justify-self-end{justify-self:end}.direction-column{flex-direction:column}.space-between{justify-content:space-between}.w-100{width:100%}.weight-400{font-weight:400}.weight-500{font-weight:500}.ripple{position:absolute;border-radius:50%;transform:scale(0);background:rgba(var(--text-color),.16)}#main_nav,.container-card,.interact,.page,.task .left,.task .left .circle{position:relative}#main_nav,#sign_in_page{background-color:var(--foreground-color)}.interact{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)}.button__icon{height:1.2rem;width:1.2rem}.button__icon--left{margin-right:.5rem}.button__icon--right{margin-left:.5rem}#confirmation_popup,#prompt_popup{flex-direction:column}#confirmation_popup h4,#prompt_popup h4{font-weight:500;margin-bottom:.5rem}#confirmation_popup sm-button,#prompt_popup sm-button{margin:0}#confirmation_popup .flex,#prompt_popup .flex{padding:0;margin-top:1rem}#confirmation_popup .flex sm-button:first-of-type,#prompt_popup .flex sm-button:first-of-type{margin-right:.6rem;margin-left:auto}.popup__header{display:grid;gap:.5rem;width:100%;padding:0 1.5rem 0 .5rem;align-items:center}.popup__header__close{padding:.5rem;cursor:pointer}#main_page{height:100%;grid-template-rows:auto 1fr auto;grid-template-areas:"main-header" "sub-pages" "main-nav"}#main_header{grid-area:main-header;display:flex;gap:1rem;align-items:center;position:sticky;padding:1rem 1.5rem;background:var(--foreground-color);z-index:1}#main_nav{grid-area:main-nav;display:flex;align-items:center}.nav-list__item{display:flex;flex-direction:column;align-items:center;width:100%;padding:.5rem 0;font-weight:500}.active,.nav-list__item--active{color:var(--accent-color)}.nav-list__item--active .icon{fill:var(--accent-color)}.nav-list__item .icon{margin-bottom:.3rem}#sub_page_container{grid-area:sub-pages;height:100%;overflow-y:auto}.container-card{background:var(--foreground-color);border-radius:.5rem}.medium-top-bottom-margin{margin:.5rem 0}#sign_in_page{display:grid;position:fixed;z-index:5}#sign_in_form{width:22rem}.task{display:grid;grid-template-columns:auto 1fr;margin:0 1rem}.task:last-of-type .left .line{transform:scaleY(0)}.task .left{display:flex;padding-top:.5rem}.task .left .circle{display:inline-flex;align-self:flex-start;height:1rem;width:1rem;border-radius:50%;background:var(--foreground-color);border:2px solid;z-index:1}.task .left .line{position:absolute;left:50%;height:100%;width:2px;transform:translateX(-50%) scaleY(1);background-color:rgba(var(--text-color),.4)}.task .right{margin-left:1rem;display:flex;flex-direction:column;width:100%}.task .right .apply-cont{width:100%;display:flex;flex-direction:row}.task .right .apply-cont h4{-webkit-box-flex:1;-ms-flex:1;flex:1}.task h4{margin-top:.4rem;margin-bottom:1rem}.task p{padding-bottom:2rem}.task .assigned-interns .assigned-intern{padding:.4rem}.completed-task .left .circle{border:2px solid #00C853!important;background:#00C853!important}.completed-task .left .line{background-color:#00C853!important}.page{gap:1rem;display:grid;animation:fadein .4s ease}.fade-in{-webkit-animation:fadein .4s ease;animation:fadein .4s ease}@-webkit-keyframes fadein{0%{opacity:0}100%{opacity:1}}@keyframes fadein{0%{opacity:0}100%{opacity:1}}.title{font-weight:500}.padding{padding:1rem}#dashboard_page{padding-bottom:5rem;grid-template-columns:auto}.show{display:block}.hide-on-mobile,.hide-page-on-mobile{display:none}.hide-on-desktop{display:initial}.no-transformations{-webkit-transform:none!important;transform:none!important}.no-bottom-margin{margin-bottom:0}.top-margin{margin-top:.3rem}.spacer{flex:1}.container-header,.logo{align-items:center;width:100%}.logo{display:flex;font-size:1.2rem}.logo .cls-2,.logo .cls-3{fill:rgba(var(--text-color),1);font-size:146.9px;font-family:ArialMT,Arial}.logo svg{height:2.5rem}.logo h4{margin:0}.active{opacity:1!important}.active svg{fill:var(--accent-color)}.svg-margin-right svg{margin-right:.5rem}.project-card{padding:1rem;font-weight:500;line-height:1.5;color:rgba(var(--text-color),.8)}.intern-card{user-select:none}.intern-card span:first-of-type{display:flex;justify-content:center;align-items:center;flex-shrink:0;padding:.8rem;border-radius:50%;background:#673AB7;margin-right:1rem;color:#fff;font-weight:500;font-size:1.2rem;line-height:0}.intern-card span:first-of-type::after{content:"";display:block;padding-bottom:100%}.card,.request-card{position:relative;padding:1rem}.intern-card span:nth-of-type(2){flex:1;text-transform:capitalize;flex-shrink:0}.intern-card span:nth-of-type(3){display:inline-flex;align-items:center;align-content:center;font-weight:500;font-size:1.2rem;color:var(--light-text)}.intern-card span:nth-of-type(3) svg{fill:#FF5722!important;height:1rem!important;width:1rem!important;margin-right:.2rem}.card{flex-direction:row;align-items:center}.request-card{align-items:left;flex-wrap:wrap;border-bottom:1px solid rgba(var(--text-color),.1)}.request-card p{margin-top:0;width:100%;font-size:1rem}.request-card b{font-weight:500}.request-card button{padding:.2rem .6rem .2rem 0}.request-card button:first-of-type{margin-left:auto}.request-card:last-of-type{border-bottom:none}#intern_updates .container-header{padding:0 1rem;border-bottom:1px solid rgba(var(--text-color),.1)}#intern_updates .container-header button{padding:1rem 0;border-bottom:.2rem solid transparent;border-radius:0;opacity:.7}#intern_updates .container-header button:first-of-type{margin-right:1rem}#intern_updates .container-header button:last-of-type{margin-right:1rem}#intern_updates .container-header .active{color:rgba(var(--text-color),1);border-bottom:.2rem solid var(--accent-color)}#requests_container{display:flex;max-height:80vh;overflow-y:auto;flex-direction:column}#updates{transition:opacity .3s ease}#updates_page{padding:.5rem 1rem}.intern-update{display:grid;gap:.5rem;padding:1rem;border-radius:.5rem;background-color:rgba(var(--text-color),.06)}.update__topic{font-weight:500;font-size:1rem;max-width:60ch}.update__sender{color:var(--accent-color);font-size:.9rem;font-weight:500}.update__time{font-size:.85rem;color:rgba(var(--text-color),.8)}.container-header{display:flex;flex-direction:row;padding:1rem}.container-header h3{flex:1;font-weight:500}.container-header span{color:var(--accent-color);border-radius:.2rem;margin-right:.2rem;padding:.5rem 1rem;font-weight:500}.back-arrow{fill:none;stroke:rgba(var(--text-color),.8);stroke-width:6;overflow:visible;width:2rem;height:2rem;padding:.5rem .5rem .5rem 0;cursor:pointer}.close-svg,.tick-mark{fill:none;stroke:rgba(var(--text-color),.8);stroke-width:6;overflow:visible;height:2rem;width:2rem}.close-svg{padding:.6rem}#intern_info{flex-direction:column}#intern_info div{display:flex;flex-direction:row;align-items:center;width:100%;margin-bottom:1rem}#intern_info div span{flex:1;word-break:break-all;font-size:.9rem}#intern_info div svg{fill:rgba(var(--text-color),1);height:2.5rem;padding:.6rem;overflow:visible}.assigned-interns .assigned-intern button .icon,.task-option .icon{height:1rem;width:1rem}#intern_info .gold-fill{fill:#FF5722}#intern_info #update_intern_score h4{margin:0;font-size:2rem}#intern_info #update_intern_score button{border:1px solid}#intern_info #update_intern_score button svg{stroke-width:10;fill:none;stroke:var(--accent-color)}#intern_info #update_intern_score rect{stroke:transparent}#intern_info h4,#intern_info h5{margin-top:.5rem}#project_info{flex-direction:column}.branch-btn{padding:.5rem;border-radius:.2rem;margin:.5rem .5rem .5rem 0;user-select:none}.active-branch{opacity:1;color:var(--accent-color);background:rgba(var(--text-color),.04)}.opac{opacity:1!important}#task_list{padding:1.5rem 0}.task-list-item{display:grid;grid-template-areas:"status title options" "status interns interns" "status description description";padding:1rem;gap:.5rem;align-items:center;border-radius:.5rem;background:rgba(var(--text-color),.02)}#loading_page,#task_context{background-color:var(--foreground-color)}.task-list-item sm-checkbox{grid-area:status;align-self:flex-start;padding:.5rem .5rem .5rem 0}.task-list-item h4{font-weight:500;margin:0}.task-list-item .title{grid-area:title;line-height:1.6}.task-list-item .assigned-interns{grid-area:interns}.task-option{grid-area:options;cursor:pointer;transition:opacity .3s ease;padding:.5rem}.task-description{grid-area:description;margin:0;overflow:hidden;max-width:100%;text-overflow:ellipsis}.assigned-interns{display:flex;flex-wrap:wrap}.assigned-interns .assigned-intern{user-select:none;display:flex;font-size:.8rem;margin:.2rem .5rem .2rem 0;padding:.2rem 0 .2rem .4rem;border-radius:.2rem;border:1px solid;align-items:center;white-space:nowrap}.assigned-interns .assigned-intern button{cursor:pointer;padding:.2rem}#task_context{position:absolute;top:0;right:0;margin:0 2rem;list-style:none;padding:.5rem 0;width:max-content;border-radius:.3rem;transition:.3s opacity ease;box-shadow:0 .5rem 1rem -.3rem rgba(0,0,0,.3)}#task_context li{padding:.8rem 1.5rem;display:flex;align-items:center}#task_context li .icon{margin-right:.5rem}#branch_container{display:flex;flex-flow:row wrap;margin:1rem 0}#interns_list{flex-direction:column;min-width:20rem}#interns_list #interns_list_container{min-height:50vh;max-height:50vh;overflow-y:auto}#best_interns_container,#project_list_container{margin-bottom:1rem}#best_interns_container .container-header .icon,#project_list_container .container-header .icon{margin-right:.5rem}#edit_data_fig{width:60vw;margin:2rem 0}.header{position:sticky;top:0;background:var(--foreground-color);display:flex;flex-flow:row;border-bottom:1px solid rgba(var(--text-color),.1);align-items:center;z-index:2}.header svg{fill:none;stroke:rgba(var(--text-color),.8);stroke-width:6;overflow:visible;height:2rem;width:2rem;cursor:pointer;padding:.4rem;margin-left:1rem}.header h3{padding:0 .5rem;display:inline-flexbox}.appear-on-scroll-up{position:fixed!important;top:0;width:100%;height:4rem!important}#loading_page{display:grid;position:fixed;z-index:5;justify-items:center}.loading-message{font-size:1.3rem;margin:1.5rem 0 .5rem}#loading_page__footer{position:absolute;bottom:0;width:100%;padding:1.5rem}#loading_page__footer .icon{height:4rem;width:4rem}#status_map_container{position:relative;overflow:hidden}#status_map_container #status_map{position:relative;padding:0 1rem 1rem}#status_map_container #status_map h2{margin:.4rem 0}.apply-btn{padding:.3rem .6rem}.watching{position:relative;display:flex;padding:1rem;align-items:center}.watching h4{flex:1;font-weight:500}.watching button{cursor:pointer;padding:.5rem;border-radius:.5rem}#right{align-items:flex-start;align-content:flex-start;padding:0 1rem}#right div:first-of-type h2{flex:1;margin:.4rem 0}#right div:first-of-type button{border:1px solid}.center{position:relative;display:grid;height:100%}#project_explorer,#show_all{margin:0}#admin_page{display:grid;gap:1rem;height:100%}#admin_page__header{display:grid;gap:0 1rem;grid-template-columns:1fr auto;align-items:center}#project_editing_panel{padding:1rem;height:100%;overflow-y:auto}@media only screen and (min-width:640px){#admin_page__left,#admin_page__left sm-tab-panels{overflow-y:hidden}#admin_page__left .list-container,#project_explorer #left,#project_explorer #right{height:100%;overflow-y:auto}.hide-on-desktop{display:none!important}.hide-on-mobile{display:flex}.hide-page-on-mobile{display:grid}sm-popup{--width:24rem}.popup__header{padding:1.5rem 1.5rem 0 .5rem}#main_nav{padding:.5rem;flex-direction:column;align-items:flex-start}.nav-list__item{flex-direction:row;align-items:center;border-radius:.5rem;padding:.8rem;margin-bottom:.25rem;font-size:1rem}.nav-list__item--active{background-color:rgba(var(--text-color),.06)}.nav-list__item .icon{margin-right:.5rem;margin-bottom:0}.project-card--active{background-color:rgba(var(--text-color),.1)}#settings_page{padding:1rem 2rem}#sign_in{width:24rem;height:auto;border-radius:.4rem}#dashboard_page{padding:1rem;grid-template-columns:3fr 1fr}#dashboard_page #status_map_container{align-self:flex-start}.task .apply-btn{opacity:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease}.task:hover .apply-btn{opacity:1}#admin_page{padding:1rem;grid-template-columns:18rem minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"admin-header admin-header" ". ."}#admin_page__header{grid-area:admin-header}#edit_data_fig{width:16rem;justify-self:center}#admin_page__left{height:100%}#admin_page__left sm-tab-panels,#admin_page__left sm-tab-panels>*{height:100%;flex-direction:column}#admin_page__left sm-tab-panels>*{display:flex}#project_explorer{display:grid;height:100%;grid-template-columns:16rem 3fr;grid-template-areas:"left right"}#project_explorer #left{grid-area:left;padding-bottom:1.5rem;border-right:1px solid rgba(var(--text-color),.06);background-color:rgba(var(--text-color),.06)}#project_explorer #left h4{margin-top:0;margin-bottom:.5rem;color:#29B6F6;font-size:.9rem}#project_explorer #right{grid-area:right}#main_page{grid-template-columns:12rem minmax(0,1fr);grid-template-areas:"main-header main-header" "main-nav sub-pages"}}#update_of_project,.task__description,.task__project-title{color:rgba(var(--text-color),.8)}#update_of_task{font-size:1.3rem;margin:.4rem 0 1.8rem}ul{padding:0;list-style:none}#assigned_task_list{display:grid;gap:1rem;margin-top:1rem;align-content:flex-start}.task-card{display:grid;padding:1rem;border-radius:.5rem;background-color:var(--foreground-color)}.task__header{display:grid;gap:0 .5rem;align-items:flex-start;grid-template-columns:1fr auto;grid-template-areas:". send-button" ". send-button"}.task__project-title{font-size:.9rem;font-weight:500;border-radius:.3rem;padding:.3rem .5rem;justify-self:flex-start;margin-bottom:.5rem!important;background-color:rgba(var(--text-color),.06)}.task__title{font-size:1.3rem;margin-bottom:1rem!important}.send-update-button{grid-area:send-button;--padding:0.6rem 0.8rem;color:var(--accent-color)}.send-update-button .icon{height:1.2rem;width:1.2rem;fill:var(--accent-color)}@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)}.interact:hover{background-color:rgba(var(--text-color),.06)}.send-update-button{opacity:0;transition:opacity .3s}.task-card:hover .send-update-button{opacity:1}.task-option{opacity:0}.task-list-item:hover .task-option,.task-option:focus-within{opacity:1}}@media (any-hover:none){.apply-btn,.task-option{opacity:1}} \ No newline at end of file +.hide,.ripple{pointer-events:none}.interact,.nav-list__item{-webkit-tap-highlight-color:transparent;cursor:pointer}#loading_page,#sign_in_page{left:0;bottom:0;place-content:center}#loading_page,#sign_in_page,.center{place-content:center}#updates,.task-option{transition:opacity .3s ease}*{padding:0;margin:0;box-sizing:border-box;font-family:Roboto,sans-serif}:root{font-size:clamp(1rem,1.2vmax,3rem)}body,html{height:100%;scroll-behavior:smooth}body{color:rgba(var(--text-color),1);background:rgba(var(--background-color),1)}body,body *{--accent-color:#5D54A4;--text-color:17,17,17;--background-color:246,246,246;--foreground-color:white;--danger-color:red}body[data-theme=dark],body[data-theme=dark] *{--accent-color:#9D65C9;--text-color:240,240,240;--text-color-light:170,170,170;--background-color:10,10,10;--foreground-color:rgb(20, 20, 20);--danger-color:rgb(255, 106, 106)}p{max-width:70ch;line-height:1.7;color:rgba(var(--text-color),.8)}p:not(:last-of-type){margin-bottom:1.5rem}img{object-fit:cover}a:where([class]){color:inherit;text-decoration:none}a:where([class]):focus-visible{box-shadow:0 0 0 .1rem rgba(var(--text-color),1) inset}.button,button{position:relative;display:inline-flex;border:none;background-color:transparent;overflow:hidden;color:inherit;cursor:pointer}.intern-update,a.button{background-color:rgba(var(--text-color),.06)}.color-0-8,.nav-list__item{color:rgba(var(--text-color),.8)}button:disabled{opacity:.5}a.button{padding:.6rem 1.2rem;border-radius:.3rem}a:any-link:focus-visible{outline:solid rgba(var(--text-color),1)}sm-button{--border-radius:0.3rem}sm-button[variant=primary] .icon{fill:rgba(var(--background-color),1)}#edit_data_fig,sm-button[disabled] .icon{fill:rgba(var(--text-color),.6)}.hide{opacity:0}.hide-completely{display:none!important}.overflow-ellipsis{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.task p,.task-description,.task__description,.update__message{white-space:pre-line}.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}.full-bleed{grid-column:1/4}.h1{font-size:2.5rem}.h2{font-size:2rem}.h3{font-size:1.4rem}.h4{font-size:1rem}.h5,.nav-list__item{font-size:.8rem}.uppercase{text-transform:uppercase}.capitalize,.project-card{text-transform:capitalize}.flex{display:flex}.grid{display:grid}.grid-3{grid-template-columns:1fr auto auto}.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}#loading_page,.center,.text-center{text-align:center}.align-start{align-items:flex-start}.align-center{align-items: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}.justify-self-end{justify-self:end}.direction-column{flex-direction:column}.space-between{justify-content:space-between}.w-100{width:100%}.weight-400{font-weight:400}.weight-500{font-weight:500}.ripple{position:absolute;border-radius:50%;transform:scale(0);background:rgba(var(--text-color),.16)}#main_nav,.container-card,.interact{position:relative}#main_nav,#sign_in_page{background-color:var(--foreground-color)}.interact{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)}.button__icon{height:1.2rem;width:1.2rem}.button__icon--left{margin-right:.5rem}.button__icon--right{margin-left:.5rem}#confirmation_popup,#prompt_popup{flex-direction:column}#confirmation_popup h4,#prompt_popup h4{font-weight:500;margin-bottom:.5rem}#confirmation_popup sm-button,#prompt_popup sm-button{margin:0}#confirmation_popup .flex,#prompt_popup .flex{padding:0;margin-top:1rem}#confirmation_popup .flex sm-button:first-of-type,#prompt_popup .flex sm-button:first-of-type{margin-right:.6rem;margin-left:auto}.popup__header{display:grid;gap:.5rem;width:100%;padding:0 1.5rem 0 .5rem;align-items:center;grid-template-columns:auto 1fr auto}.popup__header__close{padding:.5rem;cursor:pointer}#main_page{height:100%;grid-template-rows:auto 1fr auto;grid-template-areas:"main-header" "sub-pages" "main-nav"}#main_header{grid-area:main-header;display:flex;gap:1rem;align-items:center;position:sticky;padding:1rem 1.5rem;background:var(--foreground-color);z-index:1}#main_nav{grid-area:main-nav;display:flex;align-items:center}.nav-list__item{display:flex;flex-direction:column;align-items:center;width:100%;padding:.5rem 0;font-weight:500}.active,.nav-list__item--active,.update__sender{color:var(--accent-color)}.nav-list__item--active .icon{fill:var(--accent-color)}.nav-list__item .icon{margin-bottom:.3rem}#sub_page_container{grid-area:sub-pages;height:100%;overflow-y:auto}.container-card{background:var(--foreground-color);border-radius:.5rem}.medium-top-bottom-margin{margin:.5rem 0}#sign_in_page{display:grid;position:fixed;z-index:5;top:0;right:0}#sign_in_form{width:22rem}.task{display:grid;grid-template-columns:auto 1fr;margin:0 1rem}.task:last-of-type .left .line{transform:scaleY(0)}.task .left{display:flex;position:relative;justify-content:center;padding-top:.5rem}.task .left .circle{display:inline-flex;position:relative;align-self:flex-start;height:1rem;width:1rem;border-radius:50%;background:var(--foreground-color);border:2px solid;z-index:1}.task .left .line{position:absolute;left:50%;height:100%;width:2px;transform:translateX(-50%) scaleY(1);background-color:rgba(var(--text-color),.4)}.task .right{margin-left:1rem;display:flex;flex-direction:column;width:100%}.task .right .apply-cont{width:100%;display:flex;flex-direction:row}.task .right .apply-cont h4{-webkit-box-flex:1;-ms-flex:1;flex:1}.task h4{margin-top:.4rem;margin-bottom:1rem}.task p{padding-bottom:2rem}.task .assigned-interns .assigned-intern{padding:.4rem}.completed-task .left .circle{border:2px solid #00C853!important;background:#00C853!important}.completed-task .left .line{background-color:#00C853!important}.page{gap:1rem;display:grid;position:relative;animation:fadein .3s;grid-template-columns:minmax(0,1fr)}@keyframes fadein{0%{opacity:0}100%{opacity:1}}.title{font-weight:500}.padding{padding:1rem}#dashboard_page{padding-bottom:5rem;grid-template-columns:auto}.intern-card,.task-list-item{grid-template-columns:auto 1fr auto}.show{display:block}.hide-on-mobile,.hide-page-on-mobile{display:none}.hide-on-desktop{display:initial}.no-transformations{-webkit-transform:none!important;transform:none!important}.no-bottom-margin{margin-bottom:0}.top-margin{margin-top:.3rem}.spacer{flex:1}.logo{display:flex;align-items:center;font-size:1.2rem;width:100%}.logo .cls-2,.logo .cls-3{fill:rgba(var(--text-color),1);font-size:146.9px;font-family:ArialMT,Arial}.logo svg{height:2.5rem}.logo h4{margin:0}.card,.request-card{position:relative;margin-bottom:.5rem;padding:1rem;display:flex}.active{opacity:1!important}.active svg{fill:var(--accent-color)}.svg-margin-right svg{margin-right:.5rem}.project-card{padding:1rem;font-weight:500;line-height:1.5;color:rgba(var(--text-color),.8)}.intern-card{user-select:none;padding:.8rem 1rem;gap:.8rem}.intern-card__initials{display:flex;height:2.6rem;width:2.6rem;justify-content:center;align-items:center;border-radius:50%;color:#fff;font-weight:500;font-size:1rem;text-transform:uppercase;background-color:var(--accent-color)}.intern-card__score-wrapper{font-weight:500;font-size:1.2rem}.intern-card .icon{fill:#FF5722!important;height:1rem!important;width:1rem!important;margin-left:.2rem}.card{flex-direction:row;align-items:center}.request-card{align-items:left;flex-wrap:wrap;border-bottom:1px solid rgba(var(--text-color),.1)}.request-card p{margin-top:0;width:100%;font-size:1rem}.request-card b{font-weight:500}.request-card button{padding:.2rem .6rem .2rem 0}.request-card button:first-of-type{margin-left:auto}.request-card:last-of-type{border-bottom:none}#intern_updates .container-header{padding:0 1rem;border-bottom:1px solid rgba(var(--text-color),.1)}#intern_updates .container-header button{padding:1rem 0;border-bottom:.2rem solid transparent;border-radius:0;opacity:.7}#intern_updates .container-header button:first-of-type{margin-right:1rem}#intern_updates .container-header button:last-of-type{margin-right:1rem}#intern_updates .container-header .active{color:rgba(var(--text-color),1);border-bottom:.2rem solid var(--accent-color)}#requests_container{display:flex;max-height:80vh;overflow-y:auto;flex-direction:column}#updates_page{padding:1rem}#updates_page__project_selector strip-option{font-size:.9rem}.intern-update{display:grid;gap:.5rem;padding:1rem;border-radius:.5rem;content-visibility:auto}.update__topic{font-weight:500;font-size:1rem;text-transform:capitalize}.update__sender{font-size:.9rem;font-weight:500}.update__time{font-size:.85rem;color:rgba(var(--text-color),.8)}.container-header{display:flex;align-items:center;width:100%;padding:1rem}.container-header h4{flex:1;font-weight:500}#intern_info{flex-direction:column}#intern_info div{display:flex;flex-direction:row;align-items:center;width:100%;margin-bottom:1rem}#intern_info div span{flex:1;word-break:break-all;font-size:.9rem}#intern_info .gold-fill{fill:#FF5722}#intern_info #update_intern_score h4{margin:0;font-size:2rem}#intern_info h3{text-transform:capitalize}#intern_info h4,#intern_info h5{margin-top:.5rem}#project_info{flex-direction:column}.branch-btn{padding:.5rem;border-radius:.2rem;margin:.5rem .5rem .5rem 0;user-select:none}.active-branch{opacity:1;color:var(--accent-color);background:rgba(var(--text-color),.04)}#update_of_project,.task__description,.task__project-title{color:rgba(var(--text-color),.8)}#task_list{padding:1.5rem 0}.task-list-item{display:grid;grid-template-areas:"status title options" "status interns interns" "status description description";padding:1rem;gap:.5rem;align-items:center;border-radius:.5rem;background:rgba(var(--text-color),.02)}#loading_page,#task_context,.task-card{background-color:var(--foreground-color)}.task-list-item sm-checkbox{grid-area:status;align-self:flex-start;padding:.5rem .5rem .5rem 0}.task-list-item h4{font-weight:500;margin:0}.task-list-item .title{grid-area:title;line-height:1.6}.task-list-item .assigned-interns{grid-area:interns}.task-option{grid-area:options;padding:.5rem}.task-option .icon{height:1.2rem;width:1.2rem}.task-description{grid-area:description;margin:0;overflow:hidden;text-overflow:ellipsis}.assigned-interns{display:flex;flex-wrap:wrap}.assigned-interns .assigned-intern{user-select:none;display:flex;font-size:.8rem;margin:.2rem .5rem .2rem 0;padding:.2rem 0 .2rem .4rem;border-radius:.2rem;border:1px solid;align-items:center;white-space:nowrap;text-transform:capitalize}.assigned-interns .assigned-intern button{padding:.2rem}.assigned-interns .assigned-intern button .icon{height:1rem;width:1rem}#task_context{position:absolute;top:0;right:0;margin:0 2rem;list-style:none;padding:.5rem 0;width:max-content;border-radius:.3rem;transition:.3s opacity ease;box-shadow:0 .5rem 1rem -.3rem rgba(0,0,0,.3)}#task_context li{padding:.8rem 1.5rem;display:flex;align-items:center}#task_context li .icon{margin-right:.5rem}#branch_container{display:flex;flex-flow:row wrap;margin:1rem 0}#interns_list{flex-direction:column;min-width:20rem}#interns_list #interns_list_container{min-height:50vh;max-height:50vh;overflow-y:auto}#best_interns_container,#project_list_container{margin-bottom:1rem}#best_interns_container .container-header .icon,#project_list_container .container-header .icon{margin-right:.5rem}#edit_data_fig{width:60vw;margin:2rem 0}.header{position:sticky;top:0;background:var(--foreground-color);display:flex;flex-flow:row;border-bottom:1px solid rgba(var(--text-color),.1);align-items:center;z-index:2}.header svg{fill:none;stroke:rgba(var(--text-color),.8);stroke-width:6;overflow:visible;height:2rem;width:2rem;cursor:pointer;padding:.4rem;margin-left:1rem}.header h3{padding:0 .5rem;display:inline-flexbox}.appear-on-scroll-up{position:fixed!important;top:0;width:100%;height:4rem!important}#loading_page{display:grid;position:fixed;top:0;right:0;z-index:5;justify-items:center}.loading-message{font-size:1.3rem;margin:1.5rem 0 .5rem}#loading_page__footer{position:absolute;bottom:0;width:100%;padding:1.5rem}#loading_page__footer .icon{height:4rem;width:4rem}#status_map_container{position:relative;overflow:hidden}#status_map_container #status_map{position:relative;padding:0 1rem 1rem}#status_map_container #status_map h2{margin:.4rem 0;text-transform:capitalize}.watching{position:relative;display:flex;padding:1rem;align-items:center}.watching h4{flex:1;font-weight:500}.watching button{padding:.5rem;border-radius:.5rem}#right{align-items:flex-start;align-content:flex-start;padding:1rem}#right div:first-of-type h2{flex:1;margin:.4rem 0}#right div:first-of-type button{border:1px solid}.center{position:relative;display:grid;height:100%}#project_explorer,#show_all{margin:0}#admin_page{display:grid;gap:1rem;height:100%}#admin_page__header{display:grid;gap:0 1rem;grid-template-columns:1fr auto;align-items:center}#project_editing_panel{padding:1rem;height:100%;overflow-y:auto}#update_of_task{font-size:1.3rem;margin:.4rem 0 1.8rem}ul{padding:0;list-style:none}#assigned_task_list{display:grid;gap:1rem;margin-top:1rem;align-content:flex-start}.task-card{display:grid;padding:1rem;border-radius:.5rem}.task__header{display:grid;gap:0 .5rem;align-items:flex-start;grid-template-columns:1fr auto;grid-template-areas:". send-button" ". send-button"}.task__project-title{font-size:.9rem;font-weight:500;border-radius:.3rem;padding:.3rem .5rem;justify-self:flex-start;margin-bottom:.5rem!important;background-color:rgba(var(--text-color),.06)}.task__title{font-size:1.3rem;margin-bottom:1rem!important}.send-update-button{grid-area:send-button;--padding:0.6rem 0.8rem;color:var(--accent-color)}.send-update-button .icon{height:1.2rem;width:1.2rem;fill:var(--accent-color)}#admin_page__left{height:100%;overflow-y:hidden}#admin_page__left sm-tab-header{--gap:0;--justify-content:stretch;border-bottom:1px solid rgba(var(--text-color),.2)}#admin_page__left sm-tab{justify-content:center}#admin_page__left sm-tab-panels,#admin_page__left sm-tab-panels>*{height:100%;flex-direction:column}#admin_page__left sm-tab-panels{overflow-y:hidden}#admin_page__left sm-tab-panels>*{display:flex}#admin_page__left .list-container{height:100%;overflow-y:auto}@media only screen and (min-width:640px){.hide-on-desktop{display:none!important}.hide-on-mobile{display:flex}.hide-page-on-mobile{display:grid}sm-popup{--width:26rem}.popup__header{padding:1.5rem 1.5rem 0 .5rem}#main_nav{padding:.5rem;flex-direction:column;align-items:flex-start}.nav-list__item{flex-direction:row;align-items:center;border-radius:.5rem;padding:.8rem;margin-bottom:.25rem;font-size:1rem}.nav-list__item--active{background-color:rgba(var(--text-color),.06)}.nav-list__item .icon{margin-right:.5rem;margin-bottom:0}.project-card--active{background-color:rgba(var(--text-color),.1)}#settings_page{padding:1rem 2rem}#sign_in{width:24rem;height:auto;border-radius:.4rem}#dashboard_page{padding:1rem;grid-template-columns:3fr 1fr}#dashboard_page #status_map_container{align-self:flex-start}#admin_page{padding:1rem;grid-template-columns:18rem minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"admin-header admin-header" ". ."}#admin_page__header{grid-area:admin-header}#edit_data_fig{width:16rem;justify-self:center}#project_explorer{display:grid;height:100%;grid-template-columns:16rem 3fr;grid-template-areas:"left right"}#project_explorer #left{grid-area:left;height:100%;overflow-y:auto;padding-bottom:1.5rem;border-right:1px solid rgba(var(--text-color),.06);background-color:rgba(var(--text-color),.06)}#project_explorer #left h4{margin-top:0;margin-bottom:.5rem;color:#29B6F6;font-size:.9rem}#project_explorer #right{grid-area:right;height:100%;overflow-y:auto}#main_page{grid-template-columns:12rem minmax(0,1fr);grid-template-areas:"main-header main-header" "main-nav sub-pages"}#post_update_popup{--width:32rem}}@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)}.interact:hover{background-color:rgba(var(--text-color),.06)}.send-update-button{opacity:0;transition:opacity .3s}.task-card:hover .send-update-button{opacity:1}.task-option{opacity:0}.task-list-item:hover .task-option,.task-option:focus-within{opacity:1}.apply-btn{opacity:0;transition:opacity .3s}.task:hover .apply-btn{opacity:1}}@media (any-hover:none){.apply-btn,.task-option{opacity:1}} \ No newline at end of file diff --git a/css/main.scss b/css/main.scss index 0f38c81..cc03f27 100644 --- a/css/main.scss +++ b/css/main.scss @@ -44,7 +44,7 @@ body[data-theme='dark'] { } p { - max-width: 65ch; + max-width: 70ch; line-height: 1.7; color: rgba(var(--text-color), 0.8); @@ -66,13 +66,24 @@ a:where([class]) { } } -button { +button, +.button { position: relative; display: inline-flex; border: none; background-color: transparent; overflow: hidden; color: inherit; + cursor: pointer; +} +button:disabled{ + opacity: 0.5; +} + +a.button{ + padding: 0.6rem 1.2rem; + border-radius: 0.3rem; + background-color: rgba(var(--text-color), 0.06); } a:any-link:focus-visible { @@ -524,24 +535,9 @@ ul { gap: 1rem; display: grid; position: relative; - animation: fadein 0.4s ease; + animation: fadein 0.3s; + grid-template-columns: minmax(0, 1fr); } - -.fade-in { - -webkit-animation: fadein 0.4s ease; - animation: fadein 0.4s ease; -} - -@-webkit-keyframes fadein { - 0% { - opacity: 0; - } - - 100% { - opacity: 1; - } -} - @keyframes fadein { 0% { opacity: 0; @@ -640,49 +636,35 @@ ul { .intern-card { user-select: none; + padding: 0.8rem 1rem; + gap: 0.8rem; + grid-template-columns: auto 1fr auto; } -.intern-card span:first-of-type { +.intern-card__initials{ display: flex; + height: 2.6rem; + width: 2.6rem; justify-content: center; align-items: center; - flex-shrink: 0; - padding: 0.8rem; border-radius: 50%; - background: #673AB7; - margin-right: 1rem; color: white; font-weight: 500; - font-size: 1.2rem; - line-height: 0; + font-size: 1rem; + text-transform: uppercase; + background-color: var(--accent-color); } -.intern-card span:first-of-type::after { - content: ""; - display: block; - padding-bottom: 100%; -} - -.intern-card span:nth-of-type(2) { - flex: 1; - text-transform: capitalize; - flex-shrink: 0; -} - -.intern-card span:nth-of-type(3) { - display: inline-flex; - align-items: center; - align-content: center; +.intern-card__score-wrapper { font-weight: 500; font-size: 1.2rem; - color: var(--light-text); } -.intern-card span:nth-of-type(3) svg { +.intern-card .icon { fill: #FF5722 !important; height: 1rem !important; width: 1rem !important; - margin-right: 0.2rem; + margin-left: 0.2rem; } .card { @@ -761,23 +743,27 @@ ul { } #updates_page{ - padding: 0.5rem 1rem; + padding: 1rem; +} +#updates_page__project_selector{ + strip-option{ + font-size: 0.9rem; + } } #all_updates_list{ - } .intern-update { display: grid; gap: 0.5rem; padding: 1rem; border-radius: 0.5rem; + content-visibility: auto; background-color: rgba(var(--text-color), 0.06); } .update__topic { font-weight: 500; font-size: 1rem; - max-width: 60ch; text-transform: capitalize; } @@ -799,49 +785,15 @@ ul { .container-header { display: flex; align-items: center; - flex-direction: row; width: 100%; padding: 1rem; } -.container-header h3 { +.container-header h4 { flex: 1; font-weight: 500; } -.container-header span { - color: var(--accent-color); - border-radius: 0.2rem; - margin-right: 0.2rem; - padding: 0.5rem 1rem; - font-weight: 500; -} - -.back-arrow { - fill: none; - stroke: rgba(var(--text-color), 0.8); - stroke-width: 6; - overflow: visible; - width: 2rem; - height: 2rem; - padding: 0.5rem 0.5rem 0.5rem 0; - cursor: pointer; -} - -.close-svg, -.tick-mark { - fill: none; - stroke: rgba(var(--text-color), 0.8); - stroke-width: 6; - overflow: visible; - height: 2rem; - width: 2rem; -} - -.close-svg { - padding: 0.6rem; -} - #intern_info { flex-direction: column; } @@ -860,13 +812,6 @@ ul { font-size: 0.9rem; } -#intern_info div svg { - fill: rgba(var(--text-color), 1); - height: 2.5rem; - padding: 0.6rem; - overflow: visible; -} - #intern_info .gold-fill { fill: #FF5722; } @@ -876,20 +821,6 @@ ul { font-size: 2rem; } -#intern_info #update_intern_score button { - border: 1px solid rgba(var(--text-color), 0.1); -} - -#intern_info #update_intern_score button svg { - stroke-width: 10; - fill: none; - stroke: var(--accent-color); -} - -#intern_info #update_intern_score rect { - stroke: transparent; -} - #intern_info h3 { text-transform: capitalize; } @@ -917,10 +848,6 @@ ul { background: rgba(var(--text-color), 0.04); } -.opac { - opacity: 1 !important; -} - #task_list{ padding: 1.5rem 0; } @@ -956,12 +883,11 @@ ul { .task-option { grid-area: options; - cursor: pointer; transition: opacity 0.3s ease; padding: 0.5rem; .icon{ - height: 1rem; - width: 1rem; + height: 1.2rem; + width: 1.2rem; } } @@ -969,7 +895,6 @@ ul { grid-area: description; margin: 0; overflow: hidden; - max-width: 100%; text-overflow: ellipsis; white-space: pre-line; } @@ -991,7 +916,6 @@ ul { white-space: nowrap; text-transform: capitalize; button { - cursor: pointer; padding: 0.2rem; .icon { height: 1rem; @@ -1140,10 +1064,6 @@ ul { text-transform: capitalize; } -.apply-btn { - padding: 0.3rem 0.6rem; -} - .watching { position: relative; display: flex; @@ -1157,14 +1077,13 @@ ul { } .watching button { - cursor: pointer; padding: 0.5rem; border-radius: 0.5rem; } #right { align-items: flex-start; align-content: flex-start; - padding: 0 1rem; + padding: 1rem; } #right div:first-of-type h2 { @@ -1184,10 +1103,6 @@ ul { text-align: center; } -.capitalise { - text-transform: capitalize; -} - #show_all, #project_explorer { margin: 0; @@ -1212,163 +1127,6 @@ ul { overflow-y: auto; } -@media only screen and (min-width: 640px) { - .hide-on-desktop { - display: none !important; - } - - .hide-on-mobile { - display: flex; - } - - .hide-page-on-mobile { - display: grid; - } - - sm-popup { - --width: 24rem; - } - - .popup__header { - padding: 1.5rem 1.5rem 0 0.5rem; - } - - #main_nav { - padding: 0.5rem; - flex-direction: column; - align-items: flex-start; - } - - .nav-list__item { - flex-direction: row; - align-items: center; - - border-radius: 0.5rem; - padding: 0.8rem; - margin-bottom: 0.25rem; - - font-size: 1rem; - - &--active { - background-color: rgba(var(--text-color), 0.06); - } - - .icon { - margin-right: 0.5rem; - margin-bottom: 0; - } - } - .project-card { - &--active{ - background-color: rgba(var(--text-color), 0.1); - } - } - - - #settings_page { - padding: 1rem 2rem; - } - #sign_in { - width: 24rem; - height: auto; - border-radius: 0.4rem; - } - - #dashboard_page { - padding: 1rem; - grid-template-columns: 3fr 1fr; - } - - #dashboard_page #status_map_container { - align-self: flex-start; - } - - .task .apply-btn { - opacity: 0; - -webkit-transition: opacity 0.3s ease; - transition: opacity 0.3s ease; - } - - .task:hover .apply-btn { - opacity: 1; - } - - #admin_page { - padding: 1rem; - grid-template-columns: 18rem minmax(0, 1fr); - grid-template-rows: auto 1fr; - grid-template-areas: 'admin-header admin-header' '. .'; - } - - #admin_page__header { - grid-area: admin-header; - } - - #edit_data_fig { - width: 16rem; - justify-self: center; - } - - #admin_page__left{ - height: 100%; - overflow-y: hidden; - sm-tab-panels, - sm-tab-panels > *{ - height: 100%; - flex-direction: column; - } - sm-tab-panels{ - overflow-y: hidden; - } - sm-tab-panels > *{ - display: flex; - } - .list-container{ - height: 100%; - overflow-y: auto; - } - } - - - #project_explorer { - display: grid; - height: 100%; - grid-template-columns: 16rem 3fr; - grid-template-areas: 'left right'; - } - #project_explorer #left { - grid-area: left; - height: 100%; - overflow-y: auto; - padding-bottom: 1.5rem; - border-right: 1px solid rgba(var(--text-color), 0.06); - background-color: rgba(var(--text-color), 0.06); - } - - #project_explorer #left h4 { - margin-top: 0; - margin-bottom: 0.5rem; - color: #29B6F6; - font-size: 0.9rem; - } - - #project_explorer #right { - grid-area: right; - height: 100%; - overflow-y: auto; - } - - - // Newer styles - - #main_page { - // gap: 0 1.5rem; - grid-template-columns: 12rem minmax(0, 1fr); - grid-template-areas: 'main-header main-header''main-nav sub-pages'; - } -} - - // Newer styles #update_of_project { @@ -1442,11 +1200,163 @@ ul { } } - +#admin_page__left{ + height: 100%; + overflow-y: hidden; + sm-tab-header{ + --gap: 0; + --justify-content: stretch; + border-bottom: 1px solid rgba(var(--text-color), 0.2); + } + sm-tab{ + justify-content: center; + } + sm-tab-panels, + sm-tab-panels > *{ + height: 100%; + flex-direction: column; + } + sm-tab-panels{ + overflow-y: hidden; + } + sm-tab-panels > *{ + display: flex; + } + .list-container{ + height: 100%; + overflow-y: auto; + } +} // +@media only screen and (min-width: 640px) { + .hide-on-desktop { + display: none !important; + } + + .hide-on-mobile { + display: flex; + } + + .hide-page-on-mobile { + display: grid; + } + + sm-popup { + --width: 26rem; + } + + .popup__header { + padding: 1.5rem 1.5rem 0 0.5rem; + } + + #main_nav { + padding: 0.5rem; + flex-direction: column; + align-items: flex-start; + } + + .nav-list__item { + flex-direction: row; + align-items: center; + + border-radius: 0.5rem; + padding: 0.8rem; + margin-bottom: 0.25rem; + + font-size: 1rem; + + &--active { + background-color: rgba(var(--text-color), 0.06); + } + + .icon { + margin-right: 0.5rem; + margin-bottom: 0; + } + } + .project-card { + &--active{ + background-color: rgba(var(--text-color), 0.1); + } + } + + + #settings_page { + padding: 1rem 2rem; + } + #sign_in { + width: 24rem; + height: auto; + border-radius: 0.4rem; + } + + #dashboard_page { + padding: 1rem; + grid-template-columns: 3fr 1fr; + } + + #dashboard_page #status_map_container { + align-self: flex-start; + } + + #admin_page { + padding: 1rem; + grid-template-columns: 18rem minmax(0, 1fr); + grid-template-rows: auto 1fr; + grid-template-areas: 'admin-header admin-header' '. .'; + } + + #admin_page__header { + grid-area: admin-header; + } + + #edit_data_fig { + width: 16rem; + justify-self: center; + } + + #project_explorer { + display: grid; + height: 100%; + grid-template-columns: 16rem 3fr; + grid-template-areas: 'left right'; + } + #project_explorer #left { + grid-area: left; + height: 100%; + overflow-y: auto; + padding-bottom: 1.5rem; + border-right: 1px solid rgba(var(--text-color), 0.06); + background-color: rgba(var(--text-color), 0.06); + } + + #project_explorer #left h4 { + margin-top: 0; + margin-bottom: 0.5rem; + color: #29B6F6; + font-size: 0.9rem; + } + + #project_explorer #right { + grid-area: right; + height: 100%; + overflow-y: auto; + } + // Newer styles + + #main_page { + // gap: 0 1.5rem; + grid-template-columns: 12rem minmax(0, 1fr); + grid-template-areas: 'main-header main-header''main-nav sub-pages'; + } + + #post_update_popup{ + --width: 32rem; + } +} @media only screen and (min-width: 1280px) {} @@ -1487,6 +1397,13 @@ ul { .task-option:focus-within { opacity: 1; } + .apply-btn { + opacity: 0; + transition: opacity 0.3s; + } + .task:hover .apply-btn { + opacity: 1; + } } @media (any-hover: none) { diff --git a/new.html b/new.html index 55493d1..c24f511 100644 --- a/new.html +++ b/new.html @@ -40,6 +40,7 @@ generalVC: {} } + @@ -154,7 +155,7 @@ d="M12 7a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm0 3.5l-1.323 2.68-2.957.43 2.14 2.085-.505 2.946L12 17.25l2.645 1.39-.505-2.945 2.14-2.086-2.957-.43L12 10.5zm1-8.501L18 2v3l-1.363 1.138A9.935 9.935 0 0 0 13 5.049L13 2zm-2 0v3.05a9.935 9.935 0 0 0-3.636 1.088L6 5V2l5-.001z" />

Leaderboard

- All + All
@@ -166,8 +167,8 @@ -

Projects

- All +

Projects

+ All
@@ -175,7 +176,7 @@
-

+

@@ -210,7 +211,7 @@
-

Add project

+

Add project

-

Add Intern

+

Add Intern

-
-
    +
    + +
    Projects
    + +
      +

      No related updates

      -
      -
      - - Go back to previous page - - -

      -
      -
      +
      +
        @@ -326,36 +325,28 @@

        Update Rating

        - - - -

        Points

        - - + +

        Points

        + + + + + +
        @@ -411,10 +402,13 @@ @@ -432,10 +426,13 @@ @@ -582,7 +579,7 @@ + +