diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php
index 958045b..43508ab 100644
--- a/app/Http/Controllers/Auth/LoginController.php
+++ b/app/Http/Controllers/Auth/LoginController.php
@@ -27,7 +27,7 @@ class LoginController extends Controller
*
* @var string
*/
- protected $redirectTo = '/';
+ protected $redirectTo = '/home';
/**
* Create a new controller instance.
diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php
index bc71626..0b877d8 100644
--- a/app/Http/Controllers/Auth/RegisterController.php
+++ b/app/Http/Controllers/Auth/RegisterController.php
@@ -29,7 +29,7 @@ class RegisterController extends Controller
*
* @var string
*/
- protected $redirectTo = '/';
+ protected $redirectTo = '/home';
/**
* Create a new controller instance.
diff --git a/app/Http/Controllers/DashController.php b/app/Http/Controllers/DashController.php
new file mode 100644
index 0000000..2d8e854
--- /dev/null
+++ b/app/Http/Controllers/DashController.php
@@ -0,0 +1,24 @@
+paginate(15, ['id', 'title', 'name'], 'pageu');
+
+ // TODO visit counting
+ $tables = Table::forList()
+ ->orderBy('visits', 'desc')
+ ->paginate(10, ['*'], 'paget');
+
+ return view('welcome', compact('users', 'tables'));
+ }
+}
diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php
index 8df2afd..6149be5 100644
--- a/app/Http/Controllers/ProfileController.php
+++ b/app/Http/Controllers/ProfileController.php
@@ -18,10 +18,7 @@ class ProfileController extends Controller
*/
public function view(User $user)
{
- $tables = $user->tables()
- ->with('revision:id,row_count')
- ->orderByDesc('updated_at')
- ->paginate(10);
+ $tables = $user->tables()->forList()->orderByDesc('updated_at')->paginate(10);
return view('profile.view')->with(compact('tables', 'user'));
}
diff --git a/app/Http/Controllers/TableController.php b/app/Http/Controllers/TableController.php
index b1629fe..64c3ece 100644
--- a/app/Http/Controllers/TableController.php
+++ b/app/Http/Controllers/TableController.php
@@ -20,7 +20,10 @@ class TableController extends Controller
]);
/** @var Table $tableModel */
- $tableModel = $user->tables()->where('name', $table)->first();
+ $tableModel = $user->tables()->withCount(['favourites', 'forks', 'revisions', 'comments'])
+ ->where('name', $table)->first();
+
+ if ($tableModel === null) abort(404, "No such table.");
// make it possible to show other revisions
if ($input->has('rev')) {
@@ -31,6 +34,14 @@ class TableController extends Controller
$revision = $tableModel->revision;
}
+ $cookieName = "view!$user->name!$table";
+ if (!$request->cookie($cookieName, false)) {
+
+ $tableModel->countVisit();
+
+ \Cookie::queue($cookieName, true, 86400);
+ }
+
return view('table.view', [
'table' => $tableModel,
'revision' => $revision,
diff --git a/app/Models/Proposal.php b/app/Models/Proposal.php
index ef9973c..df99813 100644
--- a/app/Models/Proposal.php
+++ b/app/Models/Proposal.php
@@ -25,6 +25,8 @@ class Proposal extends Model
use Reportable;
protected $guarded = [];
+ protected $touches = ['author', 'table'];
+
/** Authoring user */
public function author()
{
diff --git a/app/Models/Table.php b/app/Models/Table.php
index 58b21c5..4fac554 100644
--- a/app/Models/Table.php
+++ b/app/Models/Table.php
@@ -2,11 +2,10 @@
namespace App\Models;
-use App\Models\Concerns\ManyManyThrough;
use App\Models\Concerns\Reportable;
+use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
-use Riesjart\Relaquent\Model\Concerns\HasRelaquentRelationships;
/**
* A data table object (referencing revisions)
@@ -22,6 +21,7 @@ use Riesjart\Relaquent\Model\Concerns\HasRelaquentRelationships;
* @property string $description
* @property string $license
* @property string $origin
+ * @property int $visits
* @property-read string $viewPage
* @property-read User $owner
* @property-read Table $parentTable
@@ -38,6 +38,21 @@ class Table extends Model
use Reportable;
protected $guarded = [];
+ protected $touches = ['owner'];
+
+ public function countVisit()
+ {
+ // Temporarily disable timestamps to avoid touching updated_at
+ $oldt = $this->touches;
+ $this->touches = [];
+ $this->timestamps = false;
+
+ $this->increment('visits');
+
+ $this->timestamps = true;
+ $this->touches = $oldt;
+ }
+
/** Get owner from the instance cache (use when building table lists) */
public function cachedOwner()
{
@@ -92,6 +107,14 @@ class Table extends Model
return $this->belongsToMany(User::class, 'table_favourites');
}
+ /**
+ * Relation to the pivot table, for favourite counting
+ */
+ public function favourites()
+ {
+ return $this->hasMany(TableFavouritePivot::class);
+ }
+
/** Users to notify about comments */
public function discussionFollowers()
{
@@ -106,4 +129,9 @@ class Table extends Model
return parent::__get($name);
}
+
+ public function scopeForList(Builder $query)
+ {
+ return $query->with('revision:id,row_count')->withCount(['favourites', 'forks', 'revisions']);
+ }
}
diff --git a/app/Models/TableComment.php b/app/Models/TableComment.php
index fb25afb..86cfce8 100644
--- a/app/Models/TableComment.php
+++ b/app/Models/TableComment.php
@@ -26,6 +26,8 @@ class TableComment extends Model
use Reportable;
protected $guarded = [];
+ protected $touches = ['table'];
+
protected static function boot()
{
parent::boot();
diff --git a/app/Models/TableFavouritePivot.php b/app/Models/TableFavouritePivot.php
new file mode 100644
index 0000000..6d8c1b6
--- /dev/null
+++ b/app/Models/TableFavouritePivot.php
@@ -0,0 +1,16 @@
+fieldCols = $fieldCols;
}
+ public function help($text)
+ {
+ return view('form._help-inner', ['help' => $text]);
+ }
+
public function header($hx, $text)
{
return "
".
diff --git a/config/app.php b/config/app.php
index d154da3..087f230 100644
--- a/config/app.php
+++ b/config/app.php
@@ -65,7 +65,7 @@ return [
|
*/
- 'timezone' => 'UTC',
+ 'timezone' => 'Europe/Prague', // UTC
/*
|--------------------------------------------------------------------------
diff --git a/database/migrations/2018_07_29_091631_add_table_visits_column.php b/database/migrations/2018_07_29_091631_add_table_visits_column.php
new file mode 100644
index 0000000..33c94ba
--- /dev/null
+++ b/database/migrations/2018_07_29_091631_add_table_visits_column.php
@@ -0,0 +1,32 @@
+unsignedInteger('visits')->default(0);
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('tables', function (Blueprint $table) {
+ $table->dropColumn('visits');
+ });
+ }
+}
diff --git a/public/fonts/fa-dtbl-1-preview.html b/public/fonts/fa-dtbl-1-preview.html
index 6353ee4..4f18048 100644
--- a/public/fonts/fa-dtbl-1-preview.html
+++ b/public/fonts/fa-dtbl-1-preview.html
@@ -162,23 +162,12 @@
[data-icon]:before,
.fa-address-card-o:before,
-.fa-at:before,
-.fa-bell:before,
-.fa-bell-o:before,
.fa-calendar:before,
-.fa-check:before,
-.fa-clock-o:before,
-.fa-cloud-upload:before,
.fa-code-fork:before,
.fa-comment:before,
-.fa-download:before,
.fa-eye:before,
-.fa-eye-slash:before,
.fa-facebook-square:before,
-.fa-filter:before,
-.fa-flag:before,
.fa-floppy-o:before,
-.fa-gavel:before,
.fa-github:before,
.fa-globe:before,
.fa-google:before,
@@ -188,29 +177,16 @@
.fa-key-modern:before,
.fa-link:before,
.fa-pencil:before,
-.fa-pencil-square-o:before,
.fa-question-circle:before,
-.fa-quote-left:before,
-.fa-reply:before,
-.fa-rss:before,
-.fa-search:before,
-.fa-share-alt:before,
.fa-sign-in:before,
.fa-sign-out:before,
-.fa-sliders:before,
-.fa-sort:before,
-.fa-sort-asc:before,
-.fa-sort-desc:before,
.fa-star:before,
.fa-star-o:before,
.fa-table:before,
.fa-th-list:before,
-.fa-times:before,
-.fa-trash:before,
-.fa-trash-o:before,
.fa-user-circle-o:before,
.fa-user-plus:before,
-.fa-wrench:before {
+.fa-users:before {
display: inline-block;
font-family: "fa-dtbl-1";
font-style: normal;
@@ -226,55 +202,31 @@
}
.fa-address-card-o:before { content: "\f100"; }
-.fa-at:before { content: "\f101"; }
-.fa-bell:before { content: "\f102"; }
-.fa-bell-o:before { content: "\f103"; }
-.fa-calendar:before { content: "\f104"; }
-.fa-check:before { content: "\f105"; }
-.fa-clock-o:before { content: "\f106"; }
-.fa-cloud-upload:before { content: "\f107"; }
-.fa-code-fork:before { content: "\f108"; }
-.fa-comment:before { content: "\f109"; }
-.fa-download:before { content: "\f10a"; }
-.fa-eye:before { content: "\f10b"; }
-.fa-eye-slash:before { content: "\f10c"; }
-.fa-facebook-square:before { content: "\f10d"; }
-.fa-filter:before { content: "\f10e"; }
-.fa-flag:before { content: "\f10f"; }
-.fa-floppy-o:before { content: "\f110"; }
-.fa-gavel:before { content: "\f111"; }
-.fa-github:before { content: "\f112"; }
-.fa-globe:before { content: "\f113"; }
-.fa-google:before { content: "\f114"; }
-.fa-history:before { content: "\f115"; }
-.fa-home:before { content: "\f116"; }
-.fa-inbox:before { content: "\f117"; }
-.fa-key-modern:before { content: "\f118"; }
-.fa-link:before { content: "\f119"; }
-.fa-pencil:before { content: "\f11a"; }
-.fa-pencil-square-o:before { content: "\f11b"; }
-.fa-question-circle:before { content: "\f11c"; }
-.fa-quote-left:before { content: "\f11d"; }
-.fa-reply:before { content: "\f11e"; }
-.fa-rss:before { content: "\f11f"; }
-.fa-search:before { content: "\f120"; }
-.fa-share-alt:before { content: "\f121"; }
-.fa-sign-in:before { content: "\f122"; }
-.fa-sign-out:before { content: "\f123"; }
-.fa-sliders:before { content: "\f124"; }
-.fa-sort:before { content: "\f125"; }
-.fa-sort-asc:before { content: "\f126"; }
-.fa-sort-desc:before { content: "\f127"; }
-.fa-star:before { content: "\f128"; }
-.fa-star-o:before { content: "\f129"; }
-.fa-table:before { content: "\f12a"; }
-.fa-th-list:before { content: "\f12b"; }
-.fa-times:before { content: "\f12c"; }
-.fa-trash:before { content: "\f12d"; }
-.fa-trash-o:before { content: "\f12e"; }
-.fa-user-circle-o:before { content: "\f12f"; }
-.fa-user-plus:before { content: "\f130"; }
-.fa-wrench:before { content: "\f131"; }
+.fa-calendar:before { content: "\f101"; }
+.fa-code-fork:before { content: "\f102"; }
+.fa-comment:before { content: "\f103"; }
+.fa-eye:before { content: "\f104"; }
+.fa-facebook-square:before { content: "\f105"; }
+.fa-floppy-o:before { content: "\f106"; }
+.fa-github:before { content: "\f107"; }
+.fa-globe:before { content: "\f108"; }
+.fa-google:before { content: "\f109"; }
+.fa-history:before { content: "\f10a"; }
+.fa-home:before { content: "\f10b"; }
+.fa-inbox:before { content: "\f10c"; }
+.fa-key-modern:before { content: "\f10d"; }
+.fa-link:before { content: "\f10e"; }
+.fa-pencil:before { content: "\f10f"; }
+.fa-question-circle:before { content: "\f110"; }
+.fa-sign-in:before { content: "\f111"; }
+.fa-sign-out:before { content: "\f112"; }
+.fa-star:before { content: "\f113"; }
+.fa-star-o:before { content: "\f114"; }
+.fa-table:before { content: "\f115"; }
+.fa-th-list:before { content: "\f116"; }
+.fa-user-circle-o:before { content: "\f117"; }
+.fa-user-plus:before { content: "\f118"; }
+.fa-users:before { content: "\f119"; }
@@ -290,7 +242,7 @@
-
-
- PpPpPpPpPpPpPpPpPpPp
-
-
- 12141618212436486072
-
-
-
-
-
-
-
-
-
- PpPpPpPpPpPpPpPpPpPp
-
-
- 12141618212436486072
-
-
-
-
-
-
-
-
-
- PpPpPpPpPpPpPpPpPpPp
-
-
- 12141618212436486072
-
-
-
-
-
-
-
-
-
-
- PpPpPpPpPpPpPpPpPpPp
-
-
- 12141618212436486072
-
-
-
-
-
-
-
-
-
- PpPpPpPpPpPpPpPpPpPp
-
-
- 12141618212436486072
-
-
-
-
-
-
-
-
@@ -409,7 +283,7 @@
-
+
@@ -422,20 +296,7 @@
-
-
-
-
-
@@ -448,20 +309,7 @@
-
-
-
-
-
@@ -474,33 +322,7 @@
-
-
-
-
-
-
- PpPpPpPpPpPpPpPpPpPp
-
-
- 12141618212436486072
-
-
-
-
-
-
-
-
@@ -514,21 +336,7 @@
-
-
-
-
-
@@ -541,7 +349,7 @@
-
+
@@ -554,7 +362,7 @@
-
+
@@ -567,7 +375,7 @@
-
+
@@ -580,7 +388,7 @@
-
+
@@ -593,7 +401,7 @@
-
+
@@ -606,7 +414,7 @@
-
+
@@ -619,7 +427,7 @@
-
+
@@ -632,7 +440,7 @@
-
+
@@ -645,21 +453,7 @@
-
-
-
-
-
@@ -672,72 +466,7 @@
-
-
-
-
-
-
- PpPpPpPpPpPpPpPpPpPp
-
-
- 12141618212436486072
-
-
-
-
-
-
-
-
-
- PpPpPpPpPpPpPpPpPpPp
-
-
- 12141618212436486072
-
-
-
-
-
-
-
-
-
- PpPpPpPpPpPpPpPpPpPp
-
-
- 12141618212436486072
-
-
-
-
-
-
-
-
-
- PpPpPpPpPpPpPpPpPpPp
-
-
- 12141618212436486072
-
-
-
-
-
-
-
-
@@ -750,7 +479,7 @@
-
+
@@ -763,59 +492,7 @@
-
-
-
-
-
-
- PpPpPpPpPpPpPpPpPpPp
-
-
- 12141618212436486072
-
-
-
-
-
-
-
-
-
- PpPpPpPpPpPpPpPpPpPp
-
-
- 12141618212436486072
-
-
-
-
-
-
-
-
-
- PpPpPpPpPpPpPpPpPpPp
-
-
- 12141618212436486072
-
-
-
-
-
-
-
-
@@ -828,7 +505,7 @@
-
+
@@ -841,7 +518,7 @@
-
+
@@ -854,7 +531,7 @@
-
+
@@ -867,47 +544,7 @@
-
-
-
-
-
-
-
-
- PpPpPpPpPpPpPpPpPpPp
-
-
- 12141618212436486072
-
-
-
-
-
-
-
-
@@ -920,7 +557,7 @@
-
+
@@ -933,20 +570,20 @@
-
+
diff --git a/public/fonts/fa-dtbl-1.css b/public/fonts/fa-dtbl-1.css
index 1c1581d..bf5518f 100644
--- a/public/fonts/fa-dtbl-1.css
+++ b/public/fonts/fa-dtbl-1.css
@@ -39,52 +39,28 @@
}
.fa-address-card-o::before, .fa-vcard-o::before { content: "\f100"; }
-.fa-at::before { content: "\f101"; }
-.fa-bell::before { content: "\f102"; }
-.fa-bell-o::before { content: "\f103"; }
-.fa-calendar::before { content: "\f104"; }
-.fa-check::before { content: "\f105"; }
-.fa-clock-o::before { content: "\f106"; }
-.fa-cloud-upload::before { content: "\f107"; }
-.fa-code-fork::before { content: "\f108"; }
-.fa-comment::before { content: "\f109"; }
-.fa-download::before { content: "\f10a"; }
-.fa-eye::before { content: "\f10b"; }
-.fa-eye-slash::before { content: "\f10c"; }
-.fa-facebook-square::before { content: "\f10d"; }
-.fa-filter::before { content: "\f10e"; }
-.fa-flag::before { content: "\f10f"; }
-.fa-floppy-o::before, .fa-save::before { content: "\f110"; }
-.fa-gavel::before, .fa-legal::before { content: "\f111"; }
-.fa-github::before { content: "\f112"; }
-.fa-globe::before { content: "\f113"; }
-.fa-google::before { content: "\f114"; }
-.fa-history::before { content: "\f115"; }
-.fa-home::before { content: "\f116"; }
-.fa-inbox::before { content: "\f117"; }
-.fa-key-modern::before { content: "\f118"; }
-.fa-link::before { content: "\f119"; }
-.fa-pencil::before { content: "\f11a"; }
-.fa-pencil-square-o::before, .fa-edit::before { content: "\f11b"; }
-.fa-question-circle::before { content: "\f11c"; }
-.fa-quote-left::before { content: "\f11d"; }
-.fa-reply::before { content: "\f11e"; }
-.fa-rss::before { content: "\f11f"; }
-.fa-search::before { content: "\f120"; }
-.fa-share-alt::before { content: "\f121"; }
-.fa-sign-in::before { content: "\f122"; }
-.fa-sign-out::before { content: "\f123"; }
-.fa-sliders::before { content: "\f124"; }
-.fa-sort::before { content: "\f125"; }
-.fa-sort-asc::before { content: "\f126"; }
-.fa-sort-desc::before { content: "\f127"; }
-.fa-star::before { content: "\f128"; }
-.fa-star-o::before { content: "\f129"; }
-.fa-table::before { content: "\f12a"; }
-.fa-th-list::before { content: "\f12b"; }
-.fa-times::before, .fa-close::before { content: "\f12c"; }
-.fa-trash::before { content: "\f12d"; }
-.fa-trash-o::before { content: "\f12e"; }
-.fa-user-circle-o::before { content: "\f12f"; }
-.fa-user-plus::before { content: "\f130"; }
-.fa-wrench::before { content: "\f131"; }
+.fa-calendar::before { content: "\f101"; }
+.fa-code-fork::before { content: "\f102"; }
+.fa-comment::before { content: "\f103"; }
+.fa-eye::before { content: "\f104"; }
+.fa-facebook-square::before { content: "\f105"; }
+.fa-floppy-o::before, .fa-save::before { content: "\f106"; }
+.fa-github::before { content: "\f107"; }
+.fa-globe::before { content: "\f108"; }
+.fa-google::before { content: "\f109"; }
+.fa-history::before { content: "\f10a"; }
+.fa-home::before { content: "\f10b"; }
+.fa-inbox::before { content: "\f10c"; }
+.fa-key-modern::before { content: "\f10d"; }
+.fa-link::before { content: "\f10e"; }
+.fa-pencil::before { content: "\f10f"; }
+.fa-question-circle::before { content: "\f110"; }
+.fa-sign-in::before { content: "\f111"; }
+.fa-sign-out::before { content: "\f112"; }
+.fa-star::before { content: "\f113"; }
+.fa-star-o::before { content: "\f114"; }
+.fa-table::before { content: "\f115"; }
+.fa-th-list::before { content: "\f116"; }
+.fa-user-circle-o::before { content: "\f117"; }
+.fa-user-plus::before { content: "\f118"; }
+.fa-users::before { content: "\f119"; }
diff --git a/public/fonts/fa-dtbl-1.eot b/public/fonts/fa-dtbl-1.eot
index 177974a..0db98fc 100644
Binary files a/public/fonts/fa-dtbl-1.eot and b/public/fonts/fa-dtbl-1.eot differ
diff --git a/public/fonts/fa-dtbl-1.svg b/public/fonts/fa-dtbl-1.svg
index 858fb1b..46c1270 100644
--- a/public/fonts/fa-dtbl-1.svg
+++ b/public/fonts/fa-dtbl-1.svg
@@ -1,11 +1,11 @@
diff --git a/public/fonts/fa-dtbl-1.ttf b/public/fonts/fa-dtbl-1.ttf
index d6fb097..a94926b 100644
Binary files a/public/fonts/fa-dtbl-1.ttf and b/public/fonts/fa-dtbl-1.ttf differ
diff --git a/public/fonts/fa-dtbl-1.woff2 b/public/fonts/fa-dtbl-1.woff2
index f95ba30..c492287 100644
Binary files a/public/fonts/fa-dtbl-1.woff2 and b/public/fonts/fa-dtbl-1.woff2 differ
diff --git a/resources/assets/sass/_fa-utils.scss b/resources/assets/sass/_fa-utils.scss
index 94de8cf..ae3661e 100644
--- a/resources/assets/sass/_fa-utils.scss
+++ b/resources/assets/sass/_fa-utils.scss
@@ -28,7 +28,7 @@
}
.fa-large {
- font-size: 1.6em;
+ font-size: 1.5em;
}
.fa-huge {
diff --git a/resources/assets/sass/bootstrap-customizations/_help.scss b/resources/assets/sass/_form-help.scss
similarity index 73%
rename from resources/assets/sass/bootstrap-customizations/_help.scss
rename to resources/assets/sass/_form-help.scss
index 22525b8..aa104d8 100644
--- a/resources/assets/sass/bootstrap-customizations/_help.scss
+++ b/resources/assets/sass/_form-help.scss
@@ -1,5 +1,8 @@
// help bubble icon
.form-help {
display: inline-block;
+}
+
+.form-help-wrapper .form-help {
margin-top: $form-text-margin-top;
}
diff --git a/resources/assets/sass/_helpers.scss b/resources/assets/sass/_helpers.scss
index b737b47..e563220 100644
--- a/resources/assets/sass/_helpers.scss
+++ b/resources/assets/sass/_helpers.scss
@@ -13,48 +13,7 @@
}
}
-@media (max-width:767px){
- .mobile-only {
- display: none;
- }
-
- .mobile-no-border {
- border: 0 none !important;
- }
-}
-
-.border-dashed {
- border-style: dashed !important;
-}
-
-.border-dotted {
- border-style: dotted !important;
-}
-
-.last-p-mb-0 {
- &:last-child {
- margin-bottom: 0;
- }
-}
-
-@each $color, $value in $colors {
- .border-#{$color} {
- border-color: $value !important;
- }
-}
-
.box-shadow {
box-shadow: 0 2px 3px rgba(black, .3);
}
-.small2 {
- font-size: 70%;
-}
-
-a.link-no-color {
- color: unset;
-}
-
-.btn-square {
- min-width: 2.5em;
-}
diff --git a/resources/assets/sass/app.scss b/resources/assets/sass/app.scss
index c4a051c..f4e694f 100644
--- a/resources/assets/sass/app.scss
+++ b/resources/assets/sass/app.scss
@@ -8,10 +8,15 @@ html {
@import "helpers";
@import "fa-utils";
@import "block-collapse";
+@import "form-help";
@import "bootstrap-customizations/paginate";
@import "bootstrap-customizations/card";
@import "bootstrap-customizations/tooltip";
@import "bootstrap-customizations/navbar";
@import "bootstrap-customizations/footer";
-@import "bootstrap-customizations/help";
+@import "bootstrap-customizations/link";
+@import "bootstrap-customizations/border";
+@import "bootstrap-customizations/button";
+@import "bootstrap-customizations/responsive";
+@import "bootstrap-customizations/typography";
diff --git a/resources/assets/sass/bootstrap-customizations/_border.scss b/resources/assets/sass/bootstrap-customizations/_border.scss
new file mode 100644
index 0000000..7d36cc3
--- /dev/null
+++ b/resources/assets/sass/bootstrap-customizations/_border.scss
@@ -0,0 +1,13 @@
+.border-dashed {
+ border-style: dashed !important;
+}
+
+.border-dotted {
+ border-style: dotted !important;
+}
+
+@each $color, $value in $colors {
+ .border-#{$color} {
+ border-color: $value !important;
+ }
+}
diff --git a/resources/assets/sass/bootstrap-customizations/_button.scss b/resources/assets/sass/bootstrap-customizations/_button.scss
new file mode 100644
index 0000000..04e3682
--- /dev/null
+++ b/resources/assets/sass/bootstrap-customizations/_button.scss
@@ -0,0 +1,3 @@
+.btn-square {
+ min-width: 2.5em;
+}
diff --git a/resources/assets/sass/bootstrap-customizations/_card.scss b/resources/assets/sass/bootstrap-customizations/_card.scss
index 96a4c34..56ddeb1 100644
--- a/resources/assets/sass/bootstrap-customizations/_card.scss
+++ b/resources/assets/sass/bootstrap-customizations/_card.scss
@@ -20,6 +20,7 @@
.card-header-extra {
display: flex;
align-items: center;
+ height: 3rem;
}
// special styles for buttons in card header
@@ -31,3 +32,10 @@
.card-header .fa-large {
margin: -.6em 0; // fix icon alignment
}
+
+.card-body .close {
+ margin-top:-$sp1;
+ margin-right:-$sp1;
+ min-width: 1.5rem;
+ text-align:center;
+}
diff --git a/resources/assets/sass/bootstrap-customizations/_link.scss b/resources/assets/sass/bootstrap-customizations/_link.scss
new file mode 100644
index 0000000..cc4d36b
--- /dev/null
+++ b/resources/assets/sass/bootstrap-customizations/_link.scss
@@ -0,0 +1,3 @@
+a.link-no-color {
+ color: unset;
+}
diff --git a/resources/assets/sass/bootstrap-customizations/_responsive.scss b/resources/assets/sass/bootstrap-customizations/_responsive.scss
new file mode 100644
index 0000000..7f74e12
--- /dev/null
+++ b/resources/assets/sass/bootstrap-customizations/_responsive.scss
@@ -0,0 +1,9 @@
+@media (max-width:767px) {
+ .mobile-only {
+ display: none;
+ }
+
+ .mobile-no-border {
+ border: 0 none !important;
+ }
+}
diff --git a/resources/assets/sass/bootstrap-customizations/_typography.scss b/resources/assets/sass/bootstrap-customizations/_typography.scss
new file mode 100644
index 0000000..484ea17
--- /dev/null
+++ b/resources/assets/sass/bootstrap-customizations/_typography.scss
@@ -0,0 +1,8 @@
+p:last-child {
+ margin-bottom: 0;
+}
+
+.small2 {
+ font-size: 70%;
+}
+
diff --git a/resources/views/form/_help-inner.blade.php b/resources/views/form/_help-inner.blade.php
new file mode 100644
index 0000000..eda81fe
--- /dev/null
+++ b/resources/views/form/_help-inner.blade.php
@@ -0,0 +1,9 @@
+@if($help)
+
+@endif
diff --git a/resources/views/form/_help.blade.php b/resources/views/form/_help.blade.php
index 134c443..3844d45 100644
--- a/resources/views/form/_help.blade.php
+++ b/resources/views/form/_help.blade.php
@@ -1,11 +1,3 @@
-
- @if($w->help)
-
help, '<'))
- data-html="true"
- @endif
- title="{{ $w->help }}">
- @endif
+
+ @include('form._help-inner', ['help' => $w->help])
diff --git a/resources/views/layouts/main-nav.blade.php b/resources/views/layouts/main-nav.blade.php
index f68837a..373908f 100644
--- a/resources/views/layouts/main-nav.blade.php
+++ b/resources/views/layouts/main-nav.blade.php
@@ -2,7 +2,7 @@