Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
LINAGORA
L
LGS
Labs
voice-web
Commits
23f193d8
Commit
23f193d8
authored
Sep 30, 2017
by
Patrick Lehner
Browse files
Restrict Safari detection to iOS-only
parent
6e646414
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
21 additions
and
12 deletions
+21
-12
web/css/index.css
web/css/index.css
+6
-7
web/src/lib/app.tsx
web/src/lib/app.tsx
+3
-3
web/src/lib/utility.ts
web/src/lib/utility.ts
+12
-2
No files found.
web/css/index.css
View file @
23f193d8
...
...
@@ -742,13 +742,12 @@ body:not(.ios) .recording #background-container {
transition
:
transform
0.2s
linear
;
}
@media
(
max-width
:
600px
)
{
.safari
#install-app
{
transform
:
translateY
(
0
);
}
.safari
#install-app
.hide
{
transform
:
translateY
(
3rem
);
}
body
.mobile-safari
#install-app
{
transform
:
translateY
(
0
);
}
body
.mobile-safari
#install-app
.hide
{
transform
:
translateY
(
3rem
);
}
#install-app
a
{
...
...
web/src/lib/app.tsx
View file @
23f193d8
...
...
@@ -2,7 +2,7 @@ import { h, render } from 'preact';
import
User
from
'
./user
'
;
import
API
from
'
./api
'
;
import
Pages
from
'
./components/pages
'
;
import
{
isSafari
,
isFocus
,
isNativeIOS
}
from
'
./utility
'
;
import
{
is
Mobile
Safari
,
isFocus
,
isNativeIOS
}
from
'
./utility
'
;
import
DebugBox
from
'
./components/debug-box
'
;
const
LOAD_DELAY
=
500
;
// before pulling the curtain
...
...
@@ -54,8 +54,8 @@ export default class App {
document
.
body
.
classList
.
add
(
'
focus
'
);
}
if
(
isSafari
())
{
document
.
body
.
classList
.
add
(
'
safari
'
);
if
(
is
Mobile
Safari
())
{
document
.
body
.
classList
.
add
(
'
mobile-
safari
'
);
}
this
.
user
=
new
User
();
...
...
web/src/lib/utility.ts
View file @
23f193d8
...
...
@@ -46,8 +46,18 @@ export function isFocus(): boolean {
return
navigator
.
userAgent
.
indexOf
(
'
Focus
'
)
!==
-
1
;
}
export
function
isSafari
():
boolean
{
return
/^
((?!
chrome|android
)
.
)
*safari/i
.
test
(
navigator
.
userAgent
);
/**
* Check whether the browser is mobile Safari (i.e. on iOS).
*
* The logic is collected from answers to this SO question: https://stackoverflow.com/q/3007480
*/
export
function
isMobileSafari
():
boolean
{
const
userAgent
=
window
.
navigator
.
userAgent
;
const
isIOS
=
/
(
iPod|iPhone|iPad
)
/i
.
test
(
userAgent
);
const
isWebkit
=
/AppleWebKit/i
.
test
(
userAgent
);
const
isIOSSafari
=
isIOS
&&
isWebkit
&&
!
/
(
Chrome|CriOS|OPiOS
)
/
.
test
(
userAgent
);
return
isIOSSafari
;
}
export
function
isProduction
():
boolean
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment