feat ContextMenu: Rename and Delete

This commit is contained in:
Mahdi Dibaiee
2015-09-03 15:02:46 +04:30
parent ee6f5d6ffb
commit 79ae4c1a47
94 changed files with 4211 additions and 2216 deletions

View File

@ -0,0 +1,8 @@
@import 'entries';
@import 'header';
@import 'menu';
@import 'navigation';
@import 'toolbar';
@import 'breadcrumb';
@import 'file-list';
@import 'dialog';

View File

@ -0,0 +1,26 @@
.breadcrumb {
display: flex;
flex: 1;
align-items: center;
width: 100vw;
height: 3.5rem;
padding: 8px;
box-sizing: border-box;
.light-medium;
background: @light-gray;
border-bottom: 1px solid @dark-transparent;
i {
margin: 0 2px;
}
span.history {
color: @overlay;
}
}

View File

@ -0,0 +1,62 @@
.dialog {
display: flex;
flex-flow: column;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 335px;
height: auto;
padding: 1.5rem 1.7rem;
background: white;
.shadow-bottom;
z-index: 3;
transition: opacity 0.5s ease;
opacity: 0;
pointer-events: none;
&.active {
opacity: 1;
pointer-events: all;
}
p:first-of-type {
margin: 0 0 2.5rem;
}
p {
margin: 0 0 2rem;
}
input {
margin-bottom: 2rem;
}
.foot {
display: flex;
justify-content: space-between;
button {
flex: 1;
margin: 0 8px;
&:first-of-type {
margin-left: 0;
}
&:last-of-type {
margin-right: 0;
}
}
}
}

View File

@ -0,0 +1,26 @@
.file, .directory {
display: flex;
flex-flow: row;
align-items: center;
padding: 1.4rem;
width: 100%;
.light-big;
box-sizing: border-box;
border-bottom: 1px solid @dark-separator;
i {
margin-right: 1.4rem;
}
}
.directory i {
.icon-directory;
}
.file i {
.icon-file;
}

View File

@ -0,0 +1,6 @@
.file-list {
height: ~'calc(100vh - 13.5rem)';
overflow-x: hidden;
overflow-y: auto;
}

View File

@ -0,0 +1,44 @@
header {
display: flex;
flex: 1;
flex-flow: row;
align-items: center;
width: 100%;
height: 5rem;
background: @dark;
color: white;
.shadow;
h1 {
margin-left: -3rem;
}
button {
background: none;
border: none;
width: 8rem;
height: 2rem;
&::before {
content: '';
display: block;
width: 2rem;
height: 4px;
margin-top: -9px;
border-radius: 4px;
background: @overlay;
box-shadow: 0 7px 0 @overlay,
0 14px 0 @overlay;
}
}
}

View File

@ -0,0 +1,43 @@
.menu {
width: 24.5rem;
position: fixed;
left: 0;
top: 0;
background: white;
border-radius: @radius;
pointer-events: none;
opacity: 0;
transition: opacity 0.5s ease;
.shadow-bottom;
&.active {
opacity: 1;
pointer-events: all;
}
ul {
list-style: none;
padding: 0 15px;
}
li {
margin: 0;
padding: 1.3rem 8px;
border-bottom: 1px solid @dark-separator;
&:last-of-type {
border-bottom: none;
}
}
}

View File

@ -0,0 +1,77 @@
nav {
display: flex;
flex-flow: column;
position: fixed;
left: -70vw;
top: 0;
width: 70vw;
height: 100vh;
background: @dark;
color: white;
box-shadow: 1px 0 5px @dark-transparent;
z-index: 6;
transition: left 0.5s ease;
&.active {
left: 0;
i {
pointer-events: all;
opacity: 0.99;
}
}
p {
margin-left: 1.6rem;
.regular-medium;
}
ul {
list-style: none;
padding-left: 0;
}
li {
.light-medium;
padding: 1rem 0 1rem 3rem;
border-bottom: 1px solid @bright-separator;
&:first-of-type {
padding-top: 0;
}
&:last-of-type {
padding-bottom: 0;
border-bottom: none;
}
}
i {
display: block;
position: fixed;
left: 0;
top: 0;
pointer-events: none;
width: 100vw;
height: 100vh;
background: rgba(0, 0, 0, 0.55);
opacity: 0;
z-index: -1;
transition: opacity 0.5s ease;
}
}

