如何在 R Shiny shinyauthr 登录页面中编辑文本区域、字体和密码掩码

How to edit the text area, font and password mask in a R Shiny shinyauthr login page

如何在 R Shiny shinyauthr 登录页面中编辑文本区域、字体和密码掩码

如何在 R Shiny shinyauthr 登录页面中编辑 1) 文本区域、2) 字体和 3) 密码掩码颜色?如果可能的话,我很想探索“内联”样式的编辑选项。

下面的示例代码是直接从‘https://rdrr.io/cran/shinyauthr/man/loginUI.html’提取的;我的真实代码是 运行 bs4dash 仪表板,登录字段继承了带有深色字体和密码掩码的深色背景。

library(shiny)
library(shinyauthr)

user_base <- dplyr::tibble(
  user = c("user1", "user2"),
  password = c("pass1", "pass2"),
  permissions = c("admin", "standard"),
  name = c("User One", "User Two")
)

ui <- fluidPage(
  div(class = "pull-right", shinyauthr::logoutUI(id = "logout")),
  shinyauthr::loginUI(id = "login"),
  tableOutput("user_table")
)


server <- function(input, output, session) {
  
  credentials <- shinyauthr::loginServer(
    id = "login",
    data = user_base,
    user_col = user,
    pwd_col = password,
    log_out = reactive(logout_init())
  )

  logout_init <- shinyauthr::logoutServer(
    id = "logout",
    active = reactive(credentials()$user_auth)
  )

  output$user_table <- renderTable({
    req(credentials()$user_auth)
    credentials()$info
  })

}
shinyApp(ui = ui, server = server)

看起来 shinyauthr 没有对生成的登录面板应用任何有用的 CSS 类,因此您需要自己制作才能 select感兴趣的元素。我可能会将 loginUI 包装在 div 中,然后在 div.

中定位 input 元素

一个bare-bones例子:

library(shiny)
library(shinyauthr)

ui <- fluidPage(
  tags$style(".login-ui input { color: #fff; background: tomato }"),
  div(class = "login-ui", shinyauthr::loginUI(id = "login")),
)

server <- function(input, output, session) {
  shinyauthr::loginServer("login", data = data.frame())
}

shinyApp(ui, server)