Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ft/speakerpage #8

Merged
merged 9 commits into from
Sep 23, 2024
Merged

Ft/speakerpage #8

merged 9 commits into from
Sep 23, 2024

Conversation

cindykandie
Copy link

@cindykandie cindykandie commented Sep 21, 2024

Pull Request Title:

Implement Dynamic Speaker Page and Navigation for Speakers List in Expo Router V3


Description:

This PR introduces a dynamic speaker page using Expo Router V3 and integrates a speakers list with proper navigation. Users can now view a list of speakers and click on individual speakers to navigate to their dynamic speaker profile pages.

Key Features:

  • Dynamic Route for each speaker using [id].tsx.
  • Speaker List: A list of speakers displayed in a FlatList.
  • Speaker Profile Page: Each speaker's profile is dynamically rendered based on their ID.
  • Social Media Integration: Added social media links (Twitter/X and LinkedIn) to each speaker's profile with proper fallback in case the links are missing.

Type of Changes:

  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Changes Implemented:

  1. Dynamic Route Setup:

    • Created a dynamic route for each speaker under app/speakers/[id].tsx.
    • Implemented logic to fetch speaker data based on the dynamic route parameter (id).
  2. Speaker List Page:

    • Created a speakers.tsx file under app/tabs/ to display a list of speakers using FlatList.
    • Each speaker is represented by a SpeakerCard component.
  3. SpeakerCard Component:

    • Added a SpeakerCard component to display each speaker's name, profile picture, and session title.
  4. Social Media Integration:

    • Displayed Twitter/X and LinkedIn icons using @expo/vector-icons.
    • Implemented fallback URLs in case social media data is missing.
  5. PR Template Compliance:

    • Followed best practices in ensuring proper layout, dynamic navigation, and flexibility with fallback content.

How Has This Been Tested?

  • Manual testing across multiple devices and screen sizes to verify:
    • Proper navigation between the speakers list and dynamic speaker pages.
    • Social media links and fallbacks open properly when clicked.

Related Tickets or Issues:

#3 (comment)
#6

Screenshots (if applicable):

  1. Speaker List with Navigation
    photo_6012827096709187028_y

  2. Speaker Profile Page
    photo_6012827096709187027_y


Checklist:

  • I have read the contributing guidelines.
  • Lint and prettier checks have been run and passed.
  • Code is commented where necessary.
  • [] I have updated the documentation (if necessary).
  • I have tested the app across multiple screen sizes and devices.

@brianwachira brianwachira self-requested a review September 21, 2024 11:06
Copy link

@brianwachira brianwachira left a comment

Choose a reason for hiding this comment

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

Speaker

@cindykandie please follow design, your social media icons do not match design

@kharioki kharioki merged commit 09a2ce2 into main Sep 23, 2024
2 checks passed
@kharioki kharioki deleted the ft/speakerpage branch September 23, 2024 18:01
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.

4 participants