feat(editor): Implement new banners framework (#6603)

*  Implemented new grid row - banners
*  Fixing node creator and executions sidebar position after layout update
* 💄 Added configurable round corners to the Callout component
*  Fixing mouse position detection and main tab bar position
*  Implemented basic banner component structure
*  Implemented banner state and dismiss logic
*  Fixing grid layout. Updating banners height state dynamically
*  Fix zoom to fit position, mouse position in demo mode and callout vertical alignment
*  Implementing proper trial banners logic
* 💄 Only showing execution usage data once the sidebar is fully expanded
*  Implemented permanent/temporary dismiss logic for v1 flag
*  Minor refactoring of banner logic
*  Updating permanent dismiss logic to work with all banners
* 👕 Fixing linting errors
* ✔️ Updating Callout component test snapshots
* 💄 Tweaking zoom to fit position
* ✔️ Updating testing endpoints to use new store data
*  Added banners unit tests
* ✔️ Fixing failing banner tests
*  Added more banner tests
*  Updating banners dimensions on resize, removing leftover code
* ✔️ Removing store import from API file
* 👕 Fixing lint errors
*  Updating migration files
*  Using query parameters in migrations
* 👌 Addressing design review feedback
*  Updating upgrade plan button click
*  Updating the migrations syntax
* 👌 Updating permanent banner dismiss endpoint and back-end logic
* 👌 Refactoring trial banner component and ui store
* 👌 Addressing more points from code review
* 👌 Moving DOM logic from the store
* ✔️ Updated callout component snapshots
* 👌 Updating mysql migration file
* ✔️ Updating e2e test canvas coordinates after setting it's position to absolute
* 👌 Addressing back-end review feedback
* 👌 Improving typing around banners
* 👕 Fixing lint errors
This commit is contained in:
Milorad FIlipović
2023-07-14 15:36:17 +02:00
committed by GitHub
parent ff0759530d
commit 4240e76253
47 changed files with 637 additions and 221 deletions

View File

@@ -34,6 +34,7 @@ import type {
IUserManagementSettings,
WorkflowSettings,
IUserSettings,
Banners,
} from 'n8n-workflow';
import type { SignInType } from './constants';
import type {
@@ -1045,12 +1046,6 @@ export interface UIState {
activeActions: string[];
activeCredentialType: string | null;
sidebarMenuCollapsed: boolean;
banners: {
v1: {
dismissed: boolean;
mode: 'temporary' | 'permanent';
};
};
modalStack: string[];
modals: Modals;
isPageLoading: boolean;
@@ -1074,7 +1069,10 @@ export interface UIState {
nodeViewInitialized: boolean;
addFirstStepOnLoad: boolean;
executionSidebarAutoRefresh: boolean;
bannersHeight: number;
banners: { [key in Banners]: { dismissed: boolean; type?: 'temporary' | 'permanent' } };
}
export type IFakeDoor = {
id: FAKE_DOOR_FEATURES;
featureName: string;
@@ -1528,3 +1526,35 @@ export interface InstanceUsage {
}
export type CloudPlanAndUsageData = Cloud.PlanData & { usage: InstanceUsage };
export type CloudUpdateLinkSourceType =
| 'canvas-nav'
| 'custom-data-filter'
| 'workflow_sharing'
| 'credential_sharing'
| 'settings-n8n-api'
| 'audit-logs'
| 'ldap'
| 'log-streaming'
| 'source-control'
| 'sso'
| 'usage_page'
| 'settings-users'
| 'variables';
export type UTMCampaign =
| 'upgrade-custom-data-filter'
| 'upgrade-canvas-nav'
| 'upgrade-workflow-sharing'
| 'upgrade-canvas-nav'
| 'upgrade-credentials-sharing'
| 'upgrade-workflow-sharing'
| 'upgrade-api'
| 'upgrade-audit-logs'
| 'upgrade-ldap'
| 'upgrade-log-streaming'
| 'upgrade-source-control'
| 'upgrade-sso'
| 'open'
| 'upgrade-users'
| 'upgrade-variables';