diff --git a/client.sample.happy-dev.css b/client.sample.happy-dev.css
index f75cb0a..2ce6bdc 100644
--- a/client.sample.happy-dev.css
+++ b/client.sample.happy-dev.css
@@ -27,6 +27,12 @@
/* Header's elements */
--color-header-background: var(--color-white);
--color-bell: var(--color-complementary-darken);
+ --color-notification-counter-number: black;
+ --color-notification-summary: #7A7F85;
+ --solid-notifications-theme: var(--color-primary);
+ --color-notification-item-border: #E4E8ED;
+ --color-notification-scrollbar-background: #EDF1FA;
+ --color-notification-scrollbar-track: #BDC2D7;
--color-user-panel-header-text: var(--color-complementary-darken);
--color-user-panel-header-background: var(--color-white);
--color-user-panel-header-text-open: var(--color-white);
diff --git a/src/dependencies.pug b/src/dependencies.pug
index 55b275b..0d9e144 100644
--- a/src/dependencies.pug
+++ b/src/dependencies.pug
@@ -11,7 +11,7 @@ script(type="module" src="https://unpkg.com/@startinblox/oidc@0.9" defer)
script(type="module" src="https://unpkg.com/@startinblox/router@0.8" defer)
//- script(type="module" src="/lib/solid-router/src/index.js" defer)
-script(type="module" src="https://unpkg.com/@startinblox/component-notifications@0.4" defer)
+script(type="module" src="https://unpkg.com/@startinblox/component-notifications@0.5" defer)
//- script(type="module" src="/lib/sib-notifications/index.js" defer)
if endpoints.events || (endpoints.get && endpoints.get.events)
diff --git a/src/header.pug b/src/header.pug
index 75a2806..1320e54 100644
--- a/src/header.pug
+++ b/src/header.pug
@@ -2,11 +2,15 @@
solid-link(next='dashboard')
img(src=`${clientLogo || '/images/logo.png'}` style=`max-height:${clientLogoHeight || '32px'}`)
-sib-notifications.notLoggedIn(
+solid-notifications.notLoggedIn(
nested-field="inbox"
bind-user
)
+//- Templates for notifications from circles and from other users
+include views/circle/page-circle-notifications.pug
+include views/user/page-user-notifications.pug
+
include templates/hubl-user-avatar.pug
details#user-controls.notLoggedIn
diff --git a/src/styles/abstracts/_variables.scss b/src/styles/abstracts/_variables.scss
index ae485e0..03b17c9 100644
--- a/src/styles/abstracts/_variables.scss
+++ b/src/styles/abstracts/_variables.scss
@@ -33,7 +33,6 @@
--color-main-text: var(--color-grey-4);
--color-highlight-primary: var(--color-primary);
--color-user-panel: var(--color-black);
- --color-bell: var(--color-secondary);
--color-avatar-background: var(--color-grey-10);
--color-title: var(--color-secondary);
--color-h1: var(--color-secondary);
@@ -42,6 +41,12 @@
/* Header's elements */
--color-header-background: var(--color-white);
--color-bell: var(--color-secondary);
+ --color-notification-counter-number: var(--color-white);
+ --color-notification-summary: var(--color-grey-4);
+ --solid-notifications-theme: var(--color-primary);
+ --color-notification-item-border: var(--color-grey-12);
+ --color-notification-scrollbar-background: #EDF1FA;
+ --color-notification-scrollbar-track: var(--color-grey-8);
--color-user-panel-header-text: var(--color-secondary);
--color-user-panel-header-background: var(--color-white);
--color-user-panel-header-text-open: var(--color-white);
diff --git a/src/styles/base/header.scss b/src/styles/base/header.scss
index 1288dff..7966a19 100644
--- a/src/styles/base/header.scss
+++ b/src/styles/base/header.scss
@@ -67,17 +67,17 @@ details {
}
/* End */
-sib-notifications {
+solid-notifications {
color: var(--color-bell);
@include breakpoint(sm) {
padding: 0;
}
- .sib-notifications__container {
+ .solid-notifications__container {
position: relative;
- .sib-notifications__button {
+ .solid-notifications__button {
@include icon('bell');
font-size: 2.5rem;
@@ -93,7 +93,7 @@ sib-notifications {
display: none;
}
- .sib-notifications__counter {
+ .solid-notifications__counter {
left: 2rem;
position: absolute;
top: 1px;
@@ -102,27 +102,157 @@ sib-notifications {
left: 2.1rem;
top: -3px;
}
+
+ span {
+ color: var(--color-notification-counter-number);
+ }
+ }
+ }
+
+ .solid-notifications__triangle-back {
+ display: none;
+ }
+
+ .solid-notifications__triangle-shadow {
+ display: none;
+
+ @include breakpoint(lg) {
+ background: white;
+ display: block;
+ position: absolute;
+ left: auto;
+ right: -2.1em;
+ top: 5em;
+ transform: initial;
+ width: 0;
+ z-index: 4;
+
+ &::after {
+ content: "";
+ position: absolute;
+ width: 0;
+ height: 0;
+ margin-left: -5em;
+ top: 0px;
+ left: 50%;
+ border: 1em solid black;
+ border-color: #fff #fff transparent transparent;
+ transform-origin: 0 0;
+ transform: rotate(-45deg);
+ box-shadow: 6px -6px 10px -3px rgba(92, 97, 104, 0.14);
+ }
}
}
- .sib-notifications__list {
- overflow-x: hidden;
+ .solid-notifications__list {
+ border: none;
+ border-radius: 0;
+ box-shadow: 0 0 7px 0 rgba(92, 97, 104, 0.24);
+ max-height: calc(100vh - 50px);
position: fixed;
left: 0;
- top: 4.5rem;
+ top: 2.5em;
width: 100vw;
-
- @include breakpoint(md) {
- border: 0;
- border-radius: 0;
- }
-
+
@include breakpoint(lg) {
+ max-height: calc(100vh - 93px);
position: absolute;
left: auto;
- right: 0;
- top: 5.6rem;
- width: 300px;
+ right: -2.3em;
+ top: 3.99em;
+ width: 347px;
+ }
+
+ /* Custom scrollbar */
+ overflow: auto;
+ -webkit-overflow-scrolling: touch;
+ -ms-overflow-style: none;
+ scrollbar-width: thin;
+ scrollbar-color: var(--color-notification-scrollbar-track) var(--color-notification-scrollbar-background);
+
+ &::-webkit-scrollbar-track {
+ background: var(--color-notification-scrollbar-background);
+ }
+
+ &::-webkit-scrollbar-thumb {
+ background-color: var(--color-notification-scrollbar-track);
+ border-radius: 6px;
+ }
+
+ &::-webkit-scrollbar {
+ width: 6px;
+ }
+ /* End of custom scrollbar */
+
+ .solid-notifications__item {
+ border-bottom: 1px solid var(--color-notification-item-border);
+
+ .solid-notification {
+ padding: 1.2rem 0 1.5rem;
+
+ .solid-notification__avatar {
+ align-items: center;
+ background: var(--color-avatar-background);
+ display: flex;
+ height: 35px;
+ justify-content: center;
+ margin-left: 1.6rem;
+ margin-right: 1.4rem;
+ overflow: hidden;
+ position: relative;
+ vertical-align: middle;
+ width: 35px;
+
+ img {
+ background-color: var(--color-grey-10);
+ height: 100%;
+ object-fit: cover;
+ object-position: center center;
+ width: 100%;
+ }
+
+ object {
+ height: 45%;
+ width: 45%;
+ }
+ }
+
+ .solid-notification__content {
+ font-family: Open Sans, sans-serif;
+
+ .solid-notification__title {
+ font-size: 1.3rem;
+ font-weight: 600;
+
+ .solid-notification__title__side {
+ font-weight: normal;
+ }
+
+ .solid-notification__title__icon {
+ font-family: simple-line-icons;
+ }
+ }
+
+ .solid-notification__summary {
+ color: var(--color-notification-summary);
+ font-size: 1.2rem;
+ line-height: 1.7rem;
+ margin: 1.1rem 0 0;
+
+ @include breakpoint(320px, 388px) {
+ max-width: 226px;
+ }
+
+ @include breakpoint(lg) {
+ max-width: 256px;
+ }
+ }
+ }
+
+ .solid-notification__read {
+ display: none;
+ }
+ }
}
}
}
diff --git a/src/views/circle/page-circle-notifications.pug b/src/views/circle/page-circle-notifications.pug
new file mode 100644
index 0000000..239c674
--- /dev/null
+++ b/src/views/circle/page-circle-notifications.pug
@@ -0,0 +1,10 @@
+solid-notifications-template(data-rdf-type='hd:circle')
+ template
+ .solid-notification__avatar
+ | ${await author['account.foaf:depiction'] ? `` : ``}
+ .solid-notification__content
+ .solid-notification__title ${await author.name}
+ span.solid-notification__title__side dans
+ span.solid-notification__title__icon ${(await object.status) == 'Public' ? '#' : ''}
+ | ${await object.name}
+ p.solid-notification__summary ${summary}
diff --git a/src/views/user/page-user-notifications.pug b/src/views/user/page-user-notifications.pug
new file mode 100644
index 0000000..ee785d9
--- /dev/null
+++ b/src/views/user/page-user-notifications.pug
@@ -0,0 +1,8 @@
+solid-notifications-template(data-rdf-type='foaf:user')
+ template
+ .solid-notification__avatar
+ | ${await author['account.foaf:depiction'] ? `` : ``}
+ .solid-notification__content
+ .solid-notification__title ${await author.name}
+ span.solid-notification__title__side en privé
+ p.solid-notification__summary ${summary}
\ No newline at end of file