feat: remove private list section from UI and server

Co-authored-by: aider (deepseek/deepseek-chat) <aider@aider.chat>
This commit is contained in:
2026-03-13 06:37:40 -04:00
parent 6a11f96f33
commit 30c6535130

97
app.R
View File

@@ -97,11 +97,6 @@ ui <- f7Page(
title = "Sales", title = "Sales",
icon = f7Icon("dollarsign_circle_fill") icon = f7Icon("dollarsign_circle_fill")
), ),
f7PanelItem(
tabName = "PrivateList",
title = "Private List",
icon = f7Icon("lock_fill")
),
f7PanelItem( f7PanelItem(
tabName = "Resources", tabName = "Resources",
title = "Resources", title = "Resources",
@@ -227,39 +222,6 @@ ui <- f7Page(
DTOutput("sales_table") DTOutput("sales_table")
) )
), ),
#### private list ----
f7Tab(
title = "Private List",
tabName = "PrivateList",
icon = f7Icon("lock_fill"),
f7Block(
tags$p(
style = "text-align:center; color:#ff9500; font-weight:bold;",
"Listings must be renewed every 45 days"
)
),
f7Card(
title = "Submit a Listing:",
divider = TRUE,
f7List(
inset = TRUE, dividers = TRUE, strong = TRUE,
f7Text("pl_address", "Address:", placeholder = "895 Chalmers Dr"),
f7Text("pl_price", "Price ($):", placeholder = "325000"),
f7Text("pl_sqft", "Sq Ft:", placeholder = "1800"),
f7Text("pl_name", "Your Name:", placeholder = "Jane Smith"),
f7Text("pl_email", "Email:", placeholder = "jane@email.com"),
f7Text("pl_cell", "Cell:", placeholder = "941-555-1234")
),
tags$br(),
f7Button("pl_submit", "Submit Listing", color = "blue"),
uiOutput("pl_message")
),
f7Card(
title = "Active Private Listings:",
divider = TRUE,
DTOutput("pl_table")
)
),
#### resources ---- #### resources ----
f7Tab( f7Tab(
title = "Resources", title = "Resources",
@@ -547,65 +509,6 @@ server <- function(input, output, session) {
} }
) )
# private listings ----
pl_path <- "./data/private_listings.csv"
pl_data <- reactivePoll(
intervalMillis = 5000,
session = session,
checkFunc = function() file.info(pl_path)$mtime,
valueFunc = function() {
df <- read.csv(pl_path, stringsAsFactors = FALSE)
if (nrow(df) == 0) return(df)
df$submitted_at <- as.POSIXct(df$submitted_at)
df[difftime(Sys.time(), df$submitted_at, units = "days") <= 45, ]
}
)
observeEvent(input$pl_submit, {
req(input$pl_address, input$pl_price, input$pl_name, input$pl_email, input$pl_cell)
new_row <- data.frame(
submitted_at = format(Sys.time(), "%Y-%m-%d %H:%M:%S"),
address = input$pl_address,
price = as.numeric(gsub("[^0-9.]", "", input$pl_price)),
sqft = as.numeric(gsub("[^0-9.]", "", input$pl_sqft)),
name = input$pl_name,
email = input$pl_email,
cell = input$pl_cell,
stringsAsFactors = FALSE
)
write.table(new_row, pl_path, sep = ",", append = TRUE,
col.names = FALSE, row.names = FALSE, quote = TRUE)
output$pl_message <- renderUI(
tags$p(style = "color:#4cd964;", "Listing submitted successfully!")
)
updateF7Text("pl_address", value = "")
updateF7Text("pl_price", value = "")
updateF7Text("pl_sqft", value = "")
updateF7Text("pl_name", value = "")
updateF7Text("pl_email", value = "")
updateF7Text("pl_cell", value = "")
})
output$pl_table <- renderDT({
df <- pl_data()
if (nrow(df) == 0) {
return(datatable(
data.frame(Message = "No active listings"),
rownames = FALSE, options = list(dom = 't', searching = FALSE)
))
}
datatable(
df |> dplyr::mutate(
price = scales::dollar(price),
sqft = formatC(sqft, format = "d", big.mark = ",")
) |> dplyr::select(address, price, sqft, name, email, cell),
colnames = c("Address", "Price", "Sq Ft", "Name", "Email", "Cell"),
rownames = FALSE,
options = list(pageLength = 25, searching = FALSE, dom = 't')
)
})
# listings map ---- # listings map ----
output$listings_map <- renderLeaflet({ output$listings_map <- renderLeaflet({
leaflet(listings) |> leaflet(listings) |>