├── .gitignore ├── app ├── css │ └── app.css ├── index.html └── js │ ├── app.js │ └── base.js ├── attendant ├── icons ├── icon.icns ├── title.png └── title.svg ├── main.js ├── mix-manifest.json ├── package.json ├── readme.md ├── shot.png ├── src └── js │ ├── app.js │ ├── components │ ├── ListHeader.vue │ ├── SiteDetails.vue │ ├── SiteList.vue │ ├── SiteListItem.vue │ ├── StatusBar.vue │ └── TitleBar.vue │ └── forge │ └── Forge.js ├── webpack.config.js └── webpack.mix.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.lock 3 | *.log 4 | attendant-darwin-x64 -------------------------------------------------------------------------------- /app/css/app.css: -------------------------------------------------------------------------------- 1 | *{ 2 | box-sizing: border-box; 3 | font-family: "Avenir Next"; 4 | font-size: 20px; 5 | cursor: default; 6 | } 7 | html, body{ 8 | padding: 0; 9 | margin: 0; 10 | } 11 | .splitter{ 12 | display: flex; 13 | height: calc(100vh - 89px); 14 | } 15 | .section1{ 16 | min-width: 256px; 17 | border-right: 1px solid #E9E9E9; 18 | } 19 | .section2{ 20 | flex: 1; 21 | } 22 | 23 | .flex-1{ 24 | flex: 1; 25 | } 26 | 27 | .btn{ 28 | border: 1px solid #E9E9E9; 29 | color: #999; 30 | padding: 10px 20px; 31 | background: #fff; 32 | transition: box-shadow .2s ease-in-out; 33 | } 34 | .btn:hover{ 35 | box-shadow: 0px 0px 0px 2px #E9E9E9; 36 | } 37 | 38 | .btn.is-green{ 39 | border: 1px solid #7ED321; 40 | color: #7ED321; 41 | } 42 | .btn.is-green:hover{ 43 | box-shadow: 0px 0px 0px 2px #7ED321; 44 | } 45 | 46 | .btn.is-red{ 47 | border: 1px solid #FB503B; 48 | color: #FB503B; 49 | } 50 | .btn.is-red:hover{ 51 | box-shadow: 0px 0px 0px 2px #FB503B; 52 | } 53 | 54 | 55 | #holder{ 56 | display: none; 57 | position: fixed; 58 | top: 0px; 59 | left: 0px; 60 | right: 0px; 61 | bottom: 0px; 62 | background: #fff; 63 | } 64 | #holder div{ 65 | flex: 1; 66 | display: flex; 67 | align-items: center; 68 | justify-content: center; 69 | } 70 | #holder div{ 71 | border: 2px dashed #E9E9E9; 72 | font-size: 25px; 73 | color: #555; 74 | } 75 | 76 | .activeate-filedropper #holder{ 77 | display: flex; 78 | } -------------------------------------------------------------------------------- /app/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 |
2 |
3 |
8 |
9 |