├── .editorconfig ├── .eslintignore ├── .eslintrc ├── .gitignore ├── LICENSE ├── README.md ├── package.json ├── shoutem.about ├── app │ ├── build │ │ ├── const.js │ │ ├── index.js │ │ └── injectAndroidManifestQueries.js │ ├── components │ │ ├── Map.js │ │ ├── OpeningHours.js │ │ └── index.js │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── package.json │ ├── redux │ │ ├── index.js │ │ ├── middleware.js │ │ └── reducers.js │ ├── screens │ │ ├── AboutScreen.js │ │ └── MapScreen.js │ └── themes │ │ └── style.js ├── extension.json └── server │ ├── assets │ ├── add-about-image.png │ └── images │ │ ├── large-photo-clear-navbar.png │ │ ├── large-photo-solid-navbar.png │ │ ├── medium-photo-clear-navbar.png │ │ └── medium-photo-solid-navbar.png │ ├── data-schemas │ └── About.json │ ├── package.json │ └── translations │ └── en.json ├── shoutem.advertising ├── app │ ├── app.js │ ├── build │ │ ├── const.js │ │ ├── index.js │ │ └── injectMobileAdsConfiguration.js │ ├── components │ │ ├── Banner.js │ │ └── index.js │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── index.web.js │ ├── ios │ │ └── Info.plist │ ├── navigation.js │ ├── package.json │ ├── providers │ │ ├── AdProvider.js │ │ └── index.js │ └── services │ │ ├── index.js │ │ ├── staticSetters.js │ │ └── withAdBanner.js ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── add-advertising-image.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── pages │ │ └── ads-settings-page │ │ │ ├── AdSettingsPage.js │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ └── services │ │ ├── advertising.js │ │ ├── index.js │ │ └── localization.js │ └── translations │ └── en.json ├── shoutem.affiliate ├── app │ ├── app.js │ ├── components │ │ ├── Banner.js │ │ ├── LevelItem.js │ │ ├── gauge-progress-bar │ │ │ ├── GaugeProgressBar.js │ │ │ ├── LevelIcon.js │ │ │ ├── index.js │ │ │ └── progressBar.js │ │ └── index.js │ ├── const.js │ ├── extension.js │ ├── fragments │ │ ├── ProgressBar.js │ │ └── index.js │ ├── index.js │ ├── package.json │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducers.js │ │ └── selectors.js │ ├── screens │ │ ├── LevelDetailsScreen.js │ │ └── LevelsListScreen.js │ ├── services │ │ ├── errors.js │ │ ├── index.js │ │ ├── levels.js │ │ ├── sharing.js │ │ └── shoutemApi.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── images │ │ ├── add-affiliate-image.png │ │ ├── empty-state-affiliate.svg │ │ ├── levels-compact-list.png │ │ ├── medium-photo-clear-navbar.png │ │ └── medium-photo-solid-navbar.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── data-schemas │ └── levels.json │ ├── package.json │ ├── src │ ├── components │ │ ├── add-transaction-button │ │ │ ├── AddTransactionButton.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── affiliate-disabled-placeholder │ │ │ ├── AffiliateDisabledPlaceholder.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── banner-image-preview │ │ │ ├── BannerImagePreview.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── banner-image │ │ │ ├── BannerImage.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── banner-link │ │ │ ├── BannerLink.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── index.js │ │ ├── transaction-table-row │ │ │ ├── TransactionTableRow.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── transactions-table │ │ │ ├── TransactionsTable.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ ├── const.js │ ├── extension.js │ ├── fragments │ │ ├── add-transaction-form │ │ │ ├── AddTransactionForm.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── banner-form │ │ │ ├── BannerForm.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── general-stats │ │ │ ├── GeneralStats.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── index.js │ │ ├── transactions-dashboard │ │ │ ├── TransactionsDashboard.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── transactions-filter │ │ │ ├── TransactionsFilter.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ ├── index.js │ ├── pages │ │ ├── banner-page │ │ │ ├── BannerPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── points-page │ │ │ ├── PointsPage.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ └── sms-text-page │ │ │ ├── SmsTextPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ └── services │ │ ├── banner.js │ │ ├── getWeServUrl.js │ │ ├── index.js │ │ ├── shoutemUrls.js │ │ └── transactionForm.js │ └── translations │ └── en.json ├── shoutem.age-restriction ├── app │ ├── assets │ │ ├── backgroundImage.png │ │ └── index.js │ ├── build │ │ ├── downloadBackgroundImage.js │ │ └── index.js │ ├── components │ │ ├── AgeBadge.js │ │ ├── AgeRestrictionSubtitle.js │ │ ├── ImageBackgroundContainer.js │ │ └── index.js │ ├── const.js │ ├── index.js │ ├── navigation.js │ ├── package.json │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── middleware.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── screens │ │ ├── AgeRestrictionScreen.js │ │ └── index.js │ ├── services │ │ ├── app.js │ │ ├── app.web.js │ │ └── index.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── assets │ └── add-age-restriction-image.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── const.js │ ├── extension.js │ ├── index.js │ └── pages │ │ └── age-restriction-page │ │ ├── AgeRestrictionPage.jsx │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ ├── themes │ └── theme.json │ └── translations │ └── en.json ├── shoutem.agora ├── app │ ├── assets │ │ ├── index.js │ │ └── userProfile.png │ ├── build │ │ ├── index.js │ │ ├── injectAgoraSubspecs.js │ │ └── injectForegroundService.js │ ├── components │ │ ├── CallInfo.js │ │ ├── CloseButton.js │ │ ├── Controls.js │ │ ├── LocalVideoView.js │ │ ├── ProfileImage.js │ │ ├── VideoCallView.js │ │ ├── WaitingForRemoteUserView.js │ │ └── index.js │ ├── const.js │ ├── extension.js │ ├── hooks │ │ ├── index.js │ │ ├── useCallInfoEvents.js │ │ ├── useConnectionEvents.js │ │ ├── useCreateEngine.js │ │ └── usePermissionsGranted.js │ ├── index.js │ ├── index.web.js │ ├── navigation.js │ ├── package.json │ ├── patch │ │ └── react-native-agora+4.3.1.patch │ ├── permissions.js │ ├── screens │ │ ├── VideoCallScreen.js │ │ └── index.js │ ├── services │ │ └── agora.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── add-videos-image.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── components │ │ └── message-with-link │ │ │ ├── MessageWithLink.jsx │ │ │ └── index.js │ ├── const.js │ ├── index.js │ └── pages │ │ └── agora-settings-page │ │ ├── AgoraSettingsPage.jsx │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ └── translations │ └── en.json ├── shoutem.analytics ├── app │ ├── const.js │ ├── index.js │ ├── middleware.js │ ├── navigation.js │ ├── package.json │ ├── readme.md │ ├── redux.js │ └── services │ │ ├── index.js │ │ └── withScreenTracking.js ├── extension.json └── server │ ├── assets │ └── add-analytics-image.png │ └── package.json ├── shoutem.application ├── app │ ├── .gitignore │ ├── app.js │ ├── assets │ │ └── images │ │ │ ├── pin-dark.png │ │ │ ├── pin-dark@3x.png │ │ │ ├── pin-light.png │ │ │ └── pin-light@3x.png │ ├── build │ │ ├── configuration.js │ │ ├── const.js │ │ ├── files.js │ │ ├── index.js │ │ ├── injectMaps.js │ │ └── injectSplashScreen.js │ ├── components │ │ ├── InlineMap.js │ │ ├── MapView.js │ │ ├── MapViewBase.js │ │ └── index.js │ ├── const.js │ ├── hooks │ │ ├── index.js │ │ ├── useIsForeground.js │ │ ├── useModalNavigation.js │ │ ├── usePreviousValue.js │ │ ├── useTimer.js │ │ └── useTimer.web.js │ ├── html │ │ ├── components │ │ │ ├── SeAttachment.js │ │ │ └── SeGallery.js │ │ └── index.js │ ├── index.js │ ├── middleware.js │ ├── navigation.js │ ├── package.json │ ├── permissions.js │ ├── redux.js │ ├── screens │ │ ├── RemoteDataListScreen.js │ │ ├── SubscriptionMissingScreen.js │ │ └── UnavailableInWebScreen.js │ ├── services │ │ ├── appInitQueue.js │ │ ├── index.js │ │ ├── resizeImageSource.js │ │ ├── restart.js │ │ ├── restart.web.js │ │ ├── unavailableInWeb.js │ │ └── withAppContext.js │ ├── shared │ │ ├── extractAppActions.js │ │ ├── getFirstShortcut.js │ │ ├── isConfigurationLoaded.js │ │ ├── isProduction.js │ │ ├── isRelease.js │ │ ├── openInitialScreen.js │ │ ├── openInitialScreen.web.js │ │ └── resolveAppEndpoint.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── add-application-image.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── const.js │ ├── index.js │ ├── modules │ │ └── analytics │ │ │ ├── components │ │ │ ├── analytics-dropdown │ │ │ │ ├── AnalyticsDropdown.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── analytics-graph │ │ │ │ ├── AnalyticsGraph.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── analytics-platform-percents │ │ │ │ ├── AnalyticsPlatformPercents.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── analytics-table │ │ │ │ ├── AnalyticsTable.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── app-analytics-tab │ │ │ │ ├── AnalyticsTab.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── custom-range-modal │ │ │ │ ├── CustomRangeModal.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── graph │ │ │ │ ├── Graph.jsx │ │ │ │ ├── GraphThumbnail.jsx │ │ │ │ └── index.js │ │ │ └── index.js │ │ │ ├── const.js │ │ │ ├── fragments │ │ │ ├── app-analytics-fragment │ │ │ │ ├── AppAnalyticsFragment.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ └── index.js │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ ├── redux │ │ │ ├── actions.js │ │ │ ├── index.js │ │ │ ├── reducers.js │ │ │ └── selectors.js │ │ │ └── services │ │ │ ├── googleService.js │ │ │ ├── graphService.js │ │ │ └── index.js │ ├── pages │ │ ├── app-analytics-page │ │ │ ├── AppAnalyticsPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── app-settings-page │ │ │ ├── AppSettingsPage.js │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ ├── redux.js │ └── services │ │ ├── index.js │ │ └── shoutemUrls.js │ └── translations │ └── en.json ├── shoutem.audio ├── app │ ├── assets │ │ ├── index.js │ │ └── music.png │ ├── build │ │ ├── add-background-modes.js │ │ ├── index.js │ │ ├── injectForegroundService.js │ │ └── setSwiftVersion.js │ ├── components │ │ ├── Metadata.js │ │ ├── ProgressBar.js │ │ ├── TrackProgressBar.js │ │ ├── audio-modal │ │ │ ├── Header.js │ │ │ ├── QueueButton.js │ │ │ └── index.js │ │ ├── controls │ │ │ ├── JumpTimeControl.js │ │ │ ├── PlaybackControl.js │ │ │ ├── ProgressControl.js │ │ │ ├── SkipTrackControl.js │ │ │ └── index.js │ │ ├── index.js │ │ ├── playback-settings │ │ │ ├── AllSettingsView.js │ │ │ ├── PlaybackSettings.js │ │ │ ├── PlaybackSpeedOption.js │ │ │ ├── PlaybackSpeedSettingsView.js │ │ │ ├── RadioOption.js │ │ │ ├── RepeatModeSettingsView.js │ │ │ ├── SettingsModal.js │ │ │ ├── SettingsOption.js │ │ │ ├── SleepTimerSettingsView.js │ │ │ ├── const.js │ │ │ └── index.js │ │ └── queue │ │ │ ├── AnimatedAudioBars.js │ │ │ ├── NowPlayingHeader.js │ │ │ ├── QueueList.js │ │ │ ├── QueueListFooter.js │ │ │ ├── QueueListHeader.js │ │ │ ├── QueueListItem.js │ │ │ └── index.js │ ├── const.js │ ├── fragments │ │ ├── AudioBanner.js │ │ ├── AudioBanner.web.js │ │ ├── AudioBannerRenderer.js │ │ ├── LiveStreamAudioControls.js │ │ ├── SleepTimer.js │ │ ├── TabBar.js │ │ ├── TrackAudioControls.js │ │ ├── audio-modal │ │ │ ├── AudioModal.js │ │ │ ├── AudioPlayerView.js │ │ │ ├── QueueView.js │ │ │ ├── const.js │ │ │ └── index.js │ │ └── index.js │ ├── hooks │ │ ├── index.js │ │ ├── useActiveMetadata.js │ │ ├── useAudioBanner.js │ │ ├── useAudioModal.js │ │ ├── usePlaylistPlayer.js │ │ ├── useProgressTracking.js │ │ ├── useSetupPlayerAndOptions.js │ │ ├── useSleepTimer.js │ │ ├── useTrackPlayer.js │ │ └── useTrackState.js │ ├── index.js │ ├── ios │ │ └── Info.plist │ ├── package.json │ ├── patch-web │ │ └── react-native-track-player+4.1.1.patch │ ├── patch │ │ └── react-native-track-player+4.1.1.patch │ ├── permissions.js │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── services │ │ ├── PlaybackService.js │ │ ├── SetupService.js │ │ ├── audioProgress.js │ │ ├── calculateProgressInterval.js │ │ └── index.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── assets │ └── add-audio-image.png │ ├── package.json │ ├── src │ ├── const.js │ ├── extension.js │ └── index.js │ └── themes │ └── theme.json ├── shoutem.auth ├── app │ ├── app.js │ ├── app.web.js │ ├── assets │ │ └── images │ │ │ └── defaultAvatar.jpg │ ├── build │ │ ├── configureFacebookSdk.js │ │ ├── const.js │ │ ├── index.js │ │ ├── injectAppleSignIn.js │ │ └── injectFbSdk.js │ ├── components │ │ ├── AppleSignInButton.js │ │ ├── AppleSignInButton.web.js │ │ ├── ConsentCheckbox.js │ │ ├── FacebookButton.js │ │ ├── FacebookButton.web.js │ │ ├── HorizontalSeparator.js │ │ ├── LoginForm.js │ │ ├── PasswordTextInput.js │ │ ├── ProfileImage.js │ │ ├── RegisterButton.js │ │ ├── RegisterForm.js │ │ ├── TermsAndPrivacy.js │ │ ├── index.js │ │ └── shapes.js │ ├── const.js │ ├── errorMessages.js │ ├── fragments │ │ ├── ThirdPartyProviders.js │ │ └── index.js │ ├── index.js │ ├── ios │ │ └── Info.plist │ ├── loginRequired.js │ ├── middleware.js │ ├── navigation.js │ ├── package.json │ ├── permissions.js │ ├── providers │ │ ├── AuthProvider.js │ │ └── index.js │ ├── redux.js │ ├── screens │ │ ├── ChangePasswordScreen.js │ │ ├── ConfirmDeletionScreen.js │ │ ├── EditProfileScreen.js │ │ ├── LoginScreen.js │ │ ├── MyProfileScreen.js │ │ ├── PasswordRecoveryScreen.js │ │ ├── RegisterScreen.js │ │ └── UserProfileScreen.js │ ├── services │ │ ├── apple.js │ │ ├── authProviders.js │ │ ├── shoutemApi.js │ │ └── storage.js │ ├── session.js │ ├── shared │ │ └── encodeToBase64.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── add-authentication-image.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── components │ │ ├── index.js │ │ ├── input-table-header │ │ │ ├── InputTableHeader.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── message-with-link │ │ │ ├── MessageWithLink.jsx │ │ │ └── index.js │ │ ├── select-table-header │ │ │ ├── SelectTableHeader.jsx │ │ │ └── index.js │ │ ├── table │ │ │ ├── Table.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── text-table-header │ │ │ ├── TextTableHeader.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ ├── const.js │ ├── index.js │ ├── modules │ │ ├── gdpr-settings │ │ │ ├── components │ │ │ │ ├── gdpr-settings │ │ │ │ │ ├── GDPRSettings.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ ├── index.js │ │ │ │ └── newsletter-settings │ │ │ │ │ ├── NewsletterSettings.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ └── index.js │ │ ├── general-settings │ │ │ ├── components │ │ │ │ ├── apple-setup-form │ │ │ │ │ ├── AppleSetupForm.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ ├── facebook-setup-form │ │ │ │ │ ├── FacebookSetupForm.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ ├── general-settings │ │ │ │ │ ├── GeneralSettings.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ └── index.js │ │ │ ├── const.js │ │ │ ├── index.js │ │ │ ├── redux.js │ │ │ └── services │ │ │ │ ├── index.js │ │ │ │ └── providers.js │ │ ├── user-groups │ │ │ ├── components │ │ │ │ ├── index.js │ │ │ │ ├── user-group-modal │ │ │ │ │ ├── UserGroupModal.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ └── localization.js │ │ │ │ ├── user-group-screen-visibility-row │ │ │ │ │ ├── UserGroupScreenVisibilityRow.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ ├── user-group-table-row │ │ │ │ │ ├── UserGroupTableRow.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ ├── user-groups-dashboard │ │ │ │ │ ├── UserGroupsDashboard.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ ├── user-groups-dropdown │ │ │ │ │ ├── UserGroupsDropdown.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ └── style.scss │ │ │ │ └── user-groups-screen-settings │ │ │ │ │ ├── UserGroupScreenSettings.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ ├── const.js │ │ │ ├── index.js │ │ │ ├── redux │ │ │ │ ├── actions.js │ │ │ │ ├── index.js │ │ │ │ ├── reducer.js │ │ │ │ └── selectors.js │ │ │ └── services │ │ │ │ ├── index.js │ │ │ │ └── userGroup.js │ │ └── users │ │ │ ├── components │ │ │ ├── change-role-form │ │ │ │ ├── ChangeRoleForm.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── change-role-modal │ │ │ │ ├── ChangeRoleModal.jsx │ │ │ │ ├── index.js │ │ │ │ └── localization.js │ │ │ ├── generated-password-control │ │ │ │ ├── GeneratedPasswordControl.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── index.js │ │ │ ├── user-form │ │ │ │ ├── UserForm.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── user-modal │ │ │ │ ├── UserModal.jsx │ │ │ │ ├── index.js │ │ │ │ └── localization.js │ │ │ ├── user-table-row │ │ │ │ ├── UserTableRow.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ └── users-dashboard │ │ │ │ ├── UsersDashboard.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── const.js │ │ │ ├── index.js │ │ │ ├── redux │ │ │ ├── actions.js │ │ │ ├── index.js │ │ │ ├── reducer.js │ │ │ └── selectors.js │ │ │ └── services │ │ │ ├── errors.js │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── user.js │ ├── pages │ │ ├── gdpr-settings-page │ │ │ ├── GdprSettingsPage.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── general-settings-page │ │ │ ├── GeneralSettingsPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── protected-screens-page │ │ │ ├── ProtectedScreensPage.jsx │ │ │ ├── components │ │ │ │ ├── index.js │ │ │ │ ├── protected-screen-row │ │ │ │ │ ├── ProtectedScreenRow.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ └── style.scss │ │ │ │ └── protected-screens-table │ │ │ │ │ ├── ProtectedScreensTable.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── user-groups-page │ │ │ ├── UserGroupsPage.jsx │ │ │ └── index.js │ │ └── users-page │ │ │ ├── UsersPage.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ ├── redux.js │ ├── services │ │ ├── form.js │ │ ├── index.js │ │ ├── shortcuts.js │ │ └── shoutemUrls.js │ └── style.scss │ ├── themes │ └── theme.json │ └── translations │ └── en.json ├── shoutem.bands-in-town ├── app │ ├── components │ │ ├── NavigationToolbar.js │ │ └── index.js │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── package.json │ ├── screens │ │ └── BandsInTownScreen.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── add-bandsintown-image.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── components │ │ ├── MessageWithLink.js │ │ └── index.js │ ├── const.js │ ├── extension.js │ ├── index.js │ └── pages │ │ └── bands-in-town-page │ │ ├── BandsInTownPage.jsx │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ └── translations │ └── en.json ├── shoutem.besttime ├── app │ ├── app.js │ ├── assets │ │ └── besttime-bg.png │ ├── components │ │ ├── ForecastGraph.js │ │ ├── GooglePlaceItem.js │ │ ├── GooglePlacesError.js │ │ ├── OpenHours.js │ │ ├── SearchInput.js │ │ ├── SearchInstructions.js │ │ └── index.js │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── package.json │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducers.js │ │ └── selectors.js │ ├── screens │ │ ├── ForecastScreen.js │ │ ├── MapScreen.js │ │ └── SearchScreen.js │ ├── services │ │ ├── bestTime.js │ │ ├── date.js │ │ ├── googlePlaces.js │ │ └── index.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── add-besttime-image.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── const.js │ ├── extension.js │ ├── index.js │ └── pages │ │ ├── api-keys-page │ │ ├── ApiKeysPage.jsx │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ │ └── location-biasing-page │ │ ├── LocationBiasingPage.jsx │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ └── translations │ └── en.json ├── shoutem.books ├── app │ ├── components │ │ ├── LinkButton.js │ │ ├── LinkIconButton.js │ │ ├── ListBooksView.js │ │ └── SmallListBooksView.js │ ├── const.js │ ├── index.js │ ├── package.json │ ├── redux.js │ ├── screens │ │ ├── BooksDetailsScreen.js │ │ ├── BooksListScreen.js │ │ ├── BooksSmallListScreen.js │ │ └── MyBooksScreen.js │ ├── shared │ │ ├── formatBookCaption.js │ │ └── renderBuyTitle.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── assets │ └── images │ │ ├── add-books-image.png │ │ └── screens │ │ ├── large-photo-list.png │ │ └── small-photo-list.png │ ├── data-schemas │ └── Books.json │ ├── package.json │ └── translations │ └── en.json ├── shoutem.camera ├── app │ ├── .editorconfig │ ├── .eslintignore │ ├── assets │ │ └── images │ │ │ └── focus-frame.png │ ├── components │ │ ├── QRCodeScanner.js │ │ ├── QRCodeScanner.web.js │ │ └── index.js │ ├── const.js │ ├── index.js │ ├── navigation.js │ ├── package.json │ ├── patch │ │ ├── react-native-image-picker+5.6.1.patch │ │ └── react-native-vision-camera+4.6.1.patch │ ├── permissions.js │ ├── redux.js │ ├── screens │ │ ├── QRCodeScannerScreen.js │ │ └── index.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── assets │ └── add-camera-image.png │ ├── package.json │ └── src │ └── index.js ├── shoutem.checklist ├── app │ ├── build │ │ ├── const.js │ │ ├── index.js │ │ └── injectAndroidManifestQueries.js │ ├── components │ │ ├── Checklist.js │ │ ├── ChecklistItem.js │ │ ├── ChecklistNavBarButton.js │ │ └── index.js │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── package.json │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducers.js │ │ └── selectors.js │ ├── screens │ │ ├── ChecklistScreen.js │ │ └── SubmitMessageScreen.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── images │ │ ├── add-checklist-image.png │ │ └── screens │ │ ├── standard-checklist.png │ │ └── submit-message.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── data-schemas │ └── checklists.json │ ├── package.json │ ├── src │ ├── const.js │ ├── extension.js │ ├── index.js │ └── pages │ │ └── submit-message-page │ │ ├── SubmitMessagePage.jsx │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ └── translations │ └── en.json ├── shoutem.cms ├── app │ ├── app.js │ ├── components │ │ ├── CurrentLocation │ │ │ ├── CurrentLocation.js │ │ │ └── index.js │ │ ├── Header.js │ │ ├── SearchInput.js │ │ ├── SkeletonLoading.js │ │ ├── UniversalLinkButton.js │ │ └── index.js │ ├── const.js │ ├── index.js │ ├── package.json │ ├── permissions.js │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── middleware.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── screens │ │ └── CmsListScreen.js │ ├── services │ │ ├── getMapUrl.js │ │ └── index.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── add-cms-image.png │ ├── bin │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── actions │ │ ├── category.js │ │ ├── importer.js │ │ ├── index.js │ │ ├── language.js │ │ ├── module.js │ │ ├── notification.js │ │ ├── resource.js │ │ ├── schema.js │ │ └── shortcut.js │ ├── builder-sdk │ │ ├── actions.js │ │ ├── index.js │ │ ├── settings.js │ │ └── types.js │ ├── cms-dashboard │ │ ├── components │ │ │ ├── category-name-modal │ │ │ │ ├── CategoryNameModal.jsx │ │ │ │ ├── index.js │ │ │ │ └── localization.js │ │ │ ├── category-selector │ │ │ │ ├── CategorySelector.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── category-tree-item │ │ │ │ ├── CategoryTreeItem.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── category-tree │ │ │ │ ├── CategoryTree.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── cms-actions-menu │ │ │ │ ├── CmsActionsMenu.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── cms-table-row │ │ │ │ ├── CmsTableRow.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── cms-table │ │ │ │ ├── CmsTable.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── filters-form-item │ │ │ │ ├── FiltersFormItem.jsx │ │ │ │ ├── index.js │ │ │ │ └── localization.js │ │ │ ├── filters-form │ │ │ │ ├── FiltersForm.jsx │ │ │ │ ├── index.js │ │ │ │ └── localization.js │ │ │ ├── filters-modal │ │ │ │ ├── FiltersModal.jsx │ │ │ │ ├── index.js │ │ │ │ └── localization.js │ │ │ ├── form-container │ │ │ │ ├── FormContainer.jsx │ │ │ │ └── index.js │ │ │ ├── input-table-header │ │ │ │ ├── InputTableHeader.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── language-selector │ │ │ │ ├── LanguageSelector.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── resource-form-modal │ │ │ │ ├── ResourceFormModal.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── resource-form │ │ │ │ ├── ResourceForm.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── search-form │ │ │ │ ├── SearchForm.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── section-form │ │ │ │ ├── SectionForm.jsx │ │ │ │ └── index.js │ │ │ ├── select-table-header │ │ │ │ ├── SelectTableHeader.jsx │ │ │ │ └── index.js │ │ │ ├── table │ │ │ │ ├── Table.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── text-table-column │ │ │ │ ├── TextTableColumn.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ └── text-table-header │ │ │ │ ├── TextTableHeader.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ ├── const.js │ │ ├── index.js │ │ ├── redux │ │ │ ├── categories.js │ │ │ ├── form.js │ │ │ ├── index.js │ │ │ ├── reducer.js │ │ │ └── resources.js │ │ └── services │ │ │ ├── categories.js │ │ │ ├── filter.js │ │ │ ├── form.js │ │ │ ├── importer.js │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ ├── resource.js │ │ │ ├── rsaaPromise.js │ │ │ ├── schema.js │ │ │ ├── shoutemUrls.js │ │ │ ├── tableSchemaTransformer.js │ │ │ └── validation.js │ ├── components │ │ ├── checkbox-menu-item │ │ │ ├── CheckboxMenuItem.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── child-category-selector │ │ │ ├── ChildCategorySelector.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── export-cms-button │ │ │ ├── ExportCmsButton.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── importer-csv-form │ │ │ ├── ImporterCsvForm.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── importer-csv-mapping-form │ │ │ ├── ImporterCsvMappingForm.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── importer-csv-mapping-item │ │ │ ├── ImporterCsvMappingItem.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── importer-language-selector │ │ │ ├── ImporterLanguageSelector.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── importer-modal │ │ │ ├── ImporterModal.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── importer-rss-form │ │ │ ├── ImporterRssForm.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── importer-schedule-selector │ │ │ ├── ImporterScheduleSelector.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── importer-table │ │ │ ├── ImporterTable.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── index.js │ │ ├── manage-content-button │ │ │ ├── ManageContentButton.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── paging-more │ │ │ ├── PagingMore.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── parent-category-selector │ │ │ ├── ParentCategorySelector.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── push-notification-modal │ │ │ ├── PushNotificationModal.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── sort-options │ │ │ ├── SortOptions.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── toggle-content │ │ │ ├── ToggleContent.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ ├── const.js │ ├── denormalizer.js │ ├── file-upload │ │ ├── audio-preview │ │ │ ├── AudioPreview.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── audio-upload-placeholder │ │ │ ├── AudioUploadPlaceholder.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── audio-uploader │ │ │ ├── AudioUploader.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── file-preview │ │ │ ├── FilePreview.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── file-upload-placeholder │ │ │ ├── FileUploadPlaceholder.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── file-uploader │ │ │ ├── FileUploader.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── image-preview │ │ │ ├── ImagePreview.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── image-upload-placeholder │ │ │ ├── ImageUploadPlaceholder.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── image-uploader │ │ │ ├── ImageUploader.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── index.js │ │ └── services │ │ │ ├── index.js │ │ │ └── uploader.js │ ├── form-builder │ │ ├── components │ │ │ ├── array-form-element │ │ │ │ ├── ArrayFormElement.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── array-redux-form-item │ │ │ │ ├── ArrayReduxFormItem.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── array-text-editor-redux-form-item │ │ │ │ ├── ArrayTextEditorFormItem.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── audio-uploader-redux-form-element │ │ │ │ ├── AudioUploaderReduxFormElement.jsx │ │ │ │ └── index.js │ │ │ ├── boolean-redux-form-element │ │ │ │ ├── BooleanReduxFormElement.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── date-time-redux-form-element │ │ │ │ ├── DateTimeReduxFormElement.jsx │ │ │ │ ├── const.js │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── entity-reference-redux-form-element │ │ │ │ ├── EntityReferenceReduxFormElement.jsx │ │ │ │ └── index.js │ │ │ ├── gallery-redux-form-element │ │ │ │ ├── GalleryReduxFormElement.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── geolocation-redux-form-element │ │ │ │ ├── GeolocationReduxFormElement.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── image-uploader-redux-form-element │ │ │ │ ├── ImageUploaderReduxFormElement.jsx │ │ │ │ └── index.js │ │ │ ├── select-redux-form-element │ │ │ │ ├── SelectReduxFormElement.jsx │ │ │ │ └── index.js │ │ │ ├── services.js │ │ │ ├── text-area-redux-from-element │ │ │ │ ├── TextAreaReduxFormElement.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── text-editor-redux-from-element │ │ │ │ ├── TextEditorReduxFormElement.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ └── video-uploader-redux-form-element │ │ │ │ ├── VideoUploaderReduxFormElement.jsx │ │ │ │ └── index.js │ │ ├── index.js │ │ └── localization.js │ ├── fragments │ │ ├── advanced-setup │ │ │ ├── AdvancedSetup.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── importer-dashboard │ │ │ ├── ImporterDashboard.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── resource-dashboard │ │ │ ├── ResourceDashboard.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ ├── index.js │ ├── pages │ │ ├── cmsPage │ │ │ ├── CmsPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── layout-settings-page │ │ │ ├── LayoutSettingsPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ ├── providers │ │ ├── analytics │ │ │ ├── events.js │ │ │ └── index.js │ │ └── localization │ │ │ ├── LocalizationProvider.js │ │ │ └── index.js │ ├── reducer.js │ ├── selectors.js │ ├── services │ │ ├── array.js │ │ ├── categories.js │ │ ├── dropdown.js │ │ ├── export.js │ │ ├── importer.js │ │ ├── index.js │ │ ├── language.js │ │ ├── localization.js │ │ ├── pagination.js │ │ ├── push.js │ │ ├── rsaaPromise.js │ │ ├── schema.js │ │ ├── search.js │ │ ├── shortcut.js │ │ └── sort.js │ └── types.js │ └── translations │ └── en.json ├── shoutem.deals ├── app │ ├── app.js │ ├── assets │ │ └── images │ │ │ ├── my-coupons.png │ │ │ ├── my-coupons.svg │ │ │ ├── my-coupons@2x.png │ │ │ └── my-coupons@3x.png │ ├── components │ │ ├── DealFeaturedView.js │ │ ├── DealGridView.js │ │ ├── DealImage.js │ │ ├── DealImageGallery.js │ │ ├── DealListView.js │ │ ├── DealRedeemContentView.js │ │ ├── DealRedeemTimer.js │ │ ├── DealsMap.js │ │ ├── FeaturedDealView.js │ │ ├── FooterDealView.js │ │ ├── MyDeals │ │ │ ├── FavoriteDealsList.js │ │ │ └── MyDealsList.js │ │ └── MyDealsBadge.js │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── middleware.js │ ├── package.json │ ├── redux │ │ ├── actionCreators.js │ │ ├── index.js │ │ ├── reducers.js │ │ └── selectors.js │ ├── screens │ │ ├── DealDetailsScreen.js │ │ ├── DealsGridScreen.js │ │ ├── DealsListScreen.js │ │ ├── DealsScreen.js │ │ ├── LargeDealDetailsScreen.js │ │ ├── MediumDealDetailsScreen.js │ │ └── MyDealsScreen.js │ ├── services │ │ ├── deals.js │ │ ├── index.js │ │ └── maps.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ ├── add-deals-image.png │ ├── compact-list-featured.png │ ├── compact-list.png │ ├── details-large-transparent.png │ ├── details-medium-transparent.png │ ├── fixed-grid-featured.png │ ├── fixed-grid.png │ └── icons │ │ ├── deals.png │ │ ├── deals@2x.png │ │ └── deals@3x.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── cms-dashboard │ ├── components │ │ ├── category-name-modal │ │ │ ├── CategoryNameModal.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── category-selector │ │ │ ├── CategorySelector.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── category-tree-item │ │ │ ├── CategoryTreeItem.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── category-tree │ │ │ ├── CategoryTree.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── cms-actions-menu │ │ │ ├── CmsActionsMenu.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── cms-table-row │ │ │ ├── CmsTableRow.jsx │ │ │ └── index.js │ │ ├── cms-table │ │ │ ├── CmsTable.jsx │ │ │ └── index.js │ │ ├── filters-form-item │ │ │ ├── FiltersFormItem.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── filters-form │ │ │ ├── FiltersForm.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── filters-modal │ │ │ ├── FiltersModal.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── form-container │ │ │ ├── FormContainer.jsx │ │ │ └── index.js │ │ ├── input-table-header │ │ │ ├── InputTableHeader.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── language-selector │ │ │ ├── LanguageSelector.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── resource-form-modal │ │ │ ├── ResourceFormModal.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── resource-form │ │ │ ├── ResourceForm.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── search-form │ │ │ ├── SearchForm.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── section-form │ │ │ ├── SectionForm.jsx │ │ │ └── index.js │ │ ├── select-table-header │ │ │ ├── SelectTableHeader.jsx │ │ │ └── index.js │ │ ├── table │ │ │ ├── Table.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── text-table-column │ │ │ ├── TextTableColumn.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ └── text-table-header │ │ │ ├── TextTableHeader.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ ├── const.js │ ├── index.js │ ├── redux │ │ ├── categories.js │ │ ├── form.js │ │ ├── index.js │ │ ├── reducer.js │ │ ├── resources.js │ │ └── schema.js │ └── services │ │ ├── categories.js │ │ ├── filter.js │ │ ├── form.js │ │ ├── importer.js │ │ ├── index.js │ │ ├── localization.js │ │ ├── resource.js │ │ ├── rsaaPromise.js │ │ ├── schema.js │ │ ├── shoutemUrls.js │ │ ├── tableSchemaTransformer.js │ │ └── validation.js │ ├── data-schemas │ └── deals.json │ ├── file-upload │ ├── image-preview │ │ ├── ImagePreview.jsx │ │ ├── index.js │ │ └── style.scss │ ├── image-upload-placeholder │ │ ├── ImageUploadPlaceholder.jsx │ │ ├── index.js │ │ └── style.scss │ ├── image-uploader │ │ ├── ImageUploader.jsx │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ └── index.js │ ├── form-builder │ ├── components │ │ ├── entity-reference-redux-form-element │ │ │ ├── EntityReferenceReduxFormElement.jsx │ │ │ └── index.js │ │ ├── image-uploader-redux-form-element │ │ │ ├── ImageUploaderReduxFormElement.jsx │ │ │ └── index.js │ │ ├── select-redux-form-element │ │ │ ├── SelectReduxFormElement.jsx │ │ │ └── index.js │ │ ├── services.js │ │ └── text-editor-redux-from-element │ │ │ ├── TextEditorReduxFormElement.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ └── index.js │ ├── package.json │ ├── src │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── modules │ │ ├── deals │ │ │ ├── components │ │ │ │ ├── deal-form-modal │ │ │ │ │ ├── DealFormModal.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── styles.scss │ │ │ │ └── deal-form │ │ │ │ │ ├── DealForm.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ ├── const.js │ │ │ ├── fragments │ │ │ │ └── deals-dashboard │ │ │ │ │ ├── DealsDashboard.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ ├── index.js │ │ │ ├── redux │ │ │ │ ├── actions.js │ │ │ │ ├── index.js │ │ │ │ ├── reducers.js │ │ │ │ └── selectors.js │ │ │ └── services │ │ │ │ ├── deal.js │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── validation.js │ │ ├── languages │ │ │ ├── const.js │ │ │ ├── index.js │ │ │ ├── redux │ │ │ │ ├── actions.js │ │ │ │ ├── index.js │ │ │ │ ├── reducers.js │ │ │ │ └── selectors.js │ │ │ └── services │ │ │ │ ├── index.js │ │ │ │ ├── language.js │ │ │ │ └── languagesApi.js │ │ └── stats │ │ │ ├── components │ │ │ ├── deal-stats-filter │ │ │ │ ├── DealStatsFilter.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── deal-stats-row │ │ │ │ ├── DealStatsRow.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ └── index.js │ │ │ ├── const.js │ │ │ ├── fragments │ │ │ ├── deal-stats-dashboard │ │ │ │ ├── DealStatsDashboard.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ └── transaction-stats-dashboard │ │ │ │ ├── TransactionStatsDashboard.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── index.js │ │ │ └── redux.js │ ├── pages │ │ ├── deals-cms-page │ │ │ ├── DealsCmsPage.jsx │ │ │ └── index.js │ │ └── deals-statistics-page │ │ │ ├── DealsStatisticsPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ ├── redux.js │ ├── services │ │ ├── date.js │ │ ├── dateConverter.js │ │ ├── dealsApi.js │ │ ├── index.js │ │ ├── localization.js │ │ ├── pagination.js │ │ └── types.js │ └── style.scss │ └── translations │ └── en.json ├── shoutem.events ├── app │ ├── components │ │ ├── BaseEventItem.js │ │ ├── EventImage.js │ │ ├── EventsMap.js │ │ ├── FeaturedEventView.js │ │ ├── GridEventView.js │ │ ├── LargeEventView.js │ │ ├── ListEventView.js │ │ ├── ListItemViewFactory.js │ │ ├── MediumEventView.js │ │ └── TileEventView.js │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── package.json │ ├── permissions.js │ ├── redux.js │ ├── screens │ │ ├── EventDetailsScreen.js │ │ ├── EventsScreen.js │ │ ├── GridEventsScreen.js │ │ ├── LargeEventDetailsScreen.js │ │ ├── MediumEventDetailsScreen.js │ │ └── SingleEventMapScreen.js │ ├── shared │ │ ├── Calendar.js │ │ ├── Calendar.web.js │ │ └── isValidEvent.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── assets │ ├── add-events-image.png │ └── images │ │ ├── compact-list-featured.png │ │ ├── compact-list.png │ │ ├── details-large-solid.png │ │ ├── details-large-transparent.png │ │ ├── details-medium-solid.png │ │ ├── details-medium-transparent.png │ │ ├── fixed-grid-featured.png │ │ ├── fixed-grid.png │ │ ├── flexible-grid-featured.png │ │ ├── flexible-grid.png │ │ ├── large-list.png │ │ ├── medium-list-featured.png │ │ ├── medium-list.png │ │ └── tile-list.png │ ├── data-schemas │ └── events.json │ ├── package.json │ └── translations │ └── en.json ├── shoutem.favorites ├── app │ ├── app.js │ ├── components │ │ └── Favorite.js │ ├── const.js │ ├── helpers.js │ ├── index.js │ ├── package.json │ ├── redux.js │ ├── screens │ │ └── FavoritesListScreen.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── assets │ └── add-favorites-image.png │ └── package.json ├── shoutem.firebase ├── app │ ├── .gitignore │ ├── app.js │ ├── build │ │ ├── const.js │ │ ├── index.js │ │ ├── injectFirebase.js │ │ ├── injectFirebaseAsStaticFramework.js │ │ ├── injectFirebaseSettingsFile.js │ │ ├── injectReactNativePush.js │ │ ├── injectRegisterForRemoteNotifications.js │ │ └── templates │ │ │ ├── GoogleService-Info.plist │ │ │ └── google-services.json │ ├── const.js │ ├── index.js │ ├── index.web.js │ ├── package.json │ ├── permissions.js │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── middleware.js │ │ ├── reducer.js │ │ └── selectors.js │ └── services │ │ ├── firebase.js │ │ ├── handlers.js │ │ └── index.js ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── add-firebase-image.png │ ├── bin │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── index.js │ ├── pages │ │ └── settingsPage │ │ │ ├── SettingsPage.jsx │ │ │ ├── actions.js │ │ │ ├── components │ │ │ ├── SettingsForm.jsx │ │ │ ├── localization.js │ │ │ └── style.scss │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ ├── reducer.js │ │ │ ├── services │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ ├── rsaaPromise.js │ │ │ └── validation.js │ │ │ └── style.scss │ ├── providers │ │ └── localization │ │ │ ├── LocalizationProvider.js │ │ │ └── index.js │ └── reducer.js │ └── translations │ └── en.json ├── shoutem.fonts ├── app │ ├── .gitignore │ ├── build │ │ ├── downloadFonts.js │ │ ├── fontname.py │ │ ├── index.js │ │ └── injectFontImportCode.js │ ├── index.js │ └── package.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── images │ │ └── add-fonts-image.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── const.js │ ├── index.js │ ├── modules │ │ └── fonts │ │ │ ├── components │ │ │ ├── custom-fonts-table │ │ │ │ ├── CustomFontsTable.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── default-fonts-table │ │ │ │ ├── DefaultFontsTable.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── delete-font-modal │ │ │ │ ├── DeleteFontModal.js │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── download-row-descriptor │ │ │ │ ├── DownloadRowDescriptor.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── font-modal │ │ │ │ ├── FontModal.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ └── index.js │ │ │ ├── const.js │ │ │ ├── index.js │ │ │ ├── redux │ │ │ ├── actions.js │ │ │ ├── index.js │ │ │ ├── reducer.js │ │ │ └── selectors.js │ │ │ └── services │ │ │ ├── font.js │ │ │ └── index.js │ ├── pages │ │ ├── fonts-page │ │ │ ├── FontsPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── index.js │ ├── redux.js │ ├── services │ │ ├── index.js │ │ └── shoutemUrls.js │ └── style.scss │ └── translations │ └── en.json ├── shoutem.geo-restrictions ├── app │ ├── app.js │ ├── assets │ │ └── images │ │ │ └── EmptyStateGraphic.svg │ ├── const.js │ ├── extension.js │ ├── hoc │ │ ├── index.js │ │ └── withGeoLocationRequired.js │ ├── index.js │ ├── index.web.js │ ├── navigation.js │ ├── package.json │ ├── permissions.js │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── screens │ │ ├── RestrictedScreen.js │ │ └── index.js │ ├── services │ │ ├── getCurrentLocation.js │ │ ├── index.js │ │ └── reverseGeocoding.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── geo.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── components │ │ ├── index.js │ │ ├── table │ │ │ ├── Table.jsx │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── text-table-header │ │ │ ├── TextTableHeader.jsx │ │ │ └── style.scss │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── pages │ │ ├── api-key-page │ │ │ ├── ApiKeyPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── geo-restrictions-page │ │ │ ├── GeoRestrictionsPage.jsx │ │ │ ├── components │ │ │ │ ├── restricted-screen-row │ │ │ │ │ ├── RestrictedScreenRow.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ └── style.scss │ │ │ │ ├── restricted-screens-table │ │ │ │ │ ├── RestrictedScreensTable.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ ├── state-row │ │ │ │ │ ├── StateRow.jsx │ │ │ │ │ ├── const.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── style.scss │ │ │ │ └── states-modal │ │ │ │ │ ├── StateModal.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── index.js │ └── services │ │ ├── index.js │ │ └── shortcuts.js │ └── translations │ ├── en.json │ └── example.json ├── shoutem.google-analytics ├── app │ ├── build │ │ ├── const.js │ │ ├── index.js │ │ └── injectFirebaseSettingsFile.js │ ├── const.js │ ├── index.js │ ├── index.web.js │ ├── package.json │ └── redux │ │ ├── index.js │ │ └── middleware.js ├── cloud │ ├── .babelrc │ ├── .dockerignore │ ├── .editorconfig │ ├── .env-example │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gitignore │ ├── .npmrc │ ├── .prettierrc │ ├── .sequelizerc │ ├── README.md │ ├── app │ │ └── server │ │ │ ├── app.js │ │ │ ├── index.js │ │ │ └── www.js │ ├── cli │ │ ├── cli.js │ │ ├── commands │ │ │ ├── database.js │ │ │ ├── database │ │ │ │ └── sync.js │ │ │ ├── generate.js │ │ │ └── generate │ │ │ │ └── services │ │ │ │ ├── code-generator.js │ │ │ │ ├── input-associations-handler.js │ │ │ │ └── input-properties-handler.js │ │ └── index.js │ ├── config │ │ ├── .env-e2e-example │ │ ├── .env-handsoff-example │ │ ├── .env-local-example │ │ └── load-config.js │ ├── docker-compose-e2e.yml │ ├── docker-compose.yml │ ├── docker │ │ ├── app │ │ │ └── app.Dockerfile │ │ ├── db │ │ │ ├── db.Dockerfile │ │ │ └── init.sql │ │ └── test │ │ │ └── test.Dockerfile │ ├── package.json │ ├── schema.js │ ├── src │ │ ├── analytics │ │ │ ├── config │ │ │ │ └── index.js │ │ │ ├── controllers │ │ │ │ └── analytics-controller.ts │ │ │ ├── index.ts │ │ │ ├── io │ │ │ │ ├── analytics-io.ts │ │ │ │ ├── index.ts │ │ │ │ └── types.ts │ │ │ ├── middleware │ │ │ │ ├── index.ts │ │ │ │ └── validate-analytics.ts │ │ │ ├── router │ │ │ │ ├── analytics-router.ts │ │ │ │ └── index.ts │ │ │ └── services │ │ │ │ ├── analytics.ts │ │ │ │ └── index.ts │ │ ├── app │ │ │ ├── const.ts │ │ │ ├── controllers │ │ │ │ └── app-controller.ts │ │ │ ├── data │ │ │ │ ├── app-model.ts │ │ │ │ └── app-repository.ts │ │ │ ├── index.ts │ │ │ ├── io │ │ │ │ ├── app-io.ts │ │ │ │ ├── index.ts │ │ │ │ └── types.ts │ │ │ ├── middleware │ │ │ │ ├── index.ts │ │ │ │ └── load-or-create-app-param.ts │ │ │ ├── router │ │ │ │ ├── app-router.ts │ │ │ │ └── index.ts │ │ │ └── service │ │ │ │ ├── app.ts │ │ │ │ └── index.ts │ │ ├── application │ │ │ ├── config │ │ │ │ └── index.ts │ │ │ ├── const.ts │ │ │ ├── data │ │ │ │ └── application-repository.ts │ │ │ ├── middleware │ │ │ │ ├── acl-permissions.ts │ │ │ │ ├── index.ts │ │ │ │ └── load-application-param.ts │ │ │ └── service │ │ │ │ ├── application.ts │ │ │ │ └── index.ts │ │ ├── health │ │ │ └── index.ts │ │ ├── router.js │ │ ├── sequelize │ │ │ ├── cli-config.js │ │ │ ├── config.js │ │ │ ├── helpers │ │ │ │ └── insert-or-update.js │ │ │ ├── migrations │ │ │ │ ├── .gitkeep │ │ │ │ ├── 20240117112021-create-app.js │ │ │ │ └── 20240117112022-create-app-app-id-index.js │ │ │ ├── models │ │ │ │ └── index.js │ │ │ └── seeders │ │ │ │ └── .gitkeep │ │ └── shared │ │ │ ├── acl │ │ │ ├── index.ts │ │ │ ├── jwt-security-context.ts │ │ │ ├── security-context-factory.ts │ │ │ └── security-context.ts │ │ │ ├── auth │ │ │ ├── config │ │ │ │ ├── auth.ts │ │ │ │ └── jwt.ts │ │ │ ├── const.ts │ │ │ ├── index.ts │ │ │ └── service │ │ │ │ ├── auth.ts │ │ │ │ ├── index.ts │ │ │ │ └── passport.ts │ │ │ ├── db │ │ │ ├── _tests_ │ │ │ │ └── encoder.spec.js │ │ │ ├── config │ │ │ │ └── db.js │ │ │ ├── custom-data-types.js │ │ │ ├── database.js │ │ │ ├── encoder.js │ │ │ ├── error │ │ │ │ └── adapters │ │ │ │ │ ├── index.js │ │ │ │ │ ├── sequelize-foreign-key-constraint-error-adapter.js │ │ │ │ │ ├── sequelize-unique-constraint-error-adapter.js │ │ │ │ │ └── sequelize-validation-error-adapter.js │ │ │ ├── index.js │ │ │ ├── lean-decorator.js │ │ │ ├── loaders.js │ │ │ └── services │ │ │ │ ├── index.js │ │ │ │ ├── io-to-sequelize-filter.js │ │ │ │ └── io-to-sequelize-sort.js │ │ │ ├── env │ │ │ └── index.ts │ │ │ ├── error │ │ │ ├── adapters │ │ │ │ ├── _tests_ │ │ │ │ │ ├── default-error-adapter.spec.js │ │ │ │ │ └── http-error-adapter.spec.js │ │ │ │ ├── default-error-adapter.ts │ │ │ │ └── http-error-adapter.ts │ │ │ ├── config.js │ │ │ ├── error-code-generator.js │ │ │ ├── error-wrapper.js │ │ │ ├── errors │ │ │ │ ├── _tests_ │ │ │ │ │ ├── forbidden-error.spec.js │ │ │ │ │ ├── http-error.spec.js │ │ │ │ │ ├── node-error.spec.js │ │ │ │ │ ├── not-authorized-error.spec.js │ │ │ │ │ ├── not-found-error.spec.js │ │ │ │ │ └── validation-error.spec.js │ │ │ │ ├── conflict-error.js │ │ │ │ ├── error-meta.ts │ │ │ │ ├── forbidden-error.js │ │ │ │ ├── http-error.js │ │ │ │ ├── index.js │ │ │ │ ├── node-error.js │ │ │ │ ├── not-authorized-error.js │ │ │ │ ├── not-found-error.js │ │ │ │ └── validation-error.ts │ │ │ ├── index.js │ │ │ └── middleware │ │ │ │ ├── _tests_ │ │ │ │ ├── default-not-found.spec.js │ │ │ │ └── error-handler.spec.js │ │ │ │ ├── default-not-found.js │ │ │ │ └── error-handler.js │ │ │ ├── express │ │ │ ├── _tests_ │ │ │ │ └── locals.spec.js │ │ │ ├── index.ts │ │ │ ├── locals.ts │ │ │ └── middleware │ │ │ │ ├── async-middleware.ts │ │ │ │ ├── async-param-middleware.ts │ │ │ │ ├── favicon.js │ │ │ │ └── index.ts │ │ │ ├── io │ │ │ ├── id-generator.ts │ │ │ ├── index.ts │ │ │ ├── io-error.ts │ │ │ ├── io.ts │ │ │ ├── json-api │ │ │ │ ├── index.ts │ │ │ │ ├── input.ts │ │ │ │ ├── output.ts │ │ │ │ └── serializer.ts │ │ │ └── status.ts │ │ │ ├── logging │ │ │ ├── config │ │ │ │ └── logging.ts │ │ │ ├── index.ts │ │ │ ├── logger.ts │ │ │ └── middleware │ │ │ │ └── log-request.ts │ │ │ ├── paging │ │ │ ├── buffer-enumerable.js │ │ │ ├── index.js │ │ │ ├── paged-collection.ts │ │ │ └── tests │ │ │ │ └── paged-collections.spec.js │ │ │ ├── repository │ │ │ ├── crud-sequelize-repository.ts │ │ │ └── index.ts │ │ │ └── swagger │ │ │ ├── config │ │ │ └── index.js │ │ │ ├── definitions.js │ │ │ └── index.js │ ├── template │ │ └── {=moduleName=} │ │ │ ├── const.ts │ │ │ ├── controllers │ │ │ └── {=moduleName=}-controller.ts │ │ │ ├── data │ │ │ ├── {=moduleName=}-model.ts │ │ │ └── {=moduleName=}-repository.ts │ │ │ ├── index.ts │ │ │ ├── io │ │ │ ├── index.ts │ │ │ ├── types.ts │ │ │ └── {=moduleName=}-io.ts │ │ │ ├── middleware │ │ │ ├── index.ts │ │ │ └── load-{=moduleName=}-param.ts │ │ │ ├── router │ │ │ ├── index.ts │ │ │ └── {=moduleName=}-router.ts │ │ │ └── service │ │ │ ├── index.ts │ │ │ └── {=moduleName=}.ts │ └── tsconfig.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── add-analytics-image.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── const.js │ ├── index.js │ ├── modules │ │ └── app │ │ │ ├── components │ │ │ ├── app-form │ │ │ │ ├── AppForm.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ └── index.js │ │ │ ├── const.js │ │ │ ├── index.js │ │ │ └── redux │ │ │ ├── actions.js │ │ │ ├── index.js │ │ │ ├── reducer.js │ │ │ └── selectors.js │ ├── pages │ │ ├── index.js │ │ └── settings-page │ │ │ ├── SettingsPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ └── redux.js │ └── translations │ └── en.json ├── shoutem.i18n ├── app │ ├── app.js │ ├── build.js │ ├── components │ │ ├── LanguageListItem.js │ │ └── index.js │ ├── const.js │ ├── index.js │ ├── package.json │ ├── providers │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── middleware.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── screens │ │ ├── SelectLanguageScreen.js │ │ └── index.js │ ├── services │ │ ├── index.js │ │ └── languages.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── index.js ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── add-translation.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── components │ │ ├── file-preview │ │ │ ├── FilePreview.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── file-upload-placeholder │ │ │ ├── FileUploadPlaceholder.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── file-uploader │ │ │ ├── FileUploader.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── index.js │ │ ├── language-select │ │ │ ├── LanguageSelect.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── translation-row │ │ │ ├── TranslationRow.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ └── translation-table │ │ │ ├── TranslationTable.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── modules │ │ ├── categories │ │ │ ├── const.js │ │ │ ├── index.js │ │ │ └── redux │ │ │ │ ├── actions.js │ │ │ │ ├── index.js │ │ │ │ ├── reducer.js │ │ │ │ └── selectors.js │ │ ├── channels │ │ │ ├── const.js │ │ │ ├── index.js │ │ │ └── redux │ │ │ │ ├── actions.js │ │ │ │ └── index.js │ │ └── translations │ │ │ ├── components │ │ │ ├── index.js │ │ │ ├── translations-dashboard │ │ │ │ ├── TranslationsDashboard.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── translations-modal │ │ │ │ ├── TranslationsModal.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ └── translations-table │ │ │ │ ├── TranslationsTable.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ └── index.js │ ├── pages │ │ ├── categories-page │ │ │ ├── CategoriesPage.jsx │ │ │ ├── components │ │ │ │ ├── index.js │ │ │ │ ├── screen-table │ │ │ │ │ ├── ScreenTable.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ ├── translation-row │ │ │ │ │ ├── TranslationRow.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ └── style.scss │ │ │ │ └── translation-table │ │ │ │ │ ├── TranslationTable.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ └── style.scss │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── language-page │ │ │ ├── LanguagePage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── screens-page │ │ │ ├── ScreensPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ ├── redux.js │ ├── services │ │ ├── category.js │ │ ├── index.js │ │ ├── languageOptions.js │ │ ├── languages.json │ │ ├── localization.js │ │ ├── migration.js │ │ ├── readFileAsText.js │ │ ├── shoutemUrls.js │ │ ├── translations.js │ │ └── validateJson.js │ └── style.scss │ └── translations │ └── en.json ├── shoutem.ical-events ├── app │ ├── components │ │ ├── BaseEventItem.js │ │ ├── EventsMap.js │ │ ├── FeaturedEventView.js │ │ ├── GridEventView.js │ │ └── ListEventView.js │ ├── const.js │ ├── index.js │ ├── package.json │ ├── permissions.js │ ├── redux.js │ ├── screens │ │ ├── EventDetailsScreen.js │ │ ├── EventMapScreen.js │ │ ├── EventsGridScreen.js │ │ └── EventsListScreen.js │ ├── services │ │ ├── Calendar.js │ │ ├── Calendar.web.js │ │ ├── eventAdapter.js │ │ └── isValidEvent.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ ├── add-events-image.png │ └── images │ │ ├── details-no-image-solid-navbar.png │ │ ├── details-no-image-transparent-navbar.png │ │ ├── featured-grid-no-image.png │ │ ├── featured-list-no-image.png │ │ ├── grid-no-image.png │ │ └── list-no-image.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── const.js │ ├── index.js │ └── pages │ │ └── ical-page │ │ ├── IcalPage.jsx │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ └── translations │ └── en.json ├── shoutem.in-app-purchases ├── app │ ├── app.js │ ├── app.web.js │ ├── components │ │ ├── SubscribeButtons.js │ │ ├── TermsAndPolicy.js │ │ └── index.js │ ├── const.js │ ├── index.js │ ├── index.web.js │ ├── navigation.js │ ├── package.json │ ├── permissions.js │ ├── redux │ │ ├── actions.js │ │ ├── actions.web.js │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── screens │ │ ├── SubscriptionsScreen.js │ │ ├── SuccessScreen.js │ │ └── index.js │ ├── services │ │ ├── index.js │ │ ├── messageFormatting.js │ │ ├── purchaseErrors.js │ │ └── withSubscriptionRequired.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── iap.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── components │ │ ├── index.js │ │ ├── input-table-header │ │ │ ├── InputTableHeader.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── select-table-header │ │ │ ├── SelectTableHeader.jsx │ │ │ └── index.js │ │ ├── table │ │ │ ├── Table.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── text-table-header │ │ │ ├── TextTableHeader.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── pages │ │ ├── IAP-settings-page │ │ │ ├── IAPSettingsPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── index.js │ │ ├── locked-screens-page │ │ │ ├── LockedScreensPage.jsx │ │ │ ├── components │ │ │ │ ├── index.js │ │ │ │ ├── protected-screen-modal │ │ │ │ │ ├── ProtectedScreenModal.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ └── localization.js │ │ │ │ ├── protected-screen-row │ │ │ │ │ ├── ProtectedScreenRow.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ └── style.scss │ │ │ │ └── protected-screens-table │ │ │ │ │ ├── ProtectedScreensTable.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── privacy-policy-page │ │ │ ├── PrivacyPolicyPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── subscription-screen-page │ │ │ ├── SubscriptionScreenPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── terms-of-service-page │ │ │ ├── TermsOfServicePage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ └── services │ │ ├── index.js │ │ └── shortcuts.js │ └── translations │ └── en.json ├── shoutem.interactive-faq ├── app │ ├── components │ │ ├── MessageBubble.js │ │ ├── Question.js │ │ ├── QuestionsBar.js │ │ └── index.js │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── package.json │ ├── redux │ │ ├── actions.js │ │ ├── const.js │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── screens │ │ ├── InteractiveFaqScreen.js │ │ └── index.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── faq.png │ ├── bin │ └── webpack.config.js │ ├── data-schemas │ └── questions.json │ ├── package.json │ ├── src │ ├── denormalizer.js │ ├── index.js │ ├── pages │ │ ├── reducer.js │ │ └── settingsPage │ │ │ ├── SettingsPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ ├── providers │ │ └── localization │ │ │ ├── LocalizationProvider.js │ │ │ └── index.js │ └── reducer.js │ ├── themes │ └── theme.json │ └── translations │ └── en.json ├── shoutem.layouts ├── app │ ├── assets │ │ ├── index.js │ │ └── no-image-placeholder.png │ ├── compact-list │ │ ├── CompactListLayout.js │ │ ├── CompactListSkeletonPlaceholder.js │ │ ├── components │ │ │ ├── CompactListItem.js │ │ │ ├── CompactListSkeletonItem.js │ │ │ └── index.js │ │ └── index.js │ ├── components │ │ ├── ItemSubtitle.js │ │ ├── ShimmerPlaceholder.js │ │ └── index.js │ ├── const.js │ ├── details │ │ ├── DetailsLayout.js │ │ ├── DetailsSkeletonPlaceholder.js │ │ └── index.js │ ├── fixed-grid │ │ ├── FixedGridSkeletonPlaceholder.js │ │ ├── components │ │ │ ├── FixedGridSkeletonItem.js │ │ │ └── index.js │ │ └── index.js │ ├── grid-122 │ │ ├── Grid122Layout.js │ │ ├── components │ │ │ ├── FeaturedGridRowView.js │ │ │ ├── FullGridRowItemView.js │ │ │ ├── HalfGridRowItemView.js │ │ │ └── index.js │ │ ├── index.js │ │ └── services │ │ │ ├── index.js │ │ │ └── mapper.js │ ├── hooks │ │ ├── index.js │ │ └── useLayoutAnimation.js │ ├── index.js │ ├── large-list │ │ ├── LargeListLayout.js │ │ ├── LargeListSkeletonPlaceholder.js │ │ ├── components │ │ │ ├── LargeListItem.js │ │ │ ├── LargeListSkeletonItem.js │ │ │ └── index.js │ │ └── index.js │ ├── package.json │ ├── services │ │ ├── index.js │ │ └── resolveProp.js │ ├── themes │ │ └── style.js │ └── tile-list │ │ ├── TileListSkeletonPlaceholder.js │ │ └── index.js ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── add-layouts-image.png │ ├── bin │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── denormalizer.js │ ├── index.js │ ├── layoutPage │ │ ├── assets │ │ │ ├── blank_screen.png │ │ │ └── layout.png │ │ ├── components │ │ │ ├── LayoutPage.jsx │ │ │ ├── Screen.jsx │ │ │ ├── ScreenGroup.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── reducer.js │ ├── providers │ │ ├── analytics │ │ │ ├── events.js │ │ │ └── index.js │ │ └── localization │ │ │ ├── LocalizationProvider.js │ │ │ └── index.js │ ├── reducer.js │ └── services │ │ ├── index.js │ │ └── localization.js │ ├── themes │ └── theme.json │ └── translations │ └── en.json ├── shoutem.live-update ├── app │ ├── app.js │ ├── build │ │ ├── const.js │ │ ├── index.js │ │ └── injectLiveUpdate.js │ ├── const.js │ ├── index.js │ ├── index.web.js │ ├── package.json │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ └── translations │ │ └── en.json ├── cloud │ ├── .babelrc │ ├── .dockerignore │ ├── .editorconfig │ ├── .env-example │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gitignore │ ├── .npmrc │ ├── .prettierrc │ ├── .sequelizerc │ ├── README.md │ ├── app │ │ └── server │ │ │ ├── app.js │ │ │ ├── index.js │ │ │ └── www.js │ ├── cli │ │ ├── cli.js │ │ ├── commands │ │ │ ├── clear-cache.js │ │ │ ├── database.js │ │ │ ├── database │ │ │ │ └── sync.js │ │ │ ├── generate.js │ │ │ └── generate │ │ │ │ └── services │ │ │ │ ├── code-generator.js │ │ │ │ ├── input-associations-handler.js │ │ │ │ └── input-properties-handler.js │ │ └── index.js │ ├── config │ │ ├── .env-e2e-example │ │ ├── .env-handsoff-example │ │ ├── .env-local-example │ │ └── load-config.js │ ├── docker-compose-e2e.yml │ ├── docker-compose.yml │ ├── docker │ │ ├── app │ │ │ └── app.Dockerfile │ │ ├── db │ │ │ ├── db.Dockerfile │ │ │ └── init.sql │ │ ├── redis │ │ │ └── redis.Dockerfile │ │ └── test │ │ │ └── test.Dockerfile │ ├── package.json │ ├── schema.js │ ├── src │ │ ├── app │ │ │ ├── const.ts │ │ │ ├── controllers │ │ │ │ └── app-controller.ts │ │ │ ├── data │ │ │ │ ├── app-model.ts │ │ │ │ └── app-repository.ts │ │ │ ├── index.ts │ │ │ ├── io │ │ │ │ ├── app-io.ts │ │ │ │ ├── index.ts │ │ │ │ └── types.ts │ │ │ ├── middleware │ │ │ │ ├── acl-permissions.ts │ │ │ │ ├── index.ts │ │ │ │ └── load-or-create-app-param.ts │ │ │ ├── router │ │ │ │ ├── app-router.ts │ │ │ │ └── index.ts │ │ │ └── service │ │ │ │ ├── app.ts │ │ │ │ └── index.ts │ │ ├── application │ │ │ ├── config │ │ │ │ └── index.ts │ │ │ ├── data │ │ │ │ └── application-repository.ts │ │ │ ├── index.ts │ │ │ └── services │ │ │ │ └── application.ts │ │ ├── asset │ │ │ ├── config │ │ │ │ └── index.ts │ │ │ ├── controllers │ │ │ │ └── asset-controller.ts │ │ │ ├── index.ts │ │ │ ├── io │ │ │ │ ├── asset-io.ts │ │ │ │ ├── index.ts │ │ │ │ └── types.ts │ │ │ ├── middleware │ │ │ │ ├── acl-permissions.ts │ │ │ │ ├── index.ts │ │ │ │ └── setup-assets-path.ts │ │ │ ├── router │ │ │ │ ├── asset-router.ts │ │ │ │ └── index.ts │ │ │ └── services │ │ │ │ ├── asset.ts │ │ │ │ ├── cf-request-builder.ts │ │ │ │ ├── s3-client.ts │ │ │ │ ├── s3-deleter.ts │ │ │ │ ├── s3-request-builder.ts │ │ │ │ ├── s3-uploader.ts │ │ │ │ └── s3-url-builder.ts │ │ ├── cache │ │ │ └── index.ts │ │ ├── health │ │ │ └── index.ts │ │ ├── router.js │ │ ├── sequelize │ │ │ ├── cli-config.js │ │ │ ├── config.js │ │ │ ├── helpers │ │ │ │ └── insert-or-update.js │ │ │ ├── migrations │ │ │ │ ├── .gitkeep │ │ │ │ ├── 20231004122406-create-app.js │ │ │ │ ├── 20231006115935-create-app-app-id-index.js │ │ │ │ └── 20240712113940-add-app-preview-web-bundle-url.js │ │ │ ├── models │ │ │ │ └── index.js │ │ │ └── seeders │ │ │ │ └── .gitkeep │ │ └── shared │ │ │ ├── acl │ │ │ ├── index.ts │ │ │ ├── jwt-security-context.ts │ │ │ ├── security-context-factory.ts │ │ │ └── security-context.ts │ │ │ ├── auth │ │ │ ├── config │ │ │ │ ├── auth.ts │ │ │ │ └── jwt.ts │ │ │ ├── const.ts │ │ │ ├── index.ts │ │ │ └── service │ │ │ │ ├── auth.ts │ │ │ │ ├── index.ts │ │ │ │ └── passport.ts │ │ │ ├── cache │ │ │ ├── _tests_ │ │ │ │ └── cache-decorators.spec.js │ │ │ ├── cache-decorators.ts │ │ │ ├── cache-provider.ts │ │ │ ├── config │ │ │ │ └── index.js │ │ │ ├── index.js │ │ │ ├── memory-cache-provider.ts │ │ │ └── redis-cache-provider.ts │ │ │ ├── db │ │ │ ├── _tests_ │ │ │ │ └── encoder.spec.js │ │ │ ├── config │ │ │ │ └── db.js │ │ │ ├── custom-data-types.js │ │ │ ├── database.js │ │ │ ├── encoder.js │ │ │ ├── error │ │ │ │ └── adapters │ │ │ │ │ ├── index.js │ │ │ │ │ ├── sequelize-foreign-key-constraint-error-adapter.js │ │ │ │ │ ├── sequelize-unique-constraint-error-adapter.js │ │ │ │ │ └── sequelize-validation-error-adapter.js │ │ │ ├── index.js │ │ │ ├── lean-decorator.js │ │ │ ├── loaders.js │ │ │ └── services │ │ │ │ ├── index.js │ │ │ │ ├── io-to-sequelize-filter.js │ │ │ │ └── io-to-sequelize-sort.js │ │ │ ├── env │ │ │ └── index.ts │ │ │ ├── error │ │ │ ├── adapters │ │ │ │ ├── _tests_ │ │ │ │ │ ├── default-error-adapter.spec.js │ │ │ │ │ └── http-error-adapter.spec.js │ │ │ │ ├── default-error-adapter.ts │ │ │ │ └── http-error-adapter.ts │ │ │ ├── config.js │ │ │ ├── error-code-generator.js │ │ │ ├── error-wrapper.js │ │ │ ├── errors │ │ │ │ ├── _tests_ │ │ │ │ │ ├── forbidden-error.spec.js │ │ │ │ │ ├── http-error.spec.js │ │ │ │ │ ├── node-error.spec.js │ │ │ │ │ ├── not-authorized-error.spec.js │ │ │ │ │ ├── not-found-error.spec.js │ │ │ │ │ └── validation-error.spec.js │ │ │ │ ├── conflict-error.js │ │ │ │ ├── error-meta.ts │ │ │ │ ├── forbidden-error.js │ │ │ │ ├── http-error.js │ │ │ │ ├── index.js │ │ │ │ ├── node-error.js │ │ │ │ ├── not-authorized-error.js │ │ │ │ ├── not-found-error.js │ │ │ │ └── validation-error.ts │ │ │ ├── index.js │ │ │ └── middleware │ │ │ │ ├── _tests_ │ │ │ │ ├── default-not-found.spec.js │ │ │ │ └── error-handler.spec.js │ │ │ │ ├── default-not-found.js │ │ │ │ └── error-handler.js │ │ │ ├── express │ │ │ ├── _tests_ │ │ │ │ └── locals.spec.js │ │ │ ├── index.ts │ │ │ ├── locals.ts │ │ │ └── middleware │ │ │ │ ├── async-middleware.ts │ │ │ │ ├── async-param-middleware.ts │ │ │ │ ├── favicon.js │ │ │ │ └── index.ts │ │ │ ├── io │ │ │ ├── id-generator.ts │ │ │ ├── index.ts │ │ │ ├── io-error.ts │ │ │ ├── io.ts │ │ │ ├── json-api │ │ │ │ ├── index.ts │ │ │ │ ├── input.ts │ │ │ │ ├── output.ts │ │ │ │ └── serializer.ts │ │ │ └── status.ts │ │ │ ├── logging │ │ │ ├── config │ │ │ │ └── logging.ts │ │ │ ├── index.ts │ │ │ ├── logger.ts │ │ │ └── middleware │ │ │ │ └── log-request.ts │ │ │ ├── paging │ │ │ ├── buffer-enumerable.js │ │ │ ├── index.js │ │ │ ├── paged-collection.ts │ │ │ └── tests │ │ │ │ └── paged-collections.spec.js │ │ │ ├── redis │ │ │ └── config │ │ │ │ └── index.js │ │ │ ├── repository │ │ │ ├── crud-sequelize-repository.ts │ │ │ └── index.ts │ │ │ └── swagger │ │ │ ├── config │ │ │ └── index.js │ │ │ ├── definitions.js │ │ │ └── index.js │ ├── template │ │ └── {=moduleName=} │ │ │ ├── const.ts │ │ │ ├── controllers │ │ │ └── {=moduleName=}-controller.ts │ │ │ ├── data │ │ │ ├── {=moduleName=}-model.ts │ │ │ └── {=moduleName=}-repository.ts │ │ │ ├── index.ts │ │ │ ├── io │ │ │ ├── index.ts │ │ │ ├── types.ts │ │ │ └── {=moduleName=}-io.ts │ │ │ ├── middleware │ │ │ ├── index.ts │ │ │ └── load-{=moduleName=}-param.ts │ │ │ ├── router │ │ │ ├── index.ts │ │ │ └── {=moduleName=}-router.ts │ │ │ └── service │ │ │ ├── index.ts │ │ │ └── {=moduleName=}.ts │ └── tsconfig.json ├── extension.json └── server │ ├── assets │ └── add-live-update-image.png │ ├── package.json │ └── src │ ├── const.js │ └── index.js ├── shoutem.loyalty ├── app │ ├── app.js │ ├── assets │ │ ├── data │ │ │ └── no_image.png │ │ └── icons │ │ │ ├── gift.png │ │ │ ├── no-activity.png │ │ │ ├── plus.png │ │ │ ├── receipt.png │ │ │ ├── stamp.png │ │ │ └── trophy.png │ ├── build │ │ ├── const.js │ │ ├── index.js │ │ └── injectAndroidManifestQueries.js │ ├── components │ │ ├── GaugeProgressBar.js │ │ ├── MapList.js │ │ ├── PlaceIconView.js │ │ ├── PlaceLoyaltyPointsView.js │ │ ├── PlacePointsRewardListView.js │ │ ├── PlaceRewardIcon.js │ │ ├── PlaceRewardListView.js │ │ ├── RewardListView.js │ │ ├── RewardMediumListView.js │ │ ├── RewardProgressBar.js │ │ ├── RewardsGaugeProgressBar.js │ │ ├── RewardsMediumListView.js │ │ ├── SmallPointCardView.js │ │ ├── Stamp.js │ │ ├── Stamps.js │ │ ├── TransactionHistoryView.js │ │ ├── TransactionItem.js │ │ └── shapes.js │ ├── const.js │ ├── index.js │ ├── navigation.js │ ├── package.json │ ├── patch │ │ └── qrcode+1.5.4.patch │ ├── permissions.js │ ├── redux.js │ ├── screens │ │ ├── AssignPointsScreen.js │ │ ├── FavoritesListScreen.js │ │ ├── NoProgramScreen.js │ │ ├── PinVerificationScreen.js │ │ ├── PointsCardScreen.js │ │ ├── PointsEarnedScreen.js │ │ ├── PointsHistoryScreen.js │ │ ├── PointsSmallCardScreen.js │ │ ├── PunchCardListScreen.js │ │ ├── RedeemOrContinueScreen.js │ │ ├── RewardDetailsScreen.js │ │ ├── RewardsListScreen.js │ │ ├── RewardsProgressScreen.js │ │ ├── StampCardScreen.js │ │ ├── TransactionProcessedScreen.js │ │ ├── VerificationScreen.js │ │ └── places │ │ │ ├── GaugeRewardsPlaceDetails.js │ │ │ ├── LargeImageGaugeRewardsPlaceDetails.js │ │ │ ├── NoImageGaugeRewardsPlaceDetails.js │ │ │ ├── PlaceDetails.js │ │ │ ├── PlacesListScreen.js │ │ │ ├── SinglePlaceMap.js │ │ │ └── index.js │ ├── services.js │ ├── shared │ │ ├── gauge-progress-bar.js │ │ ├── index.js │ │ ├── rewards-gauge.js │ │ └── withOpenPlaceDetails.js │ ├── themes │ │ └── style.js │ └── translations │ │ ├── en.json │ │ ├── errorMessages.js │ │ └── index.js ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ ├── add-loyalty-image.png │ └── images │ │ ├── add-loyalty-image.png │ │ ├── details-gauge-large-photo.png │ │ ├── details-gauge-medium-photo.png │ │ ├── details-gauge-no-photo.png │ │ ├── details-large-photo.png │ │ ├── details-medium-photo.png │ │ ├── details-medium-transparent.png │ │ ├── details-text-only.png │ │ ├── empty-state-loyalty.svg │ │ ├── empty-transactions-screen.svg │ │ ├── layout-compact-list.png │ │ ├── layout-large-list.png │ │ ├── layout-loyaltycard-card.png │ │ ├── layout-loyaltycard-regular.png │ │ └── layout-punch-card.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── data-schemas │ ├── placeRewards.json │ ├── places.json │ ├── punchCards.json │ └── rewards.json │ ├── package.json │ ├── src │ ├── components │ │ ├── index.js │ │ ├── loyalty-disabled-placeholder │ │ │ ├── LoyaltyDisabledPlaceholder.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── toggle-switch │ │ │ ├── ToggleSwitch.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ ├── const.js │ ├── index.js │ ├── modules │ │ ├── cashiers │ │ │ ├── components │ │ │ │ ├── cashier-form │ │ │ │ │ ├── CashierForm.jsx │ │ │ │ │ ├── CashierFormWrapper.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ ├── cashiers-table │ │ │ │ │ ├── CashiersTable.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ └── index.js │ │ │ ├── fragments │ │ │ │ └── cashier-settings │ │ │ │ │ ├── CashierSettings.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ └── localization.js │ │ │ ├── index.js │ │ │ ├── redux.js │ │ │ └── services │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── validation.js │ │ ├── cms │ │ │ ├── components │ │ │ │ ├── cms-select │ │ │ │ │ ├── CmsSelect.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ └── index.js │ │ │ ├── index.js │ │ │ ├── redux.js │ │ │ └── services │ │ │ │ ├── cmsApi.js │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── rsaaPromise.js │ │ ├── program │ │ │ ├── components │ │ │ │ ├── barcode-regex-form │ │ │ │ │ ├── BarcodeRegexForm.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ └── index.js │ │ │ ├── const.js │ │ │ ├── fragments │ │ │ │ └── program-settings │ │ │ │ │ ├── ProgramSettings.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ └── localization.js │ │ │ ├── index.js │ │ │ └── redux │ │ │ │ ├── actions.js │ │ │ │ ├── index.js │ │ │ │ ├── reducer.js │ │ │ │ └── selectors.js │ │ ├── punch-rewards │ │ │ ├── index.js │ │ │ └── redux.js │ │ ├── rules │ │ │ ├── components │ │ │ │ ├── index.js │ │ │ │ ├── rule-table-row │ │ │ │ │ ├── RuleTableRow.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ └── style.scss │ │ │ │ ├── rules-form │ │ │ │ │ ├── RulesForm.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ ├── rules-table │ │ │ │ │ ├── RulesTable.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ └── rules-toggle-switch │ │ │ │ │ ├── RulesToggleSwitch.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ ├── fragments │ │ │ │ └── rules-settings │ │ │ │ │ ├── RulesSettings.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ └── localization.js │ │ │ ├── index.js │ │ │ ├── redux.js │ │ │ └── services │ │ │ │ ├── index.js │ │ │ │ └── rules.js │ │ └── transactions │ │ │ ├── components │ │ │ ├── general-stats │ │ │ │ ├── GeneralStats.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── index.js │ │ │ ├── loyalty-type-radio-group │ │ │ │ ├── LoyaltyTypeRadioGroup.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── loyalty-type-radio │ │ │ │ ├── LoyaltyTypeRadio.jsx │ │ │ │ └── index.js │ │ │ ├── multi-card-transaction-form │ │ │ │ ├── MultiCardTransactionForm.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── punch-card-transaction-form │ │ │ │ ├── PunchCardTransactionForm.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── single-card-transaction-form │ │ │ │ ├── SingleCardTransactionForm.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── transaction-table-row │ │ │ │ ├── TransactionTableRow.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ └── transactions-table │ │ │ │ ├── TransactionsTable.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── const.js │ │ │ ├── fragments │ │ │ ├── add-transaction-fragment │ │ │ │ ├── AddTransactionFragment.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── index.js │ │ │ ├── transactions-dashboard │ │ │ │ ├── TransactionsDashboard.jsx │ │ │ │ ├── index.js │ │ │ │ └── localization.js │ │ │ └── transactions-filter │ │ │ │ ├── TransactionsFilter.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── index.js │ │ │ ├── redux │ │ │ ├── actions.js │ │ │ ├── index.js │ │ │ ├── reducer.js │ │ │ └── selectors.js │ │ │ └── services │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ ├── services.js │ │ │ └── transactions.js │ ├── pages │ │ ├── default-loyalty-shortcut-settings-page │ │ │ ├── DefaultLoyaltyShortcutSettingsPage.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── index.js │ │ ├── loyalty-settings-page │ │ │ ├── LoyaltySettingsPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── transactions-page │ │ │ ├── TransactionsPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ ├── redux.js │ ├── services │ │ ├── errors.js │ │ ├── index.js │ │ ├── localization.js │ │ ├── loyaltyApi.js │ │ ├── selectOptions.js │ │ ├── settings.js │ │ └── shoutemUrls.js │ └── style.scss │ ├── themes │ └── theme.json │ └── translations │ └── en.json ├── shoutem.menu ├── app │ ├── components │ │ ├── ListMenuView.js │ │ ├── PriceOverlay.js │ │ └── SmallListMenuView.js │ ├── const.js │ ├── index.js │ ├── package.json │ ├── reducers │ │ └── index.js │ └── screens │ │ ├── MenuDetailsScreen.js │ │ ├── MenuListScreen.js │ │ └── MenuSmallListScreen.js ├── extension.json └── server │ ├── assets │ └── images │ │ ├── add-menu-items-image.png │ │ └── screens │ │ ├── large-photo-list.png │ │ └── small-photo-list.png │ ├── data-schemas │ └── Menu.json │ ├── package.json │ └── translations │ └── en.json ├── shoutem.navigation ├── app │ ├── app.js │ ├── assets │ │ └── images │ │ │ └── missing_icon.png │ ├── components │ │ ├── CardList.js │ │ ├── CardListItem.js │ │ ├── Drawer.js │ │ ├── DrawerItem.js │ │ ├── FolderBase.js │ │ ├── FolderItemContainer.js │ │ ├── IconGrid.js │ │ ├── IconGridCellItem.js │ │ ├── List.js │ │ ├── ListItem.js │ │ ├── NavigationBaseItem.js │ │ ├── TabBarItem.js │ │ ├── TileGrid.js │ │ ├── TileItem.js │ │ ├── index.js │ │ └── ui │ │ │ ├── HeaderBackButton.js │ │ │ ├── HeaderBackground.js │ │ │ ├── HeaderCloseButton.js │ │ │ ├── HeaderIconButon.js │ │ │ ├── HeaderTextButton.js │ │ │ ├── HeaderTitle.js │ │ │ └── index.js │ ├── const.js │ ├── hoc │ │ ├── index.js │ │ ├── withBackHandling.js │ │ ├── withChildrenRequired.js │ │ ├── withFocusTrigger.js │ │ └── withSubNavigationScreen.js │ ├── index.js │ ├── navigation.js │ ├── navigators │ │ ├── CustomStackNavigators.js │ │ ├── DrawerNavigator.js │ │ ├── ModalNavigator.js │ │ ├── NavigationTree.js │ │ ├── NoneStackNavigator.js │ │ ├── StackNavigator.js │ │ ├── TabBarNavigator.js │ │ └── index.js │ ├── package.json │ ├── providers │ │ ├── NavigationStylesProvider.js │ │ ├── RouteConfigProvider.js │ │ └── index.js │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── screens │ │ ├── CardList.js │ │ ├── IconGrid.js │ │ ├── List.js │ │ ├── NoContent.js │ │ ├── NoScreens.js │ │ ├── None.js │ │ ├── TileGrid.js │ │ └── index.js │ ├── services │ │ ├── Scaler.js │ │ ├── backHandlerAndroid.js │ │ ├── commonActions.js │ │ ├── createChildNavigators.js │ │ ├── createNavigationStyles.js │ │ ├── helpers.js │ │ ├── index.js │ │ ├── modalStack.js │ │ ├── navigationParams.js │ │ ├── navigationStacks.js │ │ ├── resolveScrollViewProps.js │ │ ├── screenDecorators.js │ │ └── tabBarRenderer.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ ├── add-main-navigation-image.png │ ├── empty.png │ ├── iphone-with-notch.svg │ ├── iphone-without-notch.svg │ ├── mainnavigation.png │ ├── noicon.png │ └── screens │ │ ├── card-list.png │ │ ├── drawer.png │ │ ├── icon.png │ │ ├── list.png │ │ ├── none.png │ │ ├── tabbar.png │ │ └── tile-grid.png │ ├── bin │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── builder-sdk │ │ ├── actions.js │ │ ├── index.js │ │ ├── settings.js │ │ └── types.js │ ├── components │ │ ├── shortcut-background-row │ │ │ ├── ShortcutBackgroundRow.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── shortcut-icon-row │ │ │ ├── ShortcutIconRow.jsx │ │ │ └── index.js │ │ └── shortcuts-table │ │ │ ├── ShortcutsTable.jsx │ │ │ └── index.js │ ├── denormalizer.js │ ├── fileUpload │ │ ├── UndeletableS3Uploader.js │ │ └── index.js │ ├── iconsPage │ │ ├── IconsPage.jsx │ │ ├── actions.js │ │ ├── assets │ │ │ └── empty.png │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ ├── index.js │ ├── layoutSettings │ │ ├── None.jsx │ │ ├── cardList │ │ │ ├── CardList.jsx │ │ │ ├── GeneralSettings.jsx │ │ │ ├── IconsBackgroundSettings.jsx │ │ │ ├── generalSettingsLocalization.js │ │ │ ├── iconBackgroundSettingsLocalization.js │ │ │ └── index.js │ │ ├── common │ │ │ ├── CheckboxWrapper.jsx │ │ │ ├── DropdownWrapper.jsx │ │ │ ├── IconsAndText.jsx │ │ │ ├── StartingScreen.jsx │ │ │ ├── background-settings │ │ │ │ ├── BackgroundSettings.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── form.js │ │ │ └── localization.js │ │ ├── drawer │ │ │ ├── Drawer.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── iconGrid │ │ │ ├── GeneralSettings.jsx │ │ │ ├── IconGrid.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── list │ │ │ ├── GeneralSettings.jsx │ │ │ ├── List.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── localization.js │ │ ├── provideScreenSettings.jsx │ │ ├── tabbar │ │ │ ├── Tabbar.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ └── tileGrid │ │ │ ├── GeneralSettings.jsx │ │ │ ├── IconsBackgroundSettings.jsx │ │ │ ├── TileGrid.jsx │ │ │ ├── generalSettingsLocalization.js │ │ │ ├── iconBackgroundSettingsLocalization.js │ │ │ └── index.js │ ├── navigationBarPage │ │ ├── NavigationBarPage.jsx │ │ ├── components │ │ │ ├── NavigationBarBackgroundImageAlert.jsx │ │ │ ├── NavigationBarBackgroundImageUploader.jsx │ │ │ ├── NavigationBarBackgroundImages.jsx │ │ │ ├── NavigationBarBackgroundSize.jsx │ │ │ ├── NavigationBarFirstScreenImageToggle.jsx │ │ │ ├── NavigationBarTitleToggle.jsx │ │ │ ├── NavigationBarUppercaseTitleToggle.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ ├── index.js │ │ └── style.scss │ ├── providers │ │ ├── analytics │ │ │ ├── events.js │ │ │ └── index.js │ │ └── localization │ │ │ ├── LocalizationProvider.js │ │ │ └── index.js │ └── reducer.js │ ├── themes │ └── theme.json │ └── translations │ └── en.json ├── shoutem.news ├── app │ ├── components │ │ ├── ArticleView.js │ │ ├── FeaturedArticleView.js │ │ ├── GridArticleView.js │ │ ├── LargeListArticleView.js │ │ ├── ListArticleView.js │ │ ├── ListItemViewFactory.js │ │ ├── MediumListArticleView.js │ │ ├── NextArticle.js │ │ └── TileListArticleView.js │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── package.json │ ├── reducer.js │ ├── screens │ │ ├── ArticleDetailsScreen.js │ │ ├── ArticlesScreen.js │ │ ├── Grid122ArticlesScreen.js │ │ ├── GridArticlesScreen.js │ │ ├── LargeArticleDetailsScreen.js │ │ └── MediumDetailsNoDateScreen.js │ ├── services │ │ ├── images.js │ │ └── index.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── assets │ ├── add-news-image.png │ └── screens │ │ ├── 1-2-2-grid-with-featured.png │ │ ├── 1-2-2-grid.png │ │ ├── featuredlist.png │ │ ├── fixed-grid.png │ │ ├── flexible-grid-with-featured.png │ │ ├── flexible-grid.png │ │ ├── grid.png │ │ ├── large-list.png │ │ ├── large-photo-clear-navbar-details.png │ │ ├── large-photo-solid-navbar-details.png │ │ ├── list.png │ │ ├── medium-list-with-featured.png │ │ ├── medium-list.png │ │ ├── medium-photo-clear-navbar-details.png │ │ ├── medium-photo-solid-navbar-details-no-date.png │ │ ├── medium-photo-solid-navbar-details.png │ │ └── tile-list.png │ ├── data-schemas │ └── articles.json │ ├── package.json │ └── translations │ └── en.json ├── shoutem.notification-center ├── app │ ├── .gitignore │ ├── EndpointProvider.js │ ├── app.js │ ├── app.web.js │ ├── assets │ │ ├── animations │ │ │ └── buttonLoading.json │ │ ├── images │ │ │ ├── ChevronDown.svg │ │ │ ├── EmptyStatePush.svg │ │ │ ├── ScheduledNotification.svg │ │ │ └── SentNotification.svg │ │ └── index.js │ ├── build │ │ ├── downloadChimeSound.js │ │ └── index.js │ ├── components │ │ ├── AudienceDropdown.js │ │ ├── CreatePushNotificationButton.js │ │ ├── DatetimePicker │ │ │ ├── DatePickerIOS.js │ │ │ ├── DateTimePickerWeb.js │ │ │ ├── DatetimePicker.js │ │ │ ├── DatetimePickerAndroid.js │ │ │ └── index.js │ │ ├── FormInput.js │ │ ├── KeyboardAwareScreen.js │ │ ├── NotificationView.js │ │ ├── PushNotificationCard.js │ │ ├── PushNotificationDatePicker.js │ │ ├── PushNotificationsDisabled.js │ │ ├── ReminderTimePickers.js │ │ ├── ReminderTimePickers.web.js │ │ ├── SegmentedControl.js │ │ ├── SettingDetailsNavigationItem.js │ │ ├── SettingsToggle.js │ │ ├── ShortcutDropdown.js │ │ ├── index.js │ │ └── shared │ │ │ ├── Button.js │ │ │ ├── DropdownPicker.js │ │ │ ├── Modal.js │ │ │ ├── TextInput.js │ │ │ ├── TextInputButton.js │ │ │ └── index.js │ ├── const.js │ ├── index.js │ ├── index.web.js │ ├── notificationHandlers.js │ ├── package.json │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── middlewares.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── screens │ │ ├── CreatePushNotificationScreen.js │ │ ├── EditPushNotificationScreen.js │ │ ├── NotificationDailySettingsScreen.js │ │ ├── NotificationDailySettingsScreen.web.js │ │ ├── NotificationDetailsScreen.js │ │ ├── NotificationSettingsScreen.js │ │ ├── NotificationsScreen.js │ │ ├── PushGroupsScreen.js │ │ ├── PushNotificationsScreen.js │ │ ├── ReminderSettingsScreen.js │ │ └── ViewPushNotificationScreen.js │ ├── services │ │ ├── AsyncStorage.js │ │ ├── calendar.js │ │ ├── index.js │ │ ├── notificationHelpers.js │ │ ├── notificationJourneys.js │ │ ├── notifications.js │ │ ├── notifications.web.js │ │ ├── pushNotificationService.js │ │ └── shortcuts.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── .npmrc │ ├── assets │ └── images │ │ └── add-notifications-settings-image.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── const.js │ ├── extension.js │ ├── hooks │ │ ├── index.js │ │ └── useAudioPlay.js │ ├── index.js │ ├── modules │ │ ├── app │ │ │ ├── const.js │ │ │ ├── index.js │ │ │ ├── redux │ │ │ │ ├── actions.js │ │ │ │ ├── index.js │ │ │ │ ├── reducer.js │ │ │ │ └── selectors.js │ │ │ └── services │ │ │ │ ├── app.js │ │ │ │ └── index.js │ │ ├── groups │ │ │ ├── components │ │ │ │ ├── group-form │ │ │ │ │ ├── GroupForm.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ ├── group-node │ │ │ │ │ ├── GroupNode.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ └── style.scss │ │ │ │ ├── groups-dropdown │ │ │ │ │ ├── GroupsDropdown.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ └── localization.js │ │ │ │ └── index.js │ │ │ ├── const.js │ │ │ ├── fragments │ │ │ │ ├── Groups.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── index.js │ │ │ ├── redux │ │ │ │ ├── actions.js │ │ │ │ ├── index.js │ │ │ │ ├── reducer.js │ │ │ │ └── selectors.js │ │ │ └── services │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── validation.js │ │ ├── notification-journeys │ │ │ ├── components │ │ │ │ ├── index.js │ │ │ │ └── notification-input │ │ │ │ │ ├── NotificationInput.jsx │ │ │ │ │ ├── const.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ ├── const.js │ │ │ ├── fragments │ │ │ │ ├── index.js │ │ │ │ ├── journey-form │ │ │ │ │ ├── JourneyForm.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ └── journeys-table │ │ │ │ │ ├── JourneysTable.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ ├── index.js │ │ │ ├── redux │ │ │ │ ├── actions.js │ │ │ │ ├── index.js │ │ │ │ ├── reducer.js │ │ │ │ └── selectors.js │ │ │ └── services │ │ │ │ ├── index.js │ │ │ │ └── notification.js │ │ ├── notifications │ │ │ ├── components │ │ │ │ ├── index.js │ │ │ │ ├── notification-form │ │ │ │ │ ├── NotificationForm.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ ├── notification-info-form │ │ │ │ │ ├── NotificationInfoForm.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ ├── notifications-table │ │ │ │ │ ├── NotificationsTable.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ │ ├── shortcuts-dropdown │ │ │ │ │ ├── ShortcutsDropdown.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ └── localization.js │ │ │ │ └── summary-fields │ │ │ │ │ ├── SummaryFields.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── localization.js │ │ │ │ │ └── style.scss │ │ │ ├── const.js │ │ │ ├── fragments │ │ │ │ ├── Notifications.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── index.js │ │ │ ├── redux │ │ │ │ ├── actions.js │ │ │ │ ├── index.js │ │ │ │ ├── reducer.js │ │ │ │ └── selectors.js │ │ │ └── services │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ ├── notification.js │ │ │ │ └── validation.js │ │ └── settings │ │ │ ├── components │ │ │ ├── chime-file-preview │ │ │ │ ├── ChimeFilePreview.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ ├── chime-upload-input │ │ │ │ ├── ChimeUploadInput.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── index.js │ │ │ └── notification-settings │ │ │ │ ├── NotificationSettings.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── fragments │ │ │ ├── chime-uploader │ │ │ │ ├── ChimeUploader.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ └── index.js │ │ │ └── index.js │ ├── pages │ │ ├── general-page │ │ │ ├── GeneralPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── groups-page │ │ │ ├── GroupsPage.jsx │ │ │ └── index.js │ │ ├── index.js │ │ ├── journeys-page │ │ │ ├── JourneysPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── notifications-page │ │ │ ├── NotificationsPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ ├── redux.js │ ├── services │ │ ├── form.js │ │ ├── index.js │ │ └── shoutemUrls.js │ └── style.scss │ ├── themes │ └── theme.json │ └── translations │ └── en.json ├── shoutem.onboarding ├── app │ ├── .gitignore │ ├── assets │ │ ├── defaultBackground.png │ │ ├── featuredImage3.png │ │ └── index.js │ ├── build │ │ ├── composeImageList.js │ │ ├── const.js │ │ └── index.js │ ├── components │ │ ├── ImageContent.js │ │ ├── TextContent.js │ │ └── index.js │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── navigation.js │ ├── package.json │ ├── redux │ │ ├── action.js │ │ ├── index.js │ │ ├── middleware.js │ │ ├── reducer.js │ │ └── selector.js │ ├── screens │ │ ├── OnboardingScreen.js │ │ └── index.js │ ├── services │ │ ├── index.js │ │ └── styleOptions.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── onboarding-icon.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── assets │ │ └── empty-state.svg │ ├── const.js │ ├── extension.js │ ├── index.js │ └── pages │ │ └── onboarding-settings-page │ │ ├── OnboardingSettingsPage.jsx │ │ ├── components │ │ ├── empty-state-settings-page │ │ │ ├── EmptyPageSettings.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── page │ │ │ ├── Page.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ ├── themes │ └── theme.json │ └── translations │ └── en.json ├── shoutem.page ├── app │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── package.json │ ├── redux │ │ ├── index.js │ │ ├── middleware.js │ │ └── reducer.js │ └── screens │ │ └── PageScreen.js ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ ├── add-page-image.png │ └── screens │ │ ├── large-details.png │ │ ├── large-solid.png │ │ ├── large-transparent.png │ │ ├── medium-details.png │ │ ├── medium-solid.png │ │ └── medium-transparent.png │ ├── bin │ └── webpack.config.js │ ├── data-schemas │ └── Page.json │ ├── package.json │ ├── src │ ├── index.js │ ├── pages │ │ ├── PageSettings.jsx │ │ ├── index.js │ │ └── localization.js │ ├── providers │ │ └── localization │ │ │ ├── LocalizationProvider.js │ │ │ └── index.js │ └── redux │ │ ├── actions.js │ │ ├── index.js │ │ └── reducer.js │ └── translations │ └── en.json ├── shoutem.people ├── app │ ├── build │ │ ├── const.js │ │ ├── index.js │ │ └── injectAndroidManifestQueries.js │ ├── components │ │ └── ListPeopleView.js │ ├── const.js │ ├── index.js │ ├── package.json │ ├── reducers │ │ └── index.js │ └── screens │ │ ├── PeopleDetailsScreen.js │ │ └── PeopleListScreen.js ├── extension.json └── server │ ├── assets │ ├── images │ │ └── add-people-image.png │ └── screens │ │ ├── compact-list.png │ │ └── large-square-photo-clear-navbar-details.png │ ├── data-schemas │ └── People.json │ ├── package.json │ └── translations │ └── en.json ├── shoutem.permissions ├── app │ ├── app.js │ ├── app.web.js │ ├── build │ │ ├── const.js │ │ └── index.js │ ├── const.js │ ├── const.web.js │ ├── index.js │ ├── ios │ │ └── Info.plist │ ├── package.json │ ├── patch │ │ └── react-native-permissions+4.1.5.patch │ ├── redux │ │ ├── actions.js │ │ ├── actions.web.js │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── services │ │ ├── index.js │ │ ├── permissionActions.js │ │ └── permissionActions.web.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── permissions-icon.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── const.js │ ├── extension.js │ ├── index.js │ └── pages │ │ └── settings-page │ │ ├── SettingsPage.jsx │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ └── translations │ └── en.json ├── shoutem.persist ├── app │ ├── enhancers.js │ ├── index.js │ ├── middleware.js │ └── package.json ├── extension.json ├── readme.md └── server │ ├── assets │ └── add-persist-image.png │ └── package.json ├── shoutem.photos ├── app │ ├── components │ │ ├── BasePhotoView.js │ │ ├── CompactGridPhotoView.js │ │ ├── CompactListPhotoView.js │ │ ├── FixedGridPhotoView.js │ │ ├── LargeListPhotoView.js │ │ ├── ListItemViewFactory.js │ │ ├── MediumListPhotoView.js │ │ └── TileListPhotoView.js │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── navigation.js │ ├── package.json │ ├── reducers │ │ └── index.js │ ├── screens │ │ ├── CompactGridPhotosScreen.js │ │ ├── FixedGridPhotosScreen.js │ │ ├── PhotoDetailsScreen.js │ │ ├── PhotosBaseScreen.js │ │ └── PhotosScreen.js │ └── themes │ │ └── style.js ├── extension.json └── server │ ├── assets │ ├── add-photos-image.png │ └── screens │ │ ├── layout-photos-compact-grid.png │ │ ├── layout-photos-compact-list.png │ │ ├── layout-photos-fixed-grid.png │ │ ├── layout-photos-large-list.png │ │ ├── layout-photos-medium-list.png │ │ └── layout-photos-tile-list.png │ ├── package.json │ ├── schemas │ └── photos.json │ └── translations │ └── en.json ├── shoutem.places ├── app │ ├── assets │ │ └── images │ │ │ └── transparent.png │ ├── components │ │ ├── MapList.js │ │ ├── PlaceDeals │ │ │ ├── DealListItem.js │ │ │ ├── PlaceDealsList.js │ │ │ ├── PlaceDealsSection.js │ │ │ └── index.js │ │ ├── PlaceFullGridRowView.js │ │ ├── PlaceHalfGridRowView.js │ │ ├── PlaceIconView.js │ │ ├── PlaceImage.js │ │ ├── PlaceImageGallery.js │ │ ├── PlacePhotoView.js │ │ └── index.js │ ├── const.js │ ├── index.js │ ├── navigation.js │ ├── package.json │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducers.js │ │ └── selectors.js │ ├── screens │ │ ├── FavoritesList.js │ │ ├── FavoritesListWithIcons.js │ │ ├── MediumPlaceDetails.js │ │ ├── PlaceDetails.js │ │ ├── PlacesGridScreen.js │ │ ├── PlacesList.js │ │ ├── PlacesListWithIcons.js │ │ └── SinglePlaceMap.js │ ├── services │ │ ├── deals.js │ │ ├── index.js │ │ └── places.js │ ├── shared │ │ └── withOpenPlaceDetails.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── assets │ └── images │ │ ├── add-places-image.png │ │ ├── details_large.png │ │ ├── details_large_solid.png │ │ ├── details_medium.png │ │ ├── details_medium_solid.png │ │ ├── layout_grid.png │ │ ├── layout_icon.png │ │ └── layout_photo.png │ ├── data-schemas │ └── Places.json │ ├── package.json │ ├── themes │ └── theme.json │ └── translations │ └── en.json ├── shoutem.podcast ├── app │ ├── app.js │ ├── components │ │ ├── EpisodeProgress.js │ │ ├── EpisodeView.js │ │ ├── FavoriteButton.js │ │ ├── FeaturedEpisodeView.js │ │ ├── GridEpisodeView.js │ │ ├── LargeGridEpisodeView.js │ │ ├── ListEpisodeView.js │ │ ├── PlayPodcastButton.js │ │ └── index.js │ ├── const.js │ ├── extension.js │ ├── fragments │ │ ├── FavoritePodcastPlaylistPlayer.js │ │ ├── PodcastEpisodePlayer.js │ │ ├── PodcastPlaylistPlayer.js │ │ └── index.js │ ├── hooks │ │ ├── index.js │ │ ├── useLoadQueue.js │ │ ├── usePodcastEpisodePlayer.js │ │ └── usePodcastPlaylistPlayer.js │ ├── index.js │ ├── navigation.js │ ├── notificationHandlers.js │ ├── package.json │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── screens │ │ ├── EpisodeDetailsScreen.js │ │ ├── EpisodesFeaturedImageListScreen.js │ │ ├── EpisodesGridScreen.js │ │ ├── EpisodesLargeGridScreen.js │ │ ├── EpisodesListScreen.js │ │ ├── FavoriteEpisodeDetailsScreen.js │ │ └── MyPodcastsScreen.js │ ├── services │ │ ├── PlaybackService.js │ │ ├── episodeDownloadManager.js │ │ ├── index.js │ │ ├── mapEpisodeToTrack.js │ │ └── resolveDownloadInProgress.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ ├── extension-icon.png │ └── screens │ │ ├── featuredgrid.png │ │ ├── featuredlargegrid.png │ │ ├── featuredlist.png │ │ ├── grid.png │ │ ├── large-details-no-share.png │ │ ├── large-details.png │ │ ├── large-grid.png │ │ └── list.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── const.js │ ├── extension.js │ ├── index.js │ └── pages │ │ ├── download-page │ │ ├── DownloadPage.jsx │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ │ └── index.js │ ├── themes │ └── theme.json │ └── translations │ └── en.json ├── shoutem.preview ├── app │ ├── app.js │ ├── app.web.js │ ├── assets │ │ ├── PreviewOverlay.svg │ │ ├── PreviewTip.svg │ │ └── index.js │ ├── components │ │ ├── Menu.js │ │ ├── MenuButton.js │ │ ├── Tip.js │ │ ├── Watermark.js │ │ └── index.js │ ├── const.js │ ├── index.js │ ├── index.web.js │ ├── package.json │ ├── permissions.js │ ├── providers │ │ ├── PreviewProvider.js │ │ ├── PreviewProvider.web.js │ │ └── index.js │ ├── redux │ │ ├── index.js │ │ ├── index.web.js │ │ ├── middleware.js │ │ └── middleware.web.js │ └── services │ │ ├── index.js │ │ ├── permissions.js │ │ └── persist.js ├── extension.json └── server │ ├── assets │ └── add-preview-image.png │ └── package.json ├── shoutem.products ├── app │ ├── components │ │ ├── BuyButton.js │ │ ├── DisclosureBuyButton.js │ │ ├── ListProductView.js │ │ └── index.js │ ├── const.js │ ├── index.js │ ├── package.json │ ├── redux │ │ ├── index.js │ │ └── reducer.js │ └── screens │ │ ├── ProductDetails.js │ │ └── ProductsList.js ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ ├── add-products-image.png │ └── screens │ │ ├── compact-list.png │ │ └── large-photo-details.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── data-schemas │ └── Products.json │ ├── package.json │ ├── src │ ├── const.js │ ├── extension.js │ ├── index.js │ └── pages │ │ └── buy-link-header-page │ │ ├── BuyLinkHeaderPage.jsx │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ └── translations │ └── en.json ├── shoutem.push-notifications ├── app │ ├── app.js │ ├── const.js │ ├── index.js │ ├── index.web.js │ ├── notificationHandlers.js │ ├── package.json │ ├── permissions.js │ ├── redux │ │ ├── actionCreators.js │ │ ├── actionTypes.js │ │ └── index.js │ ├── scripts │ │ └── add-ios-permission-files.js │ ├── services │ │ ├── index.js │ │ └── notifications.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── assets │ └── add-push-notifications-image.png │ └── package.json ├── shoutem.radio-player ├── app │ ├── build │ │ └── runtime-path-fix.js │ ├── components │ │ ├── ArticleCard.js │ │ ├── ArticleList.js │ │ ├── PlaybackAnimation.js │ │ ├── StreamMetadata.js │ │ └── index.js │ ├── const.js │ ├── fragments │ │ ├── RadioPlayer.js │ │ ├── RssNewsFeed.js │ │ └── index.js │ ├── hooks │ │ ├── index.js │ │ ├── usePlaybackAnimation.js │ │ ├── useRadioFeatures.js │ │ └── useRadioNavigationHeader.js │ ├── index.js │ ├── navigation.js │ ├── package.json │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducers.js │ │ └── selectors.js │ ├── screens │ │ ├── ArtworkRadioScreen.js │ │ ├── Radio.js │ │ └── RadioRssScreen.js │ ├── services │ │ ├── PlaybackService.js │ │ ├── index.js │ │ ├── metadata.js │ │ ├── radioProviders.js │ │ └── shareStream.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ ├── add-radio-image.png │ └── layouts │ │ ├── dynamic-artwork-background-image-radio.png │ │ └── static-background-image-radio.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── components │ │ ├── SettingField.js │ │ └── style.scss │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── pages │ │ └── radio-shortcut-page │ │ │ ├── RadioShortcutPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ └── services │ │ └── getWeServUrl.js │ ├── themes │ └── theme.json │ └── translations │ └── en.json ├── shoutem.redux ├── app │ ├── const.js │ ├── index.js │ ├── package.json │ ├── providers │ │ ├── StoreProvider.js │ │ └── index.js │ ├── redux │ │ ├── index.js │ │ └── middleware.js │ └── services │ │ ├── index.js │ │ ├── state.js │ │ └── store.js ├── extension.json └── server │ ├── assets │ └── add-redux-image.png │ └── package.json ├── shoutem.rss-monitoring ├── app │ ├── index.js │ └── package.json ├── cloud │ ├── .babelrc │ ├── .dockerignore │ ├── .editorconfig │ ├── .env-example │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gitignore │ ├── .npmrc │ ├── .prettierrc │ ├── .sequelizerc │ ├── README.md │ ├── app │ │ ├── scheduler │ │ │ ├── config.js │ │ │ ├── index.js │ │ │ ├── process-monitoring-job │ │ │ │ ├── index.js │ │ │ │ └── process-monitoring-job.js │ │ │ └── scheduler.js │ │ └── server │ │ │ ├── app.js │ │ │ ├── index.js │ │ │ └── www.js │ ├── cli │ │ ├── cli.js │ │ ├── commands │ │ │ ├── clear-cache.js │ │ │ ├── database.js │ │ │ ├── database │ │ │ │ └── sync.js │ │ │ ├── generate.js │ │ │ └── generate │ │ │ │ └── services │ │ │ │ ├── code-generator.js │ │ │ │ ├── input-associations-handler.js │ │ │ │ └── input-properties-handler.js │ │ └── index.js │ ├── config │ │ ├── .env-e2e-example │ │ ├── .env-handsoff-example │ │ ├── .env-local-example │ │ └── load-config.js │ ├── core │ │ ├── auth │ │ │ ├── const.ts │ │ │ ├── index.ts │ │ │ ├── middleware │ │ │ │ ├── assert-authenticated.ts │ │ │ │ └── authenticate.ts │ │ │ └── service │ │ │ │ ├── auth.ts │ │ │ │ ├── index.ts │ │ │ │ └── token.ts │ │ ├── cache │ │ │ ├── _tests_ │ │ │ │ └── cache-decorators.spec.js │ │ │ ├── cache-decorators.js │ │ │ ├── cache-provider.ts │ │ │ ├── index.js │ │ │ └── memory-cache-provider.ts │ │ ├── env │ │ │ └── index.ts │ │ ├── helpers │ │ │ └── retryWrap.ts │ │ ├── lodash-extensions │ │ │ └── index.ts │ │ └── middleware │ │ │ └── restrict-include.ts │ ├── docker-compose-e2e.yml │ ├── docker-compose.yml │ ├── docker │ │ ├── app │ │ │ └── app.Dockerfile │ │ ├── db │ │ │ ├── db.Dockerfile │ │ │ └── init.sql │ │ └── test │ │ │ └── test.Dockerfile │ ├── package.json │ ├── schema.js │ ├── src │ │ ├── feed │ │ │ ├── const.ts │ │ │ ├── controllers │ │ │ │ └── feed-controller.ts │ │ │ ├── data │ │ │ │ ├── feed-model.ts │ │ │ │ └── feed-repository.ts │ │ │ ├── index.ts │ │ │ ├── io │ │ │ │ ├── feed-io.ts │ │ │ │ ├── feed-send-last-item-action-io.ts │ │ │ │ ├── index.ts │ │ │ │ └── types.ts │ │ │ ├── router │ │ │ │ ├── feed-router.ts │ │ │ │ └── index.ts │ │ │ └── service │ │ │ │ ├── feed.ts │ │ │ │ └── index.ts │ │ ├── monitor │ │ │ ├── const.ts │ │ │ ├── controllers │ │ │ │ └── monitor-controller.ts │ │ │ ├── data │ │ │ │ ├── monitor-model.ts │ │ │ │ └── monitor-repository.ts │ │ │ ├── index.ts │ │ │ ├── io │ │ │ │ ├── index.ts │ │ │ │ ├── monitor-io.ts │ │ │ │ └── types.ts │ │ │ ├── middleware │ │ │ │ ├── index.ts │ │ │ │ └── load-monitor-param.ts │ │ │ ├── providers │ │ │ │ ├── app-manager.ts │ │ │ │ ├── legacy-push-api.ts │ │ │ │ └── proxy-manager.ts │ │ │ ├── router │ │ │ │ ├── index.ts │ │ │ │ └── monitor-router.ts │ │ │ └── service │ │ │ │ ├── get-monitored-shortcuts.ts │ │ │ │ ├── handle-rss-feed-update.ts │ │ │ │ ├── index.ts │ │ │ │ ├── monitor-clean-up.ts │ │ │ │ ├── monitor.ts │ │ │ │ └── monitoring-job.ts │ │ ├── router.js │ │ ├── sequelize │ │ │ ├── cli-config.js │ │ │ ├── config.js │ │ │ ├── helpers │ │ │ │ └── insert-or-update.js │ │ │ ├── migrations │ │ │ │ ├── .gitkeep │ │ │ │ ├── 20200525211856-create-monitor.js │ │ │ │ ├── 20200602150529-create-feed.js │ │ │ │ ├── 20240206134601-create-monitor-app-id-index.js │ │ │ │ ├── 20240206134956-create-feed-monitor-id-index.js │ │ │ │ └── 20240206134957-add-feed-monitor-id-constraint.js │ │ │ ├── models │ │ │ │ └── index.js │ │ │ └── seeders │ │ │ │ └── .gitkeep │ │ └── shared │ │ │ ├── config │ │ │ └── index.ts │ │ │ ├── db │ │ │ ├── _tests_ │ │ │ │ └── encoder.spec.js │ │ │ ├── config │ │ │ │ ├── db.js │ │ │ │ └── rds-combined-ca-bundle.pem │ │ │ ├── custom-data-types.js │ │ │ ├── database.js │ │ │ ├── encoder.js │ │ │ ├── error │ │ │ │ └── adapters │ │ │ │ │ ├── index.js │ │ │ │ │ ├── sequelize-foreign-key-constraint-error-adapter.js │ │ │ │ │ ├── sequelize-unique-constraint-error-adapter.js │ │ │ │ │ └── sequelize-validation-error-adapter.js │ │ │ ├── index.js │ │ │ ├── lean-decorator.js │ │ │ ├── loaders.js │ │ │ └── services │ │ │ │ ├── index.js │ │ │ │ ├── io-to-sequelize-filter.js │ │ │ │ └── io-to-sequelize-sort.js │ │ │ ├── error │ │ │ ├── adapters │ │ │ │ ├── _tests_ │ │ │ │ │ ├── default-error-adapter.spec.js │ │ │ │ │ └── http-error-adapter.spec.js │ │ │ │ ├── default-error-adapter.ts │ │ │ │ └── http-error-adapter.ts │ │ │ ├── config.js │ │ │ ├── error-code-generator.js │ │ │ ├── error-wrapper.js │ │ │ ├── errors │ │ │ │ ├── _tests_ │ │ │ │ │ ├── forbidden-error.spec.js │ │ │ │ │ ├── http-error.spec.js │ │ │ │ │ ├── node-error.spec.js │ │ │ │ │ ├── not-authorized-error.spec.js │ │ │ │ │ ├── not-found-error.spec.js │ │ │ │ │ └── validation-error.spec.js │ │ │ │ ├── conflict-error.js │ │ │ │ ├── error-meta.ts │ │ │ │ ├── forbidden-error.js │ │ │ │ ├── http-error.js │ │ │ │ ├── index.js │ │ │ │ ├── node-error.js │ │ │ │ ├── not-authorized-error.js │ │ │ │ ├── not-found-error.js │ │ │ │ └── validation-error.ts │ │ │ ├── index.js │ │ │ └── middleware │ │ │ │ ├── _tests_ │ │ │ │ ├── default-not-found.spec.js │ │ │ │ └── error-handler.spec.js │ │ │ │ ├── default-not-found.js │ │ │ │ └── error-handler.js │ │ │ ├── express │ │ │ ├── _tests_ │ │ │ │ └── locals.spec.js │ │ │ ├── index.ts │ │ │ ├── locals.ts │ │ │ └── middleware │ │ │ │ ├── async-middleware.ts │ │ │ │ ├── async-param-middleware.ts │ │ │ │ ├── favicon.js │ │ │ │ └── index.ts │ │ │ ├── io │ │ │ ├── id-generator.ts │ │ │ ├── index.ts │ │ │ ├── io-error.ts │ │ │ ├── io.ts │ │ │ ├── json-api │ │ │ │ ├── index.ts │ │ │ │ ├── input.ts │ │ │ │ ├── output.ts │ │ │ │ └── serializer.ts │ │ │ └── status.ts │ │ │ ├── logging │ │ │ ├── config │ │ │ │ └── logging.ts │ │ │ ├── index.ts │ │ │ ├── logger.ts │ │ │ └── middleware │ │ │ │ └── log-request.ts │ │ │ ├── paging │ │ │ ├── buffer-enumerable.js │ │ │ ├── index.js │ │ │ ├── paged-collection.ts │ │ │ └── tests │ │ │ │ └── paged-collections.spec.js │ │ │ ├── redis │ │ │ └── redis-client.ts │ │ │ ├── repository │ │ │ ├── crud-sequelize-repository.ts │ │ │ └── index.ts │ │ │ ├── sentry │ │ │ ├── config.js │ │ │ └── index.ts │ │ │ ├── swagger │ │ │ ├── config │ │ │ │ └── index.js │ │ │ ├── definitions.ts │ │ │ └── index.js │ │ │ └── uuid │ │ │ └── index.js │ ├── template │ │ └── {=moduleName=} │ │ │ ├── const.ts │ │ │ ├── controllers │ │ │ └── {=moduleName=}-controller.ts │ │ │ ├── data │ │ │ ├── {=moduleName=}-model.ts │ │ │ └── {=moduleName=}-repository.ts │ │ │ ├── index.ts │ │ │ ├── io │ │ │ ├── index.ts │ │ │ ├── types.ts │ │ │ └── {=moduleName=}-io.ts │ │ │ ├── middleware │ │ │ ├── index.ts │ │ │ └── load-{=moduleName=}-param.ts │ │ │ ├── router │ │ │ ├── index.ts │ │ │ └── {=moduleName=}-router.ts │ │ │ └── service │ │ │ ├── index.ts │ │ │ └── {=moduleName=}.ts │ ├── test │ │ ├── common │ │ │ └── index.ts │ │ └── config │ │ │ └── index.ts │ └── tsconfig.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── images │ │ └── add-notifications-settings-image.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── const.js │ ├── index.js │ ├── modules │ │ ├── app │ │ │ ├── const.js │ │ │ ├── index.js │ │ │ ├── redux │ │ │ │ ├── actions.js │ │ │ │ ├── index.js │ │ │ │ ├── reducer.js │ │ │ │ └── selectors.js │ │ │ └── services │ │ │ │ ├── app.js │ │ │ │ └── index.js │ │ └── rss │ │ │ ├── components │ │ │ ├── index.js │ │ │ ├── monitored-screen-row │ │ │ │ ├── MonitoredScreenRow.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ └── monitored-screens-table │ │ │ │ ├── MonitoredScreensTable.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── const.js │ │ │ ├── fragments │ │ │ ├── Rss.jsx │ │ │ ├── index.js │ │ │ └── localization.js │ │ │ ├── index.js │ │ │ └── redux │ │ │ ├── actions.js │ │ │ ├── index.js │ │ │ ├── reducer.js │ │ │ └── selectors.js │ ├── pages │ │ ├── index.js │ │ └── rss-page │ │ │ ├── RssPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ ├── redux.js │ └── services │ │ ├── form.js │ │ ├── index.js │ │ └── shoutemUrls.js │ └── translations │ └── en.json ├── shoutem.rss-news ├── app │ ├── app.js │ ├── components │ │ ├── ArticleView.js │ │ ├── FeaturedArticleView.js │ │ ├── GridArticleView.js │ │ ├── ListArticleView.js │ │ ├── NextArticle.js │ │ └── VideoGallery.js │ ├── const.js │ ├── index.js │ ├── navigation.js │ ├── notificationHandlers.js │ ├── package.json │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── screens │ │ ├── ArticleDetailsScreen.js │ │ ├── ArticleMediumDetailsScreen.js │ │ ├── ArticlesGridScreen.js │ │ └── ArticlesListScreen.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── assets │ ├── extension-icon.png │ └── screens │ │ ├── featuredgrid.png │ │ ├── featuredlist.png │ │ ├── grid.png │ │ ├── large-details.png │ │ ├── list.png │ │ └── medium-details.png │ └── package.json ├── shoutem.rss-photos ├── app │ ├── app.js │ ├── components │ │ ├── GridPhotoView.js │ │ └── ListPhotoView.js │ ├── const.js │ ├── index.js │ ├── navigation.js │ ├── notificationHandlers.js │ ├── package.json │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── screens │ │ ├── PhotoDetails.js │ │ ├── PhotosBaseScreen.js │ │ ├── PhotosGrid.js │ │ └── PhotosList.js │ ├── services │ │ ├── helpers.js │ │ └── index.js │ └── themes │ │ └── style.js ├── extension.json └── server │ ├── assets │ ├── add-photos-image.png │ └── screens │ │ ├── layout-grid.png │ │ └── layout-large-list.png │ └── package.json ├── shoutem.rss-videos ├── app │ ├── app.js │ ├── components │ │ ├── LargeVideoView.js │ │ └── SmallVideoView.js │ ├── const.js │ ├── index.js │ ├── navigation.js │ ├── notificationHandlers.js │ ├── package.json │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ └── screens │ │ ├── SmallVideosList.js │ │ ├── VideoDetails.js │ │ └── VideosList.js ├── extension.json └── server │ ├── assets │ ├── add-videos-image.png │ └── screens │ │ ├── big-list.png │ │ └── small-list.png │ └── package.json ├── shoutem.rss ├── app │ ├── const.js │ ├── index.js │ ├── package.json │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── screens │ │ └── RssListScreen.js │ ├── shared │ │ ├── buildFeedUrl.js │ │ ├── createRenderAttachment.js │ │ ├── handleForegroundNotification.js │ │ └── resourceSelectors.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── add-rss-image.png │ ├── bin │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── denormalizer.js │ ├── index.js │ ├── pages │ │ └── rssPage │ │ │ ├── assets │ │ │ └── ic-descriptive-rss.svg │ │ │ ├── components │ │ │ ├── FeedPreview.jsx │ │ │ ├── FeedSelector.jsx │ │ │ ├── FeedUrlInput.jsx │ │ │ ├── Rss.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ │ ├── reducer.js │ │ │ └── selectors.js │ ├── providers │ │ └── localization │ │ │ ├── LocalizationProvider.js │ │ │ └── index.js │ └── reducer.js │ └── translations │ └── en.json ├── shoutem.rubicon-theme ├── app │ ├── build │ │ ├── composeTheme.js │ │ └── index.js │ ├── const.js │ ├── index.js │ ├── package.json │ └── themes │ │ ├── Rubicon.js │ │ ├── extensionThemes.js │ │ └── style.js ├── extension.json └── server │ ├── assets │ ├── add-rubicon-theme-image.png │ ├── icons │ │ ├── about.png │ │ ├── activity.png │ │ ├── add-event.png │ │ ├── add-friend.png │ │ ├── add-to-cart.png │ │ ├── add-to-favorites-full.png │ │ ├── add-to-favorites.png │ │ ├── address-full.png │ │ ├── address.png │ │ ├── affiliate.png │ │ ├── back.png │ │ ├── bell.png │ │ ├── books.png │ │ ├── call.png │ │ ├── cart.png │ │ ├── checklist.png │ │ ├── close.png │ │ ├── comment-full.png │ │ ├── comment.png │ │ ├── deals.png │ │ ├── delivery.png │ │ ├── down-arrow.png │ │ ├── drop-down.png │ │ ├── edit.png │ │ ├── email.png │ │ ├── error.png │ │ ├── events.png │ │ ├── exit-to-app.png │ │ ├── facebook.png │ │ ├── feed-wall.png │ │ ├── folder.png │ │ ├── friends.png │ │ ├── gift.png │ │ ├── home.png │ │ ├── languages.png │ │ ├── left-arrow.png │ │ ├── like.png │ │ ├── linkedin.png │ │ ├── loyalty-card.png │ │ ├── members.png │ │ ├── missing-icon.png │ │ ├── more-horiz.png │ │ ├── music-video.png │ │ ├── news.png │ │ ├── orders.png │ │ ├── page.png │ │ ├── pause.png │ │ ├── photo.png │ │ ├── play.png │ │ ├── podcasts.png │ │ ├── profile.png │ │ ├── radio.png │ │ ├── refresh.png │ │ ├── restaurant-menu.png │ │ ├── restaurant.png │ │ ├── restaurant_2.png │ │ ├── right-arrow.png │ │ ├── rss-feed.png │ │ ├── search.png │ │ ├── settings.png │ │ ├── share-android.png │ │ ├── share.png │ │ ├── sidebar.png │ │ ├── store.png │ │ ├── tag-products.png │ │ ├── take-a-photo.png │ │ ├── twitter.png │ │ ├── unfriend.png │ │ ├── up-arrow.png │ │ └── web.png │ └── screenshots │ │ ├── bleu-01.jpg │ │ ├── bleu-02.jpg │ │ ├── bleu-03.jpg │ │ ├── bleu-04.jpg │ │ ├── bleu-05.jpg │ │ ├── noir-01.jpg │ │ ├── noir-02.jpg │ │ ├── noir-03.jpg │ │ ├── noir-04.jpg │ │ ├── noir-05.jpg │ │ ├── prime-01.jpg │ │ ├── prime-02.jpg │ │ ├── prime-03.jpg │ │ ├── prime-04.jpg │ │ ├── prime-05.jpg │ │ ├── rose-01.jpg │ │ ├── rose-02.jpg │ │ ├── rose-03.jpg │ │ ├── rose-04.jpg │ │ └── rose-05.jpg │ ├── bleuThemeVariables.json │ ├── noirThemeVariables.json │ ├── package.json │ ├── primeThemeVariables.json │ └── roseThemeVariables.json ├── shoutem.salesforce ├── app │ ├── app.js │ ├── build │ │ ├── index.js │ │ ├── injectAndroid.js │ │ └── injectIOS.js │ ├── const.js │ ├── index.js │ ├── index.web.js │ ├── package.json │ ├── redux │ │ ├── index.js │ │ └── middleware.js │ └── services │ │ ├── contactsApi.js │ │ └── index.js ├── cloud │ ├── .babelrc │ ├── .dockerignore │ ├── .editorconfig │ ├── .env-example │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gitignore │ ├── .npmrc │ ├── .prettierrc │ ├── .sequelizerc │ ├── app │ │ └── server │ │ │ ├── app.js │ │ │ ├── index.js │ │ │ └── www.js │ ├── cli │ │ ├── cli.js │ │ ├── commands │ │ │ ├── clear-cache.js │ │ │ ├── database.js │ │ │ ├── database │ │ │ │ └── sync.js │ │ │ ├── generate.js │ │ │ └── generate │ │ │ │ └── services │ │ │ │ ├── code-generator.js │ │ │ │ ├── input-associations-handler.js │ │ │ │ └── input-properties-handler.js │ │ └── index.js │ ├── config │ │ ├── .env-e2e-example │ │ ├── .env-handsoff-example │ │ ├── .env-local-example │ │ └── load-config.js │ ├── core │ │ ├── auth │ │ │ ├── const.ts │ │ │ ├── index.ts │ │ │ ├── middleware │ │ │ │ ├── assert-authenticated.ts │ │ │ │ └── authenticate.ts │ │ │ └── service │ │ │ │ ├── auth.ts │ │ │ │ ├── index.ts │ │ │ │ └── token.ts │ │ ├── cache │ │ │ ├── _tests_ │ │ │ │ └── cache-decorators.spec.js │ │ │ ├── cache-decorators.js │ │ │ ├── cache-provider.ts │ │ │ ├── index.js │ │ │ └── memory-cache-provider.ts │ │ ├── env │ │ │ └── index.ts │ │ ├── helpers │ │ │ └── retryWrap.ts │ │ ├── lodash-extensions │ │ │ └── index.ts │ │ └── middleware │ │ │ └── restrict-include.ts │ ├── docker-compose-e2e.yml │ ├── docker-compose.yml │ ├── docker │ │ ├── app │ │ │ └── app.Dockerfile │ │ ├── db │ │ │ ├── db.Dockerfile │ │ │ └── init.sql │ │ └── test │ │ │ └── test.Dockerfile │ ├── package.json │ ├── schema.js │ ├── src │ │ ├── const.js │ │ ├── contacts │ │ │ ├── controllers │ │ │ │ └── contacts-controller.ts │ │ │ ├── index.ts │ │ │ ├── router │ │ │ │ ├── contacts-router.ts │ │ │ │ └── index.ts │ │ │ └── services │ │ │ │ ├── contactsApi.ts │ │ │ │ ├── index.ts │ │ │ │ └── withRefreshToken.ts │ │ ├── main │ │ │ ├── const.ts │ │ │ ├── controllers │ │ │ │ └── health-controller.ts │ │ │ ├── index.ts │ │ │ ├── middleware │ │ │ │ ├── index.ts │ │ │ │ └── load-appid-param.ts │ │ │ ├── router │ │ │ │ ├── health-router.ts │ │ │ │ ├── index.ts │ │ │ │ └── main-router.js │ │ │ └── service │ │ │ │ ├── appId.ts │ │ │ │ └── index.ts │ │ ├── sequelize │ │ │ ├── cli-config.js │ │ │ ├── config.js │ │ │ ├── helpers │ │ │ │ └── insert-or-update.js │ │ │ ├── migrations │ │ │ │ └── 20211005102557-tokens.js │ │ │ ├── models │ │ │ │ └── index.js │ │ │ └── seeders │ │ │ │ └── .gitkeep │ │ ├── shared │ │ │ ├── config │ │ │ │ └── index.ts │ │ │ ├── db │ │ │ │ ├── _tests_ │ │ │ │ │ └── encoder.spec.js │ │ │ │ ├── config │ │ │ │ │ ├── db.js │ │ │ │ │ └── rds-combined-ca-bundle.pem │ │ │ │ ├── custom-data-types.js │ │ │ │ ├── database.js │ │ │ │ ├── encoder.js │ │ │ │ ├── error │ │ │ │ │ └── adapters │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── sequelize-foreign-key-constraint-error-adapter.js │ │ │ │ │ │ ├── sequelize-unique-constraint-error-adapter.js │ │ │ │ │ │ └── sequelize-validation-error-adapter.js │ │ │ │ ├── index.js │ │ │ │ ├── lean-decorator.js │ │ │ │ ├── loaders.js │ │ │ │ └── services │ │ │ │ │ ├── index.js │ │ │ │ │ ├── io-to-sequelize-filter.js │ │ │ │ │ └── io-to-sequelize-sort.js │ │ │ ├── error │ │ │ │ ├── adapters │ │ │ │ │ ├── _tests_ │ │ │ │ │ │ ├── default-error-adapter.spec.js │ │ │ │ │ │ └── http-error-adapter.spec.js │ │ │ │ │ ├── default-error-adapter.ts │ │ │ │ │ └── http-error-adapter.ts │ │ │ │ ├── config.js │ │ │ │ ├── error-code-generator.js │ │ │ │ ├── error-wrapper.js │ │ │ │ ├── errors │ │ │ │ │ ├── _tests_ │ │ │ │ │ │ ├── forbidden-error.spec.js │ │ │ │ │ │ ├── http-error.spec.js │ │ │ │ │ │ ├── node-error.spec.js │ │ │ │ │ │ ├── not-authorized-error.spec.js │ │ │ │ │ │ ├── not-found-error.spec.js │ │ │ │ │ │ └── validation-error.spec.js │ │ │ │ │ ├── conflict-error.js │ │ │ │ │ ├── error-meta.ts │ │ │ │ │ ├── forbidden-error.js │ │ │ │ │ ├── http-error.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── node-error.js │ │ │ │ │ ├── not-authorized-error.js │ │ │ │ │ ├── not-found-error.js │ │ │ │ │ └── validation-error.ts │ │ │ │ ├── index.js │ │ │ │ └── middleware │ │ │ │ │ ├── _tests_ │ │ │ │ │ ├── default-not-found.spec.js │ │ │ │ │ └── error-handler.spec.js │ │ │ │ │ ├── default-not-found.js │ │ │ │ │ └── error-handler.js │ │ │ ├── express │ │ │ │ ├── _tests_ │ │ │ │ │ └── locals.spec.js │ │ │ │ ├── index.ts │ │ │ │ ├── locals.ts │ │ │ │ └── middleware │ │ │ │ │ ├── async-middleware.ts │ │ │ │ │ ├── async-param-middleware.ts │ │ │ │ │ ├── favicon.js │ │ │ │ │ └── index.ts │ │ │ ├── io │ │ │ │ ├── id-generator.ts │ │ │ │ ├── index.ts │ │ │ │ ├── io-error.ts │ │ │ │ ├── io.ts │ │ │ │ ├── json-api │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── input.ts │ │ │ │ │ ├── output.ts │ │ │ │ │ └── serializer.ts │ │ │ │ └── status.ts │ │ │ ├── logging │ │ │ │ ├── config │ │ │ │ │ └── logging.ts │ │ │ │ ├── index.ts │ │ │ │ ├── logger.ts │ │ │ │ └── middleware │ │ │ │ │ └── log-request.ts │ │ │ ├── paging │ │ │ │ ├── buffer-enumerable.js │ │ │ │ ├── index.js │ │ │ │ ├── paged-collection.ts │ │ │ │ └── tests │ │ │ │ │ └── paged-collections.spec.js │ │ │ ├── redis │ │ │ │ └── redis-client.ts │ │ │ ├── repository │ │ │ │ ├── crud-sequelize-repository.ts │ │ │ │ └── index.ts │ │ │ ├── sentry │ │ │ │ ├── config.js │ │ │ │ └── index.ts │ │ │ ├── swagger │ │ │ │ ├── config │ │ │ │ │ └── index.js │ │ │ │ ├── definitions.ts │ │ │ │ └── index.js │ │ │ └── uuid │ │ │ │ └── index.js │ │ └── tokens │ │ │ ├── controllers │ │ │ └── tokens-controller.ts │ │ │ ├── data │ │ │ ├── tokens-model.ts │ │ │ └── tokens-repository.ts │ │ │ ├── index.ts │ │ │ ├── io │ │ │ ├── index.ts │ │ │ ├── tokens-io.ts │ │ │ └── types.ts │ │ │ ├── router │ │ │ ├── index.ts │ │ │ └── tokens-router.ts │ │ │ └── services │ │ │ ├── index.ts │ │ │ ├── salesforceApi.ts │ │ │ └── shoutemApi.ts │ ├── test │ │ ├── common │ │ │ └── index.ts │ │ └── config │ │ │ └── index.ts │ └── tsconfig.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ ├── add-advertising-image.png │ ├── greenThumb.png │ └── redThumb.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── const.js │ ├── extension.js │ ├── index.js │ └── pages │ │ └── salesforce-settings-page │ │ ├── SalesforceSettingsPage.js │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ └── translations │ └── en.json ├── shoutem.sendbird ├── app │ ├── app.js │ ├── assets │ │ ├── add.png │ │ ├── docType.png │ │ ├── errorGraphic.png │ │ ├── index.js │ │ ├── indicator.png │ │ ├── lock.png │ │ └── send.png │ ├── components │ │ ├── ChatEncryptionMessage.js │ │ ├── ChatInputBox.js │ │ ├── ErrorModal.js │ │ ├── ExistingChannelListItem.js │ │ ├── MemberListItem.js │ │ ├── MessageBubble.js │ │ ├── NewChannelListItem.js │ │ ├── NewMessagesLabel.js │ │ ├── ProgressBar.js │ │ ├── SearchBar.js │ │ └── index.js │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── navigation.js │ ├── notificationHandlers.js │ ├── package.json │ ├── patch │ │ └── react-native+0.72.4.patch │ ├── permissions.js │ ├── redux │ │ ├── actions.js │ │ ├── handlers.js │ │ ├── index.js │ │ ├── middleware.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── screens │ │ ├── ChatWindowScreen.js │ │ ├── MessageListScreen.js │ │ ├── PhotoFullScreen.js │ │ └── index.js │ ├── services │ │ ├── index.js │ │ └── sendbird.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ ├── chat.png │ ├── empty-state-loyalty.svg │ ├── toggle-active.svg │ └── toggle-inactive.svg │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── components │ │ ├── ChatDisabledPlaceholder │ │ │ ├── ChatDisabledPlaceholder.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── FairPolicyDescription │ │ │ ├── FairPolicyDescription.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── ModalDialog │ │ │ ├── ModalDialog.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── SubscriptionToggle │ │ │ ├── SubscriptionToggle.jsx │ │ │ ├── ToggleElement.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ └── index.js │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── pages │ │ └── chat-settings-page │ │ │ ├── ChatSettingsPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ ├── services │ │ ├── index.js │ │ ├── sendbird.js │ │ └── shoutemUrls.js │ └── state │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── themes │ └── theme.json │ └── translations │ └── en.json ├── shoutem.shopify ├── app │ ├── MBBridge.android.js │ ├── MBBridge.js │ ├── MBBridge.web.js │ ├── Shopify.podspec │ ├── android │ │ ├── build.gradle │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ └── java │ │ │ └── com │ │ │ └── shoutem │ │ │ └── shopify │ │ │ ├── ShopifyModule.java │ │ │ └── ShopifyPackage.java │ ├── app.js │ ├── assets │ │ ├── images │ │ │ ├── add.png │ │ │ ├── gradient.png │ │ │ ├── image-fallback.png │ │ │ ├── order-date.svg │ │ │ ├── order-status.svg │ │ │ ├── pin-dark.png │ │ │ ├── receipt.svg │ │ │ └── remove.png │ │ └── index.js │ ├── build │ │ ├── const.js │ │ ├── index.js │ │ ├── injectShopify.js │ │ └── modifyIosProject.js │ ├── components │ │ ├── FeaturedItem.js │ │ ├── FormInput.js │ │ ├── GridItem.js │ │ ├── LargeListItem.js │ │ ├── ListItem.js │ │ ├── MediumListItem.js │ │ ├── ProductsGrid.js │ │ ├── ProductsList.js │ │ ├── TileItem.js │ │ ├── cart │ │ │ ├── CartCaption.js │ │ │ ├── CartFooter.js │ │ │ ├── CartIcon.js │ │ │ ├── CartItem.js │ │ │ └── index.js │ │ ├── index.js │ │ ├── order │ │ │ ├── DeliveryAddress.js │ │ │ ├── OrderHeader.js │ │ │ ├── OrderItem.js │ │ │ ├── OrderItems.js │ │ │ ├── OrderListItem.js │ │ │ ├── OrderTotal.js │ │ │ └── index.js │ │ ├── product │ │ │ ├── AddToCartButton.js │ │ │ ├── ProductPrice.js │ │ │ ├── ProductTitle.js │ │ │ └── index.js │ │ ├── quick-add │ │ │ ├── QuantitySelector.js │ │ │ ├── QuickAddItemDetails.js │ │ │ ├── QuickAddModal.js │ │ │ ├── QuickAddOption.js │ │ │ ├── QuickAddOptionItem.js │ │ │ ├── QuickAddTitle.js │ │ │ └── index.js │ │ └── shapes.js │ ├── const.js │ ├── fragments │ │ ├── FixedGridProducts.js │ │ ├── Grid122Products.js │ │ ├── LargeListProducts.js │ │ ├── MediumListProducts.js │ │ ├── ProductsLayout.js │ │ ├── TileListProducts.js │ │ └── index.js │ ├── index.js │ ├── index.web.js │ ├── ios │ │ ├── Bridging-Header.h │ │ ├── MBBridge.m │ │ └── MBBridge.swift │ ├── navigation.js │ ├── package.json │ ├── redux │ │ ├── actionCreators.js │ │ ├── actionTypes.js │ │ ├── index.js │ │ ├── middleware.js │ │ ├── reducers.js │ │ └── selectors.js │ ├── screens │ │ ├── CartScreen.js │ │ ├── CustomerAddressScreen.js │ │ ├── EditAddressScreen.js │ │ ├── OrderDetailsScreen.js │ │ ├── OrderHistoryScreen.js │ │ ├── ProductDetailsScreen.js │ │ ├── ProductsGridScreen.js │ │ ├── ProductsListScreen.js │ │ ├── ProductsScreen.js │ │ ├── SearchProductsScreen.js │ │ ├── SelectAddressScreen.js │ │ ├── UpdateItemScreen.js │ │ └── checkout │ │ │ ├── CheckoutScreen.js │ │ │ └── WebCheckoutScreen.js │ ├── services │ │ ├── countries.js │ │ ├── currency.js │ │ ├── customer.js │ │ ├── encode.js │ │ ├── getFormFieldLabel.js │ │ ├── index.js │ │ ├── layouts.js │ │ ├── location.js │ │ ├── orders.js │ │ ├── price.js │ │ ├── product.js │ │ └── shopifyClient.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── cloud │ ├── .babelrc │ ├── .dockerignore │ ├── .editorconfig │ ├── .env-example │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gitignore │ ├── .npmrc │ ├── .prettierrc │ ├── .sequelizerc │ ├── app │ │ └── server │ │ │ ├── app.js │ │ │ ├── index.js │ │ │ └── www.js │ ├── cli │ │ ├── cli.js │ │ ├── commands │ │ │ ├── clear-cache.js │ │ │ ├── database.js │ │ │ ├── database │ │ │ │ └── sync.js │ │ │ ├── generate.js │ │ │ └── generate │ │ │ │ └── services │ │ │ │ ├── code-generator.js │ │ │ │ ├── input-associations-handler.js │ │ │ │ └── input-properties-handler.js │ │ └── index.js │ ├── config │ │ ├── .env-e2e-example │ │ ├── .env-handsoff-example │ │ ├── .env-local-example │ │ └── load-config.js │ ├── core │ │ ├── auth │ │ │ ├── const.ts │ │ │ ├── index.ts │ │ │ ├── middleware │ │ │ │ ├── assert-authenticated.ts │ │ │ │ └── authenticate.ts │ │ │ └── service │ │ │ │ ├── auth.ts │ │ │ │ ├── index.ts │ │ │ │ └── token.ts │ │ ├── cache │ │ │ ├── _tests_ │ │ │ │ └── cache-decorators.spec.js │ │ │ ├── cache-decorators.js │ │ │ ├── cache-provider.ts │ │ │ ├── index.js │ │ │ └── memory-cache-provider.ts │ │ ├── env │ │ │ └── index.ts │ │ ├── helpers │ │ │ └── retryWrap.ts │ │ ├── lodash-extensions │ │ │ └── index.ts │ │ └── middleware │ │ │ └── restrict-include.ts │ ├── docker-compose-e2e.yml │ ├── docker-compose.yml │ ├── docker │ │ ├── app │ │ │ └── app.Dockerfile │ │ ├── db │ │ │ ├── db.Dockerfile │ │ │ └── init.sql │ │ └── test │ │ │ └── test.Dockerfile │ ├── package.json │ ├── public │ │ └── status │ │ │ ├── asset-manifest.json │ │ │ ├── favicon.ico │ │ │ ├── index.html │ │ │ ├── logo192.png │ │ │ ├── logo512.png │ │ │ ├── manifest.json │ │ │ ├── robots.txt │ │ │ └── static │ │ │ ├── css │ │ │ ├── main.c8be200d.css │ │ │ └── main.c8be200d.css.map │ │ │ ├── js │ │ │ ├── main.9e68e346.js │ │ │ ├── main.9e68e346.js.LICENSE.txt │ │ │ └── main.9e68e346.js.map │ │ │ └── media │ │ │ ├── MuseoSansCyrl-500.a07c2347743e47d3974a.woff2 │ │ │ ├── errorState.cd6afec66d086f545243.png │ │ │ └── successState.14a1a88c2deffcce36e6.png │ ├── schema.js │ ├── src │ │ ├── authTokens │ │ │ ├── controllers │ │ │ │ └── tokens-controller.ts │ │ │ ├── data │ │ │ │ ├── tokens-model.ts │ │ │ │ └── tokens-repository.ts │ │ │ ├── index.ts │ │ │ ├── io │ │ │ │ ├── index.ts │ │ │ │ ├── tokens-io.ts │ │ │ │ └── types.ts │ │ │ ├── router │ │ │ │ ├── index.ts │ │ │ │ └── router.ts │ │ │ └── services │ │ │ │ ├── index.ts │ │ │ │ └── shopifyApi.ts │ │ ├── main │ │ │ ├── const.ts │ │ │ ├── controllers │ │ │ │ └── health-controller.ts │ │ │ ├── index.ts │ │ │ └── router │ │ │ │ ├── health-router.ts │ │ │ │ ├── index.ts │ │ │ │ └── main-router.js │ │ ├── sequelize │ │ │ ├── cli-config.js │ │ │ ├── config.js │ │ │ ├── helpers │ │ │ │ └── insert-or-update.js │ │ │ ├── migrations │ │ │ │ ├── 20220714103903-create-oauth-tokens.js │ │ │ │ └── 20220720103911-create-storefront-tokens.js │ │ │ ├── models │ │ │ │ └── index.js │ │ │ └── seeders │ │ │ │ └── .gitkeep │ │ ├── shared │ │ │ ├── config │ │ │ │ └── index.ts │ │ │ ├── db │ │ │ │ ├── _tests_ │ │ │ │ │ └── encoder.spec.js │ │ │ │ ├── config │ │ │ │ │ ├── db.js │ │ │ │ │ └── rds-combined-ca-bundle.pem │ │ │ │ ├── custom-data-types.js │ │ │ │ ├── database.js │ │ │ │ ├── encoder.js │ │ │ │ ├── error │ │ │ │ │ └── adapters │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── sequelize-foreign-key-constraint-error-adapter.js │ │ │ │ │ │ ├── sequelize-unique-constraint-error-adapter.js │ │ │ │ │ │ └── sequelize-validation-error-adapter.js │ │ │ │ ├── index.js │ │ │ │ ├── lean-decorator.js │ │ │ │ ├── loaders.js │ │ │ │ └── services │ │ │ │ │ ├── index.js │ │ │ │ │ ├── io-to-sequelize-filter.js │ │ │ │ │ └── io-to-sequelize-sort.js │ │ │ ├── error │ │ │ │ ├── adapters │ │ │ │ │ ├── _tests_ │ │ │ │ │ │ ├── default-error-adapter.spec.js │ │ │ │ │ │ └── http-error-adapter.spec.js │ │ │ │ │ ├── default-error-adapter.ts │ │ │ │ │ └── http-error-adapter.ts │ │ │ │ ├── config.js │ │ │ │ ├── error-code-generator.js │ │ │ │ ├── error-wrapper.js │ │ │ │ ├── errors │ │ │ │ │ ├── _tests_ │ │ │ │ │ │ ├── forbidden-error.spec.js │ │ │ │ │ │ ├── http-error.spec.js │ │ │ │ │ │ ├── node-error.spec.js │ │ │ │ │ │ ├── not-authorized-error.spec.js │ │ │ │ │ │ ├── not-found-error.spec.js │ │ │ │ │ │ └── validation-error.spec.js │ │ │ │ │ ├── conflict-error.js │ │ │ │ │ ├── error-meta.ts │ │ │ │ │ ├── forbidden-error.js │ │ │ │ │ ├── http-error.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── node-error.js │ │ │ │ │ ├── not-authorized-error.js │ │ │ │ │ ├── not-found-error.js │ │ │ │ │ └── validation-error.ts │ │ │ │ ├── index.js │ │ │ │ └── middleware │ │ │ │ │ ├── _tests_ │ │ │ │ │ ├── default-not-found.spec.js │ │ │ │ │ └── error-handler.spec.js │ │ │ │ │ ├── default-not-found.js │ │ │ │ │ └── error-handler.js │ │ │ ├── express │ │ │ │ ├── _tests_ │ │ │ │ │ └── locals.spec.js │ │ │ │ ├── index.ts │ │ │ │ ├── locals.ts │ │ │ │ └── middleware │ │ │ │ │ ├── async-middleware.ts │ │ │ │ │ ├── async-param-middleware.ts │ │ │ │ │ ├── favicon.js │ │ │ │ │ └── index.ts │ │ │ ├── io │ │ │ │ ├── id-generator.ts │ │ │ │ ├── index.ts │ │ │ │ ├── io-error.ts │ │ │ │ ├── io.ts │ │ │ │ ├── json-api │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── input.ts │ │ │ │ │ ├── output.ts │ │ │ │ │ └── serializer.ts │ │ │ │ └── status.ts │ │ │ ├── logging │ │ │ │ ├── config │ │ │ │ │ └── logging.ts │ │ │ │ ├── index.ts │ │ │ │ ├── logger.ts │ │ │ │ └── middleware │ │ │ │ │ └── log-request.ts │ │ │ ├── paging │ │ │ │ ├── buffer-enumerable.js │ │ │ │ ├── index.js │ │ │ │ ├── paged-collection.ts │ │ │ │ └── tests │ │ │ │ │ └── paged-collections.spec.js │ │ │ ├── redis │ │ │ │ └── redis-client.ts │ │ │ ├── repository │ │ │ │ ├── crud-sequelize-repository.ts │ │ │ │ └── index.ts │ │ │ ├── sentry │ │ │ │ ├── config.js │ │ │ │ └── index.ts │ │ │ ├── swagger │ │ │ │ ├── config │ │ │ │ │ └── index.js │ │ │ │ ├── definitions.ts │ │ │ │ └── index.js │ │ │ └── uuid │ │ │ │ └── index.js │ │ ├── storefrontTokens │ │ │ ├── controllers │ │ │ │ └── tokens-controller.ts │ │ │ ├── data │ │ │ │ ├── tokens-model.ts │ │ │ │ └── tokens-repository.ts │ │ │ ├── index.ts │ │ │ ├── io │ │ │ │ ├── index.ts │ │ │ │ ├── tokens-io.ts │ │ │ │ └── types.ts │ │ │ ├── router │ │ │ │ ├── index.ts │ │ │ │ └── router.ts │ │ │ └── services │ │ │ │ ├── index.ts │ │ │ │ └── shopifyApi.ts │ │ └── successPage │ │ │ ├── config │ │ │ ├── env.js │ │ │ ├── getHttpsConfig.js │ │ │ ├── jest │ │ │ │ ├── babelTransform.js │ │ │ │ ├── cssTransform.js │ │ │ │ └── fileTransform.js │ │ │ ├── modules.js │ │ │ ├── paths.js │ │ │ ├── webpack.config.js │ │ │ ├── webpack │ │ │ │ └── persistentCache │ │ │ │ │ └── createEnvironmentHash.js │ │ │ └── webpackDevServer.config.js │ │ │ ├── package.json │ │ │ ├── public │ │ │ ├── favicon.ico │ │ │ ├── index.html │ │ │ ├── logo192.png │ │ │ ├── logo512.png │ │ │ ├── manifest.json │ │ │ └── robots.txt │ │ │ ├── scripts │ │ │ ├── build.js │ │ │ ├── start.js │ │ │ └── test.js │ │ │ └── src │ │ │ ├── App.css │ │ │ ├── App.js │ │ │ ├── assets │ │ │ ├── errorState.png │ │ │ ├── fonts │ │ │ │ ├── MuseoSansCyrl-500.woff2 │ │ │ │ └── MuseoSansCyrl-700.woff2 │ │ │ ├── index.js │ │ │ └── successState.png │ │ │ ├── index.css │ │ │ └── index.js │ ├── test │ │ ├── common │ │ │ └── index.ts │ │ └── config │ │ │ └── index.ts │ └── tsconfig.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ ├── add-shopify-image.png │ ├── errorState.png │ ├── ic-descriptive-flickr.svg │ ├── screens │ │ ├── 1-2-2-grid.png │ │ ├── featured-list.png │ │ ├── featured-square-grid.png │ │ ├── featured-tall-grid.png │ │ ├── fixed-grid.png │ │ ├── grid.png │ │ ├── large-list.png │ │ ├── list.png │ │ ├── medium-list-with-featured.png │ │ ├── medium-list.png │ │ ├── square-grid.png │ │ ├── tall-grid.png │ │ └── tile-list.png │ └── successState.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── data-schemas │ └── Shopify.json │ ├── package.json │ ├── src │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── modules │ │ └── shopify │ │ │ ├── fragments │ │ │ └── shop-preview │ │ │ │ ├── ShopPreview.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── index.js │ │ │ ├── redux.js │ │ │ └── services │ │ │ └── store.js │ ├── pages │ │ ├── shopify-page │ │ │ ├── ShopifyPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── shopify-settings-page │ │ │ ├── ShopifySettingsPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ └── redux.js │ ├── themes │ └── theme.json │ └── translations │ └── en.json ├── shoutem.social ├── app │ ├── app.js │ ├── assets │ │ ├── images │ │ │ ├── PoweredBy_640_Horizontal_Light-Backgrounds_With_Logo.gif │ │ │ └── defaultAvatar.jpg │ │ └── index.js │ ├── components │ │ ├── AddAttachmentButtons.js │ │ ├── CommentView.js │ │ ├── GiphyImage.js │ │ ├── GiphyPicker.js │ │ ├── InteractionActions.js │ │ ├── Interactions.js │ │ ├── MemberView.js │ │ ├── NewCommentFooter.js │ │ ├── NewStatusFooter.js │ │ ├── RecentImages.js │ │ ├── RecentImages.web.js │ │ ├── StatusContent.js │ │ ├── StatusHeader.js │ │ ├── StatusView.js │ │ ├── attachments │ │ │ ├── AudioAttachment.js │ │ │ ├── ImageAttachment.js │ │ │ ├── VideoAttachment.js │ │ │ ├── WebsiteAttachment.js │ │ │ └── index.js │ │ ├── shapes.js │ │ └── skeleton-loading │ │ │ ├── CommentViewSkeleton.js │ │ │ ├── SocialWallSkeleton.js │ │ │ ├── StatusViewSkeleton.js │ │ │ └── index.js │ ├── const.js │ ├── extension.js │ ├── fragments │ │ ├── AttachmentResolver.js │ │ └── index.js │ ├── index.js │ ├── navigation.js │ ├── package.json │ ├── permissions.js │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── middleware.js │ │ ├── reducers.js │ │ └── selectors.js │ ├── screens │ │ ├── BlockedUsers.js │ │ ├── CreateStatusScreen.js │ │ ├── MembersScreen.js │ │ ├── NotificationSettingsScreen.js │ │ ├── SearchScreen.js │ │ ├── SocialWallScreen.js │ │ └── StatusDetailsScreen.js │ ├── services │ │ ├── attachment.js │ │ ├── attachment.web.js │ │ ├── index.js │ │ ├── resizeImage.js │ │ ├── resizeImage.web.js │ │ ├── shoutemApi.js │ │ ├── status.js │ │ ├── textConverter.js │ │ └── user.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── cloud │ ├── .babelrc │ ├── .dockerignore │ ├── .editorconfig │ ├── .env-example │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gitignore │ ├── .npmrc │ ├── .prettierrc │ ├── .sequelizerc │ ├── README.md │ ├── app │ │ └── server │ │ │ ├── app.js │ │ │ ├── index.js │ │ │ └── www.js │ ├── cli │ │ ├── cli.js │ │ ├── commands │ │ │ ├── clear-cache.js │ │ │ ├── database.js │ │ │ ├── database │ │ │ │ └── sync.js │ │ │ ├── generate.js │ │ │ └── generate │ │ │ │ └── services │ │ │ │ ├── code-generator.js │ │ │ │ ├── input-associations-handler.js │ │ │ │ └── input-properties-handler.js │ │ └── index.js │ ├── config │ │ ├── .env-e2e-example │ │ ├── .env-handsoff-example │ │ ├── .env-local-example │ │ └── load-config.js │ ├── core │ │ ├── auth │ │ │ ├── const.ts │ │ │ ├── index.ts │ │ │ ├── middleware │ │ │ │ ├── assert-authenticated.ts │ │ │ │ └── authenticate.ts │ │ │ └── service │ │ │ │ ├── auth.ts │ │ │ │ ├── index.ts │ │ │ │ └── token.ts │ │ ├── cache │ │ │ ├── _tests_ │ │ │ │ └── cache-decorators.spec.js │ │ │ ├── cache-decorators.js │ │ │ ├── cache-provider.ts │ │ │ ├── index.js │ │ │ └── memory-cache-provider.ts │ │ ├── env │ │ │ └── index.ts │ │ ├── helpers │ │ │ └── retryWrap.ts │ │ ├── lodash-extensions │ │ │ └── index.ts │ │ └── middleware │ │ │ └── restrict-include.ts │ ├── docker-compose-e2e.yml │ ├── docker-compose.yml │ ├── docker │ │ ├── app │ │ │ └── app.Dockerfile │ │ ├── db │ │ │ ├── db.Dockerfile │ │ │ └── init.sql │ │ └── test │ │ │ └── test.Dockerfile │ ├── package.json │ ├── schema.js │ ├── src │ │ ├── actions │ │ │ ├── const.ts │ │ │ ├── controllers │ │ │ │ └── actions-controller.ts │ │ │ ├── docs │ │ │ │ ├── actions-definitions-swagger.yaml │ │ │ │ └── actions-paths-swagger.yaml │ │ │ ├── index.ts │ │ │ ├── middleware │ │ │ │ ├── index.ts │ │ │ │ └── load-status-param.ts │ │ │ ├── router │ │ │ │ ├── actions-router.ts │ │ │ │ └── index.ts │ │ │ ├── service │ │ │ │ ├── index.ts │ │ │ │ └── status.ts │ │ │ └── services │ │ │ │ ├── comment.ts │ │ │ │ ├── index.ts │ │ │ │ ├── like.ts │ │ │ │ ├── notifications.ts │ │ │ │ └── params.ts │ │ ├── health │ │ │ └── index.js │ │ ├── router.js │ │ ├── sequelize │ │ │ ├── cli-config.js │ │ │ ├── config.js │ │ │ ├── helpers │ │ │ │ └── insert-or-update.js │ │ │ ├── migrations │ │ │ │ └── 20201209120336-create-settings.js │ │ │ ├── models │ │ │ │ └── index.js │ │ │ └── seeders │ │ │ │ └── .gitkeep │ │ ├── settings │ │ │ ├── const.ts │ │ │ ├── controllers │ │ │ │ └── settings-controller.ts │ │ │ ├── data │ │ │ │ ├── settings-model.ts │ │ │ │ └── settings-repository.ts │ │ │ ├── index.ts │ │ │ ├── io │ │ │ │ ├── index.ts │ │ │ │ ├── settings-io.ts │ │ │ │ └── types.ts │ │ │ ├── middleware │ │ │ │ ├── index.ts │ │ │ │ └── load-settings-param.ts │ │ │ ├── router │ │ │ │ ├── index.ts │ │ │ │ └── settings-router.ts │ │ │ └── service │ │ │ │ ├── index.ts │ │ │ │ └── settings.ts │ │ ├── shared │ │ │ ├── config │ │ │ │ └── index.ts │ │ │ ├── db │ │ │ │ ├── _tests_ │ │ │ │ │ └── encoder.spec.js │ │ │ │ ├── config │ │ │ │ │ ├── db.js │ │ │ │ │ └── rds-combined-ca-bundle.pem │ │ │ │ ├── custom-data-types.js │ │ │ │ ├── database.js │ │ │ │ ├── encoder.js │ │ │ │ ├── error │ │ │ │ │ └── adapters │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── sequelize-foreign-key-constraint-error-adapter.js │ │ │ │ │ │ ├── sequelize-unique-constraint-error-adapter.js │ │ │ │ │ │ └── sequelize-validation-error-adapter.js │ │ │ │ ├── index.js │ │ │ │ ├── lean-decorator.js │ │ │ │ ├── loaders.js │ │ │ │ └── services │ │ │ │ │ ├── index.js │ │ │ │ │ ├── io-to-sequelize-filter.js │ │ │ │ │ └── io-to-sequelize-sort.js │ │ │ ├── error │ │ │ │ ├── adapters │ │ │ │ │ ├── _tests_ │ │ │ │ │ │ ├── default-error-adapter.spec.js │ │ │ │ │ │ └── http-error-adapter.spec.js │ │ │ │ │ ├── default-error-adapter.ts │ │ │ │ │ └── http-error-adapter.ts │ │ │ │ ├── config.js │ │ │ │ ├── error-code-generator.js │ │ │ │ ├── error-wrapper.js │ │ │ │ ├── errors │ │ │ │ │ ├── _tests_ │ │ │ │ │ │ ├── forbidden-error.spec.js │ │ │ │ │ │ ├── http-error.spec.js │ │ │ │ │ │ ├── node-error.spec.js │ │ │ │ │ │ ├── not-authorized-error.spec.js │ │ │ │ │ │ ├── not-found-error.spec.js │ │ │ │ │ │ └── validation-error.spec.js │ │ │ │ │ ├── conflict-error.js │ │ │ │ │ ├── error-meta.ts │ │ │ │ │ ├── forbidden-error.js │ │ │ │ │ ├── http-error.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── node-error.js │ │ │ │ │ ├── not-authorized-error.js │ │ │ │ │ ├── not-found-error.js │ │ │ │ │ └── validation-error.ts │ │ │ │ ├── index.js │ │ │ │ └── middleware │ │ │ │ │ ├── _tests_ │ │ │ │ │ ├── default-not-found.spec.js │ │ │ │ │ └── error-handler.spec.js │ │ │ │ │ ├── default-not-found.js │ │ │ │ │ └── error-handler.js │ │ │ ├── express │ │ │ │ ├── _tests_ │ │ │ │ │ └── locals.spec.js │ │ │ │ ├── index.ts │ │ │ │ ├── locals.ts │ │ │ │ └── middleware │ │ │ │ │ ├── async-middleware.ts │ │ │ │ │ ├── async-param-middleware.ts │ │ │ │ │ ├── favicon.js │ │ │ │ │ └── index.ts │ │ │ ├── io │ │ │ │ ├── id-generator.ts │ │ │ │ ├── index.ts │ │ │ │ ├── io-error.ts │ │ │ │ ├── io.ts │ │ │ │ ├── json-api │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── input.ts │ │ │ │ │ ├── output.ts │ │ │ │ │ └── serializer.ts │ │ │ │ └── status.ts │ │ │ ├── logging │ │ │ │ ├── config │ │ │ │ │ └── logging.ts │ │ │ │ ├── index.ts │ │ │ │ ├── logger.ts │ │ │ │ └── middleware │ │ │ │ │ └── log-request.ts │ │ │ ├── paging │ │ │ │ ├── buffer-enumerable.js │ │ │ │ ├── index.js │ │ │ │ ├── paged-collection.ts │ │ │ │ └── tests │ │ │ │ │ └── paged-collections.spec.js │ │ │ ├── redis │ │ │ │ └── redis-client.ts │ │ │ ├── repository │ │ │ │ ├── crud-sequelize-repository.ts │ │ │ │ └── index.ts │ │ │ ├── sentry │ │ │ │ ├── config.js │ │ │ │ └── index.ts │ │ │ ├── swagger │ │ │ │ ├── config │ │ │ │ │ └── index.js │ │ │ │ ├── definitions.ts │ │ │ │ └── index.js │ │ │ └── uuid │ │ │ │ └── index.js │ │ └── users │ │ │ ├── const.ts │ │ │ ├── index.ts │ │ │ ├── middleware │ │ │ ├── index.ts │ │ │ └── load-user-param.ts │ │ │ ├── router │ │ │ ├── index.ts │ │ │ └── users-router.ts │ │ │ └── service │ │ │ ├── index.ts │ │ │ └── users.ts │ ├── template │ │ └── {=moduleName=} │ │ │ ├── const.ts │ │ │ ├── controllers │ │ │ └── {=moduleName=}-controller.ts │ │ │ ├── data │ │ │ ├── {=moduleName=}-model.ts │ │ │ └── {=moduleName=}-repository.ts │ │ │ ├── index.ts │ │ │ ├── io │ │ │ ├── index.ts │ │ │ ├── types.ts │ │ │ └── {=moduleName=}-io.ts │ │ │ ├── middleware │ │ │ ├── index.ts │ │ │ └── load-{=moduleName=}-param.ts │ │ │ ├── router │ │ │ ├── index.ts │ │ │ └── {=moduleName=}-router.ts │ │ │ └── service │ │ │ ├── index.ts │ │ │ └── {=moduleName=}.ts │ ├── test │ │ ├── common │ │ │ └── index.ts │ │ └── config │ │ │ └── index.ts │ └── tsconfig.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ ├── add-community-image.png │ └── social-empty-placeholder.svg │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── components │ │ ├── index.js │ │ ├── table │ │ │ ├── Table.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── text-table-header │ │ │ ├── TextTableHeader.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ ├── const.js │ ├── index.js │ ├── modules │ │ └── user-groups │ │ │ ├── const.js │ │ │ ├── index.js │ │ │ └── redux │ │ │ ├── actions.js │ │ │ ├── index.js │ │ │ ├── reducer.js │ │ │ └── selectors.js │ ├── pages │ │ ├── shortcut-info-page │ │ │ ├── ShortcutInfoPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── social-settings-page │ │ │ ├── SocialSettingsPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── user-groups-visibility-page │ │ │ ├── UserGroupsVisibilityPage.jsx │ │ │ ├── components │ │ │ ├── index.js │ │ │ ├── visible-group-row │ │ │ │ ├── VisibleGroupRow.jsx │ │ │ │ ├── index.js │ │ │ │ └── style.scss │ │ │ └── visible-groups-table │ │ │ │ ├── VisibleGroupsTable.jsx │ │ │ │ ├── index.js │ │ │ │ ├── localization.js │ │ │ │ └── style.scss │ │ │ ├── index.js │ │ │ └── localization.js │ ├── redux.js │ └── services │ │ ├── index.js │ │ ├── isGroupVisible.js │ │ └── shoutemUrls.js │ ├── themes │ └── theme.json │ └── translations │ └── en.json ├── shoutem.sub-navigation ├── app │ ├── const.js │ ├── index.js │ └── package.json ├── extension.json └── server │ ├── assets │ ├── add-folder-image.png │ ├── empty.png │ ├── mainnavigation.png │ ├── noicon.png │ └── screens │ │ ├── card-list.png │ │ ├── drawer.png │ │ ├── icon.png │ │ ├── list.png │ │ ├── none.png │ │ ├── tabbar.png │ │ └── tile-grid.png │ └── package.json ├── shoutem.theme ├── README.md ├── app │ ├── app.js │ ├── build │ │ ├── const.js │ │ └── index.js │ ├── components │ │ ├── ThemeListItem.js │ │ └── index.js │ ├── const.js │ ├── helpers │ │ ├── resolveIconSource.js │ │ └── resolveIconUrl.js │ ├── index.js │ ├── package.json │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── screens │ │ ├── ThemePickerScreen.js │ │ └── index.js │ ├── services │ │ ├── AppThemeAssets.js │ │ ├── index.js │ │ └── themeStyle.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── .npmrc │ ├── assets │ └── add-theme-image.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── pages │ │ ├── extension-theme-settings-page │ │ │ ├── ExtensionThemeSettingsPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── theme-selection-page │ │ │ ├── ThemeSelectionPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── services │ │ ├── index.js │ │ ├── pageParameters.js │ │ ├── schema.js │ │ └── shoutemUrls.js │ └── style.scss │ └── translations │ └── en.json ├── shoutem.user-profile ├── app │ ├── app.js │ ├── assets │ │ ├── images │ │ │ ├── defaultAvatar.jpg │ │ │ └── index.js │ │ └── index.js │ ├── components │ │ ├── BaseUserProfile.js │ │ └── index.js │ ├── const.js │ ├── extension.js │ ├── form-builder │ │ ├── components │ │ │ ├── FormInput.js │ │ │ ├── ImagesPreview.js │ │ │ ├── SubmitButton.js │ │ │ ├── TextValue.js │ │ │ ├── image-upload │ │ │ │ ├── EmptyImagesView.js │ │ │ │ ├── ImageCarousel.js │ │ │ │ ├── ImageUpload.js │ │ │ │ ├── const.js │ │ │ │ ├── index.js │ │ │ │ └── services │ │ │ │ │ ├── imagePicker.js │ │ │ │ │ ├── imagePicker.web.js │ │ │ │ │ └── index.js │ │ │ └── index.js │ │ ├── fragments │ │ │ ├── DataPreview.js │ │ │ ├── Form.js │ │ │ └── index.js │ │ ├── hooks │ │ │ ├── index.js │ │ │ ├── useForm.js │ │ │ └── useFormPreview.js │ │ ├── index.js │ │ └── services │ │ │ ├── componentResolver.js │ │ │ ├── formBuilder.js │ │ │ ├── index.js │ │ │ ├── previewBuilder.js │ │ │ ├── resolveReactComponent.js │ │ │ └── schemaDefinitions.js │ ├── index.js │ ├── navigation.js │ ├── package.json │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── middleware.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── screens │ │ ├── EditProfileScreen.js │ │ ├── MyProfileScreen.js │ │ ├── SubmissionCompletedScreen.js │ │ └── UserProfileScreen.js │ ├── services │ │ ├── errors.js │ │ ├── imageUpload.js │ │ ├── index.js │ │ ├── remap.js │ │ ├── schema.js │ │ └── shoutemApi.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ └── add-user-profile-image.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── components │ │ ├── form-images-preview │ │ │ ├── FormImagesPreview.jsx │ │ │ ├── imageShapes.js │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── form-text-input │ │ │ ├── FormTextInput.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── index.js │ │ ├── input-table-header │ │ │ ├── InputTableHeader.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── select-table-header │ │ │ ├── SelectTableHeader.jsx │ │ │ └── index.js │ │ ├── table │ │ │ ├── Table.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── text-table-header │ │ │ ├── TextTableHeader.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── user-table-profile-cell │ │ │ ├── UserTableProfileCell.jsx │ │ │ └── index.js │ │ └── user-table-row │ │ │ ├── UserTableRow.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ ├── const.js │ ├── extension.js │ ├── fragments │ │ ├── index.js │ │ ├── user-modal │ │ │ ├── UserModal.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── users-dashboard │ │ │ ├── UsersDashboard.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ ├── index.js │ ├── pages │ │ ├── profile-page │ │ │ ├── ProfilePage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── settings-page │ │ │ ├── SettingsPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── users-page │ │ │ ├── UsersPage.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ └── services │ │ ├── componentResolver.js │ │ ├── formBuilder.js │ │ ├── index.js │ │ ├── resolveReactComponent.js │ │ ├── schemaDefinitions.js │ │ ├── shoutemUrls.js │ │ └── table.js │ ├── themes │ └── theme.json │ └── translations │ └── en.json ├── shoutem.video ├── app │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── package.json │ ├── redux │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ └── screens │ │ ├── MyVideosCompactList.js │ │ ├── MyVideosList.js │ │ ├── VideoDetails.js │ │ ├── VideosCompactList.js │ │ └── VideosList.js ├── extension.json └── server │ ├── assets │ ├── add-videos-image.png │ └── screens │ │ ├── compact-list.png │ │ ├── details-without-share.png │ │ ├── details.png │ │ └── tile-list.png │ ├── data-schemas │ └── Videos.json │ ├── package.json │ └── translations │ └── en.json ├── shoutem.web-view ├── app │ ├── build │ │ ├── const.js │ │ └── index.js │ ├── components │ │ └── NavigationToolbar.js │ ├── const.js │ ├── extension.js │ ├── index.js │ ├── middleware.js │ ├── navigation.js │ ├── package.json │ ├── permissions.js │ ├── redux │ │ ├── actions.js │ │ ├── index.js │ │ ├── reducer.js │ │ └── selectors.js │ ├── screens │ │ ├── WebViewScreen.js │ │ ├── WebViewScreen.web.js │ │ └── WebViewWithShareScreen.js │ ├── services │ │ ├── index.js │ │ └── parseUrl.js │ ├── themes │ │ └── style.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ ├── add-web-page.png │ └── screens │ │ ├── web-view-no-share.png │ │ └── web-view.png │ ├── bin │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── denormalizer.js │ ├── index.js │ ├── providers │ │ └── localization │ │ │ ├── LocalizationProvider.js │ │ │ └── index.js │ ├── reducer.js │ └── webPage │ │ ├── assets │ │ └── ic-descriptive-web.svg │ │ ├── components │ │ ├── Web.jsx │ │ ├── WebEdit.jsx │ │ ├── WebUrlInput.jsx │ │ ├── localization.js │ │ └── style.scss │ │ ├── index.js │ │ └── reducer.js │ └── translations │ └── en.json ├── shoutem.wordpress ├── app │ ├── app.js │ ├── components │ │ ├── ArticleView.js │ │ ├── FeaturedArticleView.js │ │ ├── GridArticleView.js │ │ ├── ListArticleView.js │ │ └── NextArticle.js │ ├── const.js │ ├── index.js │ ├── package.json │ ├── redux.js │ ├── screens │ │ ├── ArticleDetailsScreen.js │ │ ├── ArticleMediumDetailsScreen.js │ │ ├── ArticlesGridScreen.js │ │ └── ArticlesListScreen.js │ ├── services │ │ ├── createCategoryFilter.js │ │ ├── extractBaseUrl.js │ │ ├── getAuthorName.js │ │ ├── getLeadImageUrl.js │ │ ├── index.js │ │ └── pagination.js │ └── translations │ │ └── en.json ├── extension.json └── server │ ├── .eslintrc │ ├── assets │ ├── extension-icon.png │ └── screens │ │ ├── featuredgrid.png │ │ ├── featuredlist.png │ │ ├── grid.png │ │ ├── large-details.png │ │ ├── list.png │ │ └── medium-details.png │ ├── bin │ ├── configureStore.js │ ├── index.html │ ├── index.js │ ├── localization │ │ ├── LocalizationProvider.js │ │ └── index.js │ ├── main.js │ ├── page │ │ ├── Page.js │ │ ├── PageProvider.js │ │ ├── connectPage.js │ │ └── index.js │ ├── reducers.js │ ├── syncStateEngine │ │ ├── SyncStateEngineProvider.jsx │ │ └── index.js │ └── webpack │ │ ├── devServer.js │ │ ├── env.js │ │ ├── moduleRules.js │ │ ├── optimizations.js │ │ ├── plugins.js │ │ └── webpack.config.js │ ├── package.json │ ├── src │ ├── components │ │ ├── feed-preview-table-row │ │ │ ├── FeedPreviewTableRow.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ │ ├── feed-preview-table │ │ │ ├── FeedPreviewTable.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── feed-preview │ │ │ ├── FeedPreview.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ ├── feed-url-input │ │ │ ├── FeedUrlInput.jsx │ │ │ ├── index.js │ │ │ ├── localization.js │ │ │ └── style.scss │ │ └── index.js │ ├── const.js │ ├── index.js │ ├── pages │ │ └── wordpress-feed-page │ │ │ ├── WordpressFeedPage.jsx │ │ │ ├── index.js │ │ │ └── style.scss │ ├── redux.js │ └── services.js │ └── translations │ └── en.json └── shoutem.youtube ├── app ├── app.js ├── components │ ├── LargeYoutubeView.js │ └── SmallYoutubeView.js ├── const.js ├── extension.js ├── index.js ├── package.json ├── redux.js ├── screens │ ├── YoutubeSmallListScreen.js │ ├── YoutubeVideoDetailsScreen.js │ └── YoutubeVideosScreen.js └── services │ ├── index.js │ ├── youtube-view.js │ └── youtube.js ├── extension.json └── server ├── .eslintrc ├── assets ├── add-videos-youtube-image.png ├── ic-descriptive-play.svg └── screens │ ├── big-list.png │ └── small-list.png ├── bin ├── configureStore.js ├── index.html ├── index.js ├── localization │ ├── LocalizationProvider.js │ └── index.js ├── main.js ├── page │ ├── Page.js │ ├── PageProvider.js │ ├── connectPage.js │ └── index.js ├── reducers.js ├── syncStateEngine │ ├── SyncStateEngineProvider.jsx │ └── index.js └── webpack │ ├── devServer.js │ ├── env.js │ ├── moduleRules.js │ ├── optimizations.js │ ├── plugins.js │ └── webpack.config.js ├── package.json ├── src ├── components │ ├── feed-preview-table │ │ ├── FeedPreviewTable.jsx │ │ ├── FeedPreviewTableItem.jsx │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ ├── feed-preview │ │ ├── FeedPreview.jsx │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ ├── feed-sort-dropdown │ │ ├── FeedSortDropdown.jsx │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ ├── feed-url-description │ │ ├── FeedUrlDescription.jsx │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ ├── feed-url-input │ │ ├── FeedUrlInput.jsx │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ ├── index.js │ └── non-playlist-alert │ │ ├── NonPlaylistAlert.jsx │ │ ├── index.js │ │ └── localization.js ├── const.js ├── index.js ├── localization.js ├── pages │ ├── settings-page │ │ ├── SettingsPage.jsx │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss │ └── youtube-feed-page │ │ ├── YoutubeFeedPage.jsx │ │ ├── index.js │ │ ├── localization.js │ │ └── style.scss ├── redux.js └── services │ ├── duration.js │ ├── index.js │ └── youtube.js └── translations └── en.json /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/.editorconfig -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/.eslintignore -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/.eslintrc -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/README.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/package.json -------------------------------------------------------------------------------- /shoutem.about/app/build/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.about/app/build/const.js -------------------------------------------------------------------------------- /shoutem.about/app/build/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.about/app/build/index.js -------------------------------------------------------------------------------- /shoutem.about/app/components/Map.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.about/app/components/Map.js -------------------------------------------------------------------------------- /shoutem.about/app/components/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.about/app/components/index.js -------------------------------------------------------------------------------- /shoutem.about/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.about/app/const.js -------------------------------------------------------------------------------- /shoutem.about/app/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.about/app/extension.js -------------------------------------------------------------------------------- /shoutem.about/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.about/app/index.js -------------------------------------------------------------------------------- /shoutem.about/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.about/app/package.json -------------------------------------------------------------------------------- /shoutem.about/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.about/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.about/app/redux/middleware.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.about/app/redux/middleware.js -------------------------------------------------------------------------------- /shoutem.about/app/redux/reducers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.about/app/redux/reducers.js -------------------------------------------------------------------------------- /shoutem.about/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.about/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.about/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.about/extension.json -------------------------------------------------------------------------------- /shoutem.about/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.about/server/package.json -------------------------------------------------------------------------------- /shoutem.advertising/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.advertising/app/app.js -------------------------------------------------------------------------------- /shoutem.advertising/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.advertising/app/const.js -------------------------------------------------------------------------------- /shoutem.advertising/app/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.advertising/app/extension.js -------------------------------------------------------------------------------- /shoutem.advertising/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.advertising/app/index.js -------------------------------------------------------------------------------- /shoutem.advertising/app/index.web.js: -------------------------------------------------------------------------------- 1 | // Extension is disabled in web. 2 | -------------------------------------------------------------------------------- /shoutem.advertising/app/navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.advertising/app/navigation.js -------------------------------------------------------------------------------- /shoutem.advertising/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.advertising/app/package.json -------------------------------------------------------------------------------- /shoutem.advertising/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.advertising/extension.json -------------------------------------------------------------------------------- /shoutem.advertising/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.advertising/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.affiliate/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.affiliate/app/app.js -------------------------------------------------------------------------------- /shoutem.affiliate/app/components/gauge-progress-bar/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './GaugeProgressBar'; 2 | -------------------------------------------------------------------------------- /shoutem.affiliate/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.affiliate/app/const.js -------------------------------------------------------------------------------- /shoutem.affiliate/app/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.affiliate/app/extension.js -------------------------------------------------------------------------------- /shoutem.affiliate/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.affiliate/app/index.js -------------------------------------------------------------------------------- /shoutem.affiliate/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.affiliate/app/package.json -------------------------------------------------------------------------------- /shoutem.affiliate/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.affiliate/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.affiliate/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.affiliate/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.affiliate/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.affiliate/extension.json -------------------------------------------------------------------------------- /shoutem.affiliate/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.affiliate/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.affiliate/server/bin/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.affiliate/server/bin/index.js -------------------------------------------------------------------------------- /shoutem.affiliate/server/bin/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.affiliate/server/bin/main.js -------------------------------------------------------------------------------- /shoutem.affiliate/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.affiliate/server/package.json -------------------------------------------------------------------------------- /shoutem.affiliate/server/src/components/add-transaction-button/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './AddTransactionButton'; 2 | -------------------------------------------------------------------------------- /shoutem.affiliate/server/src/components/banner-image-preview/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './BannerImagePreview'; 2 | -------------------------------------------------------------------------------- /shoutem.affiliate/server/src/components/banner-image/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './BannerImage'; 2 | -------------------------------------------------------------------------------- /shoutem.affiliate/server/src/components/banner-link/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './BannerLink'; 2 | -------------------------------------------------------------------------------- /shoutem.affiliate/server/src/components/transaction-table-row/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './TransactionTableRow'; 2 | -------------------------------------------------------------------------------- /shoutem.affiliate/server/src/components/transactions-table/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './TransactionsTable'; 2 | -------------------------------------------------------------------------------- /shoutem.affiliate/server/src/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.affiliate/server/src/const.js -------------------------------------------------------------------------------- /shoutem.affiliate/server/src/fragments/add-transaction-form/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './AddTransactionForm'; 2 | -------------------------------------------------------------------------------- /shoutem.affiliate/server/src/fragments/banner-form/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './BannerForm'; 2 | -------------------------------------------------------------------------------- /shoutem.affiliate/server/src/fragments/banner-form/style.scss: -------------------------------------------------------------------------------- 1 | .banner-page__footer { 2 | margin-top: 50px; 3 | } 4 | 5 | -------------------------------------------------------------------------------- /shoutem.affiliate/server/src/fragments/general-stats/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './GeneralStats'; 2 | -------------------------------------------------------------------------------- /shoutem.affiliate/server/src/fragments/transactions-dashboard/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './TransactionsDashboard'; 2 | -------------------------------------------------------------------------------- /shoutem.affiliate/server/src/fragments/transactions-filter/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './TransactionsFilter'; 2 | -------------------------------------------------------------------------------- /shoutem.affiliate/server/src/fragments/transactions-filter/style.scss: -------------------------------------------------------------------------------- 1 | .transactions-filter { 2 | margin-top: 24px; 3 | } 4 | -------------------------------------------------------------------------------- /shoutem.affiliate/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.affiliate/server/src/index.js -------------------------------------------------------------------------------- /shoutem.affiliate/server/src/pages/banner-page/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './BannerPage'; 2 | -------------------------------------------------------------------------------- /shoutem.affiliate/server/src/pages/points-page/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './PointsPage'; 2 | -------------------------------------------------------------------------------- /shoutem.affiliate/server/src/pages/sms-text-page/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './SmsTextPage'; 2 | -------------------------------------------------------------------------------- /shoutem.age-restriction/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.age-restriction/app/const.js -------------------------------------------------------------------------------- /shoutem.age-restriction/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.age-restriction/app/index.js -------------------------------------------------------------------------------- /shoutem.age-restriction/app/services/app.web.js: -------------------------------------------------------------------------------- 1 | export function exitApp() { 2 | return window.location.reload(); 3 | } 4 | -------------------------------------------------------------------------------- /shoutem.age-restriction/app/services/index.js: -------------------------------------------------------------------------------- 1 | export { exitApp } from './app'; 2 | -------------------------------------------------------------------------------- /shoutem.age-restriction/server/src/pages/age-restriction-page/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './AgeRestrictionPage'; 2 | -------------------------------------------------------------------------------- /shoutem.agora/app/assets/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/app/assets/index.js -------------------------------------------------------------------------------- /shoutem.agora/app/build/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/app/build/index.js -------------------------------------------------------------------------------- /shoutem.agora/app/components/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/app/components/index.js -------------------------------------------------------------------------------- /shoutem.agora/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/app/const.js -------------------------------------------------------------------------------- /shoutem.agora/app/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/app/extension.js -------------------------------------------------------------------------------- /shoutem.agora/app/hooks/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/app/hooks/index.js -------------------------------------------------------------------------------- /shoutem.agora/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/app/index.js -------------------------------------------------------------------------------- /shoutem.agora/app/index.web.js: -------------------------------------------------------------------------------- 1 | // Extension is disabled in web. 2 | -------------------------------------------------------------------------------- /shoutem.agora/app/navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/app/navigation.js -------------------------------------------------------------------------------- /shoutem.agora/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/app/package.json -------------------------------------------------------------------------------- /shoutem.agora/app/permissions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/app/permissions.js -------------------------------------------------------------------------------- /shoutem.agora/app/screens/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/app/screens/index.js -------------------------------------------------------------------------------- /shoutem.agora/app/services/agora.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/app/services/agora.js -------------------------------------------------------------------------------- /shoutem.agora/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.agora/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/extension.json -------------------------------------------------------------------------------- /shoutem.agora/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.agora/server/bin/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/server/bin/index.html -------------------------------------------------------------------------------- /shoutem.agora/server/bin/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/server/bin/index.js -------------------------------------------------------------------------------- /shoutem.agora/server/bin/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/server/bin/main.js -------------------------------------------------------------------------------- /shoutem.agora/server/bin/page/Page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/server/bin/page/Page.js -------------------------------------------------------------------------------- /shoutem.agora/server/bin/reducers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/server/bin/reducers.js -------------------------------------------------------------------------------- /shoutem.agora/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/server/package.json -------------------------------------------------------------------------------- /shoutem.agora/server/src/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/server/src/const.js -------------------------------------------------------------------------------- /shoutem.agora/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.agora/server/src/index.js -------------------------------------------------------------------------------- /shoutem.analytics/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.analytics/app/const.js -------------------------------------------------------------------------------- /shoutem.analytics/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.analytics/app/index.js -------------------------------------------------------------------------------- /shoutem.analytics/app/middleware.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.analytics/app/middleware.js -------------------------------------------------------------------------------- /shoutem.analytics/app/navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.analytics/app/navigation.js -------------------------------------------------------------------------------- /shoutem.analytics/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.analytics/app/package.json -------------------------------------------------------------------------------- /shoutem.analytics/app/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.analytics/app/readme.md -------------------------------------------------------------------------------- /shoutem.analytics/app/redux.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.analytics/app/redux.js -------------------------------------------------------------------------------- /shoutem.analytics/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.analytics/extension.json -------------------------------------------------------------------------------- /shoutem.analytics/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.analytics/server/package.json -------------------------------------------------------------------------------- /shoutem.application/app/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.application/app/.gitignore -------------------------------------------------------------------------------- /shoutem.application/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.application/app/app.js -------------------------------------------------------------------------------- /shoutem.application/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.application/app/const.js -------------------------------------------------------------------------------- /shoutem.application/app/html/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.application/app/html/index.js -------------------------------------------------------------------------------- /shoutem.application/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.application/app/index.js -------------------------------------------------------------------------------- /shoutem.application/app/middleware.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.application/app/middleware.js -------------------------------------------------------------------------------- /shoutem.application/app/navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.application/app/navigation.js -------------------------------------------------------------------------------- /shoutem.application/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.application/app/package.json -------------------------------------------------------------------------------- /shoutem.application/app/redux.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.application/app/redux.js -------------------------------------------------------------------------------- /shoutem.application/app/services/restart.web.js: -------------------------------------------------------------------------------- 1 | export function restartApp() { 2 | window.location.reload(); 3 | } 4 | -------------------------------------------------------------------------------- /shoutem.application/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.application/extension.json -------------------------------------------------------------------------------- /shoutem.application/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.application/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.application/server/src/pages/app-analytics-page/style.scss: -------------------------------------------------------------------------------- 1 | .app-analytics-page {} 2 | -------------------------------------------------------------------------------- /shoutem.audio/app/assets/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/app/assets/index.js -------------------------------------------------------------------------------- /shoutem.audio/app/assets/music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/app/assets/music.png -------------------------------------------------------------------------------- /shoutem.audio/app/build/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/app/build/index.js -------------------------------------------------------------------------------- /shoutem.audio/app/components/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/app/components/index.js -------------------------------------------------------------------------------- /shoutem.audio/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/app/const.js -------------------------------------------------------------------------------- /shoutem.audio/app/fragments/TabBar.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/app/fragments/TabBar.js -------------------------------------------------------------------------------- /shoutem.audio/app/fragments/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/app/fragments/index.js -------------------------------------------------------------------------------- /shoutem.audio/app/hooks/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/app/hooks/index.js -------------------------------------------------------------------------------- /shoutem.audio/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/app/index.js -------------------------------------------------------------------------------- /shoutem.audio/app/ios/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/app/ios/Info.plist -------------------------------------------------------------------------------- /shoutem.audio/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/app/package.json -------------------------------------------------------------------------------- /shoutem.audio/app/permissions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/app/permissions.js -------------------------------------------------------------------------------- /shoutem.audio/app/redux/actions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/app/redux/actions.js -------------------------------------------------------------------------------- /shoutem.audio/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.audio/app/redux/reducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/app/redux/reducer.js -------------------------------------------------------------------------------- /shoutem.audio/app/redux/selectors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/app/redux/selectors.js -------------------------------------------------------------------------------- /shoutem.audio/app/services/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/app/services/index.js -------------------------------------------------------------------------------- /shoutem.audio/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.audio/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/extension.json -------------------------------------------------------------------------------- /shoutem.audio/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/server/package.json -------------------------------------------------------------------------------- /shoutem.audio/server/src/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/server/src/const.js -------------------------------------------------------------------------------- /shoutem.audio/server/src/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/server/src/extension.js -------------------------------------------------------------------------------- /shoutem.audio/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.audio/server/src/index.js -------------------------------------------------------------------------------- /shoutem.auth/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/app.js -------------------------------------------------------------------------------- /shoutem.auth/app/app.web.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/app.web.js -------------------------------------------------------------------------------- /shoutem.auth/app/build/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/build/const.js -------------------------------------------------------------------------------- /shoutem.auth/app/build/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/build/index.js -------------------------------------------------------------------------------- /shoutem.auth/app/build/injectFbSdk.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/build/injectFbSdk.js -------------------------------------------------------------------------------- /shoutem.auth/app/components/AppleSignInButton.web.js: -------------------------------------------------------------------------------- 1 | export default function AppleSignInButton() { 2 | return null; 3 | } 4 | -------------------------------------------------------------------------------- /shoutem.auth/app/components/FacebookButton.web.js: -------------------------------------------------------------------------------- 1 | export default function FacebookButton() { 2 | return null; 3 | } 4 | -------------------------------------------------------------------------------- /shoutem.auth/app/components/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/components/index.js -------------------------------------------------------------------------------- /shoutem.auth/app/components/shapes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/components/shapes.js -------------------------------------------------------------------------------- /shoutem.auth/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/const.js -------------------------------------------------------------------------------- /shoutem.auth/app/errorMessages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/errorMessages.js -------------------------------------------------------------------------------- /shoutem.auth/app/fragments/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/fragments/index.js -------------------------------------------------------------------------------- /shoutem.auth/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/index.js -------------------------------------------------------------------------------- /shoutem.auth/app/ios/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/ios/Info.plist -------------------------------------------------------------------------------- /shoutem.auth/app/loginRequired.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/loginRequired.js -------------------------------------------------------------------------------- /shoutem.auth/app/middleware.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/middleware.js -------------------------------------------------------------------------------- /shoutem.auth/app/navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/navigation.js -------------------------------------------------------------------------------- /shoutem.auth/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/package.json -------------------------------------------------------------------------------- /shoutem.auth/app/permissions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/permissions.js -------------------------------------------------------------------------------- /shoutem.auth/app/providers/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/providers/index.js -------------------------------------------------------------------------------- /shoutem.auth/app/redux.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/redux.js -------------------------------------------------------------------------------- /shoutem.auth/app/services/apple.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/services/apple.js -------------------------------------------------------------------------------- /shoutem.auth/app/services/storage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/services/storage.js -------------------------------------------------------------------------------- /shoutem.auth/app/session.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/session.js -------------------------------------------------------------------------------- /shoutem.auth/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.auth/app/translations/en.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/app/translations/en.json -------------------------------------------------------------------------------- /shoutem.auth/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/extension.json -------------------------------------------------------------------------------- /shoutem.auth/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.auth/server/bin/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/server/bin/index.html -------------------------------------------------------------------------------- /shoutem.auth/server/bin/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/server/bin/index.js -------------------------------------------------------------------------------- /shoutem.auth/server/bin/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/server/bin/main.js -------------------------------------------------------------------------------- /shoutem.auth/server/bin/page/Page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/server/bin/page/Page.js -------------------------------------------------------------------------------- /shoutem.auth/server/bin/page/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/server/bin/page/index.js -------------------------------------------------------------------------------- /shoutem.auth/server/bin/reducers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/server/bin/reducers.js -------------------------------------------------------------------------------- /shoutem.auth/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/server/package.json -------------------------------------------------------------------------------- /shoutem.auth/server/src/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/server/src/const.js -------------------------------------------------------------------------------- /shoutem.auth/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/server/src/index.js -------------------------------------------------------------------------------- /shoutem.auth/server/src/modules/gdpr-settings/components/gdpr-settings/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './GDPRSettings'; 2 | -------------------------------------------------------------------------------- /shoutem.auth/server/src/modules/users/components/change-role-form/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ChangeRoleForm'; 2 | -------------------------------------------------------------------------------- /shoutem.auth/server/src/modules/users/components/change-role-modal/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ChangeRoleModal'; 2 | -------------------------------------------------------------------------------- /shoutem.auth/server/src/pages/gdpr-settings-page/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './GdprSettingsPage'; 2 | -------------------------------------------------------------------------------- /shoutem.auth/server/src/redux.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/server/src/redux.js -------------------------------------------------------------------------------- /shoutem.auth/server/src/style.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/server/src/style.scss -------------------------------------------------------------------------------- /shoutem.auth/server/themes/theme.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.auth/server/themes/theme.json -------------------------------------------------------------------------------- /shoutem.bands-in-town/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.bands-in-town/app/const.js -------------------------------------------------------------------------------- /shoutem.bands-in-town/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.bands-in-town/app/index.js -------------------------------------------------------------------------------- /shoutem.bands-in-town/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.bands-in-town/extension.json -------------------------------------------------------------------------------- /shoutem.besttime/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.besttime/app/app.js -------------------------------------------------------------------------------- /shoutem.besttime/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.besttime/app/const.js -------------------------------------------------------------------------------- /shoutem.besttime/app/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.besttime/app/extension.js -------------------------------------------------------------------------------- /shoutem.besttime/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.besttime/app/index.js -------------------------------------------------------------------------------- /shoutem.besttime/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.besttime/app/package.json -------------------------------------------------------------------------------- /shoutem.besttime/app/redux/actions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.besttime/app/redux/actions.js -------------------------------------------------------------------------------- /shoutem.besttime/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.besttime/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.besttime/app/services/date.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.besttime/app/services/date.js -------------------------------------------------------------------------------- /shoutem.besttime/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.besttime/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.besttime/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.besttime/extension.json -------------------------------------------------------------------------------- /shoutem.besttime/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.besttime/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.besttime/server/bin/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.besttime/server/bin/index.js -------------------------------------------------------------------------------- /shoutem.besttime/server/bin/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.besttime/server/bin/main.js -------------------------------------------------------------------------------- /shoutem.besttime/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.besttime/server/package.json -------------------------------------------------------------------------------- /shoutem.besttime/server/src/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.besttime/server/src/const.js -------------------------------------------------------------------------------- /shoutem.besttime/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.besttime/server/src/index.js -------------------------------------------------------------------------------- /shoutem.besttime/server/src/pages/api-keys-page/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ApiKeysPage'; 2 | -------------------------------------------------------------------------------- /shoutem.besttime/server/src/pages/location-biasing-page/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './LocationBiasingPage'; 2 | -------------------------------------------------------------------------------- /shoutem.books/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.books/app/const.js -------------------------------------------------------------------------------- /shoutem.books/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.books/app/index.js -------------------------------------------------------------------------------- /shoutem.books/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.books/app/package.json -------------------------------------------------------------------------------- /shoutem.books/app/redux.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.books/app/redux.js -------------------------------------------------------------------------------- /shoutem.books/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.books/extension.json -------------------------------------------------------------------------------- /shoutem.books/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.books/server/package.json -------------------------------------------------------------------------------- /shoutem.camera/app/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.camera/app/.editorconfig -------------------------------------------------------------------------------- /shoutem.camera/app/.eslintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.camera/app/.eslintignore -------------------------------------------------------------------------------- /shoutem.camera/app/components/QRCodeScanner.web.js: -------------------------------------------------------------------------------- 1 | export default function QRCodeScanner() { 2 | return null; 3 | } 4 | -------------------------------------------------------------------------------- /shoutem.camera/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.camera/app/const.js -------------------------------------------------------------------------------- /shoutem.camera/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.camera/app/index.js -------------------------------------------------------------------------------- /shoutem.camera/app/navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.camera/app/navigation.js -------------------------------------------------------------------------------- /shoutem.camera/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.camera/app/package.json -------------------------------------------------------------------------------- /shoutem.camera/app/permissions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.camera/app/permissions.js -------------------------------------------------------------------------------- /shoutem.camera/app/redux.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.camera/app/redux.js -------------------------------------------------------------------------------- /shoutem.camera/app/screens/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.camera/app/screens/index.js -------------------------------------------------------------------------------- /shoutem.camera/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.camera/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.camera/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.camera/extension.json -------------------------------------------------------------------------------- /shoutem.camera/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.camera/server/package.json -------------------------------------------------------------------------------- /shoutem.camera/server/src/index.js: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /shoutem.checklist/app/build/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.checklist/app/build/const.js -------------------------------------------------------------------------------- /shoutem.checklist/app/build/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.checklist/app/build/index.js -------------------------------------------------------------------------------- /shoutem.checklist/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.checklist/app/const.js -------------------------------------------------------------------------------- /shoutem.checklist/app/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.checklist/app/extension.js -------------------------------------------------------------------------------- /shoutem.checklist/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.checklist/app/index.js -------------------------------------------------------------------------------- /shoutem.checklist/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.checklist/app/package.json -------------------------------------------------------------------------------- /shoutem.checklist/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.checklist/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.checklist/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.checklist/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.checklist/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.checklist/extension.json -------------------------------------------------------------------------------- /shoutem.checklist/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.checklist/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.checklist/server/bin/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.checklist/server/bin/index.js -------------------------------------------------------------------------------- /shoutem.checklist/server/bin/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.checklist/server/bin/main.js -------------------------------------------------------------------------------- /shoutem.checklist/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.checklist/server/package.json -------------------------------------------------------------------------------- /shoutem.checklist/server/src/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.checklist/server/src/const.js -------------------------------------------------------------------------------- /shoutem.checklist/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.checklist/server/src/index.js -------------------------------------------------------------------------------- /shoutem.cms/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/app/app.js -------------------------------------------------------------------------------- /shoutem.cms/app/components/Header.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/app/components/Header.js -------------------------------------------------------------------------------- /shoutem.cms/app/components/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/app/components/index.js -------------------------------------------------------------------------------- /shoutem.cms/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/app/const.js -------------------------------------------------------------------------------- /shoutem.cms/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/app/index.js -------------------------------------------------------------------------------- /shoutem.cms/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/app/package.json -------------------------------------------------------------------------------- /shoutem.cms/app/permissions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/app/permissions.js -------------------------------------------------------------------------------- /shoutem.cms/app/redux/actions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/app/redux/actions.js -------------------------------------------------------------------------------- /shoutem.cms/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.cms/app/redux/middleware.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/app/redux/middleware.js -------------------------------------------------------------------------------- /shoutem.cms/app/redux/reducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/app/redux/reducer.js -------------------------------------------------------------------------------- /shoutem.cms/app/redux/selectors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/app/redux/selectors.js -------------------------------------------------------------------------------- /shoutem.cms/app/services/getMapUrl.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/app/services/getMapUrl.js -------------------------------------------------------------------------------- /shoutem.cms/app/services/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/app/services/index.js -------------------------------------------------------------------------------- /shoutem.cms/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.cms/app/translations/en.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/app/translations/en.json -------------------------------------------------------------------------------- /shoutem.cms/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/extension.json -------------------------------------------------------------------------------- /shoutem.cms/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.cms/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/server/package.json -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/category-name-modal/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './CategoryNameModal'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/category-selector/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './CategorySelector'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/category-tree-item/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './CategoryTreeItem'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/category-tree/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './CategoryTree'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/cms-actions-menu/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './CmsActionsMenu'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/cms-table-row/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './CmsTableRow'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/cms-table/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './CmsTable'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/filters-form-item/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './FiltersFormItem'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/filters-form/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './FiltersForm'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/filters-modal/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './FiltersModal'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/form-container/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './FormContainer'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/input-table-header/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './InputTableHeader'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/language-selector/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './LanguageSelector'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/resource-form-modal/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ResourceFormModal'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/search-form/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './SearchForm'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/section-form/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './SectionForm'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/select-table-header/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './SelectTableHeader'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/table/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Table'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/text-table-column/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './TextTableColumn'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/cms-dashboard/components/text-table-header/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './TextTableHeader'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/components/checkbox-menu-item/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './CheckboxMenuItem'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/components/child-category-selector/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ChildCategorySelector'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/components/importer-csv-form/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ImporterCsvForm'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/components/importer-csv-mapping-form/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ImporterCsvMappingForm'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/components/importer-csv-mapping-item/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ImporterCsvMappingItem'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/components/importer-language-selector/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ImporterLanguageSelector'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/components/importer-modal/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ImporterModal'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/components/importer-rss-form/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ImporterRssForm'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/components/importer-schedule-selector/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ImporterScheduleSelector'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/components/importer-table/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ImporterTable'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/components/manage-content-button/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ManageContentButton'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/components/paging-more/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './PagingMore'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/components/parent-category-selector/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ParentCategorySelector'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/components/push-notification-modal/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './PushNotificationModal'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/components/sort-options/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './SortOptions'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/components/toggle-content/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ToggleContent'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/server/src/const.js -------------------------------------------------------------------------------- /shoutem.cms/server/src/file-upload/audio-preview/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './AudioPreview'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/file-upload/audio-upload-placeholder/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './AudioUploadPlaceholder'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/file-upload/audio-uploader/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './AudioUploader'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/file-upload/file-preview/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './FilePreview'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/file-upload/file-upload-placeholder/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './FileUploadPlaceholder'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/file-upload/file-uploader/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './FileUploader'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/file-upload/image-preview/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ImagePreview'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/file-upload/image-upload-placeholder/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ImageUploadPlaceholder'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/file-upload/image-uploader/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ImageUploader'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/file-upload/services/index.js: -------------------------------------------------------------------------------- 1 | export { resolveCdnUrl } from './uploader'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/form-builder/components/array-form-element/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ArrayFormElement'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/fragments/advanced-setup/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './AdvancedSetup'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/fragments/importer-dashboard/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ImporterDashboard'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/fragments/resource-dashboard/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ResourceDashboard'; 2 | -------------------------------------------------------------------------------- /shoutem.cms/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/server/src/index.js -------------------------------------------------------------------------------- /shoutem.cms/server/src/reducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/server/src/reducer.js -------------------------------------------------------------------------------- /shoutem.cms/server/src/selectors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/server/src/selectors.js -------------------------------------------------------------------------------- /shoutem.cms/server/src/types.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.cms/server/src/types.js -------------------------------------------------------------------------------- /shoutem.deals/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/app/app.js -------------------------------------------------------------------------------- /shoutem.deals/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/app/const.js -------------------------------------------------------------------------------- /shoutem.deals/app/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/app/extension.js -------------------------------------------------------------------------------- /shoutem.deals/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/app/index.js -------------------------------------------------------------------------------- /shoutem.deals/app/middleware.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/app/middleware.js -------------------------------------------------------------------------------- /shoutem.deals/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/app/package.json -------------------------------------------------------------------------------- /shoutem.deals/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.deals/app/redux/reducers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/app/redux/reducers.js -------------------------------------------------------------------------------- /shoutem.deals/app/redux/selectors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/app/redux/selectors.js -------------------------------------------------------------------------------- /shoutem.deals/app/services/deals.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/app/services/deals.js -------------------------------------------------------------------------------- /shoutem.deals/app/services/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/app/services/index.js -------------------------------------------------------------------------------- /shoutem.deals/app/services/maps.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/app/services/maps.js -------------------------------------------------------------------------------- /shoutem.deals/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.deals/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/extension.json -------------------------------------------------------------------------------- /shoutem.deals/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.deals/server/bin/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/server/bin/index.html -------------------------------------------------------------------------------- /shoutem.deals/server/bin/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/server/bin/index.js -------------------------------------------------------------------------------- /shoutem.deals/server/bin/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/server/bin/main.js -------------------------------------------------------------------------------- /shoutem.deals/server/bin/page/Page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/server/bin/page/Page.js -------------------------------------------------------------------------------- /shoutem.deals/server/bin/reducers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/server/bin/reducers.js -------------------------------------------------------------------------------- /shoutem.deals/server/cms-dashboard/components/filters-form-item/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './FiltersFormItem'; 2 | -------------------------------------------------------------------------------- /shoutem.deals/server/cms-dashboard/components/filters-form/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './FiltersForm'; 2 | -------------------------------------------------------------------------------- /shoutem.deals/server/cms-dashboard/components/filters-modal/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './FiltersModal'; 2 | -------------------------------------------------------------------------------- /shoutem.deals/server/cms-dashboard/components/search-form/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './SearchForm'; 2 | -------------------------------------------------------------------------------- /shoutem.deals/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/server/package.json -------------------------------------------------------------------------------- /shoutem.deals/server/src/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/server/src/const.js -------------------------------------------------------------------------------- /shoutem.deals/server/src/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/server/src/extension.js -------------------------------------------------------------------------------- /shoutem.deals/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/server/src/index.js -------------------------------------------------------------------------------- /shoutem.deals/server/src/redux.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/server/src/redux.js -------------------------------------------------------------------------------- /shoutem.deals/server/src/style.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.deals/server/src/style.scss -------------------------------------------------------------------------------- /shoutem.events/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.events/app/const.js -------------------------------------------------------------------------------- /shoutem.events/app/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.events/app/extension.js -------------------------------------------------------------------------------- /shoutem.events/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.events/app/index.js -------------------------------------------------------------------------------- /shoutem.events/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.events/app/package.json -------------------------------------------------------------------------------- /shoutem.events/app/permissions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.events/app/permissions.js -------------------------------------------------------------------------------- /shoutem.events/app/redux.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.events/app/redux.js -------------------------------------------------------------------------------- /shoutem.events/app/shared/Calendar.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.events/app/shared/Calendar.js -------------------------------------------------------------------------------- /shoutem.events/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.events/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.events/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.events/extension.json -------------------------------------------------------------------------------- /shoutem.events/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.events/server/package.json -------------------------------------------------------------------------------- /shoutem.favorites/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.favorites/app/app.js -------------------------------------------------------------------------------- /shoutem.favorites/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.favorites/app/const.js -------------------------------------------------------------------------------- /shoutem.favorites/app/helpers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.favorites/app/helpers.js -------------------------------------------------------------------------------- /shoutem.favorites/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.favorites/app/index.js -------------------------------------------------------------------------------- /shoutem.favorites/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.favorites/app/package.json -------------------------------------------------------------------------------- /shoutem.favorites/app/redux.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.favorites/app/redux.js -------------------------------------------------------------------------------- /shoutem.favorites/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.favorites/extension.json -------------------------------------------------------------------------------- /shoutem.favorites/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.favorites/server/package.json -------------------------------------------------------------------------------- /shoutem.firebase/app/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.firebase/app/.gitignore -------------------------------------------------------------------------------- /shoutem.firebase/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.firebase/app/app.js -------------------------------------------------------------------------------- /shoutem.firebase/app/build/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.firebase/app/build/const.js -------------------------------------------------------------------------------- /shoutem.firebase/app/build/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.firebase/app/build/index.js -------------------------------------------------------------------------------- /shoutem.firebase/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.firebase/app/const.js -------------------------------------------------------------------------------- /shoutem.firebase/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.firebase/app/index.js -------------------------------------------------------------------------------- /shoutem.firebase/app/index.web.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.firebase/app/index.web.js -------------------------------------------------------------------------------- /shoutem.firebase/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.firebase/app/package.json -------------------------------------------------------------------------------- /shoutem.firebase/app/permissions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.firebase/app/permissions.js -------------------------------------------------------------------------------- /shoutem.firebase/app/redux/actions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.firebase/app/redux/actions.js -------------------------------------------------------------------------------- /shoutem.firebase/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.firebase/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.firebase/app/redux/reducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.firebase/app/redux/reducer.js -------------------------------------------------------------------------------- /shoutem.firebase/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.firebase/extension.json -------------------------------------------------------------------------------- /shoutem.firebase/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.firebase/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.firebase/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.firebase/server/package.json -------------------------------------------------------------------------------- /shoutem.firebase/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.firebase/server/src/index.js -------------------------------------------------------------------------------- /shoutem.fonts/app/.gitignore: -------------------------------------------------------------------------------- 1 | /fonts 2 | -------------------------------------------------------------------------------- /shoutem.fonts/app/build/fontname.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.fonts/app/build/fontname.py -------------------------------------------------------------------------------- /shoutem.fonts/app/build/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.fonts/app/build/index.js -------------------------------------------------------------------------------- /shoutem.fonts/app/index.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /shoutem.fonts/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.fonts/app/package.json -------------------------------------------------------------------------------- /shoutem.fonts/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.fonts/extension.json -------------------------------------------------------------------------------- /shoutem.fonts/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.fonts/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.fonts/server/bin/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.fonts/server/bin/index.html -------------------------------------------------------------------------------- /shoutem.fonts/server/bin/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.fonts/server/bin/index.js -------------------------------------------------------------------------------- /shoutem.fonts/server/bin/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.fonts/server/bin/main.js -------------------------------------------------------------------------------- /shoutem.fonts/server/bin/page/Page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.fonts/server/bin/page/Page.js -------------------------------------------------------------------------------- /shoutem.fonts/server/bin/reducers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.fonts/server/bin/reducers.js -------------------------------------------------------------------------------- /shoutem.fonts/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.fonts/server/package.json -------------------------------------------------------------------------------- /shoutem.fonts/server/src/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.fonts/server/src/const.js -------------------------------------------------------------------------------- /shoutem.fonts/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.fonts/server/src/index.js -------------------------------------------------------------------------------- /shoutem.fonts/server/src/modules/fonts/components/custom-fonts-table/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './CustomFontsTable'; 2 | -------------------------------------------------------------------------------- /shoutem.fonts/server/src/modules/fonts/components/delete-font-modal/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './DeleteFontModal'; 2 | -------------------------------------------------------------------------------- /shoutem.fonts/server/src/modules/fonts/components/font-modal/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './FontModal'; 2 | -------------------------------------------------------------------------------- /shoutem.fonts/server/src/modules/fonts/services/index.js: -------------------------------------------------------------------------------- 1 | export { downloadFont } from './font'; 2 | -------------------------------------------------------------------------------- /shoutem.fonts/server/src/redux.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.fonts/server/src/redux.js -------------------------------------------------------------------------------- /shoutem.fonts/server/src/style.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.fonts/server/src/style.scss -------------------------------------------------------------------------------- /shoutem.geo-restrictions/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.geo-restrictions/app/app.js -------------------------------------------------------------------------------- /shoutem.geo-restrictions/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.geo-restrictions/app/const.js -------------------------------------------------------------------------------- /shoutem.geo-restrictions/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.geo-restrictions/app/index.js -------------------------------------------------------------------------------- /shoutem.google-analytics/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.google-analytics/app/const.js -------------------------------------------------------------------------------- /shoutem.google-analytics/app/index.js: -------------------------------------------------------------------------------- 1 | export { middleware } from './redux'; 2 | -------------------------------------------------------------------------------- /shoutem.google-analytics/cloud/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | -------------------------------------------------------------------------------- /shoutem.google-analytics/cloud/.npmrc: -------------------------------------------------------------------------------- 1 | save-exact=false 2 | unsafe-perm=true 3 | -------------------------------------------------------------------------------- /shoutem.google-analytics/cloud/docker/db/init.sql: -------------------------------------------------------------------------------- 1 | CREATE EXTENSION btree_gist; 2 | -------------------------------------------------------------------------------- /shoutem.google-analytics/cloud/src/analytics/io/index.ts: -------------------------------------------------------------------------------- 1 | import './analytics-io'; 2 | -------------------------------------------------------------------------------- /shoutem.google-analytics/cloud/src/app/const.ts: -------------------------------------------------------------------------------- 1 | export const APP_LOCALS_PATH = 'app'; 2 | -------------------------------------------------------------------------------- /shoutem.google-analytics/cloud/src/app/io/index.ts: -------------------------------------------------------------------------------- 1 | import './app-io'; 2 | -------------------------------------------------------------------------------- /shoutem.google-analytics/cloud/src/app/io/types.ts: -------------------------------------------------------------------------------- 1 | export const APP_TYPE = 'shoutem.google-analytics.apps'; 2 | -------------------------------------------------------------------------------- /shoutem.google-analytics/cloud/src/application/const.ts: -------------------------------------------------------------------------------- 1 | export const APPLICATION_LOCALS_PATH = 'application'; 2 | -------------------------------------------------------------------------------- /shoutem.google-analytics/cloud/src/sequelize/migrations/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /shoutem.google-analytics/cloud/src/sequelize/seeders/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /shoutem.google-analytics/cloud/src/shared/auth/const.ts: -------------------------------------------------------------------------------- 1 | export const AUTH = 'auth'; 2 | -------------------------------------------------------------------------------- /shoutem.google-analytics/cloud/template/{=moduleName=}/io/index.ts: -------------------------------------------------------------------------------- 1 | import './{=moduleName=}-io'; 2 | -------------------------------------------------------------------------------- /shoutem.google-analytics/server/src/modules/app/components/index.js: -------------------------------------------------------------------------------- 1 | export { AppForm } from './app-form'; 2 | -------------------------------------------------------------------------------- /shoutem.i18n/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/app/app.js -------------------------------------------------------------------------------- /shoutem.i18n/app/build.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/app/build.js -------------------------------------------------------------------------------- /shoutem.i18n/app/components/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/app/components/index.js -------------------------------------------------------------------------------- /shoutem.i18n/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/app/const.js -------------------------------------------------------------------------------- /shoutem.i18n/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/app/index.js -------------------------------------------------------------------------------- /shoutem.i18n/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/app/package.json -------------------------------------------------------------------------------- /shoutem.i18n/app/providers/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/app/providers/index.js -------------------------------------------------------------------------------- /shoutem.i18n/app/redux/actions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/app/redux/actions.js -------------------------------------------------------------------------------- /shoutem.i18n/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.i18n/app/redux/middleware.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/app/redux/middleware.js -------------------------------------------------------------------------------- /shoutem.i18n/app/redux/reducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/app/redux/reducer.js -------------------------------------------------------------------------------- /shoutem.i18n/app/redux/selectors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/app/redux/selectors.js -------------------------------------------------------------------------------- /shoutem.i18n/app/screens/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/app/screens/index.js -------------------------------------------------------------------------------- /shoutem.i18n/app/services/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/app/services/index.js -------------------------------------------------------------------------------- /shoutem.i18n/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.i18n/app/translations/index.js: -------------------------------------------------------------------------------- 1 | export default 'TRANSLATIONS_NOT_DOWNLOADED'; 2 | -------------------------------------------------------------------------------- /shoutem.i18n/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/extension.json -------------------------------------------------------------------------------- /shoutem.i18n/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.i18n/server/bin/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/server/bin/index.html -------------------------------------------------------------------------------- /shoutem.i18n/server/bin/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/server/bin/index.js -------------------------------------------------------------------------------- /shoutem.i18n/server/bin/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/server/bin/main.js -------------------------------------------------------------------------------- /shoutem.i18n/server/bin/page/Page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/server/bin/page/Page.js -------------------------------------------------------------------------------- /shoutem.i18n/server/bin/page/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/server/bin/page/index.js -------------------------------------------------------------------------------- /shoutem.i18n/server/bin/reducers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/server/bin/reducers.js -------------------------------------------------------------------------------- /shoutem.i18n/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/server/package.json -------------------------------------------------------------------------------- /shoutem.i18n/server/src/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/server/src/const.js -------------------------------------------------------------------------------- /shoutem.i18n/server/src/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/server/src/extension.js -------------------------------------------------------------------------------- /shoutem.i18n/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/server/src/index.js -------------------------------------------------------------------------------- /shoutem.i18n/server/src/pages/categories-page/components/screen-table/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ScreenTable'; 2 | -------------------------------------------------------------------------------- /shoutem.i18n/server/src/pages/categories-page/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './CategoriesPage'; 2 | -------------------------------------------------------------------------------- /shoutem.i18n/server/src/pages/language-page/style.scss: -------------------------------------------------------------------------------- 1 | .btn-toolbar { 2 | margin-top: 15px; 3 | } 4 | -------------------------------------------------------------------------------- /shoutem.i18n/server/src/redux.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/server/src/redux.js -------------------------------------------------------------------------------- /shoutem.i18n/server/src/style.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.i18n/server/src/style.scss -------------------------------------------------------------------------------- /shoutem.ical-events/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.ical-events/app/const.js -------------------------------------------------------------------------------- /shoutem.ical-events/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.ical-events/app/index.js -------------------------------------------------------------------------------- /shoutem.ical-events/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.ical-events/app/package.json -------------------------------------------------------------------------------- /shoutem.ical-events/app/redux.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.ical-events/app/redux.js -------------------------------------------------------------------------------- /shoutem.ical-events/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.ical-events/extension.json -------------------------------------------------------------------------------- /shoutem.ical-events/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.ical-events/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.ical-events/server/src/pages/ical-page/style.scss: -------------------------------------------------------------------------------- 1 | .btn-toolbar { 2 | margin-top: 15px; 3 | } 4 | -------------------------------------------------------------------------------- /shoutem.in-app-purchases/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.in-app-purchases/app/app.js -------------------------------------------------------------------------------- /shoutem.in-app-purchases/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.in-app-purchases/app/const.js -------------------------------------------------------------------------------- /shoutem.in-app-purchases/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.in-app-purchases/app/index.js -------------------------------------------------------------------------------- /shoutem.in-app-purchases/server/src/index.js: -------------------------------------------------------------------------------- 1 | export * from './extension'; 2 | -------------------------------------------------------------------------------- /shoutem.interactive-faq/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.interactive-faq/app/const.js -------------------------------------------------------------------------------- /shoutem.interactive-faq/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.interactive-faq/app/index.js -------------------------------------------------------------------------------- /shoutem.interactive-faq/app/redux/const.js: -------------------------------------------------------------------------------- 1 | export const QUESTIONS_SCHEMA = 'shoutem.interactive-faq.questions'; 2 | -------------------------------------------------------------------------------- /shoutem.interactive-faq/server/src/pages/settingsPage/style.scss: -------------------------------------------------------------------------------- 1 | .btn-toolbar { 2 | padding-top: 24px; 3 | } 4 | -------------------------------------------------------------------------------- /shoutem.layouts/app/assets/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.layouts/app/assets/index.js -------------------------------------------------------------------------------- /shoutem.layouts/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.layouts/app/const.js -------------------------------------------------------------------------------- /shoutem.layouts/app/details/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.layouts/app/details/index.js -------------------------------------------------------------------------------- /shoutem.layouts/app/grid-122/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.layouts/app/grid-122/index.js -------------------------------------------------------------------------------- /shoutem.layouts/app/grid-122/services/index.js: -------------------------------------------------------------------------------- 1 | export { mapDataFor122Layout } from './mapper'; 2 | -------------------------------------------------------------------------------- /shoutem.layouts/app/hooks/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.layouts/app/hooks/index.js -------------------------------------------------------------------------------- /shoutem.layouts/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.layouts/app/index.js -------------------------------------------------------------------------------- /shoutem.layouts/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.layouts/app/package.json -------------------------------------------------------------------------------- /shoutem.layouts/app/services/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.layouts/app/services/index.js -------------------------------------------------------------------------------- /shoutem.layouts/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.layouts/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.layouts/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.layouts/extension.json -------------------------------------------------------------------------------- /shoutem.layouts/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.layouts/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.layouts/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.layouts/server/package.json -------------------------------------------------------------------------------- /shoutem.layouts/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.layouts/server/src/index.js -------------------------------------------------------------------------------- /shoutem.layouts/server/src/reducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.layouts/server/src/reducer.js -------------------------------------------------------------------------------- /shoutem.layouts/server/src/services/index.js: -------------------------------------------------------------------------------- 1 | export { translateExt18n } from './localization'; 2 | -------------------------------------------------------------------------------- /shoutem.live-update/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.live-update/app/app.js -------------------------------------------------------------------------------- /shoutem.live-update/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.live-update/app/const.js -------------------------------------------------------------------------------- /shoutem.live-update/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.live-update/app/index.js -------------------------------------------------------------------------------- /shoutem.live-update/app/index.web.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.live-update/app/index.web.js -------------------------------------------------------------------------------- /shoutem.live-update/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.live-update/app/package.json -------------------------------------------------------------------------------- /shoutem.live-update/cloud/.babelrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.live-update/cloud/.babelrc -------------------------------------------------------------------------------- /shoutem.live-update/cloud/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | -------------------------------------------------------------------------------- /shoutem.live-update/cloud/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.live-update/cloud/.gitignore -------------------------------------------------------------------------------- /shoutem.live-update/cloud/.npmrc: -------------------------------------------------------------------------------- 1 | save-exact=false 2 | unsafe-perm=true 3 | -------------------------------------------------------------------------------- /shoutem.live-update/cloud/.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.live-update/cloud/.prettierrc -------------------------------------------------------------------------------- /shoutem.live-update/cloud/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.live-update/cloud/README.md -------------------------------------------------------------------------------- /shoutem.live-update/cloud/cli/cli.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.live-update/cloud/cli/cli.js -------------------------------------------------------------------------------- /shoutem.live-update/cloud/docker/db/init.sql: -------------------------------------------------------------------------------- 1 | CREATE EXTENSION btree_gist; 2 | -------------------------------------------------------------------------------- /shoutem.live-update/cloud/docker/redis/redis.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM redis:7.0.11-alpine3.17 2 | -------------------------------------------------------------------------------- /shoutem.live-update/cloud/schema.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.live-update/cloud/schema.js -------------------------------------------------------------------------------- /shoutem.live-update/cloud/src/app/const.ts: -------------------------------------------------------------------------------- 1 | export const APP_LOCALS_PATH = 'app'; 2 | -------------------------------------------------------------------------------- /shoutem.live-update/cloud/src/app/io/index.ts: -------------------------------------------------------------------------------- 1 | import './app-io'; 2 | -------------------------------------------------------------------------------- /shoutem.live-update/cloud/src/app/io/types.ts: -------------------------------------------------------------------------------- 1 | export const APP_TYPE = 'shoutem.live-update.apps'; 2 | -------------------------------------------------------------------------------- /shoutem.live-update/cloud/src/asset/io/index.ts: -------------------------------------------------------------------------------- 1 | import './asset-io'; 2 | -------------------------------------------------------------------------------- /shoutem.live-update/cloud/src/asset/io/types.ts: -------------------------------------------------------------------------------- 1 | export const ASSET_TYPE = 'shoutem.live-update.assets'; 2 | -------------------------------------------------------------------------------- /shoutem.live-update/cloud/src/sequelize/migrations/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /shoutem.live-update/cloud/src/sequelize/seeders/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /shoutem.live-update/cloud/src/shared/auth/const.ts: -------------------------------------------------------------------------------- 1 | export const AUTH = 'auth'; 2 | -------------------------------------------------------------------------------- /shoutem.live-update/cloud/template/{=moduleName=}/io/index.ts: -------------------------------------------------------------------------------- 1 | import './{=moduleName=}-io'; 2 | -------------------------------------------------------------------------------- /shoutem.live-update/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.live-update/extension.json -------------------------------------------------------------------------------- /shoutem.loyalty/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/app/app.js -------------------------------------------------------------------------------- /shoutem.loyalty/app/build/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/app/build/const.js -------------------------------------------------------------------------------- /shoutem.loyalty/app/build/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/app/build/index.js -------------------------------------------------------------------------------- /shoutem.loyalty/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/app/const.js -------------------------------------------------------------------------------- /shoutem.loyalty/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/app/index.js -------------------------------------------------------------------------------- /shoutem.loyalty/app/navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/app/navigation.js -------------------------------------------------------------------------------- /shoutem.loyalty/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/app/package.json -------------------------------------------------------------------------------- /shoutem.loyalty/app/permissions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/app/permissions.js -------------------------------------------------------------------------------- /shoutem.loyalty/app/redux.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/app/redux.js -------------------------------------------------------------------------------- /shoutem.loyalty/app/services.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/app/services.js -------------------------------------------------------------------------------- /shoutem.loyalty/app/shared/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/app/shared/index.js -------------------------------------------------------------------------------- /shoutem.loyalty/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.loyalty/app/translations/index.js: -------------------------------------------------------------------------------- 1 | export * from './errorMessages'; 2 | -------------------------------------------------------------------------------- /shoutem.loyalty/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/extension.json -------------------------------------------------------------------------------- /shoutem.loyalty/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.loyalty/server/bin/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/server/bin/index.html -------------------------------------------------------------------------------- /shoutem.loyalty/server/bin/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/server/bin/index.js -------------------------------------------------------------------------------- /shoutem.loyalty/server/bin/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/server/bin/main.js -------------------------------------------------------------------------------- /shoutem.loyalty/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/server/package.json -------------------------------------------------------------------------------- /shoutem.loyalty/server/src/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/server/src/const.js -------------------------------------------------------------------------------- /shoutem.loyalty/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/server/src/index.js -------------------------------------------------------------------------------- /shoutem.loyalty/server/src/pages/loyalty-settings-page/style.scss: -------------------------------------------------------------------------------- 1 | .loyalty-settings-page { 2 | min-height: 1024px; 3 | } 4 | -------------------------------------------------------------------------------- /shoutem.loyalty/server/src/redux.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/server/src/redux.js -------------------------------------------------------------------------------- /shoutem.loyalty/server/src/style.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.loyalty/server/src/style.scss -------------------------------------------------------------------------------- /shoutem.menu/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.menu/app/const.js -------------------------------------------------------------------------------- /shoutem.menu/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.menu/app/index.js -------------------------------------------------------------------------------- /shoutem.menu/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.menu/app/package.json -------------------------------------------------------------------------------- /shoutem.menu/app/reducers/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.menu/app/reducers/index.js -------------------------------------------------------------------------------- /shoutem.menu/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.menu/extension.json -------------------------------------------------------------------------------- /shoutem.menu/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.menu/server/package.json -------------------------------------------------------------------------------- /shoutem.navigation/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.navigation/app/app.js -------------------------------------------------------------------------------- /shoutem.navigation/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.navigation/app/const.js -------------------------------------------------------------------------------- /shoutem.navigation/app/hoc/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.navigation/app/hoc/index.js -------------------------------------------------------------------------------- /shoutem.navigation/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.navigation/app/index.js -------------------------------------------------------------------------------- /shoutem.navigation/app/navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.navigation/app/navigation.js -------------------------------------------------------------------------------- /shoutem.navigation/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.navigation/app/package.json -------------------------------------------------------------------------------- /shoutem.navigation/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.navigation/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.navigation/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.navigation/extension.json -------------------------------------------------------------------------------- /shoutem.navigation/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.navigation/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.news/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.news/app/const.js -------------------------------------------------------------------------------- /shoutem.news/app/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.news/app/extension.js -------------------------------------------------------------------------------- /shoutem.news/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.news/app/index.js -------------------------------------------------------------------------------- /shoutem.news/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.news/app/package.json -------------------------------------------------------------------------------- /shoutem.news/app/reducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.news/app/reducer.js -------------------------------------------------------------------------------- /shoutem.news/app/services/images.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.news/app/services/images.js -------------------------------------------------------------------------------- /shoutem.news/app/services/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.news/app/services/index.js -------------------------------------------------------------------------------- /shoutem.news/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.news/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.news/app/translations/en.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.news/app/translations/en.json -------------------------------------------------------------------------------- /shoutem.news/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.news/extension.json -------------------------------------------------------------------------------- /shoutem.news/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.news/server/package.json -------------------------------------------------------------------------------- /shoutem.notification-center/app/.gitignore: -------------------------------------------------------------------------------- 1 | /assets/sounds 2 | -------------------------------------------------------------------------------- /shoutem.notification-center/server/src/modules/app/services/index.js: -------------------------------------------------------------------------------- 1 | export { isPublished } from './app'; 2 | -------------------------------------------------------------------------------- /shoutem.onboarding/app/.gitignore: -------------------------------------------------------------------------------- 1 | /prefetchImages.json 2 | -------------------------------------------------------------------------------- /shoutem.onboarding/app/assets/index.js: -------------------------------------------------------------------------------- 1 | export const images = { 2 | }; 3 | -------------------------------------------------------------------------------- /shoutem.onboarding/app/build/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.onboarding/app/build/const.js -------------------------------------------------------------------------------- /shoutem.onboarding/app/build/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.onboarding/app/build/index.js -------------------------------------------------------------------------------- /shoutem.onboarding/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.onboarding/app/const.js -------------------------------------------------------------------------------- /shoutem.onboarding/app/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.onboarding/app/extension.js -------------------------------------------------------------------------------- /shoutem.onboarding/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.onboarding/app/index.js -------------------------------------------------------------------------------- /shoutem.onboarding/app/navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.onboarding/app/navigation.js -------------------------------------------------------------------------------- /shoutem.onboarding/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.onboarding/app/package.json -------------------------------------------------------------------------------- /shoutem.onboarding/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.onboarding/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.onboarding/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.onboarding/extension.json -------------------------------------------------------------------------------- /shoutem.onboarding/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.onboarding/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.onboarding/server/bin/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.onboarding/server/bin/main.js -------------------------------------------------------------------------------- /shoutem.onboarding/server/src/pages/onboarding-settings-page/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './OnboardingSettingsPage'; 2 | -------------------------------------------------------------------------------- /shoutem.page/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.page/app/const.js -------------------------------------------------------------------------------- /shoutem.page/app/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.page/app/extension.js -------------------------------------------------------------------------------- /shoutem.page/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.page/app/index.js -------------------------------------------------------------------------------- /shoutem.page/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.page/app/package.json -------------------------------------------------------------------------------- /shoutem.page/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.page/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.page/app/redux/middleware.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.page/app/redux/middleware.js -------------------------------------------------------------------------------- /shoutem.page/app/redux/reducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.page/app/redux/reducer.js -------------------------------------------------------------------------------- /shoutem.page/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.page/extension.json -------------------------------------------------------------------------------- /shoutem.page/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.page/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.page/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.page/server/package.json -------------------------------------------------------------------------------- /shoutem.page/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.page/server/src/index.js -------------------------------------------------------------------------------- /shoutem.people/app/build/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.people/app/build/const.js -------------------------------------------------------------------------------- /shoutem.people/app/build/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.people/app/build/index.js -------------------------------------------------------------------------------- /shoutem.people/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.people/app/const.js -------------------------------------------------------------------------------- /shoutem.people/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.people/app/index.js -------------------------------------------------------------------------------- /shoutem.people/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.people/app/package.json -------------------------------------------------------------------------------- /shoutem.people/app/reducers/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.people/app/reducers/index.js -------------------------------------------------------------------------------- /shoutem.people/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.people/extension.json -------------------------------------------------------------------------------- /shoutem.people/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.people/server/package.json -------------------------------------------------------------------------------- /shoutem.permissions/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.permissions/app/app.js -------------------------------------------------------------------------------- /shoutem.permissions/app/app.web.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.permissions/app/app.web.js -------------------------------------------------------------------------------- /shoutem.permissions/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.permissions/app/const.js -------------------------------------------------------------------------------- /shoutem.permissions/app/const.web.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.permissions/app/const.web.js -------------------------------------------------------------------------------- /shoutem.permissions/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.permissions/app/index.js -------------------------------------------------------------------------------- /shoutem.permissions/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.permissions/app/package.json -------------------------------------------------------------------------------- /shoutem.permissions/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.permissions/extension.json -------------------------------------------------------------------------------- /shoutem.permissions/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.permissions/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.persist/app/enhancers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.persist/app/enhancers.js -------------------------------------------------------------------------------- /shoutem.persist/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.persist/app/index.js -------------------------------------------------------------------------------- /shoutem.persist/app/middleware.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.persist/app/middleware.js -------------------------------------------------------------------------------- /shoutem.persist/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.persist/app/package.json -------------------------------------------------------------------------------- /shoutem.persist/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.persist/extension.json -------------------------------------------------------------------------------- /shoutem.persist/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.persist/readme.md -------------------------------------------------------------------------------- /shoutem.persist/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.persist/server/package.json -------------------------------------------------------------------------------- /shoutem.photos/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.photos/app/const.js -------------------------------------------------------------------------------- /shoutem.photos/app/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.photos/app/extension.js -------------------------------------------------------------------------------- /shoutem.photos/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.photos/app/index.js -------------------------------------------------------------------------------- /shoutem.photos/app/navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.photos/app/navigation.js -------------------------------------------------------------------------------- /shoutem.photos/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.photos/app/package.json -------------------------------------------------------------------------------- /shoutem.photos/app/reducers/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.photos/app/reducers/index.js -------------------------------------------------------------------------------- /shoutem.photos/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.photos/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.photos/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.photos/extension.json -------------------------------------------------------------------------------- /shoutem.photos/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.photos/server/package.json -------------------------------------------------------------------------------- /shoutem.places/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.places/app/const.js -------------------------------------------------------------------------------- /shoutem.places/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.places/app/index.js -------------------------------------------------------------------------------- /shoutem.places/app/navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.places/app/navigation.js -------------------------------------------------------------------------------- /shoutem.places/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.places/app/package.json -------------------------------------------------------------------------------- /shoutem.places/app/redux/actions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.places/app/redux/actions.js -------------------------------------------------------------------------------- /shoutem.places/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.places/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.places/app/redux/reducers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.places/app/redux/reducers.js -------------------------------------------------------------------------------- /shoutem.places/app/redux/selectors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.places/app/redux/selectors.js -------------------------------------------------------------------------------- /shoutem.places/app/services/deals.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.places/app/services/deals.js -------------------------------------------------------------------------------- /shoutem.places/app/services/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.places/app/services/index.js -------------------------------------------------------------------------------- /shoutem.places/app/services/places.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.places/app/services/places.js -------------------------------------------------------------------------------- /shoutem.places/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.places/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.places/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.places/extension.json -------------------------------------------------------------------------------- /shoutem.places/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.places/server/package.json -------------------------------------------------------------------------------- /shoutem.podcast/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/app/app.js -------------------------------------------------------------------------------- /shoutem.podcast/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/app/const.js -------------------------------------------------------------------------------- /shoutem.podcast/app/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/app/extension.js -------------------------------------------------------------------------------- /shoutem.podcast/app/hooks/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/app/hooks/index.js -------------------------------------------------------------------------------- /shoutem.podcast/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/app/index.js -------------------------------------------------------------------------------- /shoutem.podcast/app/navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/app/navigation.js -------------------------------------------------------------------------------- /shoutem.podcast/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/app/package.json -------------------------------------------------------------------------------- /shoutem.podcast/app/redux/actions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/app/redux/actions.js -------------------------------------------------------------------------------- /shoutem.podcast/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.podcast/app/redux/reducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/app/redux/reducer.js -------------------------------------------------------------------------------- /shoutem.podcast/app/services/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/app/services/index.js -------------------------------------------------------------------------------- /shoutem.podcast/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.podcast/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/extension.json -------------------------------------------------------------------------------- /shoutem.podcast/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.podcast/server/bin/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/server/bin/index.html -------------------------------------------------------------------------------- /shoutem.podcast/server/bin/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/server/bin/index.js -------------------------------------------------------------------------------- /shoutem.podcast/server/bin/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/server/bin/main.js -------------------------------------------------------------------------------- /shoutem.podcast/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/server/package.json -------------------------------------------------------------------------------- /shoutem.podcast/server/src/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/server/src/const.js -------------------------------------------------------------------------------- /shoutem.podcast/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.podcast/server/src/index.js -------------------------------------------------------------------------------- /shoutem.preview/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.preview/app/app.js -------------------------------------------------------------------------------- /shoutem.preview/app/app.web.js: -------------------------------------------------------------------------------- 1 | export const isPreviewApp = true; 2 | -------------------------------------------------------------------------------- /shoutem.preview/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.preview/app/const.js -------------------------------------------------------------------------------- /shoutem.preview/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.preview/app/index.js -------------------------------------------------------------------------------- /shoutem.preview/app/index.web.js: -------------------------------------------------------------------------------- 1 | export { isPreviewApp } from './app'; 2 | -------------------------------------------------------------------------------- /shoutem.preview/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.preview/app/package.json -------------------------------------------------------------------------------- /shoutem.preview/app/permissions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.preview/app/permissions.js -------------------------------------------------------------------------------- /shoutem.preview/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.preview/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.preview/app/redux/index.web.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /shoutem.preview/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.preview/extension.json -------------------------------------------------------------------------------- /shoutem.products/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.products/app/const.js -------------------------------------------------------------------------------- /shoutem.products/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.products/app/index.js -------------------------------------------------------------------------------- /shoutem.products/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.products/app/package.json -------------------------------------------------------------------------------- /shoutem.products/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.products/extension.json -------------------------------------------------------------------------------- /shoutem.products/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.products/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.products/server/src/index.js: -------------------------------------------------------------------------------- 1 | export * from './extension'; 2 | -------------------------------------------------------------------------------- /shoutem.radio-player/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.radio-player/app/const.js -------------------------------------------------------------------------------- /shoutem.radio-player/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.radio-player/app/index.js -------------------------------------------------------------------------------- /shoutem.redux/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.redux/app/const.js -------------------------------------------------------------------------------- /shoutem.redux/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.redux/app/index.js -------------------------------------------------------------------------------- /shoutem.redux/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.redux/app/package.json -------------------------------------------------------------------------------- /shoutem.redux/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.redux/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.redux/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.redux/extension.json -------------------------------------------------------------------------------- /shoutem.redux/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.redux/server/package.json -------------------------------------------------------------------------------- /shoutem.rss-monitoring/cloud/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | -------------------------------------------------------------------------------- /shoutem.rss-monitoring/cloud/.npmrc: -------------------------------------------------------------------------------- 1 | save-exact=false 2 | unsafe-perm=true 3 | -------------------------------------------------------------------------------- /shoutem.rss-monitoring/cloud/core/auth/service/token.ts: -------------------------------------------------------------------------------- 1 | export interface TokenData { 2 | username: string; 3 | } 4 | -------------------------------------------------------------------------------- /shoutem.rss-monitoring/cloud/src/feed/const.ts: -------------------------------------------------------------------------------- 1 | export const FEED_LOCALS_PATH = 'feed'; 2 | -------------------------------------------------------------------------------- /shoutem.rss-monitoring/cloud/src/monitor/const.ts: -------------------------------------------------------------------------------- 1 | export const MONITOR_LOCALS_PATH = 'monitor'; 2 | -------------------------------------------------------------------------------- /shoutem.rss-monitoring/cloud/src/monitor/io/index.ts: -------------------------------------------------------------------------------- 1 | import './monitor-io'; 2 | -------------------------------------------------------------------------------- /shoutem.rss-monitoring/cloud/src/sequelize/migrations/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /shoutem.rss-monitoring/cloud/src/sequelize/seeders/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /shoutem.rss-monitoring/cloud/template/{=moduleName=}/io/index.ts: -------------------------------------------------------------------------------- 1 | import './{=moduleName=}-io'; 2 | -------------------------------------------------------------------------------- /shoutem.rss-monitoring/server/src/modules/app/services/index.js: -------------------------------------------------------------------------------- 1 | export { isPublished } from './app'; 2 | -------------------------------------------------------------------------------- /shoutem.rss-monitoring/server/src/modules/rss/fragments/index.js: -------------------------------------------------------------------------------- 1 | export { default as Rss } from './Rss'; 2 | -------------------------------------------------------------------------------- /shoutem.rss-monitoring/server/src/pages/index.js: -------------------------------------------------------------------------------- 1 | export { RssPage } from './rss-page'; 2 | -------------------------------------------------------------------------------- /shoutem.rss-news/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss-news/app/app.js -------------------------------------------------------------------------------- /shoutem.rss-news/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss-news/app/const.js -------------------------------------------------------------------------------- /shoutem.rss-news/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss-news/app/index.js -------------------------------------------------------------------------------- /shoutem.rss-news/app/navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss-news/app/navigation.js -------------------------------------------------------------------------------- /shoutem.rss-news/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss-news/app/package.json -------------------------------------------------------------------------------- /shoutem.rss-news/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss-news/extension.json -------------------------------------------------------------------------------- /shoutem.rss-photos/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss-photos/app/app.js -------------------------------------------------------------------------------- /shoutem.rss-photos/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss-photos/app/const.js -------------------------------------------------------------------------------- /shoutem.rss-photos/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss-photos/app/index.js -------------------------------------------------------------------------------- /shoutem.rss-photos/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss-photos/extension.json -------------------------------------------------------------------------------- /shoutem.rss-videos/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss-videos/app/app.js -------------------------------------------------------------------------------- /shoutem.rss-videos/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss-videos/app/const.js -------------------------------------------------------------------------------- /shoutem.rss-videos/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss-videos/app/index.js -------------------------------------------------------------------------------- /shoutem.rss-videos/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss-videos/extension.json -------------------------------------------------------------------------------- /shoutem.rss/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss/app/const.js -------------------------------------------------------------------------------- /shoutem.rss/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss/app/index.js -------------------------------------------------------------------------------- /shoutem.rss/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss/app/package.json -------------------------------------------------------------------------------- /shoutem.rss/app/redux/actions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss/app/redux/actions.js -------------------------------------------------------------------------------- /shoutem.rss/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.rss/app/redux/reducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss/app/redux/reducer.js -------------------------------------------------------------------------------- /shoutem.rss/app/redux/selectors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss/app/redux/selectors.js -------------------------------------------------------------------------------- /shoutem.rss/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss/extension.json -------------------------------------------------------------------------------- /shoutem.rss/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.rss/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss/server/package.json -------------------------------------------------------------------------------- /shoutem.rss/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss/server/src/index.js -------------------------------------------------------------------------------- /shoutem.rss/server/src/reducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rss/server/src/reducer.js -------------------------------------------------------------------------------- /shoutem.rubicon-theme/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rubicon-theme/app/const.js -------------------------------------------------------------------------------- /shoutem.rubicon-theme/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.rubicon-theme/app/index.js -------------------------------------------------------------------------------- /shoutem.salesforce/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.salesforce/app/app.js -------------------------------------------------------------------------------- /shoutem.salesforce/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.salesforce/app/const.js -------------------------------------------------------------------------------- /shoutem.salesforce/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.salesforce/app/index.js -------------------------------------------------------------------------------- /shoutem.salesforce/app/index.web.js: -------------------------------------------------------------------------------- 1 | // Extension is disabled in web. 2 | -------------------------------------------------------------------------------- /shoutem.salesforce/cloud/.babelrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.salesforce/cloud/.babelrc -------------------------------------------------------------------------------- /shoutem.salesforce/cloud/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | -------------------------------------------------------------------------------- /shoutem.salesforce/cloud/.npmrc: -------------------------------------------------------------------------------- 1 | save-exact=false 2 | unsafe-perm=true 3 | -------------------------------------------------------------------------------- /shoutem.salesforce/cloud/core/auth/service/token.ts: -------------------------------------------------------------------------------- 1 | export interface TokenData { 2 | username: string; 3 | } 4 | -------------------------------------------------------------------------------- /shoutem.salesforce/cloud/schema.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.salesforce/cloud/schema.js -------------------------------------------------------------------------------- /shoutem.salesforce/cloud/src/main/middleware/index.ts: -------------------------------------------------------------------------------- 1 | export { default as loadAppId } from './load-appid-param'; 2 | -------------------------------------------------------------------------------- /shoutem.salesforce/cloud/src/sequelize/seeders/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /shoutem.salesforce/cloud/src/tokens/io/index.ts: -------------------------------------------------------------------------------- 1 | import './tokens-io'; 2 | -------------------------------------------------------------------------------- /shoutem.salesforce/cloud/src/tokens/io/types.ts: -------------------------------------------------------------------------------- 1 | export const TOKENS_TYPE = 'shoutem.salesforce.tokens'; 2 | -------------------------------------------------------------------------------- /shoutem.salesforce/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.salesforce/extension.json -------------------------------------------------------------------------------- /shoutem.sendbird/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.sendbird/app/app.js -------------------------------------------------------------------------------- /shoutem.sendbird/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.sendbird/app/const.js -------------------------------------------------------------------------------- /shoutem.sendbird/app/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.sendbird/app/extension.js -------------------------------------------------------------------------------- /shoutem.sendbird/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.sendbird/app/index.js -------------------------------------------------------------------------------- /shoutem.sendbird/app/navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.sendbird/app/navigation.js -------------------------------------------------------------------------------- /shoutem.sendbird/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.sendbird/app/package.json -------------------------------------------------------------------------------- /shoutem.sendbird/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.sendbird/extension.json -------------------------------------------------------------------------------- /shoutem.sendbird/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.sendbird/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.shopify/app/MBBridge.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/app/MBBridge.js -------------------------------------------------------------------------------- /shoutem.shopify/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/app/app.js -------------------------------------------------------------------------------- /shoutem.shopify/app/build/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/app/build/const.js -------------------------------------------------------------------------------- /shoutem.shopify/app/build/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/app/build/index.js -------------------------------------------------------------------------------- /shoutem.shopify/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/app/const.js -------------------------------------------------------------------------------- /shoutem.shopify/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/app/index.js -------------------------------------------------------------------------------- /shoutem.shopify/app/index.web.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/app/index.web.js -------------------------------------------------------------------------------- /shoutem.shopify/app/ios/MBBridge.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/app/ios/MBBridge.m -------------------------------------------------------------------------------- /shoutem.shopify/app/navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/app/navigation.js -------------------------------------------------------------------------------- /shoutem.shopify/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/app/package.json -------------------------------------------------------------------------------- /shoutem.shopify/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.shopify/cloud/.babelrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/cloud/.babelrc -------------------------------------------------------------------------------- /shoutem.shopify/cloud/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | -------------------------------------------------------------------------------- /shoutem.shopify/cloud/.env-example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/cloud/.env-example -------------------------------------------------------------------------------- /shoutem.shopify/cloud/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/cloud/.gitignore -------------------------------------------------------------------------------- /shoutem.shopify/cloud/.npmrc: -------------------------------------------------------------------------------- 1 | save-exact=false 2 | unsafe-perm=true 3 | -------------------------------------------------------------------------------- /shoutem.shopify/cloud/.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/cloud/.prettierrc -------------------------------------------------------------------------------- /shoutem.shopify/cloud/.sequelizerc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/cloud/.sequelizerc -------------------------------------------------------------------------------- /shoutem.shopify/cloud/cli/cli.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/cloud/cli/cli.js -------------------------------------------------------------------------------- /shoutem.shopify/cloud/cli/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/cloud/cli/index.js -------------------------------------------------------------------------------- /shoutem.shopify/cloud/core/auth/service/token.ts: -------------------------------------------------------------------------------- 1 | export interface TokenData { 2 | username: string; 3 | } 4 | -------------------------------------------------------------------------------- /shoutem.shopify/cloud/docker/db/db.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM postgres:11.2-alpine 2 | COPY init.sql /docker-entrypoint-initdb.d/ 3 | -------------------------------------------------------------------------------- /shoutem.shopify/cloud/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/cloud/package.json -------------------------------------------------------------------------------- /shoutem.shopify/cloud/schema.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/cloud/schema.js -------------------------------------------------------------------------------- /shoutem.shopify/cloud/src/authTokens/io/index.ts: -------------------------------------------------------------------------------- 1 | import './tokens-io'; 2 | -------------------------------------------------------------------------------- /shoutem.shopify/cloud/src/authTokens/io/types.ts: -------------------------------------------------------------------------------- 1 | export const AUTH_TOKENS_TYPE = 'shoutem.shopify.auth-tokens'; 2 | -------------------------------------------------------------------------------- /shoutem.shopify/cloud/src/sequelize/seeders/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /shoutem.shopify/cloud/src/storefrontTokens/io/index.ts: -------------------------------------------------------------------------------- 1 | import './tokens-io'; 2 | -------------------------------------------------------------------------------- /shoutem.shopify/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/extension.json -------------------------------------------------------------------------------- /shoutem.shopify/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.shopify/server/bin/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.shopify/server/bin/main.js -------------------------------------------------------------------------------- /shoutem.social/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/app/app.js -------------------------------------------------------------------------------- /shoutem.social/app/assets/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/app/assets/index.js -------------------------------------------------------------------------------- /shoutem.social/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/app/const.js -------------------------------------------------------------------------------- /shoutem.social/app/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/app/extension.js -------------------------------------------------------------------------------- /shoutem.social/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/app/index.js -------------------------------------------------------------------------------- /shoutem.social/app/navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/app/navigation.js -------------------------------------------------------------------------------- /shoutem.social/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/app/package.json -------------------------------------------------------------------------------- /shoutem.social/app/permissions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/app/permissions.js -------------------------------------------------------------------------------- /shoutem.social/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.social/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.social/cloud/.babelrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/cloud/.babelrc -------------------------------------------------------------------------------- /shoutem.social/cloud/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | -------------------------------------------------------------------------------- /shoutem.social/cloud/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/cloud/.editorconfig -------------------------------------------------------------------------------- /shoutem.social/cloud/.env-example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/cloud/.env-example -------------------------------------------------------------------------------- /shoutem.social/cloud/.eslintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/cloud/.eslintignore -------------------------------------------------------------------------------- /shoutem.social/cloud/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/cloud/.gitignore -------------------------------------------------------------------------------- /shoutem.social/cloud/.npmrc: -------------------------------------------------------------------------------- 1 | save-exact=false 2 | unsafe-perm=true 3 | -------------------------------------------------------------------------------- /shoutem.social/cloud/.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/cloud/.prettierrc -------------------------------------------------------------------------------- /shoutem.social/cloud/.sequelizerc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/cloud/.sequelizerc -------------------------------------------------------------------------------- /shoutem.social/cloud/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/cloud/README.md -------------------------------------------------------------------------------- /shoutem.social/cloud/cli/cli.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/cloud/cli/cli.js -------------------------------------------------------------------------------- /shoutem.social/cloud/cli/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/cloud/cli/index.js -------------------------------------------------------------------------------- /shoutem.social/cloud/core/auth/service/token.ts: -------------------------------------------------------------------------------- 1 | export interface TokenData { 2 | username: string; 3 | } 4 | -------------------------------------------------------------------------------- /shoutem.social/cloud/docker/db/db.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM postgres:11.2-alpine 2 | COPY init.sql /docker-entrypoint-initdb.d/ 3 | -------------------------------------------------------------------------------- /shoutem.social/cloud/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/cloud/package.json -------------------------------------------------------------------------------- /shoutem.social/cloud/schema.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/cloud/schema.js -------------------------------------------------------------------------------- /shoutem.social/cloud/src/router.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/cloud/src/router.js -------------------------------------------------------------------------------- /shoutem.social/cloud/src/sequelize/seeders/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /shoutem.social/cloud/src/settings/io/index.ts: -------------------------------------------------------------------------------- 1 | import './settings-io'; 2 | -------------------------------------------------------------------------------- /shoutem.social/cloud/src/settings/io/types.ts: -------------------------------------------------------------------------------- 1 | export const SETTINGS_TYPE = 'shoutem.social.settings'; 2 | -------------------------------------------------------------------------------- /shoutem.social/cloud/template/{=moduleName=}/io/index.ts: -------------------------------------------------------------------------------- 1 | import './{=moduleName=}-io'; 2 | -------------------------------------------------------------------------------- /shoutem.social/cloud/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/cloud/tsconfig.json -------------------------------------------------------------------------------- /shoutem.social/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/extension.json -------------------------------------------------------------------------------- /shoutem.social/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.social/server/bin/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/server/bin/index.js -------------------------------------------------------------------------------- /shoutem.social/server/bin/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/server/bin/main.js -------------------------------------------------------------------------------- /shoutem.social/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/server/package.json -------------------------------------------------------------------------------- /shoutem.social/server/src/components/table/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Table'; 2 | -------------------------------------------------------------------------------- /shoutem.social/server/src/components/text-table-header/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './TextTableHeader'; 2 | -------------------------------------------------------------------------------- /shoutem.social/server/src/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/server/src/const.js -------------------------------------------------------------------------------- /shoutem.social/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/server/src/index.js -------------------------------------------------------------------------------- /shoutem.social/server/src/redux.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.social/server/src/redux.js -------------------------------------------------------------------------------- /shoutem.theme/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/README.md -------------------------------------------------------------------------------- /shoutem.theme/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/app/app.js -------------------------------------------------------------------------------- /shoutem.theme/app/build/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/app/build/const.js -------------------------------------------------------------------------------- /shoutem.theme/app/build/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/app/build/index.js -------------------------------------------------------------------------------- /shoutem.theme/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/app/const.js -------------------------------------------------------------------------------- /shoutem.theme/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/app/index.js -------------------------------------------------------------------------------- /shoutem.theme/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/app/package.json -------------------------------------------------------------------------------- /shoutem.theme/app/redux/actions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/app/redux/actions.js -------------------------------------------------------------------------------- /shoutem.theme/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.theme/app/redux/reducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/app/redux/reducer.js -------------------------------------------------------------------------------- /shoutem.theme/app/screens/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/app/screens/index.js -------------------------------------------------------------------------------- /shoutem.theme/app/themes/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/app/themes/style.js -------------------------------------------------------------------------------- /shoutem.theme/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/extension.json -------------------------------------------------------------------------------- /shoutem.theme/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.theme/server/.npmrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/server/.npmrc -------------------------------------------------------------------------------- /shoutem.theme/server/bin/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/server/bin/index.js -------------------------------------------------------------------------------- /shoutem.theme/server/bin/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/server/bin/main.js -------------------------------------------------------------------------------- /shoutem.theme/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/server/package.json -------------------------------------------------------------------------------- /shoutem.theme/server/src/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/server/src/const.js -------------------------------------------------------------------------------- /shoutem.theme/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.theme/server/src/index.js -------------------------------------------------------------------------------- /shoutem.user-profile/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.user-profile/app/app.js -------------------------------------------------------------------------------- /shoutem.user-profile/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.user-profile/app/const.js -------------------------------------------------------------------------------- /shoutem.user-profile/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.user-profile/app/index.js -------------------------------------------------------------------------------- /shoutem.user-profile/server/src/components/form-images-preview/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './FormImagesPreview'; 2 | -------------------------------------------------------------------------------- /shoutem.user-profile/server/src/components/form-text-input/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './FormTextInput'; 2 | -------------------------------------------------------------------------------- /shoutem.user-profile/server/src/components/input-table-header/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './InputTableHeader'; 2 | -------------------------------------------------------------------------------- /shoutem.user-profile/server/src/components/table/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Table'; 2 | -------------------------------------------------------------------------------- /shoutem.user-profile/server/src/components/text-table-header/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './TextTableHeader'; 2 | -------------------------------------------------------------------------------- /shoutem.user-profile/server/src/components/user-table-row/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './UserTableRow'; 2 | -------------------------------------------------------------------------------- /shoutem.user-profile/server/src/fragments/user-modal/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './UserModal'; 2 | -------------------------------------------------------------------------------- /shoutem.user-profile/server/src/pages/profile-page/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './ProfilePage'; 2 | -------------------------------------------------------------------------------- /shoutem.user-profile/server/src/pages/users-page/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './UsersPage'; 2 | -------------------------------------------------------------------------------- /shoutem.video/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.video/app/const.js -------------------------------------------------------------------------------- /shoutem.video/app/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.video/app/extension.js -------------------------------------------------------------------------------- /shoutem.video/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.video/app/index.js -------------------------------------------------------------------------------- /shoutem.video/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.video/app/package.json -------------------------------------------------------------------------------- /shoutem.video/app/redux/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.video/app/redux/index.js -------------------------------------------------------------------------------- /shoutem.video/app/redux/reducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.video/app/redux/reducer.js -------------------------------------------------------------------------------- /shoutem.video/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.video/extension.json -------------------------------------------------------------------------------- /shoutem.video/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.video/server/package.json -------------------------------------------------------------------------------- /shoutem.web-view/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.web-view/app/const.js -------------------------------------------------------------------------------- /shoutem.web-view/app/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.web-view/app/extension.js -------------------------------------------------------------------------------- /shoutem.web-view/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.web-view/app/index.js -------------------------------------------------------------------------------- /shoutem.web-view/app/middleware.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.web-view/app/middleware.js -------------------------------------------------------------------------------- /shoutem.web-view/app/navigation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.web-view/app/navigation.js -------------------------------------------------------------------------------- /shoutem.web-view/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.web-view/app/package.json -------------------------------------------------------------------------------- /shoutem.web-view/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.web-view/extension.json -------------------------------------------------------------------------------- /shoutem.web-view/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.web-view/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.wordpress/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.wordpress/app/app.js -------------------------------------------------------------------------------- /shoutem.wordpress/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.wordpress/app/const.js -------------------------------------------------------------------------------- /shoutem.wordpress/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.wordpress/app/index.js -------------------------------------------------------------------------------- /shoutem.wordpress/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.wordpress/app/package.json -------------------------------------------------------------------------------- /shoutem.wordpress/app/redux.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.wordpress/app/redux.js -------------------------------------------------------------------------------- /shoutem.wordpress/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.wordpress/extension.json -------------------------------------------------------------------------------- /shoutem.wordpress/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.wordpress/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.wordpress/server/src/components/feed-url-input/style.scss: -------------------------------------------------------------------------------- 1 | .feed-url-input__error { 2 | color: #d0021b; 3 | } 4 | -------------------------------------------------------------------------------- /shoutem.youtube/app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.youtube/app/app.js -------------------------------------------------------------------------------- /shoutem.youtube/app/const.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.youtube/app/const.js -------------------------------------------------------------------------------- /shoutem.youtube/app/extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.youtube/app/extension.js -------------------------------------------------------------------------------- /shoutem.youtube/app/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.youtube/app/index.js -------------------------------------------------------------------------------- /shoutem.youtube/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.youtube/app/package.json -------------------------------------------------------------------------------- /shoutem.youtube/app/redux.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.youtube/app/redux.js -------------------------------------------------------------------------------- /shoutem.youtube/extension.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.youtube/extension.json -------------------------------------------------------------------------------- /shoutem.youtube/server/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.youtube/server/.eslintrc -------------------------------------------------------------------------------- /shoutem.youtube/server/bin/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shoutem/extensions/HEAD/shoutem.youtube/server/bin/main.js --------------------------------------------------------------------------------