# UI elements
# UI elements
# UI elements
selectInput("satisfaction", "Satisfaction Level:",
            choices = unique(data$SATISFACTION))
renderPlot({
  req(input$satisfaction)
  
  # Filter data based on satisfaction level
  filtered_data <- data %>%
    filter(SATISFACTION == input$satisfaction)
  
  # Calculate percentages
  fuel_services_pct <- mean(filtered_data$FUEL_SERVICES == 1, na.rm = TRUE) * 100
  customer_service_pct <- mean(filtered_data$CUSTOMER_SERVICE == 1, na.rm = TRUE) * 100
  facilities_management_pct <- mean(filtered_data$`STORE.AND.FACILITY.MANAGEMENT` == 1, na.rm = TRUE) * 100
  
  # Create a data frame for plotting
  plot_data <- data.frame(
    Service = c("Fuel Services", "Customer Service", "Store and Facility Management"),
    Percentage = c(fuel_services_pct, customer_service_pct, facilities_management_pct)
  )
  
  # Plot percentages
  ggplot(plot_data, aes(x = Service, y = Percentage)) +
    geom_bar(stat = "identity", fill = "steelblue") +
    geom_text(aes(label = paste0(round(Percentage, 1), "%")), vjust = -0.5, color = "black") +
    ylim(0, 100) +
    ylab("Percentage (%)") +
    ggtitle("Percentage of Positive Responses by Service Type") +
    theme_minimal()
})