Skip to content

Private#1118

Open
dskhairnar wants to merge 108 commits into
mainfrom
private
Open

Private#1118
dskhairnar wants to merge 108 commits into
mainfrom
private

Conversation

@dskhairnar

Copy link
Copy Markdown
Contributor

No description provided.

dskhairnar and others added 30 commits May 30, 2026 09:13
feat(currency): implement currency symbol overrides and update format…
…mports in PlanPriceTable and helper_functions
feat(TaxAssociationTable): add TrashIcon import and clean up unused i…
refactor: update branding Tirdad, adjust favicon, and enhance documen…
refactor: update branding, enhance HTML meta tags, and improve Loader…
…formatting, and update input components for localized currency display
Merge pull request #999 from flexprice/develop
…urrency formatting, and update input components for localized currency display"

This reverts commit da3df32.
dfeat(currency): implement Saudi Riyal font support, enhance currency …
omkar273 and others added 25 commits June 27, 2026 04:29
…into HTML and update environment variable documentation
…exprice contact availability across multiple components
i18n(ar): natural Saudi-flavored Arabic localization overhaul
Centralize contact config so deployments can enable Slack, email, and book-a-call links via VITE_PLATFORM_CONFIG without relying on flexprice.io hostname checks.

Co-authored-by: Cursor <cursoragent@cursor.com>
Add contact_us platform flag for white-label contact details.
Enhance localization and error handling for integration and payment f…
@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 217 files, which is 117 over the limit of 100.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 013ca50b-75e3-469b-96e1-14653b0c7109

📥 Commits

Reviewing files that changed from the base of the PR and between ad92a98 and 28f11d0.

