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

Reader: Add utils for user profile #98346

Open
wants to merge 87 commits into
base: loop-273/update-avatar-links
Choose a base branch
from

Conversation

mehmoodak
Copy link
Member

Related to https://github.com/Automattic/loop/issues/273

Proposed Changes

We are currently hardcoding the names of user profile feature flags and URLs in various places. To improve maintainability, added isUserProfileEnabled and getUserProfileUrl util functions.

This also helps prevent unwanted typos.

Why are these changes being made?

To improve maintainability and consistency.

Testing Instructions

  • Go to user profile page (example) and verify that the page is working as expected.
  • Go to /read and verify author profile links are working as expected.

Pre-merge Checklist

  • Has the general commit checklist been followed? (PCYsg-hS-p2)
  • Have you written new tests for your changes?
  • Have you tested the feature in Simple (P9HQHe-k8-p2), Atomic (P9HQHe-jW-p2), and self-hosted Jetpack sites (PCYsg-g6b-p2)?
  • Have you checked for TypeScript, React or other console errors?
  • Have you used memoizing on expensive computations? More info in Memoizing with create-selector and Using memoizing selectors and Our Approach to Data
  • Have we added the "[Status] String Freeze" label as soon as any new strings were ready for translation (p4TIVU-5Jq-p2)?
    • For UI changes, have we tested the change in various languages (for example, ES, PT, FR, or DE)? The length of text and words vary significantly between languages.
  • For changes affecting Jetpack: Have we added the "[Status] Needs Privacy Updates" label if this pull request changes what data or activity we track or use (p4TIVU-aUh-p2)?

markbiek and others added 30 commits January 9, 2025 15:15
Previously, if the user had used the magic-link before, we should them a "Previously used: Email me a magic link" button and changed the button on the right from "Email me a login link" to "Continue with email".

This has led to confusion with some users being unsure of how to login with a password.

To that end, we've changed it so that the "Email Address or Username" is visible when the previously-used login method was magic-login. The social button on the right will also always read "Email me a login link".

We're not moving the "Password" input at this point since there's a lot of infrastructure for other login flows that depends on the password being entered in a second step.

All other social logins will remain the same and appear under "Previously used".
* Fix spacing issue for 100-year domains

* Fix spacing and missing background colour
#98182)

* provide a memoized based that's not dependent on goals to prevent event from firing each time goals are selected

* stringify the goals

* use only the initial goal reference to trigger event

* add comment for clarity
…98183)

* My Home doesn't navigate to launchpad if that's where it came from

A mitigation for the issue in #98122

* bumpStat accepts two params

* Fix unit tests to be agnostic about query params
* Remove Hosting list and card component.

* Remove WPCOM overview components and move utils and hooks to shared folder.

* Remove unused Pressable overview components.

