Skip to content

Sharadha K - feat: Event Reschedule Button (new PR - replacement for #4276)#5386

Open
SharadhaKasiviswanathan wants to merge 8 commits into
developmentfrom
Manvitha-RescheduleEvent-Button-v2
Open

Sharadha K - feat: Event Reschedule Button (new PR - replacement for #4276)#5386
SharadhaKasiviswanathan wants to merge 8 commits into
developmentfrom
Manvitha-RescheduleEvent-Button-v2

Conversation

@SharadhaKasiviswanathan

Copy link
Copy Markdown
Contributor

Re-creation of PR #4276 (Event Reschedule Button) which was accidentally merged and then reverted via #5378.

This PR adds the event reschedule button functionality to the Community Portal activities.

Changes:

  • ActivityList.jsx: Added reschedule button and goToReschedule callback
  • RescheduleEvent.jsx: New component for rescheduling events
  • RescheduleEvent.module.css: Styles for RescheduleEvent component
  • ReschedulePoll.jsx: New component for reschedule polls
  • routes.jsx: Added routes for RescheduleEvent and ReschedulePoll
  • store.js: Added 'form' to redux-persist whitelist
  • routePermissions.js: Added 'rescheduleEvent' permission

Copilot AI review requested due to automatic review settings July 13, 2026 08:37
@netlify

netlify Bot commented Jul 13, 2026

Copy link
Copy Markdown

Deploy Preview for highestgoodnetwork-dev ready!

Name Link
🔨 Latest commit 6ea46aa
🔍 Latest deploy log https://app.netlify.com/projects/highestgoodnetwork-dev/deploys/6a5854f89274830008fa0f03
😎 Deploy Preview https://deploy-preview-5386--highestgoodnetwork-dev.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Community Portal “event reschedule” functionality by introducing new reschedule UI/screens and wiring them into routing and permissions.

Changes:

  • Adds a Reschedule button to the Community Portal Activities list that navigates to a manage/reschedule page.
  • Introduces RescheduleEvent (create poll + notify) and ReschedulePoll (email link voting) components with shared styling.
  • Updates routing/permissions to expose the new pages and persist form state via redux-persist.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
src/components/CommunityPortal/Activities/ActivityList.jsx Adds Reschedule button + navigation callback to reschedule/manage route.
src/components/CommunityPortal/Activities/RescheduleEvent.jsx New reschedule modal flow (build options, notify participants).
src/components/CommunityPortal/Activities/ReschedulePoll.jsx New poll voting page driven by query params and API fetches.
src/components/CommunityPortal/Activities/RescheduleEvent.module.css Styles for reschedule modal and poll page (incl. dark mode).
src/routes.jsx Adds routes for reschedule manage page and poll page.
src/utils/routePermissions.js Adds rescheduleEvent permission string to the permissions list.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/routes.jsx
Comment on lines +1008 to +1012
<CPProtectedRoute
path="/communityportal/activities/:activityId/manage"
component={RescheduleEvent}
routePermissions={['rescheduleEvent']}
/>
Comment thread src/components/CommunityPortal/Activities/RescheduleEvent.jsx
Comment thread src/components/CommunityPortal/Activities/RescheduleEvent.jsx Outdated
Comment thread src/components/CommunityPortal/Activities/RescheduleEvent.jsx Outdated
Comment thread src/components/CommunityPortal/Activities/RescheduleEvent.jsx Outdated
Comment thread src/components/CommunityPortal/Activities/ReschedulePoll.jsx Outdated
Comment thread src/components/CommunityPortal/Activities/ReschedulePoll.jsx Outdated
Comment on lines +2 to 5
import { useState, useEffect, useMemo, useCallback } from 'react';
import { useSelector } from 'react-redux';
import { useHistory } from 'react-router-dom';
import { Modal, ModalHeader, ModalBody, ModalFooter, Button } from 'reactstrap';
SharadhaKasiviswanathan and others added 2 commits July 13, 2026 03:51
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
SharadhaKasiviswanathan and others added 3 commits July 13, 2026 03:52
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@one-community one-community changed the title feat: Event Reschedule Button (new PR - replacement for #4276) Sharadha K - feat: Event Reschedule Button (new PR - replacement for #4276) Jul 13, 2026
@one-community one-community added the High Priority - Please Review First This is an important PR we'd like to get merged as soon as possible label Jul 13, 2026

@HemanthNidamanuru HemanthNidamanuru left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Sharadha,

I tested this PR locally. I am able to access the Reschedule option, but I am unable to create a poll. The calendar used to select dates also needs improvement for better usability. Please refer to the attached video for the issue.

PR.5386.mp4

- Fix RescheduleEvent.jsx:
  - Fix prettier formatting (indentation inconsistencies)
  - Use useParams() to get activityId from URL route params
  - Remove hardcoded placeholder event (_id: '1' fallback)
  - Add eslint-disable for intentional alert() calls
  - Fix Authorization header: only set when token exists
  - Add aria-label to close button (already present, verified)

- Fix ReschedulePoll.jsx:
  - Fix prettier formatting (indentation inconsistencies)
  - Change activityId default from '1' to '' so missing-param
    guard works correctly
  - Add optional chaining for poll.activity?.title and
    poll.activity?.name with fallback

- Fix ActivityList.test.jsx:
  - Wrap component in MemoryRouter to support useHistory()
    used by the reschedule button

- Fix routes.jsx:
  - Remove unsupported routePermissions prop from CPProtectedRoute
    (CPProtectedRoute does not implement permission checking)
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

High Priority - Please Review First This is an important PR we'd like to get merged as soon as possible

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants