-
Notifications
You must be signed in to change notification settings - Fork 0
3 create personal page #14
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR creates a personal page featuring a TabBarHeader, profile section, and a skills section.
- Added a Skills Icons section in README.md
- Updated CHANGELOG.md with details of the personal page changes
- Modified CI/CD workflow conditions in .github/workflows/cicd.yml to trigger jobs only after a PR is merged
Reviewed Changes
Copilot reviewed 165 out of 165 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| README.md | Added a new Skills Icons section with links to icon resources |
| CHANGELOG.md | Updated changelog with the new version and personal page details |
| .github/workflows/cicd.yml | Adjusted job conditions to run only after a PR is merged |
Comments suppressed due to low confidence (2)
.github/workflows/cicd.yml:120
- Verify that using 'github.event.pull_request.merged' is supported by the workflow trigger, as it may not evaluate as expected if the trigger event does not include a merged property.
if: github.event.pull_request.merged == true && success()
.github/workflows/cicd.yml:154
- Ensure that this deployment step's condition accurately checks for a merged PR and behaves as intended with the current GitHub Actions event schema.
if: github.event.pull_request.merged == true && success()
…boy/mywebsite into 3-create-personal-page
…boy/mywebsite into 3-create-personal-page
…boy/mywebsite into 3-create-personal-page
|
Run bugbot |
|
Bugbot run |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Tab Controller Conflict and Logging Issues
The Details widget uses both useTabController and DefaultTabController, creating conflicting TabController instances. Additionally, unnecessary dev.log statements are present and should be removed.
lib/views/personal/details/details.dart#L20-L69
mywebsite/lib/views/personal/details/details.dart
Lines 20 to 69 in 62a4d23
| Widget build(BuildContext context) { | |
| final index = useState(kFirstIndex); | |
| final controller = useTabController( | |
| initialLength: 5, | |
| initialIndex: index.value, | |
| ); | |
| dev.log('controller index: ${controller.index}', name: 'Details Content'); | |
| dev.log('index: ${index.value}', name: 'Details Content'); | |
| final tabBarHeader = TabBarHeader( | |
| controller: controller, | |
| onTap: (value) { | |
| index.value = value; | |
| dev.log('updated index: $value', name: 'Details Content'); | |
| }, | |
| isScrollable: !isSmall, | |
| isSmallScreen: isSmall, | |
| ); | |
| return DefaultTabController( | |
| length: 5, | |
| child: LayoutBuilder( | |
| builder: (context, constraints) { | |
| return Stack( | |
| children: [ | |
| Card( | |
| shape: RoundedRectangleBorder( | |
| borderRadius: BorderRadius.circular(12), | |
| ), | |
| color: kPrimaryColor, | |
| child: Padding( | |
| padding: allPadding24, | |
| child: Align( | |
| alignment: Alignment.topCenter, | |
| child: _getBody( | |
| index: index.value, | |
| constraints: constraints, | |
| ), | |
| ), | |
| ), | |
| ), | |
| _getTabHeader( | |
| child: tabBarHeader, | |
| constraints: constraints, | |
| ), | |
| ], | |
| ); | |
| }, | |
| ), | |
| ); |
Bug: ExperienceCard Fails Without Network Image Handling
The ExperienceCard widget lacks error handling for network images. Both instances of Image.network(experience.companyImageUrl!).image used within DecorationImage for company logos (for left and right alignment) directly load images without a fallback. This can cause the widget to fail if the network request fails or the image URL is invalid, unlike other parts of the codebase that handle network image loading more robustly.
lib/views/personal/details/widgets/experience_card.dart#L41-L47
mywebsite/lib/views/personal/details/widgets/experience_card.dart
Lines 41 to 47 in 62a4d23
| borderRadius: BorderRadius.circular(8), | |
| image: DecorationImage( | |
| image: Image.network( | |
| experience.companyImageUrl!, | |
| ).image, | |
| fit: BoxFit.cover, | |
| ), |
lib/views/personal/details/widgets/experience_card.dart#L86-L94
mywebsite/lib/views/personal/details/widgets/experience_card.dart
Lines 86 to 94 in 62a4d23
| decoration: BoxDecoration( | |
| borderRadius: BorderRadius.circular(8), | |
| image: DecorationImage( | |
| image: Image.network( | |
| experience.companyImageUrl!, | |
| ).image, | |
| fit: BoxFit.cover, | |
| ), | |
| ), |
BugBot free trial expires on June 15, 2025
You have used $0.00 of your $1.00 spend limit so far. Manage your spend limit in the Cursor dashboard.
Was this report helpful? Give feedback by reacting with 👍 or 👎
Creating the Personal Page with a TabBarHeader and sections below that. Include a profile section.