Vai al contenuto principale

AppHelper

Il pacchetto @churchapps/apphelper fornisce componenti React condivisi e utilità per tutte le applicazioni web ChurchApps. È un unico pacchetto pubblicato che espone moduli di funzionalità tramite punti di ingresso di sottopercorso -- login, donazioni, moduli, markdown e funzionalità di sito web/CMS -- insieme a un set principale di componenti e helper condivisi.

Prima di iniziare

Punti di ingresso

Il pacchetto definisce esportazioni di sottopercorso nel suo package.json, quindi ogni modulo di funzionalità è importabile da solo:

Punto di ingressoContenuti
@churchapps/apphelperComponenti principali, helper e hook
@churchapps/apphelper/loginUI di login e registrazione
@churchapps/apphelper/donationsComponenti di donazione
@churchapps/apphelper/formsComponenti di invio del modulo
@churchapps/apphelper/markdownEditor e renderer Markdown e HTML
@churchapps/apphelper/websiteComponenti di generatore di siti e CMS

Chi consuma cosa

Prima di modificare un'esportazione condivisa, controlla quali app la importano:

Area di esportazioneCosa fornisceConsumato da
Root -- componenti principali e hookDisplayBox, InputBox, Loading, PageHeader, PersonAvatar, SmallButton, ErrorMessages, ExportLink, useMountedState, più utilità @churchapps/helpers ri-esportate (ApiHelper, DateHelper, Locale, UserHelper, ecc.)B1Admin, B1App, B1Transfer, LessonsApp
Root -- chrome del sitoSiteHeader (navigazione, menu utente, notifiche)B1Admin, B1Transfer, LessonsApp
Root -- editor di contenuti amministrativiImageEditor, HelpIconB1Admin
Root -- impianto idraulico realtimeSocketHelper, SubscriptionManager, NotificationServiceB1Admin, B1App
Root -- negozi di chat/presenzaConversationStore, PresenceStoreB1App
Root -- note e UI di messagingNotes (note del personale su persone/compiti); AddNote, SubscriptionToggle (messaging dei membri)B1Admin (Notes), B1App (AddNote, SubscriptionToggle)
Root -- specifico di LessonsAnalyticsHelper, FloatingSupport, SupportModalLessonsApp
./loginLoginPage, LogoutPageB1Admin, B1App, B1Transfer, LessonsApp
./markdownMarkdownEditor, MarkdownPreviewLight (condiviso); MarkdownPreview, HtmlEditor (modifica di contenuti amministrativi)B1Admin, B1App, LessonsApp
./donationsMultiGatewayDonationForm, RecurringDonations, PaymentMethods, StripePaymentMethod, DonationHelper/getPaymentProvider (condiviso); FundDonations (solo amministrativo)B1Admin, B1App
./formsFormSubmissionEdit (renderizza ConversationalForm quando il displayMode del modulo è conversational)B1Admin, B1App
./websiteNucleo di rendering della pagina condiviso da editor e renderer (Element + i renderer per tipo risolti tramite ElementRegistry, StyleHelper, DroppableArea, DraggableWrapper, Theme, YoutubeBackground, SectionDivider/parseDividerConfig); widget a livello di sito (AnnouncementBanner, Launcher + i loro helper parse*Config); Animate, ElementBlock, NonAuthDonationWrapper, SermonElement usati solo dal renderer pubblicoB1Admin (editor), B1App (componenti editor + renderer)

B1Transfer e LessonsApp utilizzano solo i punti di ingresso root e login -- i sottopercorsi donations, forms e website vengono consumati esclusivamente da B1Admin e B1App oggi.

Setup per lo sviluppo locale

Questo pacchetto vive nello spazio di lavoro Packages insieme alle altre librerie condivise:

  1. Clona lo spazio di lavoro:

    git clone https://github.com/ChurchApps/Packages.git
  2. Installa le dipendenze nella radice dello spazio di lavoro:

    cd Packages && yarn install
  3. Avvia il playground Vite dalla directory del pacchetto:

    cd apphelper && yarn dev

    Il server dev del playground inizia su http://localhost:3001. Copia playground/dotenv.sample in playground/.env e riempi prima i valori richiesti.

Per costruire il pacchetto per il consumo (compila in dist/ e copia asset locale/CSS), esegui yarn workspace @churchapps/apphelper build -- o yarn build alla radice per costruire ogni pacchetto in ordine di dipendenza. Per testare una costruzione non pubblicata dentro un'app di consumo, usa un portale Yarn temporaneo -- vedi Sviluppo locale rispetto a un'app di consumo.

Suggerimento

Il playground è il modo più veloce per sviluppare e testare i componenti AppHelper. Ricarica a caldo il server dev Vite in modo da poter vedere i cambiamenti in tempo reale.

Pubblicazione

I rilasci vanno attraverso i changesets: esegui yarn changeset alla radice dello spazio di lavoro con ogni cambiamento, quindi yarn publish-all quando sei pronto a rilasciare. Vedi Panoramica delle librerie condivise per il flusso completo.

Avviso

Non rimuovere o rinominare mai un'esportazione finché la sostituzione non è pubblicata e ogni consumer non è stato migrato -- grep tutti i repository di consumo prima di unire una rimozione.

Articoli correlati

  • Helpers -- Il pacchetto di utilità di base utilizzato insieme ad AppHelper
  • App Web -- Le applicazioni web che consumono questo pacchetto
  • Panoramica delle librerie condivise -- Setup dello spazio di lavoro, flusso di rilascio e flusso di link locale