Skip to content

Account Dashboard Mitigation#345

Merged
davinotdavid merged 10 commits into
mainfrom
account-dashboard-mitigation
Nov 3, 2025
Merged

Account Dashboard Mitigation#345
davinotdavid merged 10 commits into
mainfrom
account-dashboard-mitigation

Conversation

@davinotdavid

@davinotdavid davinotdavid commented Oct 28, 2025

Copy link
Copy Markdown
Contributor

Description of changes

  • Hides "Manage MFA" from the navigation links
  • Hides MFA related content from the Dashboard page
  • Hides "Manage devices" from the Dashboard page
  • Implements the subscription plan information with real data
  • Implements the "Manage Subscription" to point to the related Paddle page
  • Makes Appointment / Send links real

Screenshots

image

Known issues / Things to improve

  • Since the subscription plan information is real, we might need to update the Plan inside of the Paddle Dashboard / Django Admin to match the design copy (as in, change the name to Early Bird, etc).
  • This PR doesn't hide / remove the delete account part yet as there is a tentative implementation here Implement Delete Account functionality #365

Related issues

Solves #344
Solves #368

Comment thread src/thunderbird_accounts/authentication/clients.py Fixed
@MelissaAutumn

Copy link
Copy Markdown
Member

Can we split off the delete account functionality from this ticket? It seems like the odd one out here.

@davinotdavid davinotdavid changed the title [WIP] Account Dashboard Mitigation Account Dashboard Mitigation Nov 3, 2025
@davinotdavid davinotdavid marked this pull request as ready for review November 3, 2025 17:54

@MelissaAutumn MelissaAutumn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Few nits. We probably should leave number / currency formatting to Intl.NumberFormat or vue-i18n if that handles it the same.

* - Converts storage bytes to GB
* - Removes unnecessary decimal places
*/
export const formatSubscriptionData = (

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Can you add context for the single letter variables in the docblock? Mention they should be filled with vue-i18n's n,t,d vars.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Definitely! Added in latest commit, thanks!


# Get the plan associated with the product
try:
plan = Plan.objects.get(product=subscription_item.product)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

You can use user.plan now. You might need to fix your local db so it's correctly filled out as it was added in #337.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Nice! Makes sense, changed in the latest commit, thanks!

currencyDisplay: 'narrowSymbol',
});

return formatted.replace(/[\d\s.,]/g, '');

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't think we need to retrieve the currency symbol, either vue-i18n should handle it or Intl.NumberFormat should.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Interesting, I was already using n from vue-i18n so that we could later extract the currency from the produced output but TIL that there's a way to use i18n-n component itself with separate slots for currency symbol, integer, group and fraction :O (https://vue-i18n.intlify.dev/guide/essentials/number#custom-formatting).

Updated here, thanks!

},
};

const numberFormats = {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Just a note #350 will probably eat all of this up.

@davinotdavid davinotdavid merged commit 9a942aa into main Nov 3, 2025
8 checks passed
@davinotdavid davinotdavid deleted the account-dashboard-mitigation branch November 3, 2025 20:53
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.

3 participants