⛔ Files ignored due to path filters (6)
  • package-lock.json is excluded by !**/package-lock.json
  • public/woff2/thmanyahsans-Black.woff2 is excluded by !**/*.woff2
  • public/woff2/thmanyahsans-Bold.woff2 is excluded by !**/*.woff2
  • public/woff2/thmanyahsans-Light.woff2 is excluded by !**/*.woff2
  • public/woff2/thmanyahsans-Medium.woff2 is excluded by !**/*.woff2
  • public/woff2/thmanyahsans-Regular.woff2 is excluded by !**/*.woff2
📒 Files selected for processing (217)
  • .env.example
  • README.md
  • index.html
  • package.json
  • scripts/codemods/i18n/README.md
  • scripts/codemods/i18n/config.mjs
  • scripts/codemods/i18n/run.mjs
  • scripts/codemods/i18n/transform-file.mjs
  • scripts/codemods/i18n/utils.mjs
  • src/components/atoms/ErrorBoundary/ErrorBoundary.tsx
  • src/components/atoms/Loader/Loader.tsx
  • src/components/atoms/Select/Select.tsx
  • src/components/customer-portal/BillingOverviewCard.tsx
  • src/components/customer-portal/InvoicesTab.tsx
  • src/components/customer-portal/OverviewTab.tsx
  • src/components/customer-portal/UsageSection.tsx
  • src/components/customer-portal/WalletTab.tsx
  • src/components/customer-portal/widgets/CurrentUsageWidget.tsx
  • src/components/customer-portal/widgets/InvoicesWidget.tsx
  • src/components/customer-portal/widgets/WalletBalanceWidget.tsx
  • src/components/molecules/ApiDocs/ApiDocs.tsx
  • src/components/molecules/AppliedTaxesTable/AppliedTaxesTable.tsx
  • src/components/molecules/BreadCrumbs/BreadCrumbs.tsx
  • src/components/molecules/ChargeValueCell/ChargeValueCell.tsx
  • src/components/molecules/ContactUsDialog/ContactUsDialog.tsx
  • src/components/molecules/CouponAssociation/CouponAssociation.tsx
  • src/components/molecules/CouponTable/CouponTable.tsx
  • src/components/molecules/CreditGrant/CreditGrantModal.tsx
  • src/components/molecules/CreditGrant/CreditGrantsTable.tsx
  • src/components/molecules/CreditGrant/EditSubscriptionCreditGrantModal.tsx
  • src/components/molecules/CreditGrant/SubscriptionCreditGrantTable.tsx
  • src/components/molecules/CreditGrant/UpcomingCreditGrantApplicationsTable.tsx
  • src/components/molecules/CreditNoteTable/CreditNoteLineItemTable.tsx
  • src/components/molecules/CreditNoteTable/CreditNoteTable.tsx
  • src/components/molecules/Customer/CustomerTable.tsx
  • src/components/molecules/CustomerUsageChart.tsx
  • src/components/molecules/CustomerUsageTable/CustomerUsageTable.tsx
  • src/components/molecules/DropdownMenu/DropdownMenu.tsx
  • src/components/molecules/DuplicatePlanDialog/DuplicatePlanDialog.tsx
  • src/components/molecules/EnvironmentCreator/EnvironmentCreator.tsx
  • src/components/molecules/EnvironmentSelector/EnvironmentSelector.tsx
  • src/components/molecules/FeatureDrawer/FeatureDrawer.tsx
  • src/components/molecules/FundingStrip/FundingStrip.tsx
  • src/components/molecules/IntegrationMappingCard/IntegrationMappingCard.tsx
  • src/components/molecules/InvoiceCreditLineItemTable/InvoiceCreditLineItemTable.tsx.tsx
  • src/components/molecules/InvoiceLineItemTable/InvoiceLineItemTable.tsx
  • src/components/molecules/InvoiceLineItemTable/SubscriptionPreviewLineItemTable.tsx
  • src/components/molecules/InvoicePaymentsTable/InvoicePaymentsTable.tsx
  • src/components/molecules/InvoiceTable/CustomerInvoiceTable.tsx
  • src/components/molecules/InvoiceTable/InvoiceStatusModal.tsx
  • src/components/molecules/InvoiceTable/InvoiceTable.tsx
  • src/components/molecules/InvoiceTable/InvoiceTableMenu.tsx
  • src/components/molecules/InvoiceTaxAssociationTable/InvoiceTaxAssociationTable.tsx
  • src/components/molecules/MetricCard.tsx
  • src/components/molecules/MoyasarConnectionDrawer/MoyasarConnectionDrawer.test.tsx
  • src/components/molecules/MoyasarConnectionDrawer/MoyasarConnectionDrawer.tsx
  • src/components/molecules/PriceTooltip/PriceTooltip.tsx
  • src/components/molecules/PricingCard/PricingCard.tsx
  • src/components/molecules/RecordPaymentTopup/RecordPaymentTopup.tsx
  • src/components/molecules/RestrictedEnvBanner/RestrictedEnvBanner.tsx
  • src/components/molecules/S3ConnectionDrawer/S3ConnectionDrawer.tsx
  • src/components/molecules/SaveCardModal/SaveCardModal.tsx
  • src/components/molecules/SecretKeyDrawer/SecretKeyDrawer.tsx
  • src/components/molecules/ServiceAccountDrawer/ServiceAccountDrawer.tsx
  • src/components/molecules/Sidebar/SidebarFooter.tsx
  • src/components/molecules/Subscription/SubscriptionEditChargesSection.tsx
  • src/components/molecules/Subscription/SubscriptionEditCreditGrantsSection.tsx
  • src/components/molecules/Subscription/SubscriptionEditDetailsHeader.tsx
  • src/components/molecules/SubscriptionAddonsSection/SubscriptionAddonsSection.tsx
  • src/components/molecules/SubscriptionDiscountTable/SubscriptionDiscountTable.tsx
  • src/components/molecules/SubscriptionEntitlementsSection/SubscriptionEntitlementsSection.tsx
  • src/components/molecules/SubscriptionLineItemTable/SubscriptionLineItemTable.tsx
  • src/components/molecules/SubscriptionTaxAssociationTable/SubscriptionTaxAssociationTable.tsx
  • src/components/molecules/Table/TooltipCell.tsx
  • src/components/molecules/TaxAssociationTable/TaxAssociationTable.tsx
  • src/components/molecules/TerminateWalletModal/TerminateWalletModal.tsx
  • src/components/molecules/Wallet/AllWalletTransactionsTable.tsx
  • src/components/molecules/Wallet/CustomerWalletTransactionsTable.tsx
  • src/components/molecules/Wallet/WalletTransactionsTable.tsx
  • src/components/molecules/WalletAutoTopup/WalletAutoTopup.tsx
  • src/components/molecules/WalletDebitCard/WalletDebitCard.tsx
  • src/components/molecules/WalletTopupCard/WalletTopupCard.tsx
  • src/components/molecules/WhopConnectionDrawer/WhopConnectionDrawer.tsx
  • src/components/organisms/CommandPalette/CommandPalette.tsx
  • src/components/organisms/EntityChargesPage/EntityChargesPage.tsx
  • src/components/organisms/PlanForm/RecurringChargePreview.tsx
  • src/components/organisms/PlanForm/RecurringChargesForm.tsx
  • src/components/organisms/PlanForm/SelectGroup.tsx
  • src/components/organisms/PlanForm/UsageChargePreview.tsx
  • src/components/organisms/PlanForm/UsagePricingForm.tsx
  • src/components/organisms/PlanPriceTable/PlanPriceTable.tsx
  • src/components/organisms/Subscription/PhaseList.tsx
  • src/components/organisms/Subscription/SubscriptionActionButton.tsx
  • src/components/organisms/Subscription/SubscriptionForm.tsx
  • src/components/organisms/Subscription/SubscriptionPriceTable.tsx
  • src/components/organisms/Subscription/SubscriptionTable.tsx
  • src/components/organisms/Subscription/UsageTable.tsx
  • src/components/ui/chart.tsx
  • src/components/ui/switch.tsx
  • src/config/branding.ts
  • src/config/config.brand.test.ts
  • src/config/config.ts
  • src/config/contact.test.ts
  • src/config/contact.ts
  • src/config/currencyFonts.ts
  • src/constants/common.test.ts
  • src/constants/common.ts
  • src/constants/constants.ts
  • src/constants/currencyDefaults.ts
  • src/constants/guides.tsx
  • src/constants/loading_quotes.ts
  • src/core/actions/command-palette-actions.ts
  • src/core/actions/index.ts
  • src/core/routes/Routes.tsx
  • src/hooks/useBreadcrumbs.ts
  • src/hooks/useCustomerPortalUrl.ts
  • src/hooks/useSubscriptionQuantityModify.ts
  • src/i18n/breadcrumbSegments.ts
  • src/i18n/display/CurrencyInputPrefix.tsx
  • src/i18n/display/LocalizedCurrency.tsx
  • src/i18n/display/apiEnums.ts
  • src/i18n/display/formatNumber.test.ts
  • src/i18n/display/formatNumber.ts
  • src/i18n/index.ts
  • src/i18n/locales/ar/auth.json
  • src/i18n/locales/ar/billing.json
  • src/i18n/locales/ar/catalog.json
  • src/i18n/locales/ar/common.json
  • src/i18n/locales/ar/customer-portal.json
  • src/i18n/locales/ar/customers.json
  • src/i18n/locales/ar/developers.json
  • src/i18n/locales/ar/guides.json
  • src/i18n/locales/ar/settings.json
  • src/i18n/locales/en/billing.json
  • src/i18n/locales/en/catalog.json
  • src/i18n/locales/en/common.json
  • src/i18n/locales/en/customer-portal.json
  • src/i18n/locales/en/customers.json
  • src/i18n/locales/en/settings.json
  • src/main.tsx
  • src/pages/auth/EmailVerification.tsx
  • src/pages/auth/ForgotPasswordForm.tsx
  • src/pages/auth/LoginForm.tsx
  • src/pages/auth/ResendVerification.tsx
  • src/pages/auth/ResetPasswordForm.tsx
  • src/pages/auth/SignupConfirmation.tsx
  • src/pages/auth/SignupForm.tsx
  • src/pages/auth/authBackdrop.test.ts
  • src/pages/auth/authBackdrop.ts
  • src/pages/checkout/CheckoutPage.tsx
  • src/pages/customer/customers/CreateCustomerSubscriptionPage.tsx
  • src/pages/customer/customers/CustomerSubscriptionDetailsPage.tsx
  • src/pages/customer/customers/invoice/CustomerInvoiceDetail.tsx
  • src/pages/customer/invoices/AddCreditNotePage.tsx
  • src/pages/customer/invoices/CreateInvoice.tsx
  • src/pages/customer/invoices/InvoiceDetailsPage.tsx
  • src/pages/customer/invoices/InvoicePage.tsx
  • src/pages/customer/tabs/CustomerAnalyticsTab.tsx
  • src/pages/customer/tabs/CustomerInformationTab.tsx
  • src/pages/customer/tabs/CustomerOverviewTab.tsx
  • src/pages/customer/tabs/CustomerTaxAssociationTab.tsx
  • src/pages/customer/tabs/CustomerWalletTab.tsx
  • src/pages/customer/taxes/TaxrateDetailsPage.tsx
  • src/pages/developer/ServiceAccounts.tsx
  • src/pages/developer/developer.tsx
  • src/pages/home/DashboardPage.tsx
  • src/pages/insights-tools/exports/ExportDetails.tsx
  • src/pages/insights-tools/exports/ExportManagement.tsx
  • src/pages/insights-tools/exports/Exports.tsx
  • src/pages/insights-tools/exports/S3Exports.tsx
  • src/pages/insights-tools/integrations/Integrations.tsx
  • src/pages/insights-tools/integrations/QuickBooksOAuthCallback.tsx
  • src/pages/insights-tools/integrations/useIntegrationsCatalog.ts
  • src/pages/insights-tools/revenue/Revenue.tsx
  • src/pages/onboarding/OnboardingTenant.tsx
  • src/pages/onboarding/PricingSetupPage.tsx
  • src/pages/onboarding/onboarding.tsx
  • src/pages/product-catalog/addons/AddonDetails.tsx
  • src/pages/product-catalog/cost-sheets/CostSheetDetails.tsx
  • src/pages/product-catalog/coupons/CouponDetails.tsx
  • src/pages/product-catalog/coupons/Coupons.tsx
  • src/pages/product-catalog/features/AddFeature.tsx
  • src/pages/product-catalog/features/FeatureDetails.tsx
  • src/pages/product-catalog/groups/Groups.tsx
  • src/pages/product-catalog/groups/tabs/GroupOverviewTab.tsx
  • src/pages/product-catalog/index.ts
  • src/pages/product-catalog/plans/PlanDetailsPage.tsx
  • src/pages/product-catalog/plans/Plans.tsx
  • src/pages/product-catalog/plans/Pricing.tsx
  • src/pages/product-catalog/plans/tabs/PlanCreditGrantsTab.tsx
  • src/pages/product-catalog/plans/tabs/PlanEntitlementsTab.tsx
  • src/pages/product-catalog/plans/tabs/PlanInformationTab.tsx
  • src/pages/product-catalog/plans/tabs/PlanOverviewTab.tsx
  • src/pages/usage/cost-analytics/CostAnalytics.tsx
  • src/styles/currency-font.css
  • src/styles/thmanyah-font.css
  • src/types/formatters/Feature.ts
  • src/utils/common/format_cadence_chip.ts
  • src/utils/common/format_chips.ts
  • src/utils/common/format_coupon_name.ts
  • src/utils/common/format_date.ts
  • src/utils/common/format_number.ts
  • src/utils/common/helper_functions.ts
  • src/utils/common/index.ts
  • src/utils/common/price_helpers.ts
  • src/utils/hostname/isFlexpriceIoHostname.test.ts
  • src/utils/invoices/downloadInvoiceLineItemsCsv.ts
  • src/utils/region/regionUtils.test.ts
  • src/utils/region/regionUtils.ts
  • src/utils/subscription/formatSubscriptionTypeDisplay.test.ts
  • src/utils/subscription/formatSubscriptionTypeDisplay.ts
  • src/utils/subscription/subscriptionModifyPreviewPresentation.ts
  • src/vite-env.d.ts
  • vercel.json
  • vite.config.d.ts
  • vite.config.js
  • vite.config.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Review on demand using usage pricing
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch private

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

omkar273 and others added 3 commits July 15, 2026 14:59
Resolve conflicts preserving white-label + localization (private-staging)
while bringing in main's newer features:

- config: merge production platform flag (main) with typography/font config
  and tenant feature allowlist; keep tirdad white-label contact details
- i18n (ar/en): 3-way key-union merge across billing/catalog/customers/settings;
  add missing tableColumns/actions/tableMenu keys + costSheets filter labels +
  subscription alertSettings + feature archive/fetch toasts (en + ar parity)
- components/pages: keep localized t() strings, fold in main's new features
  (Copy ID options, Alert Settings, coupon actions, expression aggregation,
  cost-sheet filter/sort, settings tab refactor) and localize the strings
  main introduced
- fix helper signature mismatches surfaced by the merge (getPriceTypeLabel,
  formatInvoiceCadence/formatBillingPeriodForDisplay require t; format_chips
  named exports; formatInvoiceCadence moved to helper_functions)

Build, typecheck, ESLint (0 errors), and config/contact/brand tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Resolve conflicts to clear PR #1138 without merging it, keeping private's
newer Moyasar redirect-URL autopay flow and folding in private-staging's
additions:

- Moyasar autopay: keep private's redirect-flow copy + Connection-based
  typing (MoyasarConnectionDrawer + test + CheckoutPage result states)
- Paddle: keep private-staging's webhook-events import (used by getWebhookEvents)
- IntegrationMappingCard: use common:integrations.setupAutopayMoyasar key;
  drop duplicated useMemo deps
- i18n (ar/en customers + settings): 3-way key-union merge; private's autopay
  strings win on value conflicts (matches the redirect-flow code)

Typecheck, build, ESLint (0 errors), and Moyasar drawer tests (5/5) pass.

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

diffsniff Bot commented Jul 17, 2026

Copy link
Copy Markdown

DiffSniff Summary — ⏸️ Could Not Complete

Could not complete: PR diff too large for GitHub to render (406). This usually means the PR targets the wrong base branch — retarget the base and the review will re-run automatically.

DiffSniff

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