generated from Real-Dev-Squad/website-template
-
Notifications
You must be signed in to change notification settings - Fork 98
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added Open RDS app from my-site (#506)
* Added Open RDS app from my-site * Removed service and added Test case to verify dialog * Added Feature flag, Refactored code * Refactored test cases * Resolved style and test case * Refactored style
- Loading branch information
Showing
8 changed files
with
158 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
{{#if @dev}} | ||
{{#if @deviceType}} | ||
{{#if this.toShow}} | ||
<dialog data-test-mobile-dialog class="mobile-dialog"> | ||
Open RDS in app | ||
<br/> | ||
<button id="mobile-dialog__close-button" type="button" {{on 'click' (fn this.closeDialog)}} >Cancle</button> | ||
<button id="mobile-dialog__open-button" type="button" {{on 'click' (fn this.openRDSApp)}}>Okay</button> | ||
</dialog> | ||
{{/if}} | ||
{{/if}} | ||
{{/if}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
import Component from '@glimmer/component'; | ||
import { action } from '@ember/object'; | ||
import { tracked } from '@glimmer/tracking'; | ||
|
||
export default class MobileDialogComponent extends Component { | ||
@tracked toShow = true; | ||
|
||
@action | ||
closeDialog() { | ||
this.toShow = false; | ||
} | ||
|
||
@action | ||
openRDSApp() { | ||
this.openApp(); | ||
} | ||
|
||
openApp() { | ||
let isAppInstalled = false; | ||
const appScheme = 'app://realdevsquad.com'; | ||
const fallbackURL = | ||
'https://play.google.com/store/apps/details?id=com.github.android'; | ||
const userAgent = navigator.userAgent || navigator.vendor || window.opera; | ||
const MAXTIME = 1000; | ||
|
||
if (/android/i.test(userAgent)) { | ||
const startTime = Date.now(); | ||
const iframe = document.createElement('iframe'); | ||
iframe.style.display = 'none'; | ||
iframe.src = appScheme; | ||
document.body.appendChild(iframe); | ||
this.toShow = false; | ||
|
||
window.addEventListener('blur', function () { | ||
document.body.removeChild(iframe); | ||
|
||
const timeTaken = Date.now() - startTime; | ||
if (timeTaken <= MAXTIME) { | ||
isAppInstalled = true; | ||
} | ||
}); | ||
|
||
setTimeout(function () { | ||
if (!isAppInstalled) { | ||
document.body.removeChild(iframe); | ||
window.location.href = fallbackURL; | ||
} | ||
this.toShow = false; | ||
}, 1000); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
.mobile-dialog { | ||
display: block; | ||
border-radius: 3px; | ||
padding: 0.5rem 1rem; | ||
font-weight: 900; | ||
margin: 0 auto; | ||
font-size:large; | ||
text-align: center; | ||
background-color: var(--form--bg); | ||
border: none; | ||
box-shadow: 4px 8px 8px var(--mobile-dialog-box-shadow); | ||
& button { | ||
padding: 0.5rem 1rem; | ||
margin: 1rem; | ||
font-size:medium; | ||
border: none; | ||
border-radius: 3px; | ||
color: var(--body-bg-color); | ||
font-weight: 600; | ||
} | ||
} | ||
|
||
#mobile-dialog__open-button { | ||
background-color: var(--mobile-dialog--open-button); | ||
} | ||
|
||
#mobile-dialog__close-button { | ||
background-color: var(--body-bg-color); | ||
color: var(--landing-page--main-heading); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,20 @@ | ||
{{page-title "My | Real Dev Squad"}} | ||
|
||
<MobileDialog | ||
@dev ={{this.isDevMode}} | ||
@deviceType = {{this.toVisible}} | ||
/> | ||
<Navbar | ||
@firstName={{@model.firstName}} | ||
@profilePictureURL={{@model.profilePictureURL}} | ||
@signOutHandler={{this.signOutHandler}} | ||
/> | ||
|
||
<div class="main-container"> | ||
{{outlet}} | ||
{{outlet}} | ||
</div> | ||
<footer class="footer">Contents of this website are deployed from this | ||
<a href={{this.GITHUB_URL}} target="_blank" rel="noopener noreferrer"> | ||
open sourced repo | ||
</a> | ||
<a href={{this.GITHUB_URL}} target="_blank" rel="noopener noreferrer"> | ||
open sourced repo | ||
</a> | ||
</footer> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
import { module, test } from 'qunit'; | ||
import { setupRenderingTest } from 'ember-qunit'; | ||
import { render } from '@ember/test-helpers'; | ||
import { hbs } from 'ember-cli-htmlbars'; | ||
|
||
module('Integration | Component | mobile-dialog', function (hooks) { | ||
setupRenderingTest(hooks); | ||
|
||
test('Mobile-Dialog does not renders', async function (assert) { | ||
this.setProperties({ | ||
dev: false, | ||
deviceType: false, | ||
}); | ||
await render(hbs`<MobileDialog @dev={{this.dev}}/>`); | ||
|
||
assert.dom('[data-test-mobile-dialog]').doesNotExist(); | ||
}); | ||
|
||
test('Mobile-Dialog should renders', async function (assert) { | ||
this.setProperties({ | ||
dev: true, | ||
deviceType: true, | ||
}); | ||
|
||
await render( | ||
hbs`<MobileDialog @dev={{this.dev}} @deviceType={{this.deviceType}} />` | ||
); | ||
|
||
assert.dom('[data-test-mobile-dialog]').exists(); | ||
}); | ||
}); |