Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,9 @@ grida.co and \[tenant\].grida.site domains are connected.
- `(tools)` contains the standalone tools and editor pages, like playground, etc.
- `(workbench)` contains the workbench, the main editor page.
- `(workspace)` similar to `(workbench)`, but contains the dashboard, not the actual editor.
- `(www)` contains the landing page, seo-purpose static pages.
- `(www)` contains the landing page, seo-purpose static pages. when to add new webpages, this is the root directory.
- `sitemap.ts` contains the sitemap.xml generator. this contains the sitemap for the public pages, usually under `(www)` directory.
- `/www` contains the landing page specific components.
- `/components` contains the generally reusable components.
- `/components/ui` contains the shadcn ui components.
- `/scaffolds` contains the feature-specific larger components / pages / editors.
Expand Down
5 changes: 5 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,13 @@
First, clone the repo with git submodules (optional. using Github Desktop will automatically clone the submodules for you)

```bash
# clone the repo
git clone --recurse-submodules https://github.com/gridaco/grida
cd grida

# setup node & package manager
nvm use
corepack enable pnpm
```

Then, install the dependencies and run the development server:
Expand Down
6 changes: 3 additions & 3 deletions apps/backgrounds/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@
"clsx": "^2.1.1",
"motion": "^12.11.0",
"next": "15.3.2",
"react": "19.1.0",
"react-dom": "19.1.0",
"react": "19.0.0",
"react-dom": "19.0.0",
"shadergradient": "^1.2.14",
"tailwind-merge": "^3.2.0",
"three": "^0.170.0",
"three-globe": "^2.42.4"
},
"devDependencies": {
"@tailwindcss/postcss": "^4.1.6",
"@tailwindcss/postcss": "^4",
"@types/node": "^22",
"@types/react": "^19",
"@types/react-dom": "^19",
Expand Down
10 changes: 5 additions & 5 deletions apps/blog/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
"dependencies": {
"@docusaurus/core": "3.7.0",
"@docusaurus/preset-classic": "3.7.0",
"@mdx-js/react": "^3.0.0",
"clsx": "^2.0.0",
"prism-react-renderer": "^2.3.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
"@mdx-js/react": "^3.1.0",
"clsx": "^2.1.1",
"prism-react-renderer": "^2.4.1",
"react": "19.0.0",
"react-dom": "19.0.0"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "3.7.0",
Expand Down
20 changes: 10 additions & 10 deletions apps/docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,16 @@
"write-heading-ids": "docusaurus write-heading-ids"
},
"dependencies": {
"@docusaurus/core": "^3.7.0",
"@docusaurus/plugin-client-redirects": "^3.7.0",
"@docusaurus/plugin-google-gtag": "^3.7.0",
"@docusaurus/plugin-sitemap": "^3.7.0",
"@docusaurus/preset-classic": "^3.7.0",
"@mdx-js/react": "^3.0.0",
"clsx": "^2.0.0",
"prism-react-renderer": "^2.3.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
"@docusaurus/core": "3.7.0",
"@docusaurus/plugin-client-redirects": "3.7.0",
"@docusaurus/plugin-google-gtag": "3.7.0",
"@docusaurus/plugin-sitemap": "3.7.0",
"@docusaurus/preset-classic": "3.7.0",
"@mdx-js/react": "^3.1.0",
"clsx": "^2.1.1",
"prism-react-renderer": "^2.4.1",
"react": "19.0.0",
"react-dom": "19.0.0"
Comment on lines +29 to +30
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

React downgraded to exact version 19.0.0.

This aligns with the repo-wide React version standardization mentioned in the PR summary.


🏁 Script executed:

#!/bin/bash
# Check for React version consistency across the repository
echo "Checking React versions across the repository:"
fd -t f "package.json" -E "**/node_modules/**" -E "**/.next/**" -x grep -l "\"react\":" {} \; | xargs grep -h "\"react\": " | sort | uniq -c

Length of output: 369


🏁 Script executed:

#!/bin/bash
echo "Listing package.json files with React version '^18.0.0 || ^19.0.0':"
fd -t f "package.json" -E "**/node_modules/**" -E "**/.next/**" -x grep -l '"react": "\^18\.0\.0 \|\| \^19\.0\.0"' {} \;

Length of output: 1270


Inconsistent React version specifiers across repository

The update in apps/docs/package.json to "react": "19.0.0" is correct, but our scan shows many other package.json files still use the range specifier ^18.0.0 || ^19.0.0. For full repo-wide standardization, please update all of them to the exact "19.0.0".

Files needing update (examples):

  • packages/grida-canvas-schema/package.json
  • packages/grida-canvas-io/package.json
  • packages/grida-canvas-react-timeline/package.json
  • …and 20+ more (see script output)

• Run:

grep -R '"react": "\^18\.0\.0 \|\| \^19\.0\.0"' -n .

and replace each occurrence with:

-  "react": "^18.0.0 || ^19.0.0",
+  "react": "19.0.0",
🤖 Prompt for AI Agents
In apps/docs/package.json at lines 29 to 30, the React version is set to the
exact "19.0.0" which is correct. However, to ensure consistency across the
repository, locate all other package.json files that specify React with the
range "^18.0.0 || ^19.0.0" and update those entries to the exact version
"19.0.0". Use the provided grep command to find all occurrences and replace them
accordingly to standardize React versioning repo-wide.

},
"devDependencies": {
"@docusaurus/module-type-aliases": "3.7.0",
Expand Down
27 changes: 24 additions & 3 deletions apps/viewer/app/globals.css
Original file line number Diff line number Diff line change
@@ -1,6 +1,27 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
@import 'tailwindcss';

@theme {
--color-background: var(--background);
--color-foreground: var(--foreground);
}

/*
The default border color has changed to `currentcolor` in Tailwind CSS v4,
so we've added these compatibility styles to make sure everything still
looks the same as it did with Tailwind CSS v3.

If we ever want to remove these styles, we need to add an explicit border
color utility to any element that depends on these defaults.
*/
@layer base {
*,
::after,
::before,
::backdrop,
::file-selector-button {
border-color: var(--color-gray-200, currentcolor);
}
}

:root {
--background: #ffffff;
Expand Down
2 changes: 1 addition & 1 deletion apps/viewer/app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export default function Home() {
</p>
<Link
href="https://grida.co"
className="inline-flex h-10 items-center justify-center rounded-md bg-primary px-8 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary"
className="inline-flex h-10 items-center justify-center rounded-md bg-primary px-8 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary"
>
Visit grida.co
</Link>
Expand Down
11 changes: 6 additions & 5 deletions apps/viewer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,24 @@
"packageManager": "pnpm@10.10.0",
"dependencies": {
"@uidotdev/usehooks": "^2.4.1",
"lucide-react": "^0.367.0",
"lucide-react": "^0.511.0",
"next": "15.3.2",
"pdfjs-dist": "4.8.69",
"react": "19.1.0",
"react-dom": "19.1.0",
"react": "19.0.0",
"react-dom": "19.0.0",
"react-pageflip": "^2.0.3",
"react-pdf": "^9.2.1"
},
"devDependencies": {
"@eslint/eslintrc": "^3",
"@tailwindcss/postcss": "^4",
"@types/node": "^22",
"@types/react": "^19",
"@types/react-dom": "^19",
"eslint": "^9",
"eslint-config-next": "15.1.6",
"eslint-config-next": "15.3.2",
"postcss": "^8",
"tailwindcss": "^3.4.1",
"tailwindcss": "^4",
"typescript": "^5"
}
}
2 changes: 1 addition & 1 deletion apps/viewer/postcss.config.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/** @type {import('postcss-load-config').Config} */
const config = {
plugins: {
tailwindcss: {},
'@tailwindcss/postcss': {},
},
};

Expand Down
4 changes: 2 additions & 2 deletions apps/viewer/scaffolds/pdf-page-flip/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ const FlipPage: React.FC<FlipPageProps> = React.forwardRef(
({ onLinkClick, pageNumber, width, height, ...props }, ref) => {
return (
<div
className="shadow-lg rounded overflow-hidden"
className="shadow-lg rounded-sm overflow-hidden"
ref={ref as React.RefObject<HTMLDivElement>}
>
<Page
Expand Down Expand Up @@ -364,7 +364,7 @@ function NavigationPageNumberControl({
<input
type="text"
autoComplete="off"
className="w-7 rounded border text-center"
className="w-7 rounded-sm border text-center"
value={txt}
onChange={(e) => setTxt(e.target.value)}
onKeyDown={(e) => {
Expand Down
19 changes: 0 additions & 19 deletions apps/viewer/tailwind.config.ts

This file was deleted.

4 changes: 2 additions & 2 deletions desktop/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
"clsx": "^2.1.1",
"electron-squirrel-startup": "^1.0.1",
"keytar": "^7.9.0",
"react": "19.1.0",
"react-dom": "19.1.0",
"react": "19.0.0",
"react-dom": "19.0.0",
"scheduler": "^0.25.0",
"tailwind-merge": "^2.2.2",
"update-electron-app": "^3.1.1"
Expand Down
26 changes: 13 additions & 13 deletions editor/app/(www)/(forms)/forms/_sections/features.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import {
AccountTreeIcon,
ApiIcon,
DashBoardCustomizeIcon,
SmartToyIcon,
AnalysisIcon,
VisualStudioIcon,
} from "@/www/icons";
CodeIcon,
BotIcon,
FrameIcon,
PaletteIcon,
UsersIcon,
ChartLineIcon,
} from "lucide-react";

export default function Features() {
return (
Expand All @@ -16,42 +16,42 @@ export default function Features() {
<div className="mt-20">
<div className="columns-2 lg:columns-3 2xl:columns-3 grid-rows-2 space-y-20">
<FeatureCard
icon={<SmartToyIcon size={24} />}
icon={<BotIcon className="size-6" />}
title={"Smart Customer Identity"}
excerpt={
"Optimize user experience with customizable Smart Customer Identity in your forms."
}
/>
<FeatureCard
icon={<AccountTreeIcon size={24} />}
icon={<UsersIcon className="size-6" />}
title={"Connect Customer Identity"}
excerpt={
"Align your forms with your customers' identity, fostering a personalized and trustworthy interaction."
}
/>
<FeatureCard
icon={<VisualStudioIcon size={24} />}
icon={<FrameIcon className="size-6" />}
title={"Visual Editor"}
excerpt={
"Visual Editor allows users to intuitively customize visuals, ensuring their forms match their unique style."
}
/>
<FeatureCard
icon={<AnalysisIcon size={24} />}
icon={<ChartLineIcon className="size-6" />}
title={"Advanced Analytics"}
excerpt={
"Advanced Analytics provides detailed insights to optimize your form strategy."
}
/>
<FeatureCard
icon={<DashBoardCustomizeIcon size={24} />}
icon={<PaletteIcon className="size-6" />}
title={"Custom branding & form"}
excerpt={
"Customize your form pages with branding elements to align seamlessly with your brand identity."
}
/>
<FeatureCard
icon={<ApiIcon size={24} />}
icon={<CodeIcon className="size-6" />}
title={"API access"}
excerpt={
"API access allows for streamlined integration and enhanced form functionality."
Expand Down
5 changes: 2 additions & 3 deletions editor/app/(www)/(west)/west/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import FooterWithCTA from "@/www/footer-with-cta";
import Header from "@/www/header";
import Image from "next/image";
import Link from "next/link";

import {
Card,
CardContent,
Expand All @@ -23,7 +22,7 @@ import {
} from "@/components/ui/card";
import { cn } from "@/components/lib/utils";
import CustomDomainDemo from "./custom-domain-demo";
import { AnalysisIcon } from "@/www/icons";
import { ChartLineIcon } from "lucide-react";
import Hello from "./hello";

export default function WestPage() {
Expand Down Expand Up @@ -183,7 +182,7 @@ function FeaturesSection() {
imageSrc="/www/.west/reward-simulation.png"
/>
<FeatureCard
icon={<AnalysisIcon />}
icon={<ChartLineIcon />}
title="Real-time Analytics"
description="Analyze referral and participation data instantly with visual graphs and metrics."
imageSrc="/www/.west/real-time-analytics.png"
Expand Down
10 changes: 4 additions & 6 deletions editor/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
"@grida/vn": "workspace:*",
"@hookform/resolvers": "^4.1.3",
"@mdx-js/loader": "^3.0.1",
"@mdx-js/react": "^3.0.1",
"@mdx-js/react": "^3.1.0",
"@monaco-editor/react": "^4.6.0",
"@next/mdx": "15.3.2",
"@next/third-parties": "15.3.2",
Expand Down Expand Up @@ -153,7 +153,7 @@
"input-otp": "^1.4.2",
"libphonenumber-js": "^1.12.6",
"lowlight": "^3.3.0",
"lucide-react": "^0.509.0",
"lucide-react": "^0.511.0",
"mapbox-gl": "^3.4.0",
"masonic": "^4.1.0",
"mdn-data": "^2.8.0",
Expand All @@ -169,7 +169,7 @@
"openai": "^4.96.0",
"p-queue": "^7.2.0",
"papaparse": "^5.4.1",
"prism-react-renderer": "^2.3.1",
"prism-react-renderer": "^2.4.1",
"react": "19.0.0",
"react-colorful": "^5.6.1",
"react-data-grid": "7.0.0-beta.44",
Expand Down Expand Up @@ -199,11 +199,10 @@
"signature_pad": "^4.2.0",
"sonner": "^2.0.3",
"stylis": "^4.3.2",
"svg-pathdata": "^7.1.0",
"svg-pathdata": "^7.2.0",
"swr": "^2.2.5",
"tailwind-merge": "^3.2.0",
"timezones-list": "^3.0.3",
"type-fest": "^4.38.0",
"ua-parser-js": "^1.0.38",
"use-file-picker": "^2.1.1",
"usehooks-ts": "^3.1.0",
Expand Down Expand Up @@ -231,7 +230,6 @@
"@types/deep-equal": "^1.0.4",
"@types/file-saver": "^2.0.5",
"@types/geojson": "^7946.0.14",
"@types/jest": "^29.5.12",
"@types/mapbox-gl": "^3.1.0",
"@types/mdx": "^2.0.11",
"@types/mime-types": "^2.1.4",
Expand Down
16 changes: 11 additions & 5 deletions editor/scaffolds/editor/init.ts
Original file line number Diff line number Diff line change
Expand Up @@ -714,11 +714,8 @@ function formdocumentpagesinit({
{
defaultOpen: true,
type: "folder",
id: "campaign",
label: "Campaign",
link: {
href: `/${basepath}/${document_id}/form`,
},
id: "form",
label: "Form",
icon: "folder",
children: [
// TODO: not ready
Expand Down Expand Up @@ -750,6 +747,15 @@ function formdocumentpagesinit({
},
icon: "file",
},
{
type: "item",
id: "form/settings",
label: "Settings",
link: {
href: `/${basepath}/${document_id}/form`,
},
icon: "file",
},
],
},
],
Expand Down
6 changes: 0 additions & 6 deletions editor/www/icons/index.ts

This file was deleted.

Loading