diff --git a/app/Services/ActivityService.php b/app/Services/ActivityService.php index 4ee05d59f..1691f06a1 100644 --- a/app/Services/ActivityService.php +++ b/app/Services/ActivityService.php @@ -3,6 +3,7 @@ use Illuminate\Support\Facades\Auth; use Oxbow\Activity; use Oxbow\Entity; +use Session; class ActivityService { @@ -35,6 +36,7 @@ class ActivityService $this->activity->extra = $extra; } $entity->activity()->save($this->activity); + $this->setNotification($activityKey); } /** @@ -52,8 +54,10 @@ class ActivityService $this->activity->extra = $extra; } $this->activity->save(); + $this->setNotification($activityKey); } + /** * Removes the entity attachment from each of its activities * and instead uses the 'extra' field with the entities name. @@ -84,4 +88,17 @@ class ActivityService ->skip($count*$page)->take($count)->get(); } + /** + * Flashes a notification message to the session if an appropriate message is available. + * @param $activityKey + */ + protected function setNotification($activityKey) + { + $notificationTextKey = 'activities.' . $activityKey . '_notification'; + if (trans()->has($notificationTextKey)) { + $message = trans($notificationTextKey); + Session::flash('success', $message); + } + } + } \ No newline at end of file diff --git a/resources/assets/sass/_animations.scss b/resources/assets/sass/_animations.scss index 147197e1d..5d7c64562 100644 --- a/resources/assets/sass/_animations.scss +++ b/resources/assets/sass/_animations.scss @@ -14,4 +14,27 @@ 100% { opacity: 1; } +} + +.anim.notification { + transform: translate3d(580px, 0, 0); + animation-name: notification; + animation-duration: 3s; + animation-timing-function: ease-in-out; + animation-fill-mode: forwards; +} + +@keyframes notification { + 0% { + transform: translate3d(580px, 0, 0); + } + 10% { + transform: translate3d(0, 0, 0); + } + 90% { + transform: translate3d(0, 0, 0); + } + 100% { + transform: translate3d(580px, 0, 0); + } } \ No newline at end of file diff --git a/resources/assets/sass/styles.scss b/resources/assets/sass/styles.scss index aea2360a3..7be43ab6b 100644 --- a/resources/assets/sass/styles.scss +++ b/resources/assets/sass/styles.scss @@ -452,4 +452,37 @@ body.dragging, body.dragging * { .avatar { border-radius: 100%; +} + +.notification { + position: fixed; + top: 0; + right: 0; + margin: $-xl*2 $-xl; + padding: $-l $-xl; + background-color: #EEE; + border-radius: 3px; + box-shadow: $bs-med; + z-index: 99999999; + display: table; + cursor: pointer; + max-width: 480px; + i, span { + display: table-cell; + } + i { + font-size: 2em; + padding-right: $-l; + } + span { + vertical-align: middle; + } + &.pos { + background-color: $positive; + color: #EEE; + } + &.neg { + background-color: $negative; + color: #EEE; + } } \ No newline at end of file diff --git a/resources/lang/en/activities.php b/resources/lang/en/activities.php index 3f1f8def1..ea18d6693 100644 --- a/resources/lang/en/activities.php +++ b/resources/lang/en/activities.php @@ -9,19 +9,30 @@ return [ // Pages 'page_create' => 'created page', + 'page_create_notification' => 'Page Successfully Created', 'page_update' => 'updated page', + 'page_update_notification' => 'Page Successfully Updated', 'page_delete' => 'deleted page', + 'page_delete_notification' => 'Page Successfully Created', 'page_restore' => 'restored page', + 'page_restore_notification' => 'Page Successfully Restored', // Chapters 'chapter_create' => 'created chapter', + 'chapter_create_notification' => 'Chapter Successfully Created', 'chapter_update' => 'updated chapter', + 'chapter_update_notification' => 'Chapter Successfully Updated', 'chapter_delete' => 'deleted chapter', + 'chapter_delete_notification' => 'Chapter Successfully Deleted', // Books 'book_create' => 'created book', + 'book_create_notification' => 'Book Successfully Created', 'book_update' => 'updated book', + 'book_update_notification' => 'Book Successfully Updated', 'book_delete' => 'deleted book', + 'book_delete_notification' => 'Book Successfully Deleted', 'book_sort' => 'sorted book', + 'book_sort_notification' => 'Book Successfully Re-sorted', ]; \ No newline at end of file diff --git a/resources/views/base.blade.php b/resources/views/base.blade.php index cf3957b78..06f217848 100644 --- a/resources/views/base.blade.php +++ b/resources/views/base.blade.php @@ -2,12 +2,17 @@
- {{$page->getExcerpt()}} + {{$page->getExcerpt(180)}}