View File

@ -0,0 +1,14 @@
.toolbar {
display: flex;
flex-flow: row;
align-items: center;
justify-content: space-around;
align-self: flex-end;
width: 100vw;
height: 5rem;
box-sizing: border-box;
background: @light-gray;
}

52
src/less/icons.less Normal file
View File

@ -0,0 +1,52 @@
.icon {
display: block;
}
.icon-directory {
.icon;
background: url(/img/Directory.svg) no-repeat;
width: 36px;
height: 32px;
}
.icon-file {
.icon;
background: url(/img/File.svg) no-repeat;
width: 30px;
height: 36px;
}
.icon-plus {
.icon;
background: url(/img/Plus.svg) no-repeat;
width: 24px;
height: 24px;
}
.icon-view {
.icon;
background: url(/img/View.svg) no-repeat;
width: 24px;
height: 24px;
}
.icon-refresh {
.icon;
background: url(/img/Refresh.svg) no-repeat;
width: 26px;
height: 28px;
}
.icon-share {
.icon;
background: url(/img/Share.svg) no-repeat;
width: 25px;
height: 27px;
}
.icon-more {
.icon;
background: url(/img/More.svg) no-repeat;
width: 6px;
height: 24px;
}

View File

@ -0,0 +1,27 @@
@import 'variables';
@import 'icons';
@import 'styles/all';
@import 'components/all';
html, body {
margin: 0;
font-family: Fira Sans;
font-weight: regular;
box-sizing: border-box;
}
html {
font-size: 10px;
min-height: 100vh;
}
body {
font-size: 1.6rem;
display: flex;
flex-flow: column;
}

4
src/less/styles/all.less Normal file
View File

@ -0,0 +1,4 @@
@import 'texts';
@import 'shadows';
@import 'buttons';
@import 'forms';

View File

@ -0,0 +1,21 @@
button {
border: none;
background: none;
}
.btn {
padding: 6px 3rem;
border: 1px solid @gray;
border-radius: @radius;
.light-medium;
background: @light-gray;
color: @dark;
&.success {
background: @success;
}
}

View File

@ -0,0 +1,15 @@
input {
border: 1px solid @gray;
background: @light-gray;
border-radius: 4px;
height: 32px;
box-sizing: border-box;
padding: 5px 1rem;
.light-medium;
}

View File

@ -0,0 +1,7 @@
.shadow-bottom {
box-shadow: 0 1px 2px @dark-transparent;
}
.shadow {
box-shadow: 0 0 4px @dark-transparent;
}

View File

@ -0,0 +1,31 @@
.regular-medium {
font-weight: normal;
}
.regular-medium {
font-size: 1.8rem;
}
.light-medium, .light-big, .light-small {
font-weight: @light;
}
.light-medium {
font-size: 1.6rem;
}
.light-big {
font-size: 1.8rem;
}
.light-small {
font-size: 1.3rem;
}
.thin-small {
font-weight: @thin;
}
.thin-small {
font-size: 1.4rem;
}

View File

@ -1 +1,23 @@
@
@dark: #39393A;
@green: #5EBEC2;
@overlay: #9B9B93;
@light-gray: #F8F8F8;
@gray: #F0F0F0;
@background: #FAFAFA;
@blue: #63B0CD;
@success: #B8E986;
@bright-separator: rgba(255, 255, 255, 0.1);
@dark-separator: rgba(0, 0, 0, 0.1);
@dark-transparent: rgba(0, 0, 0, 0.2);
@bright-transparent: rgba(0, 0, 0, 0.2);
// Font Weights
@regular: normal;
@light: 200;
@thin: 100;
@radius: 4px;