Skip to content

Commit

Permalink
Merge pull request #4005 from DaleMcGrew/Dale_WebApp_Aug29-2024
Browse files Browse the repository at this point in the history
Added first versions of Challenge files. Added some CampaignX files.
  • Loading branch information
DaleMcGrew authored Aug 30, 2024
2 parents 7a53e22 + 7dc7b4c commit ee827f5
Show file tree
Hide file tree
Showing 30 changed files with 4,991 additions and 4 deletions.
14 changes: 14 additions & 0 deletions src/App.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,12 @@ const CampaignUpdatesPage = React.lazy(() => import(/* webpackChunkName: 'Campai
const Candidate = React.lazy(() => import(/* webpackChunkName: 'Candidate' */ './js/pages/Ballot/Candidate'));
const CandidateForExtension = React.lazy(() => import(/* webpackChunkName: 'EditCandidateForExtension' */ './js/pages/Ballot/EditCandidateForExtension/EditCandidateForExtension'));
const ChallengeHomePage = React.lazy(() => import(/* webpackChunkName: 'ChallengeHomePage' */ './js/common/pages/Challenge/ChallengeHomePage'));
const ChallengeStartAddDescription = React.lazy(() => import(/* webpackChunkName: 'ChallengeStartAddDescription' */ './js/common/pages/ChallengeStart/ChallengeStartAddDescription'));
const ChallengeStartAddPhoto = React.lazy(() => import(/* webpackChunkName: 'ChallengeStartAddPhoto' */ './js/common/pages/ChallengeStart/ChallengeStartAddPhoto'));
const ChallengeStartAddTitle = React.lazy(() => import(/* webpackChunkName: 'ChallengeStartAddTitle' */ './js/common/pages/ChallengeStart/ChallengeStartAddTitle'));
const ChallengeStartEditAll = React.lazy(() => import(/* webpackChunkName: 'ChallengeStartEditAll' */ './js/common/pages/ChallengeStart/ChallengeStartEditAll'));
const ChallengeStartIntro = React.lazy(() => import(/* webpackChunkName: 'ChallengeStartIntro' */ './js/common/pages/ChallengeStart/ChallengeStartIntro'));
const ChallengeStartPreview = React.lazy(() => import(/* webpackChunkName: 'ChallengeStartPreview' */ './js/common/pages/ChallengeStart/ChallengeStartPreview'));
const ChallengeSupportJoin = React.lazy(() => import(/* webpackChunkName: 'ChallengeSupportJoin' */ './js/common/pages/ChallengeSupport/ChallengeSupportJoin'));
const ClaimYourPage = React.lazy(() => import(/* webpackChunkName: 'ClaimYourPage' */ './js/pages/Settings/ClaimYourPage'));
const CompleteYourProfileMobile = React.lazy(() => import(/* webpackChunkName: 'CompleteYourProfileMobile' */ './js/common/pages/Settings/CompleteYourProfileMobile'));
Expand Down Expand Up @@ -402,6 +408,7 @@ class App extends Component {
<Route path="/-:shared_item_code" exact component={SharedItemLanding} />
<Route exact path="/+/:challengeWeVoteId/" render={(props) => <ChallengeHomePage match={props.match} />} />
<Route exact path="/:challengeSEOFriendlyPath/+/" render={(props) => <ChallengeHomePage match={props.match} />} />
<Route exact path="/:challengeSEOFriendlyPath/+/edit" render={(props) => <ChallengeStartEditAll match={props.match} editExistingChallenge setShowHeaderFooter={this.setShowHeaderFooter} />} />
<Route exact path="/:challengeSEOFriendlyPath/+/join-challenge" render={(props) => <ChallengeSupportJoin match={props.match} setShowHeaderFooter={this.setShowHeaderFooter} />} />
<Route exact path="/:politicianWeVoteId/p/" render={(props) => <PoliticianDetailsPage match={props.match} />} />
<Route exact path="/:politicianSEOFriendlyPath/-/" render={(props) => <PoliticianDetailsPage match={props.match} />} />
Expand Down Expand Up @@ -568,6 +575,13 @@ class App extends Component {
<Route path="/setupaccount" exact><SetUpAccountRoot /></Route>
<Route path="/squads" exact><Squads /></Route>
<Route exact path="/start-a-campaign"><CampaignStartIntro /></Route>
<Route exact path="/start-a-challenge"><ChallengeStartIntro /></Route>
<Route exact path="/start-a-challenge-why-winning-matters"><ChallengeStartAddDescription /></Route>
<Route exact path="/start-a-challenge-add-photo"><ChallengeStartAddPhoto /></Route>
<Route exact path="/start-a-challenge-add-title"><ChallengeStartAddTitle /></Route>
<Route exact path="/start-a-challenge-complete-your-profile" render={(props) => <CompleteYourProfileMobile match={props.match} createNewsItem setShowHeaderFooter={this.setShowHeaderFooter} />} />
<Route exact path="/start-a-challenge-edit-all"><ChallengeStartEditAll setShowHeaderFooter={this.setShowHeaderFooter} /></Route>
<Route exact path="/start-a-challenge-preview"><ChallengeStartPreview /></Route>
<Route path="/terms" component={TermsOfService} />
<Route path="/twitter_sign_in" exact><TwitterSignInProcess /></Route>
<Route path="/twittersigninprocess/:sign_in_step" component={TwitterSignInProcess} />
Expand Down
121 changes: 121 additions & 0 deletions src/js/common/actions/CampaignStartActions.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
import Dispatcher from '../dispatcher/Dispatcher';

export default {
campaignDescriptionQueuedToSave (campaignDescription) {
Dispatcher.dispatch({ type: 'campaignDescriptionQueuedToSave', payload: campaignDescription });
},

campaignDescriptionSave (campaignWeVoteId, campaignDescription) {
// console.log('campaignDescriptionSave: ', campaignDescription);
Dispatcher.loadEndpoint('campaignStartSave',
{
campaign_description: campaignDescription,
campaign_description_changed: true,
campaignx_we_vote_id: campaignWeVoteId,
});
},

campaignEditAllReset () {
Dispatcher.dispatch({ type: 'campaignEditAllReset', payload: true });
},

campaignEditAllSave (
campaignXWeVoteId,
campaignDescriptionQueuedToSave, campaignDescriptionQueuedToSaveSet,
campaignPhotoQueuedToDelete, campaignPhotoQueuedToDeleteSet,
campaignPhotoQueuedToSave, campaignPhotoQueuedToSaveSet,
campaignPoliticianDeleteListJson,
campaignPoliticianStarterListQueuedToSave, campaignPoliticianStarterListQueuedToSaveSet,
campaignTitleQueuedToSave, campaignTitleQueuedToSaveSet,
) {
Dispatcher.loadEndpoint('campaignStartSave',
{
campaign_description: campaignDescriptionQueuedToSave,
campaign_description_changed: campaignDescriptionQueuedToSaveSet,
campaign_photo_from_file_reader: campaignPhotoQueuedToSave,
campaign_photo_changed: campaignPhotoQueuedToSaveSet,
campaign_photo_delete: campaignPhotoQueuedToDelete,
campaign_photo_delete_changed: campaignPhotoQueuedToDeleteSet,
campaign_title: campaignTitleQueuedToSave,
campaign_title_changed: campaignTitleQueuedToSaveSet,
campaignx_we_vote_id: campaignXWeVoteId,
politician_delete_list: campaignPoliticianDeleteListJson,
politician_starter_list: campaignPoliticianStarterListQueuedToSave,
politician_starter_list_changed: campaignPoliticianStarterListQueuedToSaveSet,
});
},

campaignPhotoQueuedToDelete (deleteCampaignPhoto = true) {
Dispatcher.dispatch({ type: 'campaignPhotoQueuedToDelete', payload: deleteCampaignPhoto });
},

campaignPhotoQueuedToSave (campaignPhotoFromFileReader) {
Dispatcher.dispatch({ type: 'campaignPhotoQueuedToSave', payload: campaignPhotoFromFileReader });
},

campaignPhotoSave (campaignWeVoteId, campaignPhotoFromFileReader) {
Dispatcher.loadEndpoint('campaignStartSave',
{
campaign_photo_from_file_reader: campaignPhotoFromFileReader,
campaign_photo_changed: true,
campaignx_we_vote_id: campaignWeVoteId,
});
},

campaignPoliticianDeleteAddQueuedToSave (campaignXPoliticianId) {
Dispatcher.dispatch({ type: 'campaignPoliticianDeleteAddQueuedToSave', payload: campaignXPoliticianId });
},

campaignPoliticianDeleteRemoveQueuedToSave (campaignXPoliticianId) {
Dispatcher.dispatch({ type: 'campaignPoliticianDeleteRemoveQueuedToSave', payload: campaignXPoliticianId });
},

campaignPoliticianStarterListQueuedToSave (campaignPoliticianStarterList) {
Dispatcher.dispatch({ type: 'campaignPoliticianStarterListQueuedToSave', payload: campaignPoliticianStarterList });
},

campaignPoliticianStarterListSave (campaignWeVoteId, campaignPoliticianStarterListQueuedToSaveJson, campaignPoliticianDeleteListJson) {
// console.log('campaignPoliticianStarterListQueuedToSaveJson: ', campaignPoliticianStarterListQueuedToSaveJson);
Dispatcher.loadEndpoint('campaignStartSave',
{
politician_delete_list: campaignPoliticianDeleteListJson,
politician_starter_list: campaignPoliticianStarterListQueuedToSaveJson,
politician_starter_list_changed: true,
campaignx_we_vote_id: campaignWeVoteId,
});
},

campaignRetrieveAsOwner (campaignWeVoteId) {
let { hostname } = window.location;
hostname = hostname || '';
Dispatcher.loadEndpoint('campaignRetrieveAsOwner',
{
campaignx_we_vote_id: campaignWeVoteId,
hostname,
});
},

campaignTitleQueuedToSave (campaignTitle) {
Dispatcher.dispatch({ type: 'campaignTitleQueuedToSave', payload: campaignTitle });
},

campaignTitleSave (campaignWeVoteId, campaignTitle) {
// console.log('campaignTitleSave: ', campaignTitle);
Dispatcher.loadEndpoint('campaignStartSave',
{
campaign_title: campaignTitle,
campaign_title_changed: true,
campaignx_we_vote_id: campaignWeVoteId,
});
},

inDraftModeSave (campaignWeVoteId, inDraftMode) {
// console.log('campaignDescriptionSave: ', campaignDescription);
Dispatcher.loadEndpoint('campaignStartSave',
{
in_draft_mode: inDraftMode,
in_draft_mode_changed: true,
campaignx_we_vote_id: campaignWeVoteId,
});
},
};
121 changes: 121 additions & 0 deletions src/js/common/actions/ChallengeStartActions.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
import Dispatcher from '../dispatcher/Dispatcher';

export default {
challengeDescriptionQueuedToSave (challengeDescription) {
Dispatcher.dispatch({ type: 'challengeDescriptionQueuedToSave', payload: challengeDescription });
},

challengeDescriptionSave (challengeWeVoteId, challengeDescription) {
// console.log('challengeDescriptionSave: ', challengeDescription);
Dispatcher.loadEndpoint('challengeStartSave',
{
challenge_description: challengeDescription,
challenge_description_changed: true,
challenge_we_vote_id: challengeWeVoteId,
});
},

challengeEditAllReset () {
Dispatcher.dispatch({ type: 'challengeEditAllReset', payload: true });
},

challengeEditAllSave (
challengeWeVoteId,
challengeDescriptionQueuedToSave, challengeDescriptionQueuedToSaveSet,
challengePhotoQueuedToDelete, challengePhotoQueuedToDeleteSet,
challengePhotoQueuedToSave, challengePhotoQueuedToSaveSet,
challengePoliticianDeleteListJson,
challengePoliticianStarterListQueuedToSave, challengePoliticianStarterListQueuedToSaveSet,
challengeTitleQueuedToSave, challengeTitleQueuedToSaveSet,
) {
Dispatcher.loadEndpoint('challengeStartSave',
{
challenge_description: challengeDescriptionQueuedToSave,
challenge_description_changed: challengeDescriptionQueuedToSaveSet,
challenge_photo_from_file_reader: challengePhotoQueuedToSave,
challenge_photo_changed: challengePhotoQueuedToSaveSet,
challenge_photo_delete: challengePhotoQueuedToDelete,
challenge_photo_delete_changed: challengePhotoQueuedToDeleteSet,
challenge_title: challengeTitleQueuedToSave,
challenge_title_changed: challengeTitleQueuedToSaveSet,
challenge_we_vote_id: challengeWeVoteId,
politician_delete_list: challengePoliticianDeleteListJson,
politician_starter_list: challengePoliticianStarterListQueuedToSave,
politician_starter_list_changed: challengePoliticianStarterListQueuedToSaveSet,
});
},

challengePhotoQueuedToDelete (deleteChallengePhoto = true) {
Dispatcher.dispatch({ type: 'challengePhotoQueuedToDelete', payload: deleteChallengePhoto });
},

challengePhotoQueuedToSave (challengePhotoFromFileReader) {
Dispatcher.dispatch({ type: 'challengePhotoQueuedToSave', payload: challengePhotoFromFileReader });
},

challengePhotoSave (challengeWeVoteId, challengePhotoFromFileReader) {
Dispatcher.loadEndpoint('challengeStartSave',
{
challenge_photo_from_file_reader: challengePhotoFromFileReader,
challenge_photo_changed: true,
challenge_we_vote_id: challengeWeVoteId,
});
},

challengePoliticianDeleteAddQueuedToSave (challengePoliticianId) {
Dispatcher.dispatch({ type: 'challengePoliticianDeleteAddQueuedToSave', payload: challengePoliticianId });
},

challengePoliticianDeleteRemoveQueuedToSave (challengePoliticianId) {
Dispatcher.dispatch({ type: 'challengePoliticianDeleteRemoveQueuedToSave', payload: challengePoliticianId });
},

challengePoliticianStarterListQueuedToSave (challengePoliticianStarterList) {
Dispatcher.dispatch({ type: 'challengePoliticianStarterListQueuedToSave', payload: challengePoliticianStarterList });
},

challengePoliticianStarterListSave (challengeWeVoteId, challengePoliticianStarterListQueuedToSaveJson, challengePoliticianDeleteListJson) {
// console.log('challengePoliticianStarterListQueuedToSaveJson: ', challengePoliticianStarterListQueuedToSaveJson);
Dispatcher.loadEndpoint('challengeStartSave',
{
politician_delete_list: challengePoliticianDeleteListJson,
politician_starter_list: challengePoliticianStarterListQueuedToSaveJson,
politician_starter_list_changed: true,
challenge_we_vote_id: challengeWeVoteId,
});
},

challengeRetrieveAsOwner (challengeWeVoteId) {
let { hostname } = window.location;
hostname = hostname || '';
Dispatcher.loadEndpoint('challengeRetrieveAsOwner',
{
challenge_we_vote_id: challengeWeVoteId,
hostname,
});
},

challengeTitleQueuedToSave (challengeTitle) {
Dispatcher.dispatch({ type: 'challengeTitleQueuedToSave', payload: challengeTitle });
},

challengeTitleSave (challengeWeVoteId, challengeTitle) {
console.log('challengeTitleSave: ', challengeTitle, ', challengeWeVoteId: ', challengeWeVoteId);
Dispatcher.loadEndpoint('challengeStartSave',
{
challenge_title: challengeTitle,
challenge_title_changed: true,
challenge_we_vote_id: challengeWeVoteId,
});
},

inDraftModeSave (challengeWeVoteId, inDraftMode) {
// console.log('challengeDescriptionSave: ', challengeDescription);
Dispatcher.loadEndpoint('challengeStartSave',
{
in_draft_mode: inDraftMode,
in_draft_mode_changed: true,
challenge_we_vote_id: challengeWeVoteId,
});
},
};
Loading

0 comments on commit ee827f5

Please sign in to comment.