Spaces:
Running
Running
Update app.R
Browse files
app.R
CHANGED
@@ -117,6 +117,27 @@ getMetricLabel <- function(metric_value) {
|
|
117 |
|
118 |
# UI Definition
|
119 |
ui <- fluidPage(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
titlePanel("Multiscale Representations Explorer"),
|
121 |
|
122 |
tags$p(
|
@@ -130,13 +151,13 @@ ui <- fluidPage(
|
|
130 |
icon("external-link", style = "font-size: 12px;")
|
131 |
)
|
132 |
),
|
133 |
-
|
134 |
# ---- Here is the minimal "Share" button HTML + JS inlined in Shiny ----
|
135 |
# We wrap it in tags$div(...) and tags$script(HTML(...)) so it is recognized
|
136 |
# by Shiny. You can adjust the styling or placement as needed.
|
137 |
tags$div(
|
138 |
-
|
139 |
-
|
140 |
<button id="share-button"
|
141 |
style="
|
142 |
display: inline-flex;
|
@@ -164,9 +185,9 @@ ui <- fluidPage(
|
|
164 |
<strong>Share</strong>
|
165 |
</button>
|
166 |
'),
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
(function() {
|
171 |
const shareBtn = document.getElementById('share-button');
|
172 |
// Reusable helper function to show a small “Copied!” message
|
@@ -223,10 +244,10 @@ ui <- fluidPage(
|
|
223 |
});
|
224 |
})();
|
225 |
")
|
226 |
-
|
227 |
-
|
228 |
# ---- End: Minimal Share button snippet ----
|
229 |
-
|
230 |
|
231 |
sidebarLayout(
|
232 |
sidebarPanel(
|
@@ -247,7 +268,7 @@ ui <- fluidPage(
|
|
247 |
checkboxInput("compareToBest", "Compare to best single scale", value = FALSE)
|
248 |
),
|
249 |
mainPanel(
|
250 |
-
plotOutput("heatmapPlot"
|
251 |
div(style = "margin-top: 10px; font-style: italic;", uiOutput("contextNote"))
|
252 |
)
|
253 |
)
|
@@ -340,7 +361,8 @@ server <- function(input, output) {
|
|
340 |
})
|
341 |
|
342 |
# Heatmap Output
|
343 |
-
output$heatmapPlot <- renderPlot(
|
|
|
344 |
interp_data <- interpolated_data()
|
345 |
if (is.null(interp_data)) {
|
346 |
plot.new()
|
@@ -454,5 +476,4 @@ server <- function(input, output) {
|
|
454 |
}
|
455 |
|
456 |
# Run the Shiny App
|
457 |
-
shinyApp(ui = ui, server = server)
|
458 |
-
|
|
|
117 |
|
118 |
# UI Definition
|
119 |
ui <- fluidPage(
|
120 |
+
tags$head(
|
121 |
+
# Make the layout fluid on phones
|
122 |
+
tags$meta(name = "viewport",
|
123 |
+
content = "width=device-width, initial-scale=1"),
|
124 |
+
|
125 |
+
# Tiny CSS tweaks that only activate below 576 px
|
126 |
+
tags$style(HTML("
|
127 |
+
@media (max-width: 575.98px) {
|
128 |
+
/* shrink side padding so the sidebar fits */
|
129 |
+
.sidebar-panel, .panel-body, .form-group {padding-left:8px !important; padding-right:8px !important;}
|
130 |
+
|
131 |
+
/* make the Share button & inputs finger‑friendly */
|
132 |
+
#share-button {font-size: 0.9rem; padding: 6px 10px;}
|
133 |
+
select.form-control {font-size: 0.9rem; height: 36px;}
|
134 |
+
|
135 |
+
/* relax margins in the heading paragraph */
|
136 |
+
p {margin-bottom: 0.6rem;}
|
137 |
+
}
|
138 |
+
"))
|
139 |
+
),
|
140 |
+
|
141 |
titlePanel("Multiscale Representations Explorer"),
|
142 |
|
143 |
tags$p(
|
|
|
151 |
icon("external-link", style = "font-size: 12px;")
|
152 |
)
|
153 |
),
|
154 |
+
|
155 |
# ---- Here is the minimal "Share" button HTML + JS inlined in Shiny ----
|
156 |
# We wrap it in tags$div(...) and tags$script(HTML(...)) so it is recognized
|
157 |
# by Shiny. You can adjust the styling or placement as needed.
|
158 |
tags$div(
|
159 |
+
style = "text-align: left; margin: 1em 0 1em 0em;",
|
160 |
+
HTML('
|
161 |
<button id="share-button"
|
162 |
style="
|
163 |
display: inline-flex;
|
|
|
185 |
<strong>Share</strong>
|
186 |
</button>
|
187 |
'),
|
188 |
+
# Insert the JS as well
|
189 |
+
tags$script(
|
190 |
+
HTML("
|
191 |
(function() {
|
192 |
const shareBtn = document.getElementById('share-button');
|
193 |
// Reusable helper function to show a small “Copied!” message
|
|
|
244 |
});
|
245 |
})();
|
246 |
")
|
247 |
+
)
|
248 |
+
),
|
249 |
# ---- End: Minimal Share button snippet ----
|
250 |
+
|
251 |
|
252 |
sidebarLayout(
|
253 |
sidebarPanel(
|
|
|
268 |
checkboxInput("compareToBest", "Compare to best single scale", value = FALSE)
|
269 |
),
|
270 |
mainPanel(
|
271 |
+
plotOutput("heatmapPlot"),
|
272 |
div(style = "margin-top: 10px; font-style: italic;", uiOutput("contextNote"))
|
273 |
)
|
274 |
)
|
|
|
361 |
})
|
362 |
|
363 |
# Heatmap Output
|
364 |
+
output$heatmapPlot <- renderPlot(
|
365 |
+
{
|
366 |
interp_data <- interpolated_data()
|
367 |
if (is.null(interp_data)) {
|
368 |
plot.new()
|
|
|
476 |
}
|
477 |
|
478 |
# Run the Shiny App
|
479 |
+
shinyApp(ui = ui, server = server)
|
|