Skip to content

Conversation

@sourabhbagde
Copy link

Description

Implements the Myspace poster workflow. Adds a fully designed Myspace tab in the Announcements section where volunteers can draft Myspace blog posts, copy each chunk, switch to a scheduler, and persist drafts inside the browser. Validates every required block, hooks up copy buttons/toasts, and ships dark mode friendly styling so the experience matches the latest design system. Scheduling now works entirely client side with local storage for now (will attach soon a backend PR on this to test database wise.)

Related PRS (if any):

None for now, might add a common backend PR for all platforms to schedule on database.

Main changes explained:

  • Create src/components/Announcements/platforms/myspace/index.jsx for the Myspace auto-poster form (headline/link/tags/body/photo/song fields, validation hints, copy helpers, preview, schedule tab, edit flow, local-storage persistence, badge count updates).
  • Create src/components/Announcements/platforms/myspace/Myspace.module.css to style the Myspace cards, subtabs, chips, scheduler controls, dark-mode overrides, and saved-list layout.
  • Update platform badge plumbing (PlatformScheduleBadge) so the Myspace tab reports its saved-count in real time across the Announcements UI.

How to test:

  1. Checkout this branch.
  2. yarn install then npm run start:local to run this PR locally
  3. Clear site data/cache
  4. Sign in as an admin and go to /announcements (Dashboard → Other Links → Send Emails → Myspace).
    Select the “Myspace” tab.
  5. Fill each Make Post field (headline 12–95 chars, valid external link if provided, comma-separated tags [this is an optional as myspace made tags separate but can indulge in content blog if needed], blog entry ≥80 chars).
  6. Verify validation hints/character counts display correctly.
  7. Click the copy buttons for each field and confirm toast feedback plus clipboard contents.
  8. Use “Schedule this post” to move the draft, confirm the schedule tab shows the draft, enforces non-past date/time, and blocks saving without required info.
  9. Save a schedule (it should appear in “Saved scheduled posts”), switch tabs or refresh to confirm it persists via localStorage.
  10. Edit an existing saved schedule and ensure the form rehydrates with its values, badge count beside Myspace should update as entries are added/removed.
  11. Toggle dark mode and ensure all cards, buttons, and saved items remain legible.
  12. Open the “Submit” button to verify it launches the Myspace blog page in a new tab.

Screenshots or videos of changes:

Submit Video -
https://github.com/user-attachments/assets/a5368842-e292-46f9-9519-2269f2f486b2

Badge Counter after scheduling posts -
count bagde

Dark Mode -
dark mode

Note:

Add a photo & song (is purely optional) will be removed and tagged with updated backend PR soon.

@netlify
Copy link

netlify bot commented Jan 23, 2026

Deploy Preview for highestgoodnetwork-dev ready!

Name Link
🔨 Latest commit e907275
🔍 Latest deploy log https://app.netlify.com/projects/highestgoodnetwork-dev/deploys/69736c7dea8ec400080b1f71
😎 Deploy Preview https://deploy-preview-4758--highestgoodnetwork-dev.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

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

Increase buffer size for random slug generation and update fallback method.
Removed duplicate createScheduleId function definition.
Remove eslint-disable comment for prettier
@sonarqubecloud
Copy link

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants