Skip to contents

modUpload 1.0.0

New features

  • [buildAboutArtUI()] generates artwork summary UI with thumbnail, AI-generated description, and style tags when pipeline completes.
  • [ckfile()] validates file upload structure, size (>500 bytes), and extension match for robust input checking.
  • [image_hash_exists()] prevents duplicate artwork uploads by checking perceptual image hashes against existing artworks in platform database.
  • [new_art_modal_ui()] provides a two-step wizard for guided artwork submission with validation at each step.
  • [new_pipeline_task()] creates async processing tasks that run pipeline in background without blocking Shiny session.
  • [run_pipeline()] orchestrates complete artwork processing using {future} and {promises} for async execution.
  • [updateProjectUI()] and [updateProjectServer()] manage artwork purchase links including print store URLs and OpenSea NFT links.
  • [validator_step_1()] and [validator_step_2()] provide comprehensive input validation using {shinyvalidate} for multi-step wizard.

Documentation

  • All 20 exported functions now have comprehensive roxygen2 documentation with WHY-focused descriptions, complete @param/@return blocks, @examples, and @seealso cross-links.
  • Created four vignettes: Get Started, Processing Pipeline, Validation Framework, and Wizard Workflow for developer guidance.
  • Enhanced README.md with system requirements (11 libraries), environment variables, package hierarchy, and complete quick start guide.
  • Added pkgdown site configuration with {templ.pkgdown} template and 8 reference groups organized by @family tags.
  • Created params-shared.R for @inheritParams documentation reuse across module functions.

Internal changes

  • CSS refinements minimize !important usage for better style composability.
  • File input inline display layout improved with flexbox.
  • Migrated to {artshiny} for shared UI components.
  • Modal selectors made namespace-agnostic to prevent module conflicts.