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."), ), ), ), ), ), ) ) }