Skip to contents

Overview

artshiny provides shared Shiny UI components and helpers for the Artalytics platform. This package centralizes common interface patterns used across multiple app modules, ensuring consistency and reducing code duplication.

Installation

pak::pkg_install("artalytics/artshiny")

Components

Reactive App Data

Initialize reactive state for module development with pre-loaded artist/artwork context:

# In a module's run_app() function
server <- function(input, output, session) {
  r <- artshiny::reactive_appdata(artist = "746b8207-...")
  myModuleServer("id", r)
}

Statistics Box Module

Reusable statistics display module with customizable icons and values:

# UI
statsBoxUI("my_stats", icon = "chart-line")

# Server
statsBoxServer("my_stats", r_stat_value = reactive(42), stat_label = "Total Artworks")

Loading Screens

Customizable loading screens with artwork-themed animations:

# Get waiter HTML for loading screen
wait_art_html(msg = "Processing artwork...", type = "designs", which = 1)

Package Hierarchy

appPlatform / mod* packages
        |
    artshiny (shared UI components)
        |
    artutils (data access)
        |
    artcore (low-level infrastructure)

Contributing

  • Review organization-wide standards: Organization Agents Guide

  • Review repository-specific guidance: Repository Agents Guidance

Environment Setup

View this script to setup dev environment: Setup Script