library(shiny)
library(shinyjs)
##
## Attaching package: 'shinyjs'
## The following object is masked from 'package:shiny':
##
## runExample
## The following objects are masked from 'package:methods':
##
## removeClass, show
ui <- fluidPage(
useShinyjs(),
tags$head(
tags$style(HTML("
body { background-color: #fff0f6; font-family: 'Arial'; text-align: center; }
.main-box { margin-top: 80px; padding: 30px; border-radius: 20px; background: white; display: inline-block; box-shadow: 0 10px 25px rgba(0,0,0,0.1); min-width: 350px; }
.btn-yes { background-color: #ff4d4f; color: white; padding: 12px 20px; border: none; border-radius: 8px; margin: 10px; font-weight: bold; }
.btn-no { background-color: #52c41a; color: white; padding: 12px 20px; border: none; border-radius: 8px; margin: 10px; font-weight: bold; }
h2 { color: #c41d7f; }
"))
),
div(class = "main-box",
uiOutput("ekran_icerigi")
)
)
server <- function(input, output, session) {
# Mevcut soru indeksini tutuyoruz
v <- reactiveValues(
step = 0,
sorular = c(
"Kus muyuz?",
"Emin misin?",
"Gercekten mi?",
"Bak son kararin mi?",
"Yani simdi kesin kusuz oyle mi?",
"Peki, o zaman bu aksam yemekler senden?"
)
)
# Ekran icerigini dinamik olarak olusturuyoruz
output$ekran_icerigi <- renderUI({
if (v$step == -1) {
# Barisma mesaji
tagList(
h2("Biliyordum ki kiyamazsin! ❤️"),
p("Seni cok seviyorum...")
)
} else if (v$step >= length(v$sorular)) {
# Sorular bittiginde darlama mesaji
tagList(
h2("Valla ben de yoruldum..."),
p("Gel barisalim artik 🥺"),
actionButton("baris", "Tamam Baristik 😍", class = "btn-no")
)
} else {
# Normal soru ekrani
tagList(
h2(v$sorular[v$step + 1]),
actionButton("evet_bas", "Evet", class = "btn-yes"),
actionButton("hayir_bas", "Hayir", class = "btn-no")
)
}
})
# Evet butonuna basilinca bir sonraki soruya gec
observeEvent(input$evet_bas, {
v$step <- v$step + 1
})
# Herhangi bir soruda Hayir'a basilinca baris (step = -1)
observeEvent(input$hayir_bas, {
v$step <- -1
})
# Final butonuna basinca baris
observeEvent(input$baris, {
v$step <- -1
})
}
shinyApp(ui = ui, server = server)
Shiny applications not supported in static R Markdown documents