add pwa promotion

This commit is contained in:
xmcp
2019-08-20 01:17:09 +08:00
parent 18b44fbe21
commit 3fedfd0f33
2 changed files with 32 additions and 9 deletions

View File

@@ -102,13 +102,36 @@ export class SafeTextarea extends Component {
}
}
let pwa_prompt_event=null;
window.addEventListener('beforeinstallprompt', (e) => {
console.log('pwa: received before install prompt');
pwa_prompt_event=e;
});
export function PromotionBar(props) {
const is_ios=/iPhone|iPad|iPod/i.test(window.navigator.userAgent);
let is_ios=/iPhone|iPad|iPod/i.test(window.navigator.userAgent);
let is_installed=(window.matchMedia('(display-mode: standalone)').matches) || (window.navigator.standalone);
if(is_installed)
return null;
if(is_ios)
// noinspection JSConstructorReturnsPrimitive
return is_ios ? (
return !navigator.standalone ? (
<div className="box promotion-bar">
<span className="icon icon-about" />&nbsp;
Safari 将本网站 <b>添加到主屏幕</b>
Safari 把树洞 <b>添加到主屏幕</b>
</div>
) : null;
else
// noinspection JSConstructorReturnsPrimitive
return pwa_prompt_event ? (
<div className="box promotion-bar">
<span className="icon icon-about" />&nbsp;
把网页版树洞 <b><a onClick={()=>{
if(pwa_prompt_event)
pwa_prompt_event.prompt();
}}>安装到桌面</a></b>
</div>
) : null;
}

View File

@@ -133,7 +133,7 @@ class ControlBar extends PureComponent {
<a onClick={()=>{this.props.show_sidebar(
'设置',
<ConfigUI />
)}}>树洞网页版设置</a>
)}}>网页版树洞设置</a>
&nbsp;/&nbsp;
<a href="http://pkuhelper.pku.edu.cn/treehole_rules.html" target="_blank">树洞规范</a>
&nbsp;/&nbsp;