upcoming: [M3-7354] DC Get Well - Disabled regions #9909
upcoming: [M3-7354] DC Get Well - Disabled regions #9909abailly-akamai merged 10 commits intolinode:developfrom
Conversation
ffe8667 to
743c345
Compare
There was a problem hiding this comment.
Adding loading props since we now have an API request that may affect the rendering. It's unlikely to be noticable at all and i doubt we'll ever see the loading state but does not hurt to plan for it.
There was a problem hiding this comment.
Please note this the comment above. The prop IS going to be required when we wrap up this implementation. But for the sake of keeping the PR small and not add the prop on every select (there's some slight extra work to do for some of our services) I kept it optional. right now.
coliu-akamai
left a comment
There was a problem hiding this comment.
✅ Confirmed current capability prop works as expected on flows
✅ general code review
Good test additions + I liked how you passed in objects to the region utility functions, definitely helped with readability!
2f8c802 to
a7ac463
Compare
|
VPC test failure looks unrelated. It passed locally every time I ran it locally |
hana-akamai
left a comment
There was a problem hiding this comment.
I'm only seeing Tokyo, JP as a disabled item (with MSW on) 🤔
It seems like there was some kind of regression with keyboard accessibility. The scroll bar no longer follows the user. The padding between each region has increased as well (not sure if that was intentional)
| This branch | Remote dev |
|---|---|
this.branch.mov |
Screen.Recording.2023-11-27.at.2.58.37.PM.mov |
|
@hana-linode Great catch! this issue was not stemming from this PR (was a result of the RegionSelect refactor) but an issue nonetheless and one that won't make it to production 🙇 (I am assuming when you labelled "Remote dev" it was actually prod cause the RegionSelect refactor has not made it to prod yet) I fixed both the mobile padding and the scrolling issue. As far as Miami is concerned, that may only have to do the fact you don't have Miami in the list all together? |
|
@coliu-akamai can you please give the PR another run after this fix? wanna make sure we don't have any other regressions as a result - thx! |
|
thank you @hana-linode for catching this!!! 🙏 taking another look through it now |
|
@coliu-akamai thanks for the second pass! Glad it's working now.
I don't wanna block the rest of the work we have to implement and those can def be follow up items |
hana-akamai
left a comment
There was a problem hiding this comment.
Volume Create flow LGTM.
I'm not seeing the disabled regions for Linode Create though. I'm adding currentCapability="Block Storage" to the RegionSelect in SelectRegionPanel. Is there something I'm missing?
packages/manager/src/components/RegionSelect/RegionSelect.styles.ts
Outdated
Show resolved
Hide resolved
|
@hana-linode & @coliu-akamai Fixed a couple issues:
Now, for
|
coliu-akamai
left a comment
There was a problem hiding this comment.
- reconfirmed keyboard accessibility
- reconfirmed tests
- confirmed RegionSelect works as expected when going to different flows for both Linode Create, Volumes Create, and other flows (tested Kubernetes, ObjectStorage)
- confirmed styling warning is gone
- ++ nice addition with sticky continent headers for the region select 🚀
ty to Hana for the sharp eyes and Alban for the fixes!
hana-akamai
left a comment
There was a problem hiding this comment.
- Confirmed keyboard accessibility
- RegionSelect disabled state for Volume Create and Linode Create
- No more console warning for styling


Description 📝
This PR implements the UI for disabled regions in the
<RegionSelect />. We originally had hardcoded "fake" regions to represent disabled menu items. DC Get Well now implements a new endpoint (account/availability) which represents an array of DCs (or regions) unavailable to the user.The UI is essentially the same (disabled item plus tooltip with link to a static info page - link TBD).
Right now this PR does not implement the behavior in all
RegionSelectinstances to keep the PR small and focus on pure logic implementation. (see testing steps)Changes 🔄
account/availabilityrequest (mocked for now) and underlying logic to determine the region's availability to a given user.Preview 📷
How to test 🧪
Prerequisites
Verification steps
ex: add
currentCapability="Block Storage"to the VolumeCreate region select👉 verify that Atlanta and Tokyo are disabled items
As an Author I have considered 🤔
Check all that apply