add homekeeper stack
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
screen_harvest_ui <- function(id) {
|
||||
ns <- NS(id)
|
||||
shiny::div(
|
||||
section_card(NULL,
|
||||
shiny::div(class = "row g-2 py-2",
|
||||
shiny::div(class = "col-6",
|
||||
shiny::dateInput(ns("date"), "Datum", value = Sys.Date(), language = "de", weekstart = 1)
|
||||
),
|
||||
shiny::div(class = "col-6",
|
||||
shiny::textInput(ns("time"), "Uhrzeit",
|
||||
value = format(Sys.time(), "%H:%M"), placeholder = "HH:MM")
|
||||
)
|
||||
)
|
||||
),
|
||||
section_card(NULL,
|
||||
shiny::div(
|
||||
class = "d-flex justify-content-between align-items-center py-3 border-bottom",
|
||||
shiny::span("Gewicht (kg) *", class = "fw-semibold"),
|
||||
shiny::numericInput(ns("weight_kg"), NULL, value = NA, min = 0, step = 0.1, width = "110px")
|
||||
),
|
||||
btn_group_row(ns, "type", "Honigsorte", HONEY_TYPES)
|
||||
),
|
||||
section_card(NULL,
|
||||
shiny::div(class = "py-2",
|
||||
shiny::textAreaInput(ns("notes"), "Notizen", rows = 2, width = "100%")
|
||||
)
|
||||
),
|
||||
shiny::div(class = "d-grid mt-2 mb-5",
|
||||
shiny::actionButton(ns("save"), "Ernte speichern", class = "btn btn-success btn-lg")
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
screen_harvest_server <- function(id, db, nav) {
|
||||
moduleServer(id, function(input, output, session) {
|
||||
ns <- session$ns
|
||||
type_val <- btn_group_server("type", ns, input, output, HONEY_TYPES)
|
||||
|
||||
observeEvent(nav$screen, {
|
||||
if (nav$screen == "harvest") {
|
||||
type_val(NA)
|
||||
shiny::updateTextInput(session, "time", value = format(Sys.time(), "%H:%M"))
|
||||
}
|
||||
}, ignoreInit = TRUE)
|
||||
|
||||
observeEvent(input$save, {
|
||||
req(nav$colony_id, !is.na(input$weight_kg), input$weight_kg > 0)
|
||||
db_harvests_insert(db,
|
||||
date = input$date,
|
||||
weight_kg = input$weight_kg,
|
||||
colony_id = nav$colony_id,
|
||||
type = type_val(),
|
||||
notes = input$notes,
|
||||
time = input$time %||% NA
|
||||
)
|
||||
nav$screen <- "colony"
|
||||
})
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user