]> BookStack Code Mirror - bookstack/commitdiff
Cleaned up some existing tri-column views
authorDan Brown <redacted>
Sat, 30 Mar 2019 14:27:00 +0000 (14:27 +0000)
committerDan Brown <redacted>
Sat, 30 Mar 2019 14:27:00 +0000 (14:27 +0000)
18 files changed:
package-lock.json
resources/assets/sass/_forms.scss
resources/assets/sass/_grid.scss
resources/assets/sass/_header.scss
resources/assets/sass/_lists.scss
resources/views/auth/login.blade.php
resources/views/auth/register.blade.php
resources/views/books/show.blade.php
resources/views/books/sort.blade.php
resources/views/chapters/show.blade.php
resources/views/common/home.blade.php
resources/views/partials/breadcrumbs.blade.php
resources/views/search/all.blade.php
resources/views/settings/index.blade.php
resources/views/settings/maintenance.blade.php
resources/views/tri-layout.blade.php
resources/views/users/edit.blade.php
resources/views/users/form.blade.php

index 4d779f6f913db64efc2c6babe39075ed587173dc..1a5fef175c91884031624809093d9ac089a7722a 100644 (file)
         "code-point-at": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "concat-map": {
           "version": "0.0.1",
         "console-control-strings": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "core-util-is": {
           "version": "1.0.2",
         "inherits": {
           "version": "2.0.3",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "ini": {
           "version": "1.3.5",
           "version": "1.0.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "number-is-nan": "^1.0.0"
           }
           "version": "1.4.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "wrappy": "1"
           }
           "version": "1.0.2",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "code-point-at": "^1.0.0",
             "is-fullwidth-code-point": "^1.0.0",
index 77ac359633e47973521d0ddaf34d963db5705766..b35caae55af89fda2d22d1de936da11ad33365bc 100644 (file)
@@ -322,6 +322,9 @@ div[editor-type="markdown"] .title-input.page-title input[type="text"] {
     width: 300px;
     max-width: 100%;
   }
+  &.flexible input {
+    width: 100%;
+  }
 }
 
 .outline > input {
index 7415be73f3d870ff65251ef3f2bba8b1edfe76b9..5a89bf3590320f42348d214782099102baee29a7 100644 (file)
@@ -74,7 +74,6 @@ body.flexbox {
     width: 100%;
   }
 }
-
 @include smaller-than($m) {
   .content-wrap.card {
     padding: $-m $-l;
@@ -83,15 +82,11 @@ body.flexbox {
 
 .tri-layout-container {
   display: grid;
-  grid-template-columns: 1fr minmax(auto, 940px) 1fr;
+  margin-left: $-xl;
+  margin-right: $-xl;
+  grid-template-columns: 1fr 4fr 1fr;
   grid-template-areas: "a b c";
-  .tri-layout-right-contents, .tri-layout-left-contents {
-    padding-right: 3vw;
-    padding-left: 3vw;
-    max-width: 460px;
-    margin-left: auto;
-    margin-right: auto;
-  }
+  grid-column-gap: $-xxl;
   .tri-layout-right {
     grid-area: c;
   }
@@ -100,6 +95,7 @@ body.flexbox {
   }
   .tri-layout-middle {
     grid-area: b;
+    padding-top: $-m;
   }
 }
 @include smaller-than($xxl) {
@@ -110,24 +106,29 @@ body.flexbox {
     grid-template-rows: max-content min-content;
     padding-right: $-l;
     .content-wrap.card {
-      padding: $-l $-l;
+      padding: $-l $-xl;
     }
   }
 }
 @include larger-than($xxl) {
   .tri-layout-left-contents, .tri-layout-right-contents {
+    padding: $-m;
     position: sticky;
     top: $-m;
     max-height: 100vh;
     min-height: 50vh;
     overflow-y: scroll;
-    overflow-x: visible;
+    overflow-x: hidden;
     scrollbar-width: none;
     -ms-overflow-style: none;
     &::-webkit-scrollbar {
       display: none;
     }
   }
+  .tri-layout-middle-contents {
+    max-width: 940px;
+    margin: 0 auto;
+  }
 }
 
 @include smaller-than($l) {
@@ -230,10 +231,14 @@ div[class^="col-"] img {
   &.right-focus {
     grid-template-columns: 1fr 2fr;
   }
-  &.large-gap {
+  &.gap-xl {
     grid-column-gap: $-xl;
     grid-row-gap: $-xl;
   }
+  &.gap-xxl {
+    grid-column-gap: $-xxl;
+    grid-row-gap: $-xxl;
+  }
 }
 
 .grid-card {
@@ -296,7 +301,7 @@ div[class^="col-"] img {
   .grid.half.collapse-xs {
     grid-template-columns: 1fr 1fr;
   }
-  .grid.large-gap {
+  .grid.gap-xl {
     grid-column-gap: $-m;
     grid-row-gap: $-m;
   }
index e8667e7193bb0c4dbaa5c67ec429ab91ed89c034..8452b066741787328c7c0b54cb0e499ae92bbb35 100644 (file)
@@ -202,14 +202,11 @@ header .search-box {
   align-items: center;
   justify-content: flex-start;
   flex-wrap: wrap;
+  opacity: 0.7;
   .icon-list-item {
     width: auto;
     padding-top: $-xs;
     padding-bottom: $-xs;
-    &:not(:hover) {
-      color: #666;
-      fill: #888;
-    }
   }
   .separator {
     display: inline-block;
@@ -218,6 +215,9 @@ header .search-box {
     line-height: 0.8;
     margin: -2px 0 0;
   }
+  &:hover {
+    opacity: 1;
+  }
 }
 
 .breadcrumb-listing {
index 8b7027ef2103731c01e723742b6356ef82312b8b..74b0d9938565134a383b8d677b093ad848434401 100644 (file)
@@ -1,12 +1,18 @@
 
 .book-contents .entity-list-item {
   .icon {
-    width: 30px;
-    border-radius: 4px;
+    width: 4px;
+    border-radius: 1px;
     justify-self: stretch;
     align-self: stretch;
     height: auto;
   }
+  .icon:after {
+    opacity: 0.5;
+  }
+  .icon svg {
+    display: none;
+  }
   p {
     margin-bottom: 0;
   }
@@ -24,9 +30,9 @@
   width: 100%;
   position: relative;
   > .icon {
-    width: 30px;
+    width: 4px;
     height: auto;
-    border-radius: 0 0 4px 4px;
+    border-radius: 0 0 1px 1px;
     align-self: stretch;
     flex-shrink: 0;
     &:before {
       height: 1px;
       background-color: currentColor;
       content: '';
-      opacity: 0.2;
+      opacity: 0.5;
+    }
+    &:after {
+      opacity: 0.5;
     }
   }
+  .icon svg {
+    display: none;
+  }
   > .content {
     flex: 1;
   }
@@ -50,7 +62,6 @@
   .chapter-expansion-toggle:hover {
     background-color: rgba(0, 0, 0, 0.06);
   }
-
 }
 
 .entity-list-item.has-children {
@@ -368,9 +379,16 @@ ul.pagination {
   }
   &:not(.no-hover):hover {
     text-decoration: none;
-    background-color: #DDD;
+    background-color: rgba(0, 0, 0, 0.1);
     border-radius: 4px;
   }
+  &.outline-hover {
+    border: 1px solid transparent;
+  }
+  &.outline-hover:hover {
+    background-color: transparent;
+    border-color: rgba(0, 0, 0, 0.1);
+  }
 }
 
 
index f5d9e998f540df3826d26c56322338f39f76f80f..90095881259cb0d5b79e81a4e6f84b65604b073d 100644 (file)
@@ -16,7 +16,7 @@
                     @include('auth/forms/login/' . $authMethod)
                 </div>
 
-                <div class="grid half collapse-xs large-gap v-center">
+                <div class="grid half collapse-xs gap-xl v-center">
                     <div class="text-left ml-xxs">
                         @include('components.custom-checkbox', [
                             'name' => 'remember',
index 1388472c2a3c40c6334e17984c76eadbf8228c8e..615ade3df42d9929ff4dda37441f4697adb77105 100644 (file)
@@ -26,7 +26,7 @@
                     @include('form/password', ['name' => 'password', 'placeholder' => trans('auth.password_hint')])
                 </div>
 
-                <div class="grid half collapse-xs large-gap v-center mt-m">
+                <div class="grid half collapse-xs gap-xl v-center mt-m">
                     <div class="text-small">
                         <a href="{{ baseUrl('/login') }}">Already have an account?</a>
                     </div>
index 3a4a2c1928fe092720e679d82b30f9a2e9258837..654bb98e36992006cd253d394de7557bc2e16266 100644 (file)
     @endif
 
     <div class="mb-xl">
-        <form v-on:submit.prevent="searchBook" class="search-box">
+        <form v-on:submit.prevent="searchBook" class="search-box flexible">
             <input v-model="searchTerm" v-on:change="checkSearchForm()" type="text" name="term" placeholder="{{ trans('entities.books_search_this') }}">
             <button type="submit">@icon('search')</button>
             <button v-if="searching" v-cloak class="text-neg" v-on:click="clearSearch()" type="button">@icon('close')</button>
index 771a68fcbc2ce2504f574df0daa7366e608d921a..11a2548616d62effd7f2c00e261672eafd068241 100644 (file)
@@ -16,7 +16,7 @@
             ]])
         </div>
 
-        <div class="grid left-focus large-gap">
+        <div class="grid left-focus gap-xl">
             <div>
                 <div class="card content-wrap">
                     <h1 class="list-heading">{{ trans('entities.books_sort') }}</h1>
index 397d75254b58af87217feeda4d6cd613bae1cd80..2e2cead8954ccea2e2fcdfeb0ef635db9ca7300b 100644 (file)
     @endif
 
     <div class="mb-xl">
-        <form @submit.prevent="searchBook" class="search-box">
+        <form @submit.prevent="searchBook" class="search-box flexible">
             <input v-model="searchTerm" @change="checkSearchForm()" type="text" name="term" placeholder="{{ trans('entities.chapters_search_this') }}">
             <button type="submit">@icon('search')</button>
             <button v-if="searching" v-cloak class="text-neg" @click="clearSearch()" type="button">@icon('close')</button>
index bc7778fe57c428e8f7bac68531725db8c88dbe66..3e1a173f73808c0f02f5b019b5107bdb2f8838e5 100644 (file)
@@ -7,7 +7,7 @@
         <a expand-toggle=".entity-list.compact .entity-item-snippet" class="text-muted">@icon('expand-text'){{ trans('common.toggle_details') }}</a>
     </div>
 
-    <div class="grid contained third large-gap" id="home-default">
+    <div class="grid contained third gap-xxl" id="home-default">
         <div>
             @if(count($draftPages) > 0)
                 <div id="recent-drafts" class="card mb-xl">
index bf77a402a27e81bc5a32f3ac0fdd0b17002b1b55..3d07e1338238fdb7d82f613b6847fe5be9a32b36 100644 (file)
@@ -3,7 +3,7 @@
 
     {{--Show top level item--}}
     @if (count($crumbs) > 0 && array_first($crumbs) instanceof  \BookStack\Entities\Book)
-        <a href="{{  baseUrl('/books')  }}" class="icon-list-item">
+        <a href="{{  baseUrl('/books')  }}" class="text-book icon-list-item outline-hover">
             <span>@icon('books')</span>
             <span>{{ trans('entities.books') }}</span>
         </a>
@@ -25,7 +25,7 @@
                 {{ $crumb }}
             </a>
         @elseif (is_array($crumb))
-            <a href="{{  baseUrl($key)  }}" class="icon-list-item">
+            <a href="{{  baseUrl($key)  }}" class="icon-list-item outline-hover">
                 <span>@icon($crumb['icon'])</span>
                 <span>{{ $crumb['text'] }}</span>
             </a>
@@ -33,7 +33,7 @@
             @if($breadcrumbCount > 0)
                 @include('partials.breadcrumb-listing', ['entity' => $crumb])
             @endif
-            <a href="{{ $crumb->getUrl() }}" class="text-{{$crumb->getType()}} icon-list-item">
+            <a href="{{ $crumb->getUrl() }}" class="text-{{$crumb->getType()}} icon-list-item outline-hover">
                 <span>@icon($crumb->getType())</span>
                 <span>
                     {{ $crumb->getShortName() }}
index 6a6c9d198d10248b30003fdb4442f047a0fde817..f7668b896753a962ffad445c72d9dcf52d8bc333 100644 (file)
@@ -9,7 +9,7 @@
             &nbsp;
         </div>
 
-        <div class="grid right-focus reverse-collapse large-gap">
+        <div class="grid right-focus reverse-collapse gap-xl">
             <div>
                 <div>
                     <h5>{{ trans('entities.search_filters') }}</h5>
index d063539ea69c80a9a44df6d3e6086d7486e2d767..cf043544eebb3c5e28dc806e4c6b9fb606992199 100644 (file)
@@ -21,7 +21,7 @@
                 <div class="setting-list">
 
 
-                    <div class="grid half large-gap">
+                    <div class="grid half gap-xl">
                         <div>
                             <label for="setting-app-public" class="setting-list-label">{{ trans('settings.app_public_access') }}</label>
                             <p class="small">{!! trans('settings.app_public_access_desc') !!}</p>
@@ -40,7 +40,7 @@
                         </div>
                     </div>
 
-                    <div class="grid half large-gap">
+                    <div class="grid half gap-xl">
                         <div>
                             <label class="setting-list-label">{{ trans('settings.app_secure_images') }}</label>
                             <p class="small">{{ trans('settings.app_secure_images_desc') }}</p>
@@ -54,7 +54,7 @@
                         </div>
                     </div>
 
-                    <div class="grid half large-gap">
+                    <div class="grid half gap-xl">
                         <div>
                             <label class="setting-list-label">{{ trans('settings.app_disable_comments') }}</label>
                             <p class="small">{!! trans('settings.app_disable_comments_desc') !!}</p>
@@ -84,7 +84,7 @@
 
                 <div class="setting-list">
 
-                    <div class="grid half large-gap">
+                    <div class="grid half gap-xl">
                         <div>
                             <label for="setting-app-name" class="setting-list-label">{{ trans('settings.app_name') }}</label>
                             <p class="small">{{ trans('settings.app_name_desc') }}</p>
@@ -99,7 +99,7 @@
                         </div>
                     </div>
 
-                    <div class="grid half large-gap">
+                    <div class="grid half gap-xl">
                         <div>
                             <label class="setting-list-label">{{ trans('settings.app_editor') }}</label>
                             <p class="small">{{ trans('settings.app_editor_desc') }}</p>
                         </div>
                     </div>
 
-                    <div class="grid half large-gap">
+                    <div class="grid half gap-xl">
                         <div>
                             <label class="setting-list-label">{{ trans('settings.app_logo') }}</label>
                             <p class="small">{!! trans('settings.app_logo_desc') !!}</p>
                         </div>
                     </div>
 
-                    <div class="grid half large-gap">
+                    <div class="grid half gap-xl">
                         <div>
                             <label class="setting-list-label">{{ trans('settings.app_primary_color') }}</label>
                             <p class="small">{!! trans('settings.app_primary_color_desc') !!}</p>
                         </div>
                     </div>
 
-                    <div homepage-control id="homepage-control" class="grid half large-gap">
+                    <div homepage-control id="homepage-control" class="grid half gap-xl">
                         <div>
                             <label for="setting-app-homepage" class="setting-list-label">{{ trans('settings.app_homepage') }}</label>
                             <p class="small">{{ trans('settings.app_homepage_desc') }}</p>
                 {!! csrf_field() !!}
 
                 <div class="setting-list">
-                    <div class="grid half large-gap">
+                    <div class="grid half gap-xl">
                         <div>
                             <label class="setting-list-label">{{ trans('settings.reg_enable') }}</label>
                             <p class="small">{!! trans('settings.reg_enable_desc') !!}</p>
                         </div>
                     </div>
 
-                    <div class="grid half large-gap">
+                    <div class="grid half gap-xl">
                         <div>
                             <label for="setting-registration-restrict" class="setting-list-label">{{ trans('settings.reg_confirm_restrict_domain') }}</label>
                             <p class="small">{!! trans('settings.reg_confirm_restrict_domain_desc') !!}</p>
                         </div>
                     </div>
 
-                    <div class="grid half large-gap">
+                    <div class="grid half gap-xl">
                         <div>
                             <label class="setting-list-label">{{ trans('settings.reg_email_confirmation') }}</label>
                             <p class="small">{{ trans('settings.reg_confirm_email_desc') }}</p>
index 6e408d1f4836270be35cc9bbee12cc627c57962f..f7f813f26d9cb655fca23d252a203d9aabc7d117 100644 (file)
@@ -16,7 +16,7 @@
 
     <div id="image-cleanup" class="card content-wrap auto-height">
         <h2 class="list-heading">{{ trans('settings.maint_image_cleanup') }}</h2>
-        <div class="grid half large-gap">
+        <div class="grid half gap-xl">
             <div>
                 <p class="small muted">{{ trans('settings.maint_image_cleanup_desc') }}</p>
             </div>
index 5f3d381df919139304ea73eae4f7af62d351ddc8..bb734da8edad3e17ff238834556366704750bebf 100644 (file)
@@ -9,7 +9,7 @@
     {{--</div>--}}
     {{--TODO - Cleanup toolbar usage--}}
 
-    <div class="tri-layout-container mt-m" tri-layout @yield('container-attrs') >
+    <div class="tri-layout-container" tri-layout @yield('container-attrs') >
 
         <div class="tri-layout-left print-hidden pt-m" id="sidebar">
             <div class="tri-layout-left-contents">
@@ -18,7 +18,9 @@
         </div>
 
         <div class="@yield('body-wrap-classes') tri-layout-middle">
-            @yield('body')
+            <div class="tri-layout-middle-contents">
+                @yield('body')
+            </div>
         </div>
 
         <div class="tri-layout-right print-hidden pt-m">
index e6e66665f08bb97e2d1e0edc95d1197ba011324a..b9ad052c7b1d93925a3f8dd529660f5e6e868678 100644 (file)
@@ -16,7 +16,7 @@
                 <div class="setting-list">
                     @include('users.form', ['model' => $user, 'authMethod' => $authMethod])
 
-                    <div class="grid half large-gap">
+                    <div class="grid half gap-xl">
                         <div>
                             <label for="user-avatar" class="setting-list-label">{{ trans('settings.users_avatar') }}</label>
                             <p class="small">{{ trans('settings.users_avatar_desc') }}</p>
@@ -35,7 +35,7 @@
                         </div>
                     </div>
 
-                    <div class="grid half large-gap v-center">
+                    <div class="grid half gap-xl v-center">
                         <div>
                             <label for="user-language" class="setting-list-label">{{ trans('settings.users_preferred_language') }}</label>
                             <p class="small">
index 2459626f61e2e0017b0cd3139a5fb3d646873c8b..1e103ec70f94da5900a0e8734e3e53c572e37f5f 100644 (file)
@@ -11,7 +11,7 @@
     @if($authMethod === 'ldap' || $authMethod === 'system')
         <p class="small">{{ trans('settings.users_details_desc_no_email') }}</p>
     @endif
-    <div class="grid half mt-m large-gap">
+    <div class="grid half mt-m gap-xl">
         <div>
             <label for="name">{{ trans('auth.name') }}</label>
             @include('form.text', ['name' => 'name'])
@@ -26,7 +26,7 @@
 </div>
 
 @if($authMethod === 'ldap' && userCan('users-manage'))
-    <div class="grid half large-gap v-center">
+    <div class="grid half gap-xl v-center">
         <div>
             <label class="setting-list-label">{{ trans('settings.users_external_auth_id') }}</label>
             <p class="small">{{ trans('settings.users_external_auth_id_desc') }}</p>
@@ -56,7 +56,7 @@
                 {{ trans('settings.users_password_warning') }}
             </p>
         @endif
-        <div class="grid half mt-m large-gap">
+        <div class="grid half mt-m gap-xl">
             <div>
                 <label for="password">{{ trans('auth.password') }}</label>
                 @include('form.password', ['name' => 'password'])