feature: left-menu: refactor + cleaning

This commit is contained in:
gaelle morin 2020-11-23 09:54:57 +01:00
parent b46c16f6b5
commit 80c4827379
No known key found for this signature in database
GPG Key ID: 028426702B95CF9C
3 changed files with 166 additions and 258 deletions

View File

@ -28,6 +28,9 @@ solid-widget(name='hubl-menu-fix-url-circle')
solid-display(
data-src='${value}'
fields='status, name, jabberID, badge'
class-status='sub-menu-icon'
class-name='sub-menu-name ellipsis'
class-badge='sub-menu-badge'
value-badge='${value}'
widget-status='hubl-menu-publicprivate'
widget-badge='hubl-counter'
@ -42,8 +45,10 @@ solid-widget(name='hubl-menu-fix-url-project')
solid-display(
data-src='${value}'
fields='status, project(customer.name, name, jabberID), badge'
class-status='sub-menu-icon'
class-name='project-name'
class-customer.name='project-customer'
class-badge='badge'
value-badge='${value}'
widget-status='hubl-menu-publicprivate'
widget-jabberID='hubl-menu-jabberid'
@ -95,13 +100,13 @@ solid-router#navbar-router(default-route='dashboard')
div.menu-icon.icon-arrow-up
//- div.menu-icon.icon-arrow-right-circle
solid-route(name='project', rdf-type='hd:project', use-id='', hidden)
div.sub-menu.menu-notification.segment.margin-left-small.margin-right-small
div.sub-menu.menu-notification
div#loader-projects.loader.loader-menu
div
div
div
div
solid-display.project-tab(
solid-display.project-tab.segment.lg-full(
bind-user
nested-field='projects'
fields='project'
@ -124,13 +129,13 @@ solid-router#navbar-router(default-route='dashboard')
div.menu-icon.icon-arrow-up
//- div.menu-icon.icon-arrow-right-circle
solid-route(name='circle', rdf-type='hd:circle', use-id='', hidden)
div.sub-menu.menu-notification.segment.margin-left-small.margin-right-small
div.sub-menu.menu-notification
div#loader-circles.loader.loader-menu
div
div
div
div
solid-display.circle-tab(
solid-display.circle-tab.segment.lg-full(
bind-user
nested-field='circles'
fields='circle'
@ -150,18 +155,21 @@ solid-router#navbar-router(default-route='dashboard')
div.menu-chevron.segment.lg-auto.float-left
div.menu-icon.icon-arrow-up
solid-route(name='messages', rdf-type='foaf:user', use-id='', hidden)
div.sub-menu.menu-notification.segment.margin-left-small.margin-right-small
div.sub-menu.menu-notification
div#loader-messages.loader.loader-menu
div
div
div
div
solid-display.nosub.message-tab(
solid-display.nosub.message-tab.segment.lg-full(
data-src=`${endpoints.users || (endpoints.get && endpoints.get.users)}`
fields='name, chatProfile.jabberID, badge'
class-name='sub-menu-name'
class-badge='sub-menu-badge'
loader-id='loader-messages'
search-fields="name"
search-label-name=""
search-class-name="search-field"
data-trans="search-label-name=menuLeft.search"
search-widget-name="hubl-search-users"
widget-name='solid-display-div'
@ -172,7 +180,6 @@ solid-router#navbar-router(default-route='dashboard')
next='messages'
paginate-by='10'
)
div.divider
solid-route(name='admin', hidden)
solid-route.menu(name='profile', hidden)

View File

@ -247,6 +247,49 @@
}
}
/* General styles for pagination */
nav#main__menu solid-display.nosub>nav {
display: grid;
grid-template-areas: "left middle right";
grid-template-rows: auto;
text-align: center;
overflow: hidden;
>[data-id="prev"] {
grid-area: left;
line-height: 1;
}
>[data-id="next"] {
grid-area: right;
line-height: 1;
}
>span {
grid-area: middle;
}
button {
color: transparent;
&[disabled] {
opacity: 0.5;
}
}
}
/* Styles for pagination in the left menu */
nav#main__menu solid-display.nosub>nav {
grid-template-columns: auto 30% auto;
>span {
font-size: 18px;
}
button {
font-size: 15px;
color: white;
}
}
/* Fix for solid-dashboard fixture */
solid-dashboard section {
padding: 1rem !important;

View File

@ -1,7 +1,4 @@
#main__menu {
/*background-color: var(--color-menu-background);
color: var(--color-menu-text);*/
/*transition: flex-basis 0.5s ease-in-out;*/
width: 256px;
&.open {
@ -13,11 +10,8 @@
}
solid-router {
/* Chevron visible on large screen + rotation */
.menu-wrapper {
.menu {
border-bottom: none;
}
.menu-icon.icon-arrow-up {
visibility: hidden;
}
@ -29,25 +23,19 @@
.sub-menu {
display: none;
}
.menu-chevron {
transform: rotateX(180deg);
}
}
}
}
/* end */
/*solid-link {
width: 100%;
}*/
/* General styles for the main tabs */
.menu {
cursor: pointer;
display: flex;
align-items: center;
/*flex-direction: row-reverse;*/
/*font-weight: bold;
padding: 1.2rem;*/
&[active] {
background-color: var(--color-third);
@ -57,25 +45,11 @@
background-color: var(--color-heading);
color: white;
}
/*.menu-notification>solid-display>div:first-child {
background-color: var(--color-menu-badge-background);
}*/
&+.divider {
display: none;
}
}
.menu-icon {
/*align-items: center;
display: flex;
justify-content: center;
flex-grow: 0;
flex-shrink: 0;
font-size: 1.7rem;
width: 3.2em;*/
&::before {
border-radius: 100%;
height: 1.9em;
@ -83,37 +57,114 @@
width: 1.9em;
}
}
/*.menu-label {
display: flex;
flex-direction: column;
flex-grow: 1;
flex-shrink: 0;
font-weight: 600;
justify-content: center;
letter-spacing: 0.017rem;
text-transform: uppercase;
width: 8em;
}*/
/*.menu-chevron {
align-items: center;
display: flex;
flex-grow: 0;
flex-shrink: 0;
justify-content: center;
width: 2em;
}*/
>solid-display {
display: block;
}
}
/* End */
/* Styles for the submenus */
.sub-menu {
/* Ellipsis for project tab */
.project-tab,
.circle-tab,
.message-tab {
/* Spaces and cursor */
hubl-menu-fix-url-project>solid-link>solid-display>div,
hubl-menu-fix-url-circle>solid-link>solid-display>div,
>div>solid-display>div>solid-display-div[name="name"] {
display: flex;
justify-content: space-between;
padding: 6px 10px 6px 23px;
cursor: pointer;
}
&>div>solid-display {
display: block;
&:last-child>div {
margin-bottom: 2.2rem;
}
&[fields="project(customer.name, name), badge"]>div {
padding: 0;
}
}
/* when a subtab is [active] */
solid-display[active]>div {
background-color: var(--color-third);
color: var(--color-heading);
font-weight: bold;
}
/* Styles for the search input */
.search-field>input {
margin-left: 30px;
margin-bottom: 10px;
width: calc(80vw - 71px);
display: block;
background-color: var(--color-heading);
color: white;
border: 1px solid white;
border-radius: 3px;
padding-left: 9.5px;
height: 27px;
opacity: 0.8;
@include breakpoint(lg) {
margin: auto;
margin-bottom: 10px;
width: auto;
}
}
/* Styles for the small icon */
.sub-menu-icon {
width: 16px;
div {
font-family: simple-line-icons;
padding-right: 2px;
}
}
/* Styles for the name */
.sub-menu-name {
flex: 3;
&>div {
width: calc(80vw - 96px); /*96px = padding of the element + width and margin of counter */
@include breakpoint(lg) {
width: 150px;
}
}
&.ellipsis>div {
@include breakpoint(lg) {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
/* Styles for the counter */
.sub-menu-badge div.counter:not([data-nb-unread="0"]) {
text-align: center;
display: block;
background-color: var(--color-third, gray);
border-radius: 50%;
font-size: 12px;
line-height: 20px;
width: 20px;
height: 20px;
padding-bottom: 0;
color: var(--color-heading);
}
}
/* Ellipsis for project tab */
.project-tab>div>solid-display>div:nth-child(1) {
solid-set-default[name='project'] {
@ -123,7 +174,8 @@
.project-name {
box-sizing: border-box;
display: block;
width: calc(80vw - 96px); /*96px = padding of the element + width and margin of counter */
width: calc(80vw - 96px);
/*96px = padding of the element + width and margin of counter */
@include breakpoint(lg) {
width: 150px;
@ -142,200 +194,6 @@
}
}
}
/* Ellipsis for circle tab */
.circle-tab>div {
width: 100%;
&>solid-display {
display: block;
margin-top: 15px;
margin-left: 15px;
}
&>solid-display:first-child {
margin-top: 0;
}
hubl-menu-publicprivate {
width: 16px;
background: black;
}
}
.circle-tab>div>solid-display>div {
solid-display-div[name='name'] {
flex: 3;
background: brown;
>div[name='name'] {
box-sizing: border-box;
padding-left: 0.2em;
width: calc(80vw - 96px); /*96px = padding of the element + width and margin of counter */
@include breakpoint(lg) {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 150px;
}
}
}
}
/* Ellipsis for message tab */
.message-tab>div {
width: 100%;
&>solid-display {
display: block;
margin-top: 15px;
margin-left: 15px;
}
&>solid-display:first-child {
margin-top: 0;
}
}
.message-tab>div>solid-display>div>solid-display-div>div {
box-sizing: border-box;
width: calc(80vw - 96px); /*96px = padding of the element + width and margin of counter */
@include breakpoint(lg) {
width: 150px;
}
}
solid-display.nosub>solid-form[fields="name"]>hubl-search-users>input {
margin-left: 30px;
margin-bottom: 10px;
width: calc(80vw - 71px);
display: block;
background-color: var(--color-heading);
color: white;
border: 1px solid white;
border-radius: 3px;
padding-left: 9.5px;
height: 27px;
opacity: 0.8;
@include breakpoint(lg) {
margin: auto;
width: auto;
}
}
solid-display.nosub>nav {
text-align: center;
overflow: hidden;
display: grid;
grid-template-columns: auto 50% auto;
grid-template-areas: "left middle right";
>* {
color: var(--color-white);
}
>[data-id="prev"] {
grid-area: left;
}
>[data-id="next"] {
grid-area: right;
}
>span {
grid-area: middle;
}
}
hubl-menu-publicprivate {
display: inline-block;
/*text-align: center;*/
width: auto;
div {
font-family: simple-line-icons;
/*width: 20px;
font-size: 0.8em;
padding-top: 0.1em;*/
padding-right: 2px;
}
}
/*>solid-display.nosub>div>solid-display>div {
padding: 1rem 1rem 1rem 3rem;
}*/
solid-display>div {
.create {
/*color: white;*/
/*margin: 1rem 1rem 2.2rem 3.2rem;*/
}
&>solid-display {
&:last-child>div {
margin-bottom: 2.2rem;
}
>div {
color: var(--color-white);
cursor: pointer;
/*>hubl-menu-fix-url-circle>solid-link>solid-display>div,*/
>hubl-menu-fix-url-project>solid-link>solid-display>div {
padding: 1rem 1rem 1rem 3rem;
}
}
&[fields="project(customer.name, name), badge"]>div {
padding: 0;
}
}
&>solid-display[active]>div,
&>solid-display>div>hubl-menu-fix-url-circle>solid-link>solid-display[active]>div,
&>solid-display>div>hubl-menu-fix-url-project>solid-link>solid-display[active]>div {
background-color: var(--color-third);
color: var(--color-heading);
font-weight: bold;
}
}
&.menu-notification {
>solid-display>div>solid-display>div>hubl-menu-fix-url-circle,
>solid-display>div>solid-display>div>hubl-menu-fix-url-project {
flex: 1;
}
>solid-display>div>solid-display>div,
>solid-display>div>solid-display>div>hubl-menu-fix-url-circle>solid-link>solid-display>div,
>solid-display>div>solid-display>div>hubl-menu-fix-url-project>solid-link>solid-display>div {
display: flex;
justify-content: space-between;
}
hubl-counter {
/*height: 20px;
width: 20px;*/
/*margin-right: 1em;*/
div.counter:not([data-nb-unread="0"]) {
text-align: center;
display: block;
background-color: var(--color-third, gray);
border-radius: 50%;
font-size: 12px;
line-height: 20px;
width: 20px;
height: 20px;
padding-bottom: 0;
color: var(--color-heading);
}
}
}
}
.divider {