* Hide Breadcrumbs on mobile.
…upport them (#98132)

The action attempts to trigger the sftp handlers registered in the data layer.
* Update display name for business role in support chat messages

* Localize business role display name in support chat messages
* fixes the outperformed percentages when in evergreen

* fixes the duration strings for evergreen campaigns

* dont include orders in the orders if not in completed status
…#98113)

* Accept icons on breadcrumb items

* Hide header when in site context

* Reduce font-size for small sizes with first-grapheme style

* Add breadcrumb to the Domains page on site context

* Use NavigationHeader

* Revert hideHeader to avoid conflicts
* ➖ REMOVE: remove extra localize function from ReaderAvatar

* UPDATE: jsconfig for improving TS speed

* UPDATE: migrate ReaderAuthorLink to TypeScript

* REFACTOR: Update ReaderFollowButton to use TypeScript

* REFACTOR: Update AuthorCompactProfile to functional component and use TypeScript

* ➕ ADDS: author info and improve styling

* ➖ REMOVE: extra user tabs

* 👌 IMPROVE: selector namings and section alignments

* ➕ ADDS: empty content placeholders in user profile

* 🔨 REFACTOR: update EmptyContent to functional component and use TypeScript

* 💫 UPDATE: only keep code related to refactor

* FIX: actionURL in EmptyContent

* ➖ REMOVE: code related to refactoring

* Reader: Pass header content to Stream components

* Remove reducer update from this PR

* Remove optional modifier and rename children to headerContent

* Create UserProfileHeader component

* Move nav into header and use header directly in views

* IMPROVE: spacing and remove extra properties

* 🔨 REFACTOR: move header styles to its dedicated file

* Move UserProfileHeader to own folder and scope CSS

---------

Co-authored-by: Mehmood Ahmad <[email protected]>
… recreating the Dashboard (#98228)

* Builk Plugin Management: Use existing plugin list when available

* Revert "Builk Plugin Management: Use existing plugin list when available"

This reverts commit a546395.

* Update the link URL to avoid re-create the dashboard
chriskmnds and others added 12 commits January 14, 2025 11:31
- Forces redirects from Calypso to WP Admin for the E2E tests
- Updates the E2E tests to use the WP Admin UI
* Refactoring shouldUseHelpCenterExperience

* Simplify code

* Unused types

* Refactor again

* Missing refactor

* Refactor

* Fix styling

* Remove unnecessary spread operator

Co-authored-by: Omar Alshaker <[email protected]>

* Update packages/help-center/src/components/help-center-feedback-form.tsx

Co-authored-by: Anthony Grullon <[email protected]>

---------

Co-authored-by: Omar Alshaker <[email protected]>
Co-authored-by: Anthony Grullon <[email protected]>
…atrix (#97049)

* Update bug_report.yml

Updated new issue template in support of an updated issue priority and severity matrix: p58i-ipi-p2

* Update template title

* Bring back issue type

* Bring back predefined labels

* Remove invitation to subscribe

* Update wording

See #97049 (comment)

* Adjust whitespace

* Update wording

Co-authored-by: Ikem <[email protected]>

---------

Co-authored-by: Jeremy Herve <[email protected]>
* Add empty user profile content

* Add translation
* Stats: update locations title dynamically

* Put location title together with the map
* Add subscribers-dataviews flag and component.

* Remove unnecessary code.

* Show Launchpad or table.

* Enable server-side search.

* Add server-side sorting.

* Render subscription type.

* Align header.

* Only show name field on mobile.

* Add subscriber profile and mobile styles.

* Align mobile header.
@mehmoodak mehmoodak self-assigned this Jan 14, 2025
@matticbot
Copy link
Contributor

matticbot commented Jan 14, 2025

Here is how your PR affects size of JS and CSS bundles shipped to the user's browser:

Sections (~183 bytes added 📈 [gzipped])

name                             parsed_size           gzip_size
reader                                +534 B  (+0.0%)     +183 B  (+0.0%)
write-flow                            +508 B  (+0.0%)     +175 B  (+0.0%)
plugins                               +508 B  (+0.0%)     +175 B  (+0.0%)
link-in-bio-tld-flow                  +508 B  (+0.0%)     +175 B  (+0.0%)
jetpack-cloud-plugin-management       +508 B  (+0.0%)     +175 B  (+0.0%)
home                                  +508 B  (+0.0%)     +175 B  (+0.0%)
build-flow                            +508 B  (+0.0%)     +175 B  (+0.0%)

Sections contain code specific for a given set of routes. Is downloaded and parsed only when a particular route is navigated to.

Async-loaded Components (~172 bytes added 📈 [gzipped])

name                                                 parsed_size           gzip_size
async-load-calypso-components-web-preview-component       +508 B  (+0.1%)     +175 B  (+0.1%)
async-load-design-blocks                                  +472 B  (+0.0%)     +172 B  (+0.0%)

React components that are loaded lazily, when a certain part of UI is displayed for the first time.

Legend

What is parsed and gzip size?

Parsed Size: Uncompressed size of the JS and CSS files. This much code needs to be parsed and stored in memory.
Gzip Size: Compressed size of the JS and CSS files. This much data needs to be downloaded over network.

Generated by performance advisor bot at iscalypsofastyet.com.

@mehmoodak mehmoodak force-pushed the reader/add-user-profile-utils branch from e473188 to c0ab1c7 Compare January 14, 2025 14:37
@mehmoodak mehmoodak marked this pull request as ready for review January 14, 2025 15:48
@mehmoodak mehmoodak requested a review from a team as a code owner January 14, 2025 15:48
@matticbot matticbot added the [Status] Needs Review The PR is ready for review. This also triggers e2e canary tests and wp-desktop tests automatically. label Jan 14, 2025
@mehmoodak mehmoodak requested review from a team as code owners January 14, 2025 16:00
@mehmoodak mehmoodak requested a review from aneeshd16 January 14, 2025 16:00
@matticbot
Copy link
Contributor

This PR modifies the release build for the following Calypso Apps:

For info about this notification, see here: PCYsg-OT6-p2

  • blaze-dashboard
  • command-palette-wp-admin
  • help-center
  • notifications
  • odyssey-stats
  • whats-new

To test WordPress.com changes, run install-plugin.sh $pluginSlug reader/add-user-profile-utils on your sandbox.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Status] Needs Review The PR is ready for review. This also triggers e2e canary tests and wp-desktop tests automatically.
Projects
None yet
Development

Successfully merging this pull request may close these issues.