-
Notifications
You must be signed in to change notification settings - Fork 2
Bank Sync cleanup #1710
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
Open
jjmata
wants to merge
43
commits into
main
Choose a base branch
from
feat/surface-provider-status
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+1,389
−688
Open
Bank Sync cleanup #1710
Changes from all commits
Commits
Show all changes
43 commits
Select commit
Hold shift + click to select a range
391364d
feat(settings/providers): surface connection status in section headers
claude 87ff9c0
feat(settings/providers): group providers into Connected and Available
jjmata 6633f29
feat(settings/providers): health strip, action-needed group, and sync…
jjmata 4623bc3
feat(settings/providers): card grid for available providers with conn…
jjmata 2b59dd6
feat(settings): retire /settings/bank_sync; merge into providers page
jjmata a235b5a
Merge branch 'main' into feat/surface-provider-status
jjmata 7e2f47d
Migrations are 7.2 here
jjmata 423b209
Minimize schema noise
jjmata db7080d
Schema duplication
jjmata 45b5bc0
Small copy edits
jjmata 3851543
Fix tests
jjmata fff5c97
Merge remote-tracking branch 'origin/main' into feat/surface-provider…
jjmata 60b2f2b
Address provider settings review feedback
jjmata bf73e3a
refactor(settings/providers): finish design-review cleanup pass
gariasf d037412
feat(settings/providers): replace Add another provider CTA with a sea…
gariasf 4899d98
Private method fix
jjmata 89726e6
refactor(settings/providers): drawer cleanup, header lock-up, trust s…
gariasf 4bd9ddd
chore(locales): drop unused provider-panel status strings
gariasf 0002237
feat(settings/providers): connected-state polish per design §05 + Lin…
gariasf b019944
fix(settings/providers): align connected state with the final design …
gariasf e0aab86
refactor(settings/providers): tighten paddings, dedupe maturity badge…
gariasf 313ab83
fix(settings/providers): icons + search input height
gariasf 693e3e4
refactor(settings/providers): align Sync all + search input with DS, …
gariasf 229f657
fix(settings/providers): drawer trust statement uses border-tertiary
gariasf 8a2f16a
refactor(settings/providers): swap arbitrary Tailwind values for scal…
gariasf 41cd641
revert(settings/providers): drop the slim health strip
gariasf ee798ae
refactor(settings/providers): align with DS conventions
gariasf 77a100b
fix(provider/metadata): add plaid_eu entry
gariasf e57f7ce
Merge branch 'main' into feat/surface-provider-status
gariasf 8c96195
fix(settings/providers): center-align Sync all next to the lede
gariasf 6abceb0
fix(settings/providers): drop colour palette + filter polish + drawer…
gariasf 4c9e0f2
refactor(settings/providers): drawer alerts use DS::Alert; drop card-…
gariasf 1c49750
fix(settings/providers): hoist warning alerts to top of drawer
gariasf c90836e
fix(DS::Alert): align icon to cap-height of first text line
gariasf 3f3e717
copy(settings/providers): tighten alert messaging per voice review
gariasf 81dd431
feat(settings/providers): SetupSteps partial for connect-drawer instr…
gariasf c5668cb
fix(settings/providers): tighten panel spacing + relocate per-panel n…
gariasf 4b9ca7d
fix(settings/providers): plaid + indexa drawers join the SetupSteps look
gariasf 2e0d36d
fix(settings/providers): surface configured plaid_eu + dedup show con…
gariasf 39ac899
i18n(settings/providers): localize plaid setup steps + drop dead defa…
gariasf 31e23d7
test(settings/providers): cover plaid_eu, clear filters, warn outline
gariasf 95eec78
copy(settings/providers): drop em dashes, naturalize phrasing
gariasf 59122cd
fix(settings/providers): address CodeRabbit pass on PR #1717
gariasf File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,3 @@ | ||
| web: bundle exec ${DEBUG:+rdbg -O -n -c --} bin/rails server | ||
| web: bundle exec ${DEBUG:+rdbg -O -n -c --} bin/rails server -b 0.0.0.0 -p ${PORT:-3000} | ||
| css: bundle exec bin/rails tailwindcss:watch 2>/dev/null | ||
| worker: bundle exec sidekiq |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| <%= link_to connect_path, | ||
| class: "bg-container shadow-border-xs rounded-xl p-4 flex flex-col gap-2.5 text-primary hover:bg-container-hover transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-alpha-black-100", | ||
| data: { turbo_frame: "drawer", turbo_prefetch: "false" }.merge(filter_data) do %> | ||
| <div class="flex items-start gap-2.5"> | ||
| <div class="w-9 h-9 rounded-lg flex items-center justify-center shrink-0 bg-surface-inset"> | ||
| <span class="text-xs font-bold text-primary"><%= logo_text %></span> | ||
| </div> | ||
| <div class="flex-1 min-w-0"> | ||
| <div class="flex items-center gap-2 flex-wrap"> | ||
| <span class="text-sm font-medium text-primary"><%= name %></span> | ||
| <%= render "settings/providers/maturity_badge", label: maturity_label %> | ||
| </div> | ||
| <% if meta_line.present? %> | ||
| <p class="text-xs text-subdued mt-0.5"><%= meta_line %></p> | ||
| <% end %> | ||
| </div> | ||
| </div> | ||
| <% if tagline.present? %> | ||
| <p class="text-sm text-secondary grow leading-snug"><%= tagline %></p> | ||
| <% end %> | ||
| <div class="flex items-center justify-end gap-1.5 text-sm font-medium text-primary"> | ||
| <%= t("settings.providers.connect") %> | ||
| <%= helpers.icon "arrow-right", size: "sm", class: "!w-3.5 !h-3.5" %> | ||
| </div> | ||
| <% end %> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| class Settings::ProviderCard < ApplicationComponent | ||
| MATURITY_LABELS = { | ||
| beta: "settings.providers.maturity.beta", | ||
| alpha: "settings.providers.maturity.alpha" | ||
| }.freeze | ||
|
|
||
| def self.maturity_label(maturity) | ||
| key = MATURITY_LABELS[maturity&.to_sym] | ||
| I18n.t(key) if key | ||
| end | ||
|
|
||
| def initialize(provider_key:, name:, tagline: nil, region: nil, kind: nil, tier: nil, | ||
| maturity: :stable, logo_text: nil) | ||
| @provider_key = provider_key | ||
| @name = name | ||
| @tagline = tagline | ||
| @region = region | ||
| @kind = kind | ||
| @tier = tier | ||
| @maturity = maturity.to_sym | ||
| @logo_text = logo_text || name.first(2).upcase | ||
| end | ||
|
|
||
| attr_reader :name, :tagline, :logo_text | ||
|
|
||
| def maturity_label | ||
| self.class.maturity_label(@maturity) | ||
| end | ||
|
|
||
| def meta_line | ||
| [ @region, @kind, @tier ].compact.join(" · ") | ||
| end | ||
|
|
||
| def connect_path | ||
| helpers.connect_form_settings_providers_path(provider_key: @provider_key) | ||
| end | ||
|
|
||
| def filter_data | ||
| { | ||
| providers_filter_target: "card", | ||
| provider_name: @name.to_s.downcase, | ||
| provider_region: @region.to_s.downcase, | ||
| provider_kind: @kind.to_s.downcase | ||
| } | ||
| end | ||
| end |
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
showis now admin-gated, so the shared Bank Sync entry dead-ends for family members.Including
:showhere means a non-admin who follows the new Bank Sync nav item gets bounced toroot_pathwith "Not authorized" instead of seeing the page. If the page is meant to be reachable for both admin and non-admin users per the PR objective, keep the write/sync actions restricted but leaveshowaccessible.🤖 Prompt for AI Agents