Skip to content

Feat/fundedbot checkout redesign#8

Open
kautzargypf wants to merge 10 commits into
QuantTechnologyGroup:mainfrom
kautzargypf:feat/fundedbot-checkout-redesign
Open

Feat/fundedbot checkout redesign#8
kautzargypf wants to merge 10 commits into
QuantTechnologyGroup:mainfrom
kautzargypf:feat/fundedbot-checkout-redesign

Conversation

@kautzargypf

Copy link
Copy Markdown
Contributor

No description provided.

devBerryLabs and others added 10 commits June 19, 2026 13:44
Its Phase 1/2 Target + Max/Daily Loss values were hardcoded placeholders, not
real per-program data, so it was showing the same fixed percentages for every
product. Removed the block from the summary (left a note to re-add it once the
real per-program targets are available). The JS that drove it (bindDropdown +
the email-substep challengeReq toggles) is null-safe and simply no-ops now.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
So the deployed build is visibly distinguishable from the previous 1.0.0 on the
plugins list after replacing it on staging.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The level-0 Trading Platform pill name used `color: inherit` -> inherited
--yourpropfirm-primary-text, which is gray (#666) in light mode (white in dark,
so dark looked fine). On the selected pill's green tint it read washed-out.
Align it to the same token the eval cards use (tw-text-gray-900 dark:tw-text-white)
so it's near-black in light, white in dark.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… set

A tenant logo renders as bare <img> children carrying tw-mx-auto (margin:0 auto);
in the flex header those auto margins center the logo and override the
container's justify-content:flex-start. That's why local (FUNDEDBIT fallback,
wrapped in .ypf-brand-logo) showed it left but staging (real logo) centered.
Reset the logo <img> margins to flex-start so it's always left-aligned.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ut-redesign

# Conflicts:
#	templates/woocommerce/checkout/form-checkout.php
The "Select Trading Platform" / "Select Evaluation Type" headings come from the
admin level-label option and were printed raw, so they never translated (unlike
the hardcoded esc_html__ strings). Now:
- form-product-selection.php passes the level label through __() so a label that
  exists in the catalog translates (custom labels still fall back to raw);
- the wizard JS re-applies the translated heading (localized levelLabels) after
  the plugin re-renders the sub-category section on a platform switch, so it
  stays translated;
- missing.pot updated with the full set of strings still absent from the catalog
  (for the main-plugin/i18n maintainer to add): "Select Evaluation Type" plus 5
  extractable strings. The catalog .po/.mo files are left untouched (owned by the
  i18n maintainer).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ay:none)

On staging, site-custom JS (a WPCode snippet) sets an inline display:none on the
non-selected level-0 platform, collapsing Platform 5 to 0 width — only the
checked platform showed. The platform selector must always show every platform,
so force the level-0 category options visible with display:block !important
(beats the inline style). Verified not from our code or the main plugin (local,
same code, shows both platforms); this hardens us against any env that hides one.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Revert the level-0 platform `display:block !important` safety-net
(commit 9d83395). That override was added when we believed an inline
display:none on a platform card was an accidental WPCode hide.

It is actually an intentional country/category-restriction feature
shipped by the site (inline script `ypf-ccr-script`, AJAX action
`ypf_ccr_check`): for restricted countries (MY/ID/PK/KH) it sets
`display:none` AND `radio.disabled = true` on blocked platforms
(e.g. Platform 5 / cat 124). Our `!important` forced the blocked card
visible while its radio stayed disabled — so it looked selectable but
silently did nothing.

Removing the forced display (no tw-block, no !important) lets the
snippet's inline style win, so blocked platforms hide cleanly in
restricted countries and show+enable elsewhere. As a flex child the
label is still blockified for layout when shown. Verified locally:
both platforms render side-by-side normally, and simulating the
snippet (display:none + disabled) now collapses the blocked card to 0
width instead of leaving a dead card.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Per CEO decision: present Bybit accounts (program API reports them in
USDT) as plain USD — "$50,000" — matching the USD platforms and the WC
product titles, which already render "$50,000 - 1-Step". Removes the
inconsistency where the checkout summary said "50,000 USDT" while the
actual order/email already said "$50,000".

DISPLAY-ONLY, add-on side only. No main-plugin change, no API change:
`_yourpropfirm_account_currency` meta stays USDT, so fulfillment and the
dashboard still treat the account as USDT.

- new YPF_UI_Addon_Hooks::display_currency_code() maps USD-pegged
  stablecoins (USDT/USDC/BUSD/DAI/TUSD/USDP/FDUSD) -> USD; filterable
  via `ypf_ui_addon_usd_stablecoins`
- account_label() normalizes through it (USDT -> "$50,000")
- build_selection_maps() exposes the normalized accountCurrency (so the
  summary Currency row + the pill data-attr the JS reads show USD)
- form-product-selection.php pill data-account-currency normalized too

Verified locally (Bybit products carry cur=USDT): pills render
$100,000..$5,000, data-account-currency="USD", summary Currency=USD,
Product row "$100,000 — 1-Step".

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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