PromucFlow_constructor/app/client
Shrikant Sharat Kandula f351008b94
chore: Don't rely on key order in objects (#34522)
The way the border-radius selector in Theme settings is built, it relies
on the `borderRadius` object to show up like this:

```js
{
  none: "",
  M: "",
  L: "",
}
```

And the order options is relying on that. So if we get back the
following from the server:

```js
{
  L: "",
  M: "",
  none: "",
}
```

The options are reversed.

This may/may-not be a problem, but we're asserting in our tests (see
below) that the first option be `none`, so clearly we want a predictable
order here. This predictable ordering isn't available anymore with
Postgres.

From
[FilePickerV2_Widget_Reskinning_spec](6f67dbd85e/app/client/cypress/e2e/Regression/ClientSide/Widgets/Filepicker/FilePickerV2_Widget_Reskinning_spec.js (L19)):

![shot-2024-06-27-02-50-26](https://github.com/appsmithorg/appsmith/assets/120119/882ea82d-b88d-4cd9-935a-09d0f92306e4)

from
[Theme_FormWidget_spec](6f67dbd85e/app/client/cypress/e2e/Regression/ClientSide/ThemingTests/Theme_FormWidget_spec.js (L32)):

![shot-2024-06-27-02-52-55](https://github.com/appsmithorg/appsmith/assets/120119/63f35bbd-5902-4dfd-a394-92af17cd94ea)

This PR "fixes" this by not relying a predictable order at all. We
expect `none`, `M` and `L` only, and in that order, so that's exactly
what we show in the UI. No shenanigans, no moving pieces.

I don't know if there's more places in the theme settings that suffer
from this (likely there are), but I haven't seen anything else asserted
in tests, so I don't know.

/test theme widget


<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9690317817>
> Commit: 0fa1b528b17281c11be5b31630bbd53fc8e9813d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9690317817&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Theme, @tag.Widget`

<!-- end of auto-generated comment: Cypress test results  -->



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Improved the creation of button group options for the SegmentedControl
component in the Theme settings.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-27 10:53:55 +05:30
..
.husky
.yarn
cypress chore: add snapshots for input type widgets (#34436) 2024-06-27 10:51:28 +05:30
docker/templates chore: Fix bugs in logic for capturing web vitals for client (#32371) 2024-04-09 14:25:46 +05:30
generators
packages chore: add tests for anvil modal. (#34347) 2024-06-24 16:28:34 +05:30
public fix: font family changes to PT root in privacy and tnc pages (#33992) 2024-06-05 16:21:56 +05:30
src chore: Don't rely on key order in objects (#34522) 2024-06-27 10:53:55 +05:30
test feat: side-by-side edit mode hover analytics (#34185) 2024-06-20 14:03:06 +05:30
typings
.babelrc
.dockerignore
.editorconfig
.eslintrc.base.json perf: add react-hooks/exhaustive-deps rule (#34338) 2024-06-20 10:20:19 +03:00
.eslintrc.js fix: add testing library eslint rules (#31028) 2024-02-12 18:59:10 +03:00
.fork-ts-checkerrc fix: OOM issue (#31995) 2024-03-21 22:08:58 +05:30
.gitignore chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
.lintstagedrc.json
.nvmrc chore: update node version and appropriate git workflows (#31486) 2024-03-26 14:12:11 +03:00
.prettierignore
.prettierrc
.sentryclirc
.yarnrc.yml
build.sh chore: include client build source map (#30664) 2024-02-26 15:30:36 +05:30
craco.build.config.js chore: Prefetch module apis in service worker (#34003) 2024-06-14 16:30:23 +05:30
craco.common.config.js chore: add node variable for ts type checking (#31996) 2024-03-25 13:11:53 +03:00
craco.dev.config.js chore: Prefetch module apis in service worker (#34003) 2024-06-14 16:30:23 +05:30
cypress_ci_custom.config.ts
cypress_ci_hosted.config.ts
cypress_ci.config.ts
cypress-add-tags.js
cypress.config.ts
download-assets.js
jest.config.js chore: Fix bugs in logic for capturing web vitals for client (#32371) 2024-04-09 14:25:46 +05:30
package.json chore: removing branch protection trigger from git connect flow (#34118) 2024-06-17 10:56:52 +05:30
README.md
README.old.md
start-caddy.sh chore: Remove deprecated start-https.sh message (#33856) 2024-05-31 07:18:57 +05:30
start-https.sh chore: Remove deprecated start-https.sh message (#33856) 2024-05-31 07:18:57 +05:30
tailwind.config.js
tsconfig.json fix: Client development build performance (#31390) 2024-03-04 10:52:06 +03:00
tsconfig.path.json
vercel.json
yarn.lock chore: Revert "chore: bump tinymce from 7.0.0 to 7.2.0 in /app/client" (#34421) 2024-06-24 13:25:04 +05:30

Appsmith Client

This project was bootstrapped with Create React App.

For details on setting up your development machine, please refer to the Setup Guide