David Granjon on the RinteRface Collection of Production-Ready Shiny UI Packages .
Episode 4 - Friday, August 9, Noon-1PM Eastern
If you've ever wanted to build an elegant and powerful Shiny UI that takes advantage of modern web frameworks, this episode is for you! David Granjon of the RinteRface project joins us to highlight the ways you can quickly create eye-catching dashboards, mobile-friendly views, and much more with the RinteRface suite of Shiny packages.
Blockquote
If it doesn't get covered later, can David talk about how the app displays on a tablet or phone, and is it still the 12-column layout under the hood?
shinydashboard, bs4Dash render pretty well on mobile. To fine tune your app, it really depends on specific elements that do not natively scale. Especially on tablet, you might have the worst layout since it is intermediate between desktop and cellphone. In that case, I suggest you to have a look at the following piece of code:
$(document).on('shiny:connected', function(event) {
var isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
Shiny.onInputChange('isMobile', isMobile);
});
In this code, I ask my web browser if I am on a mobile platform and the result is stored in a custom shiny input using the Shiny.onInputChange. You could also use the Shiny.setInputValue. Then on the server side, I can conditionally setup my UI according to the value of input$isMobile. You might also want to track the size of your screen and adapt your app accordingly if it natively does not fit well:
Blockquote
How should we reach out if we want to collaborate?
You can open an issue on any RinteRface package of your interest. If you like, you may even propose a pull request. In any case, each contribution like fixing a typo, is truly appreciated.