Skip to content

Linh - Implement Bluesky auto-poster frontend#3645

Open
linh2020 wants to merge 615 commits intodevelopmentfrom
Linh_Bluesky_autoposter_frontend
Open

Linh - Implement Bluesky auto-poster frontend#3645
linh2020 wants to merge 615 commits intodevelopmentfrom
Linh_Bluesky_autoposter_frontend

Conversation

@linh2020
Copy link
Copy Markdown
Contributor

@linh2020 linh2020 commented Jun 12, 2025

Description

This PR implements the frontend interface for the Bluesky auto-poster functionality in the HighestGoodNetworkApp.
Implements: Bluesky auto-poster module (priority: high)

Related PRs

This frontend PR is paired with the backend PR that provides Bluesky authentication, posting, and session management.
To test this frontend PR, ensure the backend PR #1452 is checked out and running:

Main changes explained:

Create BlueskyManager component: A new UI section on the Announcements dashboard for managing Bluesky connection and posts.
Add login form: Users can connect using their Bluesky handle and app password (secured session saved in backend).
Add post form: Users can write a post, upload an image or GIF, and publish it to Bluesky.
Add post feed viewer: Displays user’s most recent posts including image/video previews, like/repost counts, and post metadata.
Add delete button: Each post in the feed can be deleted directly from the UI.
Image & GIF upload support: Accepts .jpg, .png, and .gif uploads (GIF autoplay and MP4 conversion coming soon).
Session detection: Automatically checks Bluesky session status and refreshes login prompt if expired.
Drag and drop support: Users can drag images or GIFs directly into the post form.
Media preview and validation: Uploaded files are previewed, checked for file type and size before submission.

How to test:

Check into this current backend branch
Get Bluesky App Password
To connect, you need to generate an App Password:
Visit: https://bsky.app/settings/app-passwords
Log in with your Bluesky handle (e.g., yourname.bsky.social)
Click "Create App Password"
Copy the password and use it in the frontend UI

Use Bluesky Manager
Navigate to:
http://localhost:3000/announcements → Click on Bluesky Manager tab

Log in with handle + app password
Create new posts with or without media
View your previous posts and delete if needed

⚠️ Note:
GIF support is currently limited to upload and preview only. Full autoplay and conversion to MP4 are under active development.

@netlify
Copy link
Copy Markdown

netlify Bot commented Jun 12, 2025

Deploy Preview for highestgoodnetwork-dev ready!

Name Link
🔨 Latest commit 10b5d79
🔍 Latest deploy log https://app.netlify.com/projects/highestgoodnetwork-dev/deploys/684bdf26a4135d0008b7eeab
😎 Deploy Preview https://deploy-preview-3645--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.

@netlify
Copy link
Copy Markdown

netlify Bot commented Mar 17, 2026

Deploy Preview for highestgoodnetwork-dev ready!

Name Link
🔨 Latest commit 90e5ab8
🔍 Latest deploy log https://app.netlify.com/projects/highestgoodnetwork-dev/deploys/69e732d552aacc00082493bb
😎 Deploy Preview https://deploy-preview-3645--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.

Copy link
Copy Markdown

@Anusha-Gali Anusha-Gali left a comment

Choose a reason for hiding this comment

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

Hi Linh,

I have provided my comments in the backend PR - do check and let me know in case of re-review. OneCommunityGlobal/HGNRest#1452 (review)

Copy link
Copy Markdown

@Anusha-Gali Anusha-Gali left a comment

Choose a reason for hiding this comment

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

Hi Linh,

I have reviewed your PR locally and the posting onto Bluesky works as per requirement. I only have two concerns:

  • the surrounding page is not adapted to dark mode as well as few bluesky components as well.
  • the image section, once the the post is made, the text is cleared and the post is cleared but the file name in Choose File is not cleared.

Issue
Image

Working Screenshots
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image

saisandeepkoritala and others added 25 commits April 2, 2026 14:14
…gn-add-capacity-filter

Chirag - Add Capacity-Based Event Filters in the event Database Design Page
…ed_hover_ghost_bar_graph

Aayush lessons learned hover ghost bar graph
one-community and others added 26 commits April 16, 2026 19:39
…port_FilterUI

Diya 🔥 fix(filterUI): Fixed Filter UI on Weekly Summary Reports Page
…tlist_Feature

Neeraj Add Event Waitlist to Improve Event Cards in event Database Design Page
…Usage_Due_Date_Alert

Neeraj Add Due Date Alerts and Visual Indicators For Resource Usage Monitoring
…bel_and_Extend_Material_Bars

Neeraj Add Amount Label and Extend Graph Bars in Resource Usage Chart
…oute-issue

Mani shashank Fix “Page Not Found” Issue for - Design Database Structure for Event Tracking
…oginFeatures

Swathi lb dashboard login features
…states-for-events

Sai Sandeep taking over for Kristin - Add Dynamic Change for Community Portal's Calendar Events
…art-for-log-attendance-page

Sai Sandeep taking over for Kristin Add Different Pie Charts for Log Attendance Page
…-modules-followup-email-template

Yu Yan - refactor/css modules followup email template
- Resolve SonarCloud quality gate failures
- Add PropTypes validation to components
- Fix cognitive complexity issues
- Improve accessibility and CSS contrast
- Remove unused imports and variables
- Fix syntax errors in BlueskyPostDetails.jsx
- Styled toggle button with active/inactive pill state and blue highlight
- Redesigned connection card with branded gradient header and App Password hint link
- Added 300-char counter with color-coded progress bar (blue -> orange -> red)
- Post button disabled when over character limit
- Connected header bar shows @handle with green live-dot and Disconnect button
- Improved post feed: avatar, emoji stats, etc
- Changed cache from 'yarn' to 'npm'
- Updated install command from 'yarn install --frozen-lockfile' to 'npm ci'
- Updated test command from 'yarn run test:changed' to 'npm run test:changed'
- Updated lint command from 'yarn run lint' to 'npm run lint'
- Resolves 'yarn.lock not found' error in CI/CD pipeline
- Aligns with project's npm-based dependency management
- Updated test.yml: cache: yarn → npm, yarn install → npm ci, yarn test → npm test
- Updated deploy.yml: cache: yarn → npm, yarn install --frozen-lockfile → npm ci, yarn run build → npm run build
- Resolves 'yarn.lock not found' errors in CI/CD pipelines
- Aligns all workflows with project's npm-based dependency management
- Fixes both push and pull_request test workflows
Copy link
Copy Markdown

@Anusha-Gali Anusha-Gali left a comment

Choose a reason for hiding this comment

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

Hi Linh,

I have reviewed your PR again and the previous issues still seem to exist even after having the latest pull. Have created a video showcasing every issue as mentioned again below. Do have a look. Thank you.

  • the surrounding page is not adapted to dark mode as well as few bluesky components as well.
  • the image section, once the the post is made, the text is cleared and the post is cleared but the file name in Choose File is not cleared.
3645.mov

@linh2020 linh2020 requested a review from Anusha-Gali April 21, 2026 06:32
Apply dark mode styling for Bluesky cards, inputs, drop zone, and post list

Clear file input value after post/create image reset so selected filename is removed

Fix Weekly Progress Editor container to properly respect dark mode

Add dark mode classes for email panel container, editor, and headings
@sonarqubecloud
Copy link
Copy Markdown

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.