Revamps Profile to be like Projects, a mini portal and side nav with icons.
Details
- Reviewers
epriestley btrahan - Commits
- Restricted Diffusion Commit
rP8f1e0c026294: Revamp Profile with new IconNav
Viewed my own profile, as well as others. Test seeing my commits, tasks, diffs, and upcoming events. Checked mobile navigation.
Diff Detail
- Repository
- rP Phabricator
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
This feels a little disconnected but I think it's a step forward toward a world where we have more cohesive profile page.
The one issue I caught that we can't have a /people/<username>/ route. It will break when users have usernames which conflict with another existing route. You can either use /p/<username>/ (likely easiest) or you can do /people/profile/<username>/, but not /people/<username>/.
src/applications/people/application/PhabricatorPeopleApplication.php | ||
---|---|---|
69–70 | This will break for users named feed, calendar, picture, etc. |
I'm fine with building actual pages for commits, tasks, etc, like we did for Calendar. Is that part of your disconnect? Those pages then could link to a full query.
Yeah, big thing is just that Calendar is in-app and the other stuff is out-of-app, and then there's that "Send Message" button. Just feels bolted-on-ish.
For now, I don't think it's worth fixing. We can provide some more general way for applications to generate these panels in the future and clean things up then (i.e., the code for Calendar stuff shouldn't really live in the People application).
While this technically works, I don't think it's a good/consistent way to structure the URIs. Particularly, this URI:
/p/feed/calendar/
...matches both of these rules:
'/p/(?P<username>[\w._-]+)/calendar/' '/p/feed/(?P<username>[\w._-]+)/'
That is, in /p/feed/calendar/, it's ambiguous which of "feed" and "calendar" is the username, so for users "Christoph Alendar" and "Fred Emmot Ed", with usernames "calendar" or "feed", some of these URIs are ambiguous.
Although that doesn't cause an issue in practice, I think we should structure the URIs so that there's no ambiguity.
You can use these URIs/rules to do that:
URI: /p/<username>/calendar/ Rule: '/p/(?P<username>[\w._-]+)/calendar/' URI: /p/<username>/feed/ Rule: '/p/(?P<username>[\w._-]+)/feed/'
The first rule already exists, so you'd just need to add the second rule, then make sure all the links start with /p/<username>/ instead of /p/<page>/.