159 lines
6.3 KiB
R
159 lines
6.3 KiB
R
library(bsicons)
|
|
source("global.R")
|
|
ui <- function() {
|
|
page_fillable(
|
|
h1("Polizeiliche Kriminalstatistik Hamburg",
|
|
style = "color: #003064; background: #dae5ed; padding: 20px 0px 20px 20px; background-clip: padding-box; font-family: Lato,Arial,Helvetica,sans-serif;font-weight: 400", #text-align: center
|
|
class = "display-4"
|
|
),
|
|
navset_card_tab(
|
|
nav_panel("Karte",
|
|
page_sidebar(
|
|
layout_columns(
|
|
leafletOutput("hhmap"),
|
|
card(
|
|
div(
|
|
# h3 oder div dient als Block-Element und richtet seinen Inhalt (das span) rechtsbündig aus
|
|
style = "text-align: right; width: 100%; ",
|
|
# Der Text wird in ein span verpackt und erhält die Border.
|
|
# Ein span nimmt nur den Platz ein, den der Inhalt benötigt (inline).
|
|
tags$span(
|
|
"2024",
|
|
style = "
|
|
border: 1px solid rgba(40,70,94,0.1);
|
|
border-radius: 5px;
|
|
padding: 5px 10px 5px 10px;
|
|
background-color: #eeeeee;
|
|
"
|
|
# padding ist der abstand an leerer Fläche in der reihenfolge top right bottom left
|
|
# farbe rgba ist die exakte Farbe der Trennlinien und Card-Umrandungen aus der App
|
|
)
|
|
),
|
|
uiOutput("txt_map_selection_bezirk"),
|
|
uiOutput("txt_map_selection_stadtteil"),
|
|
plotOutput("grph_top3"),
|
|
),
|
|
col_widths = c(8, 4),
|
|
),
|
|
sidebar = sidebar(
|
|
radioButtons(
|
|
inputId = "rd_maptype",
|
|
label = "Kartentyp",
|
|
choices = c("Bezirke", "Stadtteile"),
|
|
selected = "Bezirke"
|
|
),
|
|
tags$head(
|
|
tags$style(
|
|
HTML("
|
|
.selectize-dropdown-content .option {
|
|
border-bottom: 1px solid #dee2e6; /* Die Trennlinie */
|
|
padding: 8px 10px; /* Abstand zwischen Text und Linie */
|
|
}
|
|
.legend {
|
|
background: white !important; /* Der Hintergrund der Legenden-Box */
|
|
opacity: 1 !important; /* Die Box selbst ist nicht transparent */
|
|
}"
|
|
)
|
|
)
|
|
),
|
|
selectizeInput(
|
|
inputId = "search",
|
|
label = tags$span(icon("search"),"Suche"),
|
|
choices = NULL,
|
|
selected = NULL,
|
|
multiple = FALSE, # Hier wahrscheinlich nur Einzelauswahl gewünscht
|
|
options = list(
|
|
placeholder = "Anfangen zu tippen...",
|
|
openOnFocus = FALSE,
|
|
allowEmptyOption = TRUE,
|
|
selectOnTab = FALSE,
|
|
plugins = list('dropdown_header')
|
|
)
|
|
),
|
|
div(
|
|
tags$h5(
|
|
"Heatmap zur Häufigkeit der Straftaten:",
|
|
style = "font-weight: bold; margin-bottom: 10px;"
|
|
),
|
|
selectizeInput(
|
|
inputId = "heatmap",
|
|
label = "Wähle eine Straftat:",
|
|
choices = list_of_crimes,
|
|
selected = NULL,
|
|
options = list(
|
|
placeholder = "Keine Auswahl",
|
|
plugins = list('clear_button')
|
|
)
|
|
)
|
|
)
|
|
),
|
|
)
|
|
),
|
|
nav_panel("Vergleich",
|
|
layout_sidebar(
|
|
sidebar = sidebar(
|
|
title = "Vergleichs-Optionen",
|
|
width = 400,
|
|
tags$hr(),
|
|
uiOutput("vergleichs_inputs"),
|
|
selectizeInput(
|
|
"vergleich_location",
|
|
"Zu vergleichende Orte",
|
|
choices = auswahlmöglichkeiten,
|
|
multiple = TRUE
|
|
|
|
),
|
|
|
|
selectizeInput(
|
|
"vergleich_straftat",
|
|
"Zu vergleichende Straftaten",
|
|
choices = list_of_crimes,
|
|
multiple = TRUE
|
|
),
|
|
# 3. Gemeinsamer Input: Das Jahr
|
|
selectizeInput(
|
|
"vergleichs_jahr",
|
|
"Jahr wählen:",
|
|
choices = c(2024, 2023),
|
|
selected = 2024,
|
|
),
|
|
),
|
|
card(
|
|
card_header(uiOutput("vergleichs_titel")), # Dynamischer Titel
|
|
plotOutput("vergleich_balkendiagramm")
|
|
)
|
|
)
|
|
),
|
|
nav_panel("Weiterführende Informationen",
|
|
accordion(
|
|
accordion_panel(
|
|
title = "Raub, räuberische Erpressung, räuberischer Angriff auf Kraftfahrer",
|
|
accordion(
|
|
accordion_panel(
|
|
title = h4("Raub nach § 249 StGB", style = "margin: 0;"),
|
|
value = "raub_249",
|
|
p("Raubdelikte sind Straftaten, bei denen jemand eine fremde bewegliche Sache wegnimmt, indem er Gewalt anwendet oder mit Gewalt droht, um sie sich oder einem Dritten rechtswidrig zuzueignen."),
|
|
),
|
|
),
|
|
accordion(
|
|
accordion_panel(
|
|
title = h4("Räuberische Erpressung nach § 255 StGB", style = "margin: 0;"),
|
|
value = "raub_255",
|
|
p("Räuberische Erpressung ist eine
|
|
schwere Form der Erpressung, bei der Gewalt gegen eine Person oder die Drohung mit gegenwärtiger Lebens- oder Gesundheitsgefahr eingesetzt wird, um eine Vermögensverfügung zu erzwingen, wodurch der Täter wie ein Räuber (§ 249 StGB) bestraft wird, also mit mindestens einem Jahr Freiheitsstrafe."),
|
|
),
|
|
),
|
|
accordion(
|
|
accordion_panel(
|
|
title = h4("Räuberischer Angriff auf Kraftfahrer nach § 316a StGB", style = "margin: 0;"),
|
|
value = "raub_316a",
|
|
p("Ein räuberischer Angriff auf Kraftfahrer ist ein
|
|
Verbrechen, bei dem ein Täter unter Ausnutzung der besonderen Situation im Straßenverkehr Gewalt gegen den Fahrer oder Mitfahrer anwendet, um einen Raub, räuberischen Diebstahl oder eine räuberische Erpressung zu begehen."),
|
|
),
|
|
),
|
|
),
|
|
),
|
|
),
|
|
)
|
|
)
|
|
} |