@salesforce/webapp-template-app-react-b2e-experimental 1.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +82 -0
- package/dist/.a4drules/build-validation.md +81 -0
- package/dist/.a4drules/code-quality.md +150 -0
- package/dist/.a4drules/graphql/tools/knowledge/lds-explore-graphql-schema.md +227 -0
- package/dist/.a4drules/graphql/tools/knowledge/lds-generate-graphql-mutationquery.md +212 -0
- package/dist/.a4drules/graphql/tools/knowledge/lds-generate-graphql-readquery.md +185 -0
- package/dist/.a4drules/graphql/tools/knowledge/lds-guide-graphql.md +205 -0
- package/dist/.a4drules/graphql/tools/schemas/shared.graphqls +1150 -0
- package/dist/.a4drules/graphql.md +408 -0
- package/dist/.a4drules/images.md +13 -0
- package/dist/.a4drules/react.md +361 -0
- package/dist/.a4drules/react_image_processing.md +45 -0
- package/dist/.a4drules/skills/install-feature/SKILL.md +67 -0
- package/dist/.a4drules/skills/install-feature/scripts/copy-feature-assets.sh +36 -0
- package/dist/.a4drules/typescript.md +224 -0
- package/dist/.forceignore +15 -0
- package/dist/.husky/pre-commit +4 -0
- package/dist/.prettierignore +11 -0
- package/dist/.prettierrc +17 -0
- package/dist/CHANGELOG.md +479 -0
- package/dist/README.md +18 -0
- package/dist/config/project-scratch-def.json +13 -0
- package/dist/force-app/main/default/applications/Property_Management.app-meta.xml +26 -0
- package/dist/force-app/main/default/data/Application__c.json +124 -0
- package/dist/force-app/main/default/data/Maintenance_Request__c.json +514 -0
- package/dist/force-app/main/default/data/Maintenance_Worker__c.json +304 -0
- package/dist/force-app/main/default/data/Notification__c.json +214 -0
- package/dist/force-app/main/default/data/Property__c.json +654 -0
- package/dist/force-app/main/default/data/Tenant__c.json +184 -0
- package/dist/force-app/main/default/data/data-plan.json +38 -0
- package/dist/force-app/main/default/objects/Application__c/Application__c.object-meta.xml +67 -0
- package/dist/force-app/main/default/objects/Application__c/fields/Employment__c.field-meta.xml +10 -0
- package/dist/force-app/main/default/objects/Application__c/fields/Property__c.field-meta.xml +15 -0
- package/dist/force-app/main/default/objects/Application__c/fields/References__c.field-meta.xml +10 -0
- package/dist/force-app/main/default/objects/Application__c/fields/Start_Date__c.field-meta.xml +9 -0
- package/dist/force-app/main/default/objects/Application__c/fields/Status__c.field-meta.xml +42 -0
- package/dist/force-app/main/default/objects/Application__c/fields/User__c.field-meta.xml +15 -0
- package/dist/force-app/main/default/objects/Maintenance_Request__c/Maintenance_Request__c.object-meta.xml +67 -0
- package/dist/force-app/main/default/objects/Maintenance_Request__c/fields/Actual_Cost__c.field-meta.xml +13 -0
- package/dist/force-app/main/default/objects/Maintenance_Request__c/fields/Completed__c.field-meta.xml +11 -0
- package/dist/force-app/main/default/objects/Maintenance_Request__c/fields/Description__c.field-meta.xml +12 -0
- package/dist/force-app/main/default/objects/Maintenance_Request__c/fields/Est_Cost__c.field-meta.xml +13 -0
- package/dist/force-app/main/default/objects/Maintenance_Request__c/fields/Priority__c.field-meta.xml +32 -0
- package/dist/force-app/main/default/objects/Maintenance_Request__c/fields/Property__c.field-meta.xml +15 -0
- package/dist/force-app/main/default/objects/Maintenance_Request__c/fields/Scheduled__c.field-meta.xml +11 -0
- package/dist/force-app/main/default/objects/Maintenance_Request__c/fields/Status__c.field-meta.xml +42 -0
- package/dist/force-app/main/default/objects/Maintenance_Request__c/fields/Tenant_Home__c.field-meta.xml +11 -0
- package/dist/force-app/main/default/objects/Maintenance_Request__c/fields/Type__c.field-meta.xml +42 -0
- package/dist/force-app/main/default/objects/Maintenance_Request__c/fields/User__c.field-meta.xml +15 -0
- package/dist/force-app/main/default/objects/Maintenance_Worker__c/Maintenance_Worker__c.object-meta.xml +66 -0
- package/dist/force-app/main/default/objects/Maintenance_Worker__c/fields/Certifications__c.field-meta.xml +12 -0
- package/dist/force-app/main/default/objects/Maintenance_Worker__c/fields/Employment_Type__c.field-meta.xml +32 -0
- package/dist/force-app/main/default/objects/Maintenance_Worker__c/fields/Hourly_Rate__c.field-meta.xml +13 -0
- package/dist/force-app/main/default/objects/Maintenance_Worker__c/fields/IsActive__c.field-meta.xml +11 -0
- package/dist/force-app/main/default/objects/Maintenance_Worker__c/fields/Location__c.field-meta.xml +13 -0
- package/dist/force-app/main/default/objects/Maintenance_Worker__c/fields/Phone__c.field-meta.xml +11 -0
- package/dist/force-app/main/default/objects/Maintenance_Worker__c/fields/Rating__c.field-meta.xml +14 -0
- package/dist/force-app/main/default/objects/Maintenance_Worker__c/fields/Type__c.field-meta.xml +57 -0
- package/dist/force-app/main/default/objects/Notification__c/Notification__c.object-meta.xml +67 -0
- package/dist/force-app/main/default/objects/Notification__c/fields/Is_Read__c.field-meta.xml +10 -0
- package/dist/force-app/main/default/objects/Notification__c/fields/Message__c.field-meta.xml +11 -0
- package/dist/force-app/main/default/objects/Notification__c/fields/Priority__c.field-meta.xml +36 -0
- package/dist/force-app/main/default/objects/Notification__c/fields/Related_Object_Type__c.field-meta.xml +12 -0
- package/dist/force-app/main/default/objects/Notification__c/fields/Related_Record_Id__c.field-meta.xml +12 -0
- package/dist/force-app/main/default/objects/Notification__c/fields/Title__c.field-meta.xml +12 -0
- package/dist/force-app/main/default/objects/Notification__c/fields/Type__c.field-meta.xml +36 -0
- package/dist/force-app/main/default/objects/Notification__c/fields/User__c.field-meta.xml +14 -0
- package/dist/force-app/main/default/objects/Property__c/Property__c.object-meta.xml +66 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Address__c.field-meta.xml +13 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Agent__c.field-meta.xml +15 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Available_Date__c.field-meta.xml +11 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Bathrooms__c.field-meta.xml +14 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Bedrooms__c.field-meta.xml +14 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Deposit__c.field-meta.xml +13 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Description__c.field-meta.xml +12 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Features__c.field-meta.xml +38 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Hero_Image__c.field-meta.xml +11 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Lease_Term__c.field-meta.xml +14 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Monthly_Rent__c.field-meta.xml +13 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Parking__c.field-meta.xml +14 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Pet_Friendly__c.field-meta.xml +11 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Sq_Ft__c.field-meta.xml +14 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Status__c.field-meta.xml +37 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Tour_URL__c.field-meta.xml +11 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Type__c.field-meta.xml +37 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Utilities__c.field-meta.xml +38 -0
- package/dist/force-app/main/default/objects/Property__c/fields/Year_Built__c.field-meta.xml +14 -0
- package/dist/force-app/main/default/objects/Tenant__c/Tenant__c.object-meta.xml +67 -0
- package/dist/force-app/main/default/objects/Tenant__c/fields/End_Date__c.field-meta.xml +11 -0
- package/dist/force-app/main/default/objects/Tenant__c/fields/Property__c.field-meta.xml +15 -0
- package/dist/force-app/main/default/objects/Tenant__c/fields/Start_Date__c.field-meta.xml +11 -0
- package/dist/force-app/main/default/objects/Tenant__c/fields/Status__c.field-meta.xml +37 -0
- package/dist/force-app/main/default/objects/Tenant__c/fields/User_Status__c.field-meta.xml +42 -0
- package/dist/force-app/main/default/objects/Tenant__c/fields/User__c.field-meta.xml +15 -0
- package/dist/force-app/main/default/permissionsets/Property_Management_Access.permissionset-meta.xml +453 -0
- package/dist/force-app/main/default/tabs/Application__c.tab-meta.xml +6 -0
- package/dist/force-app/main/default/tabs/Maintenance_Request__c.tab-meta.xml +7 -0
- package/dist/force-app/main/default/tabs/Maintenance_Worker__c.tab-meta.xml +6 -0
- package/dist/force-app/main/default/tabs/Notification__c.tab-meta.xml +6 -0
- package/dist/force-app/main/default/tabs/Property__c.tab-meta.xml +7 -0
- package/dist/force-app/main/default/tabs/Tenant__c.tab-meta.xml +7 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/.prettierignore +9 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/.prettierrc +11 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/appreactb2e.webapplication-meta.xml +7 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/build/vite.config.d.ts +2 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/build/vite.config.js +76 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/e2e/app.spec.ts +24 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/eslint.config.js +113 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/index.html +13 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/package-lock.json +7157 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/package.json +45 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/playwright.config.ts +24 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/scripts/rewrite-e2e-assets.mjs +23 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/src/api/graphql-operations-types.ts +127 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/src/api/utils/query/highRevenueAccountsQuery.graphql +29 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/src/app.tsx +22 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/src/appLayout.tsx +29 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/src/assets/icons/book.svg +3 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/src/assets/icons/copy.svg +4 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/src/assets/icons/rocket.svg +3 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/src/assets/icons/star.svg +3 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/src/assets/images/codey-1.png +0 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/src/assets/images/codey-2.png +0 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/src/assets/images/codey-3.png +0 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/src/assets/images/vibe-codey.svg +194 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/src/pages/About.tsx +12 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/src/pages/Home.tsx +12 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/src/pages/NotFound.tsx +18 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/src/routes.tsx +28 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/src/styles/global.css +13 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/tsconfig.json +36 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/tsconfig.node.json +13 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/vite-env.d.ts +1 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/vite.config.ts +85 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/vitest-env.d.ts +2 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/vitest.config.ts +11 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/vitest.setup.ts +1 -0
- package/dist/force-app/main/default/webapplications/appreactb2e/webapplication.json +7 -0
- package/dist/jest.config.js +6 -0
- package/dist/package.json +37 -0
- package/dist/scripts/apex/hello.apex +10 -0
- package/dist/scripts/soql/account.soql +6 -0
- package/dist/sfdx-project.json +12 -0
- package/package.json +34 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "base-react-app",
|
|
3
|
+
"private": true,
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev": "vite",
|
|
8
|
+
"build": "tsc -b && vite build",
|
|
9
|
+
"build:e2e": "npm run build && node scripts/rewrite-e2e-assets.mjs",
|
|
10
|
+
"lint": "eslint .",
|
|
11
|
+
"preview": "vite preview",
|
|
12
|
+
"test": "vitest"
|
|
13
|
+
},
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"@salesforce/webapp-experimental": "*",
|
|
16
|
+
"@tailwindcss/vite": "^4.1.17",
|
|
17
|
+
"react": "^19.2.0",
|
|
18
|
+
"react-dom": "^19.2.0",
|
|
19
|
+
"react-router": "^7.10.1",
|
|
20
|
+
"tailwindcss": "^4.1.17"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"@eslint/js": "^9.39.1",
|
|
24
|
+
"@salesforce/vite-plugin-webapp-experimental": "*",
|
|
25
|
+
"@testing-library/jest-dom": "^6.6.3",
|
|
26
|
+
"@testing-library/react": "^16.1.0",
|
|
27
|
+
"@testing-library/user-event": "^14.5.2",
|
|
28
|
+
"@types/node": "^24.10.1",
|
|
29
|
+
"@types/react": "^19.2.5",
|
|
30
|
+
"@types/react-dom": "^19.2.3",
|
|
31
|
+
"@vitejs/plugin-react": "^5.1.1",
|
|
32
|
+
"@vitest/ui": "^4.0.17",
|
|
33
|
+
"eslint": "^9.39.1",
|
|
34
|
+
"eslint-plugin-react-hooks": "^7.0.1",
|
|
35
|
+
"eslint-plugin-react-refresh": "^0.4.24",
|
|
36
|
+
"globals": "^16.5.0",
|
|
37
|
+
"jsdom": "^25.0.1",
|
|
38
|
+
"typescript": "~5.9.3",
|
|
39
|
+
"typescript-eslint": "^8.46.4",
|
|
40
|
+
"vite": "^7.2.4",
|
|
41
|
+
"vitest": "^4.0.17",
|
|
42
|
+
"@playwright/test": "^1.49.0",
|
|
43
|
+
"serve": "^14.2.5"
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { defineConfig, devices } from '@playwright/test';
|
|
2
|
+
|
|
3
|
+
const E2E_PORT = 5175;
|
|
4
|
+
|
|
5
|
+
export default defineConfig({
|
|
6
|
+
testDir: './e2e',
|
|
7
|
+
fullyParallel: true,
|
|
8
|
+
forbidOnly: !!process.env.CI,
|
|
9
|
+
retries: process.env.CI ? 2 : 0,
|
|
10
|
+
workers: process.env.CI ? 1 : undefined,
|
|
11
|
+
reporter: 'html',
|
|
12
|
+
use: {
|
|
13
|
+
baseURL: `http://localhost:${E2E_PORT}`,
|
|
14
|
+
trace: 'on-first-retry',
|
|
15
|
+
},
|
|
16
|
+
projects: [{ name: 'chromium', use: { ...devices['Desktop Chrome'] } }],
|
|
17
|
+
webServer: {
|
|
18
|
+
// Serve built dist/ with static server so e2e works in CI without SF org (vite preview runs plugin and can fail)
|
|
19
|
+
command: `npx serve dist -l ${E2E_PORT}`,
|
|
20
|
+
url: `http://localhost:${E2E_PORT}`,
|
|
21
|
+
reuseExistingServer: !process.env.CI,
|
|
22
|
+
timeout: process.env.CI ? 120_000 : 60_000,
|
|
23
|
+
},
|
|
24
|
+
});
|
package/dist/force-app/main/default/webapplications/appreactb2e/scripts/rewrite-e2e-assets.mjs
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prepares dist/ for e2e: root-relative asset paths + SPA fallback for serve.
|
|
3
|
+
*/
|
|
4
|
+
import { readFileSync, writeFileSync } from 'node:fs';
|
|
5
|
+
import { join, dirname } from 'node:path';
|
|
6
|
+
import { fileURLToPath } from 'node:url';
|
|
7
|
+
|
|
8
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
9
|
+
const distDir = join(__dirname, '..', 'dist');
|
|
10
|
+
|
|
11
|
+
// Rewrite index.html so asset paths are root-relative (/assets/...)
|
|
12
|
+
const indexPath = join(distDir, 'index.html');
|
|
13
|
+
let html = readFileSync(indexPath, 'utf8');
|
|
14
|
+
html = html.replace(/(src|href)="[^"]*\/assets\//g, '$1="/assets/');
|
|
15
|
+
writeFileSync(indexPath, html);
|
|
16
|
+
|
|
17
|
+
// SPA fallback so /about, /non-existent-route etc. serve index.html
|
|
18
|
+
writeFileSync(
|
|
19
|
+
join(distDir, 'serve.json'),
|
|
20
|
+
JSON.stringify({
|
|
21
|
+
rewrites: [{ source: '**', destination: '/index.html' }],
|
|
22
|
+
})
|
|
23
|
+
);
|
package/dist/force-app/main/default/webapplications/appreactb2e/src/api/graphql-operations-types.ts
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
export type Maybe<T> = T | null;
|
|
2
|
+
export type InputMaybe<T> = Maybe<T>;
|
|
3
|
+
export type Exact<T extends { [key: string]: unknown }> = {
|
|
4
|
+
[K in keyof T]: T[K];
|
|
5
|
+
};
|
|
6
|
+
export type MakeOptional<T, K extends keyof T> = Omit<T, K> & {
|
|
7
|
+
[SubKey in K]?: Maybe<T[SubKey]>;
|
|
8
|
+
};
|
|
9
|
+
export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {
|
|
10
|
+
[SubKey in K]: Maybe<T[SubKey]>;
|
|
11
|
+
};
|
|
12
|
+
export type MakeEmpty<
|
|
13
|
+
T extends { [key: string]: unknown },
|
|
14
|
+
K extends keyof T,
|
|
15
|
+
> = { [_ in K]?: never };
|
|
16
|
+
export type Incremental<T> =
|
|
17
|
+
| T
|
|
18
|
+
| {
|
|
19
|
+
[P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never;
|
|
20
|
+
};
|
|
21
|
+
/** All built-in and custom scalars, mapped to their actual values */
|
|
22
|
+
export type Scalars = {
|
|
23
|
+
ID: { input: string; output: string };
|
|
24
|
+
String: { input: string; output: string };
|
|
25
|
+
Boolean: { input: boolean; output: boolean };
|
|
26
|
+
Int: { input: number; output: number };
|
|
27
|
+
Float: { input: number; output: number };
|
|
28
|
+
Base64: { input: any; output: any };
|
|
29
|
+
/** An arbitrary precision signed decimal */
|
|
30
|
+
BigDecimal: { input: any; output: any };
|
|
31
|
+
/** An arbitrary precision signed integer */
|
|
32
|
+
BigInteger: { input: any; output: any };
|
|
33
|
+
/** An 8-bit signed integer */
|
|
34
|
+
Byte: { input: any; output: any };
|
|
35
|
+
/** A UTF-16 code unit; a character on Unicode's BMP */
|
|
36
|
+
Char: { input: any; output: any };
|
|
37
|
+
Currency: { input: any; output: any };
|
|
38
|
+
Date: { input: any; output: any };
|
|
39
|
+
DateTime: { input: any; output: any };
|
|
40
|
+
Double: { input: any; output: any };
|
|
41
|
+
Email: { input: any; output: any };
|
|
42
|
+
EncryptedString: { input: any; output: any };
|
|
43
|
+
/** Can be set to an ID or a Reference to the result of another mutation operation. */
|
|
44
|
+
IdOrRef: { input: any; output: any };
|
|
45
|
+
JSON: { input: any; output: any };
|
|
46
|
+
Latitude: { input: any; output: any };
|
|
47
|
+
/** A 64-bit signed integer */
|
|
48
|
+
Long: { input: any; output: any };
|
|
49
|
+
LongTextArea: { input: any; output: any };
|
|
50
|
+
Longitude: { input: any; output: any };
|
|
51
|
+
MultiPicklist: { input: any; output: any };
|
|
52
|
+
Percent: { input: any; output: any };
|
|
53
|
+
PhoneNumber: { input: any; output: any };
|
|
54
|
+
Picklist: { input: any; output: any };
|
|
55
|
+
RichTextArea: { input: any; output: any };
|
|
56
|
+
/** A 16-bit signed integer */
|
|
57
|
+
Short: { input: any; output: any };
|
|
58
|
+
TextArea: { input: any; output: any };
|
|
59
|
+
Time: { input: any; output: any };
|
|
60
|
+
Url: { input: any; output: any };
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export enum DataType {
|
|
64
|
+
Address = 'ADDRESS',
|
|
65
|
+
Anytype = 'ANYTYPE',
|
|
66
|
+
Base64 = 'BASE64',
|
|
67
|
+
Boolean = 'BOOLEAN',
|
|
68
|
+
Combobox = 'COMBOBOX',
|
|
69
|
+
Complexvalue = 'COMPLEXVALUE',
|
|
70
|
+
Currency = 'CURRENCY',
|
|
71
|
+
Date = 'DATE',
|
|
72
|
+
Datetime = 'DATETIME',
|
|
73
|
+
Double = 'DOUBLE',
|
|
74
|
+
Email = 'EMAIL',
|
|
75
|
+
Encryptedstring = 'ENCRYPTEDSTRING',
|
|
76
|
+
Int = 'INT',
|
|
77
|
+
Json = 'JSON',
|
|
78
|
+
Junctionidlist = 'JUNCTIONIDLIST',
|
|
79
|
+
Location = 'LOCATION',
|
|
80
|
+
Long = 'LONG',
|
|
81
|
+
Multipicklist = 'MULTIPICKLIST',
|
|
82
|
+
Percent = 'PERCENT',
|
|
83
|
+
Phone = 'PHONE',
|
|
84
|
+
Picklist = 'PICKLIST',
|
|
85
|
+
Reference = 'REFERENCE',
|
|
86
|
+
String = 'STRING',
|
|
87
|
+
Textarea = 'TEXTAREA',
|
|
88
|
+
Time = 'TIME',
|
|
89
|
+
Url = 'URL',
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export enum FieldExtraTypeInfo {
|
|
93
|
+
ExternalLookup = 'EXTERNAL_LOOKUP',
|
|
94
|
+
ImageUrl = 'IMAGE_URL',
|
|
95
|
+
IndirectLookup = 'INDIRECT_LOOKUP',
|
|
96
|
+
Personname = 'PERSONNAME',
|
|
97
|
+
Plaintextarea = 'PLAINTEXTAREA',
|
|
98
|
+
Richtextarea = 'RICHTEXTAREA',
|
|
99
|
+
SwitchablePersonname = 'SWITCHABLE_PERSONNAME',
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export enum ResultOrder {
|
|
103
|
+
Asc = 'ASC',
|
|
104
|
+
Desc = 'DESC',
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export type GetHighRevenueAccountsQueryVariables = Exact<{
|
|
108
|
+
minRevenue?: InputMaybe<Scalars['Currency']['input']>;
|
|
109
|
+
}>;
|
|
110
|
+
|
|
111
|
+
export type GetHighRevenueAccountsQuery = {
|
|
112
|
+
uiapi: {
|
|
113
|
+
query: {
|
|
114
|
+
Account?: {
|
|
115
|
+
edges?: Array<{
|
|
116
|
+
node?: {
|
|
117
|
+
Id: string;
|
|
118
|
+
Name?: { value?: string | null } | null;
|
|
119
|
+
AnnualRevenue?: { value?: any | null } | null;
|
|
120
|
+
Industry?: { value?: any | null } | null;
|
|
121
|
+
Website?: { value?: any | null } | null;
|
|
122
|
+
} | null;
|
|
123
|
+
} | null> | null;
|
|
124
|
+
} | null;
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
query GetHighRevenueAccounts($minRevenue: Currency) {
|
|
2
|
+
uiapi {
|
|
3
|
+
query {
|
|
4
|
+
Account(
|
|
5
|
+
where: { AnnualRevenue: { gt: $minRevenue } }
|
|
6
|
+
orderBy: { AnnualRevenue: { order: DESC } }
|
|
7
|
+
first: 50
|
|
8
|
+
) {
|
|
9
|
+
edges {
|
|
10
|
+
node {
|
|
11
|
+
Id
|
|
12
|
+
Name {
|
|
13
|
+
value
|
|
14
|
+
}
|
|
15
|
+
AnnualRevenue {
|
|
16
|
+
value
|
|
17
|
+
}
|
|
18
|
+
Industry {
|
|
19
|
+
value
|
|
20
|
+
}
|
|
21
|
+
Website {
|
|
22
|
+
value
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createBrowserRouter, RouterProvider } from 'react-router';
|
|
2
|
+
import { routes } from '@/routes';
|
|
3
|
+
import { StrictMode } from 'react';
|
|
4
|
+
import { createRoot } from 'react-dom/client';
|
|
5
|
+
import './styles/global.css';
|
|
6
|
+
|
|
7
|
+
// Match Vite base so client-side routes work when deployed under a path (e.g. /lwr/application/ai/c-webapp2/).
|
|
8
|
+
// When served at root (e.g. e2e with static serve), use '/' so routes match.
|
|
9
|
+
const base = (import.meta.env.BASE_URL ?? '/').replace(/\/$/, '') || '/';
|
|
10
|
+
const basename =
|
|
11
|
+
typeof window !== 'undefined' &&
|
|
12
|
+
(window.location.pathname === '/' ||
|
|
13
|
+
!window.location.pathname.startsWith('/lwr/'))
|
|
14
|
+
? '/'
|
|
15
|
+
: base;
|
|
16
|
+
const router = createBrowserRouter(routes, { basename });
|
|
17
|
+
|
|
18
|
+
createRoot(document.getElementById('root')!).render(
|
|
19
|
+
<StrictMode>
|
|
20
|
+
<RouterProvider router={router} />
|
|
21
|
+
</StrictMode>
|
|
22
|
+
);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Outlet, NavLink } from 'react-router';
|
|
2
|
+
|
|
3
|
+
const navLinkClass = ({ isActive }: { isActive: boolean }) =>
|
|
4
|
+
`text-sm font-medium ${isActive ? 'text-gray-900' : 'text-gray-600 hover:text-gray-900'}`;
|
|
5
|
+
|
|
6
|
+
export default function AppLayout() {
|
|
7
|
+
return (
|
|
8
|
+
<>
|
|
9
|
+
<nav className="sticky top-0 z-10 border-b border-gray-200 bg-white">
|
|
10
|
+
<div className="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
|
|
11
|
+
<div className="flex h-14 items-center gap-8">
|
|
12
|
+
<NavLink to="/" end className={navLinkClass}>
|
|
13
|
+
Home
|
|
14
|
+
</NavLink>
|
|
15
|
+
<NavLink to="/about" className={navLinkClass}>
|
|
16
|
+
About
|
|
17
|
+
</NavLink>
|
|
18
|
+
<NavLink to="/does-not-exist" className={navLinkClass}>
|
|
19
|
+
404
|
|
20
|
+
</NavLink>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
</nav>
|
|
24
|
+
<main>
|
|
25
|
+
<Outlet />
|
|
26
|
+
</main>
|
|
27
|
+
</>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="14" height="12" viewBox="0 0 14 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M13.4935 0.000188828L13.9735 0.533522V10.5069L13.4935 11.0402H8.21348L7.36015 11.8935H6.61348L5.76015 11.0402H0.48015L0.000149727 10.5069V0.533522L0.48015 0.000188828H5.97348L6.34682 0.160189L6.98682 0.800188L7.62682 0.160189L8.00015 0.000188828H13.4935ZM6.50682 10.3469V1.76019L5.76015 1.01352H1.01348V10.0269H5.97348L6.29348 10.1869L6.50682 10.3469ZM13.0135 10.0269V1.01352H8.21348L7.52015 1.70685V10.2935L7.62682 10.1869L8.00015 10.0269H13.0135ZM5.01348 3.04019V4.00019H1.97348V3.04019H5.01348ZM5.01348 7.04019V8.00019H1.97348V7.04019H5.01348ZM1.97348 5.01352V6.02686H5.01348V5.01352H1.97348ZM12.0001 3.04019V4.00019H9.01348V3.04019H12.0001ZM9.01348 5.01352V6.02686H12.0001V5.01352H9.01348ZM9.01348 7.04019V8.00019H12.0001V7.04019H9.01348Z" fill="#0250D9"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M5 5L6.25 3.75H13.0175L17.5 8.2325V17.5L16.25 18.75H6.25L5 17.5V5ZM16.25 8.75L12.5 5H6.25V17.5H16.25V8.75Z" fill="#2E2E2E"/>
|
|
3
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.75 1.25L2.5 2.5V15L3.75 16.25V2.5H11.7675L10.5175 1.25H3.75Z" fill="#2E2E2E"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M13.4935 0.000149727L13.9735 0.480149C13.9735 2.15126 13.5646 3.80459 12.7468 5.44015C12.0713 6.7557 11.1468 8.05348 9.97348 9.33348V13.4935L9.49348 13.9735H6.50682L6.13348 13.8668L0.16015 7.84015L0.000149727 7.46682V4.48015L0.48015 4.00015H4.64015C5.92015 2.82682 7.21793 1.90237 8.53348 1.22682C10.169 0.409039 11.8224 0.000149727 13.4935 0.000149727ZM1.01348 4.96015V7.30682L1.38682 7.68015C2.06237 6.72015 2.80904 5.81348 3.62682 4.96015H1.01348ZM6.66682 12.9601H8.96015V10.3468C8.14237 11.1646 7.25348 11.9113 6.29348 12.5868L6.66682 12.9601ZM5.54682 11.8401C6.40015 11.2713 7.23571 10.6135 8.05348 9.86682C9.33348 8.62237 10.3824 7.36015 11.2002 6.08015C12.2668 4.37348 12.8535 2.68459 12.9601 1.01348C11.289 1.12015 9.60015 1.70682 7.89348 2.77348C6.61348 3.59126 5.35126 4.64015 4.10682 5.92015C3.36015 6.73793 2.70237 7.57348 2.13348 8.42682L5.54682 11.8401ZM2.98682 13.9735H0.000149727V10.9868H1.01348V12.9601H2.98682V13.9735ZM9.76015 6.29348C9.51126 6.64904 9.17348 6.88015 8.74682 6.98682C8.35571 7.05793 7.98237 6.98682 7.62682 6.77348C7.30682 6.52459 7.09348 6.20459 6.98682 5.81348C6.91571 5.38682 6.98682 5.01348 7.20015 4.69348C7.44904 4.33793 7.76904 4.12459 8.16015 4.05348C8.58682 3.94682 8.96015 4.01793 9.28015 4.26682C9.63571 4.48015 9.84904 4.80015 9.92015 5.22682C10.0268 5.61793 9.97348 5.97348 9.76015 6.29348Z" fill="#066AFE"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="14" height="13" viewBox="0 0 14 13" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M5.70684 0.533125C5.8135 0.319791 5.9735 0.177569 6.18684 0.106458C6.40017 0.0353467 6.6135 0.0353467 6.82684 0.106458C7.04017 0.177569 7.20017 0.319791 7.30684 0.533125L8.8535 3.62646L12.2135 4.10646C12.4624 4.14201 12.6579 4.26646 12.8002 4.47979C12.9424 4.65757 13.0135 4.8709 13.0135 5.11979C13.0135 5.33312 12.9246 5.5109 12.7468 5.65312L10.2935 8.05312L10.8802 11.4665C10.9157 11.6798 10.8624 11.8931 10.7202 12.1065C10.5779 12.2842 10.4002 12.4087 10.1868 12.4798C9.9735 12.5509 9.76017 12.5331 9.54684 12.4265L6.50684 10.8265L3.46684 12.4265C3.2535 12.5331 3.04017 12.5509 2.82684 12.4798C2.6135 12.4087 2.43572 12.2842 2.2935 12.1065C2.15128 11.8931 2.09795 11.6798 2.1335 11.4665L2.72017 8.05312L0.266836 5.65312C0.0890582 5.5109 0.000169277 5.33312 0.000169277 5.11979C0.000169277 4.8709 0.0712804 4.65757 0.213503 4.47979C0.355725 4.26646 0.55128 4.14201 0.800169 4.10646L4.16017 3.62646L5.70684 0.533125ZM6.50684 1.17312L5.06684 4.10646C4.92461 4.3909 4.6935 4.56868 4.3735 4.63979L1.12017 5.06646L3.46684 7.35979C3.71572 7.60868 3.80461 7.87535 3.7335 8.15979L3.20017 11.4131L6.08017 9.86646C6.36461 9.72424 6.64906 9.72424 6.9335 9.86646L9.8135 11.4131L9.28017 8.15979C9.24461 7.87535 9.3335 7.60868 9.54684 7.35979L11.8935 5.06646L8.64017 4.63979C8.32017 4.56868 8.08906 4.3909 7.94684 4.10646L6.50684 1.17312Z" fill="#066AFE"/>
|
|
3
|
+
</svg>
|
|
Binary file
|
|
Binary file
|