diff --git a/index.php b/index.php index accbbabdfb8206740c46298d11977472278c94ec..3cf41d7942ee4552be3491e187c6543a62b5918f 100644 --- a/index.php +++ b/index.php @@ -28,8 +28,7 @@ <main id="mainContainer" class="container-fluid"> <?php require_once('src/html/dashboard.html'); ?> <?php require_once('src/html/members.html'); ?> - <?php require_once('src/html/member.html'); ?> - <?php require_once('src/html/edit-profile.html'); ?> + <?php require_once('src/html/member.php'); ?> <?php require_once('src/html/projects.html'); ?> <?php require_once('src/html/project.html'); ?> <?php require_once('src/html/project-creation.html'); ?> @@ -43,52 +42,53 @@ </main> <!-- This is a hack : https://git.happy-dev.fr/happy-dev/xmpp-chat-component/issues/24 --> - <!--sib-chat + <sib-chat + id="chat-singleton" data-src="https://djangoldp.happy-dev.fr/users/1" data-authentication="login" data-auto-login="true" data-bosh-service-url="http://jabber.happy-dev.fr/http-bind/" // FIXME: make HTTPS data-debug="false" data-locales-url="node_modules/converse.js/locale/{{{locale}}}/LC_MESSAGES/converse.json"> - </sib-chat--> + </sib-chat> <script> // Store url on load var currentRoute = getCurrentRoute(); + var previousRoute = ""; var chatSingleton = document.querySelector("#chat-singleton"); var body = document.querySelector("body"); function getCurrentRoute() { var pathnameSegments = window.location.pathname.split("/"); - return pathnameSegments[1]; + return pathnameSegments[pathnameSegments.length - 1]; } // Listen for changes - //setInterval(function() { - //if (currentRoute != window.location.href) { - //currentRoute = getCurrentRoute(); + setInterval(function() { + previousRoute = currentRoute; + currentRoute = getCurrentRoute(); - //insertChatIfNeeded(); - //} - //}, 250); + if (previousRoute !== currentRoute) { + insertChatIfNeeded(); + } + }, 250); // Inserts a chat in the current view if needed function insertChatIfNeeded() { - if (["project", "project-chat", "channel", "channel-chat", "member", "member-chat"].indexOf(currentRoute) > -1) { - if (currentRoute.indexOf("chat") == -1) { - currentRoute += "-chat"; - } + console.log(currentRoute); + if (["project-chat", "channel-chat", "member-chat"].indexOf(currentRoute) > -1) { var currentView = document.querySelector("#" + currentRoute); if (currentView.querySelector("sib-chat") == null) { currentView.appendChild(chatSingleton); - currentView.style.display = 'block'; } } else { body.appendChild(chatSingleton); } } + insertChatIfNeeded(); </script> </body> </html> diff --git a/src/html/member-chat.html b/src/html/member-chat.html new file mode 100644 index 0000000000000000000000000000000000000000..7f11c51867a030247c0e157d9785b798e7358c7f --- /dev/null +++ b/src/html/member-chat.html @@ -0,0 +1,2 @@ +<div id="member-chat" style="display: none"> +</div> diff --git a/src/html/edit-profile.html b/src/html/member-edit-profile.html similarity index 96% rename from src/html/edit-profile.html rename to src/html/member-edit-profile.html index 76ab73c695f139e07f589101f2292595ae590419..d9b4f2ba8a47cd2747e945b4448dfe1199bfa937 100644 --- a/src/html/edit-profile.html +++ b/src/html/member-edit-profile.html @@ -17,7 +17,7 @@ //widget-avatar="ldp-form-img-upload" </script> -<div id="edit-profile" style="display: none"> +<div id="member-edit-profile" style="display: none"> <label for="avatar-input"> <img id="avatar-preview" src="http://cdn.local/hdapp/members/alexandre-bourlier.jpg" style="width: 100%;"/> </label> @@ -25,7 +25,7 @@ <sib-form class="edit-form" - data-src="<?php echo $sdn; ?>/members/1/" + bind-resources ></sib-form> </div> diff --git a/src/html/member-profile.html b/src/html/member-profile.html new file mode 100644 index 0000000000000000000000000000000000000000..6e97f4cd5694c32af401725050ffb83f73a5b96b --- /dev/null +++ b/src/html/member-profile.html @@ -0,0 +1,13 @@ +<div id="member-profile" style="display: none"> + <sib-display + id="member-info" + data-fields="avatar, user, before-pseudo, pseudo, bio, cell, number, roles, website, skills" + widget-avatar="sib-display-img" + widget-user="hdapp-userinfo" + widget-cell="hdapp-usercell" + widget-number="sib-display-tel" + widget-roles="sib-display-lookuplist" + widget-skills="sib-display-lookuplist" + bind-resources + ></sib-display> +</div> diff --git a/src/html/member.html b/src/html/member.html deleted file mode 100644 index 5d82e401ed8a08eab904803145b33e8635e5c226..0000000000000000000000000000000000000000 --- a/src/html/member.html +++ /dev/null @@ -1,26 +0,0 @@ -<div id="member" class="view-with-vertical-menu" style="display: none"> - <div class="section info"> - <i class="fa fa-pencil" aria-hidden="true"></i> - <i class="name fa fa-pencil" aria-hidden="true"></i> - - <sib-display - id="member-info" - data-fields="avatar, user, before-pseudo, pseudo, bio, cell, number, roles, website, skills" - widget-avatar="sib-display-img" - widget-user="hdapp-userinfo" - widget-cell="hdapp-usercell" - widget-number="sib-display-tel" - widget-roles="sib-display-lookuplist" - widget-skills="sib-display-lookuplist" - bind-resources - ></sib-display> - </div> -</div> - -<script> - document.querySelectorAll("#member-detail .fa-pencil").forEach((el) => { - el.addEventListener("click", (e) => { - document.getElementById('navbar-router').navigate('edit-profile'); - }); - }); -</script> diff --git a/src/html/member.php b/src/html/member.php new file mode 100644 index 0000000000000000000000000000000000000000..8b092d2e64595b7e67630c256afa95c4840da7da --- /dev/null +++ b/src/html/member.php @@ -0,0 +1,21 @@ +<div id="member" style="display: none"> + <div class="section info"> + <sib-router id="member-router" default-route="member-profile"> + <sib-route name="member-chat"> + <button>Chat</button> + </sib-route> + <sib-route name="member-profile"> + <button>Voir</button> + </sib-route> + <sib-route name="member-edit-profile"> + <button>Éditer</button> + </sib-route> + </sib-router> + + <div id="member-views-container"> + <?php require_once('member-chat.html'); ?> + <?php require_once('member-profile.html'); ?> + <?php require_once('member-edit-profile.html'); ?> + </div> + </div> +</div> diff --git a/src/html/menu.html b/src/html/menu.html index e6ccd8fe48e5a0e1058cfe0df95f63da0f4b5985..76fe56ba3e079a94c3de5686aafbe4fedad838f1 100644 --- a/src/html/menu.html +++ b/src/html/menu.html @@ -11,7 +11,6 @@ <span class="d-none d-md-inline">Membres</span> </sib-route> <sib-route class="d-none" name="member" id-prefix="<?php echo $sdn; ?>/members/"></sib-route> - <sib-route class="d-none" name="edit-profile" id-prefix="<?php echo $sdn; ?>/members/"></sib-route> <sib-route class="nav-item pb-2 align-self-stretch text-center text-md-left" name="projects"> <i class="fa fa-tasks" aria-hidden="true"></i> diff --git a/src/scss/_chat.scss b/src/scss/_chat.scss new file mode 100644 index 0000000000000000000000000000000000000000..757745413fb37c407a0c3d99553e3885b22e1929 --- /dev/null +++ b/src/scss/_chat.scss @@ -0,0 +1,17 @@ +sib-chat { + position: absolute; + top: $menu-height; + bottom: 0px; + left: 0px; + right: 0px; + margin: auto; + display: none; +} + +#member-chat { + sib-chat { + display: block; + top: $menu-height + 30px; + } +} + diff --git a/src/scss/_member.scss b/src/scss/_member.scss index 359cb2ac00b33ed458bed2f7e66e6b336b643ae5..122b5b6871f0d618a022eec5dc83b44600e99c12 100644 --- a/src/scss/_member.scss +++ b/src/scss/_member.scss @@ -32,8 +32,8 @@ #member-detail { #member-info { - ldp-display-mailto, - ldp-display-tel { + sib-display-mailto, + sib-display-tel { display: block; } @@ -63,18 +63,6 @@ .section { position: relative; - i { - position: absolute; - display: block; - top: 5px; - right: 10px; - cursor: pointer; - - &.name { - top: 290px; - } - } - h2 { @extend %detail-section; margin-top: 40px; @@ -85,7 +73,7 @@ display: flex; flex-wrap: wrap; - ldp-display { + sib-display { display: block; background-color: $hd-color; color: white; @@ -100,7 +88,7 @@ @media (min-width: $sm-with) { #member-detail { #member-info { - ldp-display-img { + sib-display-img { display: block; float: right; width: 300px; diff --git a/src/scss/_styles.scss b/src/scss/_styles.scss index d80d3a8205cb6f5e8eb5a0b23cc4aa9c2e9d676d..cd6f4d3a4008dcc3409029d8632362ac46ff1773 100644 --- a/src/scss/_styles.scss +++ b/src/scss/_styles.scss @@ -11,19 +11,3 @@ html, body, #mainContainer { padding-top: $menu-height; } -hd-chat-window { - position: absolute; - top: 0px; - bottom: 0px; - left: 0px; - right: 0px; - margin: auto; - padding-top: $menu-height; - padding-right: $vertical-menu-width; - display: none; -} -.chat-wrapper { - hd-chat-window { - display: block; - } -} diff --git a/src/scss/main.scss b/src/scss/main.scss index 8bd5639599010d37ffbe6c4fe482eb0d0cfb33e5..a2c5a2e33b57a35bd9e0160cd1efec53cac563dc 100644 --- a/src/scss/main.scss +++ b/src/scss/main.scss @@ -17,3 +17,4 @@ @import "channels"; @import "channel"; @import "search"; +@import "chat";