* Active authentication Oauth - Google authentication - GitHub authentication - Linkedin authentication Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com> * Finish connexion et get user info connexion Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com> * Fix lint error Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com> * Change the expires token for 30 days Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com> * Update connexion stratgey - Set last room when it will be created and not when connexion is openned - Add '/login' end point permit to logout and open iframe to log user - Add logout feature permit to logout in front Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com> * Implement logout and revoke token with hydra Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com> * Fix pull develop conflict Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com> * Profile url (#1399) * Create function that permit to get profile URL Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com> * Continue profil user Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com> * Add menu and logout button Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com> * Update last room use Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com> * Profile callback permit to get url profile setting from admin Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com> * Finish profile show Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com> * Delete profileUrl will be not use today Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com> * Correct lint Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com> * Update size of iframe Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com> * Delete console log Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com> * Update feedback ARP Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
116 lines
4.0 KiB
Svelte
116 lines
4.0 KiB
Svelte
<script lang="typescript">
|
|
import {gameManager} from "../../Phaser/Game/GameManager";
|
|
import {SelectCompanionScene, SelectCompanionSceneName} from "../../Phaser/Login/SelectCompanionScene";
|
|
import {menuIconVisiblilityStore, menuVisiblilityStore, userIsConnected} from "../../Stores/MenuStore";
|
|
import {selectCompanionSceneVisibleStore} from "../../Stores/SelectCompanionStore";
|
|
import {LoginScene, LoginSceneName} from "../../Phaser/Login/LoginScene";
|
|
import {loginSceneVisibleStore} from "../../Stores/LoginSceneStore";
|
|
import {selectCharacterSceneVisibleStore} from "../../Stores/SelectCharacterStore";
|
|
import {SelectCharacterScene, SelectCharacterSceneName} from "../../Phaser/Login/SelectCharacterScene";
|
|
import {connectionManager} from "../../Connexion/ConnectionManager";
|
|
import {PROFILE_URL} from "../../Enum/EnvironmentVariable";
|
|
import {localUserStore} from "../../Connexion/LocalUserStore";
|
|
import {EnableCameraScene, EnableCameraSceneName} from "../../Phaser/Login/EnableCameraScene";
|
|
import {enableCameraSceneVisibilityStore} from "../../Stores/MediaStore";
|
|
|
|
|
|
function disableMenuStores(){
|
|
menuVisiblilityStore.set(false);
|
|
menuIconVisiblilityStore.set(false);
|
|
}
|
|
|
|
function openEditCompanionScene(){
|
|
disableMenuStores();
|
|
selectCompanionSceneVisibleStore.set(true);
|
|
gameManager.leaveGame(SelectCompanionSceneName,new SelectCompanionScene());
|
|
}
|
|
|
|
function openEditNameScene(){
|
|
disableMenuStores();
|
|
loginSceneVisibleStore.set(true);
|
|
gameManager.leaveGame(LoginSceneName,new LoginScene());
|
|
}
|
|
|
|
function openEditSkinScene(){
|
|
disableMenuStores();
|
|
selectCharacterSceneVisibleStore.set(true);
|
|
gameManager.leaveGame(SelectCharacterSceneName,new SelectCharacterScene());
|
|
}
|
|
|
|
function logOut(){
|
|
disableMenuStores();
|
|
loginSceneVisibleStore.set(true);
|
|
connectionManager.logout();
|
|
}
|
|
|
|
function getProfileUrl(){
|
|
return PROFILE_URL + `?token=${localUserStore.getAuthToken()}`;
|
|
}
|
|
|
|
function openEnableCameraScene(){
|
|
disableMenuStores();
|
|
enableCameraSceneVisibilityStore.showEnableCameraScene();
|
|
gameManager.leaveGame(EnableCameraSceneName,new EnableCameraScene());
|
|
}
|
|
|
|
//TODO: Uncomment when login will be completely developed
|
|
/*function clickLogin() {
|
|
connectionManager.loadOpenIDScreen();
|
|
}*/
|
|
</script>
|
|
|
|
<div class="customize-main">
|
|
{#if $userIsConnected}
|
|
<section>
|
|
{#if PROFILE_URL != undefined}
|
|
<iframe title="profile" src="{getProfileUrl()}"></iframe>
|
|
{/if}
|
|
</section>
|
|
<section>
|
|
<button type="button" class="nes-btn" on:click|preventDefault={logOut}>Log out</button>
|
|
</section>
|
|
{:else}
|
|
<section>
|
|
<a type="button" class="nes-btn" href="/login">Sing in</a>
|
|
</section>
|
|
{/if}
|
|
<section>
|
|
<button type="button" class="nes-btn" on:click|preventDefault={openEditNameScene}>Edit Name</button>
|
|
<button type="button" class="nes-btn is-rounded" on:click|preventDefault={openEditSkinScene}>Edit Skin</button>
|
|
<button type="button" class="nes-btn" on:click|preventDefault={openEditCompanionScene}>Edit Companion</button>
|
|
</section>
|
|
<section>
|
|
<button type="button" class="nes-btn" on:click|preventDefault={openEnableCameraScene}>Setup camera</button>
|
|
</section>
|
|
<!-- <section>
|
|
<button type="button" class="nes-btn is-primary" on:click|preventDefault={clickLogin}>Login</button>
|
|
</section>-->
|
|
</div>
|
|
|
|
<style lang="scss">
|
|
div.customize-main{
|
|
section {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
margin-bottom: 20px;
|
|
|
|
iframe{
|
|
width: 100%;
|
|
height: 50vh;
|
|
border: none;
|
|
}
|
|
|
|
button {
|
|
height: 50px;
|
|
width: 250px;
|
|
}
|
|
}
|
|
}
|
|
|
|
@media only screen and (max-width: 800px) {
|
|
div.customize-main section button {
|
|
width: 130px;
|
|
}
|
|
}
|
|
</style> |