From 3dac991a96cf7a26407bceb05a9d277c55b09c20 Mon Sep 17 00:00:00 2001 From: brendanlaschke Date: Fri, 10 May 2024 08:09:58 +0200 Subject: [PATCH 1/5] - add releases page --- packages/twenty-front/src/App.tsx | 2 + .../SettingsNavigationDrawerItems.tsx | 6 + .../src/modules/types/SettingsPath.ts | 1 + .../src/pages/settings/Releases.tsx | 120 ++++++ .../display/icon/components/TablerIcons.ts | 1 + .../src/app/api/releases/route.tsx | 6 +- .../migrations/0003_gifted_annihilus.sql | 9 + .../migrations/meta/0003_snapshot.json | 388 ++++++++++++++++++ .../database/migrations/meta/_journal.json | 7 + 9 files changed, 539 insertions(+), 1 deletion(-) create mode 100644 packages/twenty-front/src/pages/settings/Releases.tsx create mode 100644 packages/twenty-website/src/database/migrations/0003_gifted_annihilus.sql create mode 100644 packages/twenty-website/src/database/migrations/meta/0003_snapshot.json diff --git a/packages/twenty-front/src/App.tsx b/packages/twenty-front/src/App.tsx index 98d096cee788..fd21a9c0701d 100644 --- a/packages/twenty-front/src/App.tsx +++ b/packages/twenty-front/src/App.tsx @@ -45,6 +45,7 @@ import { SettingsIntegrationEditDatabaseConnection } from '~/pages/settings/inte import { SettingsIntegrationNewDatabaseConnection } from '~/pages/settings/integrations/SettingsIntegrationNewDatabaseConnection'; import { SettingsIntegrations } from '~/pages/settings/integrations/SettingsIntegrations'; import { SettingsIntegrationShowDatabaseConnection } from '~/pages/settings/integrations/SettingsIntegrationShowDatabaseConnection'; +import { Releases } from '~/pages/settings/Releases'; import { SettingsAppearance } from '~/pages/settings/SettingsAppearance'; import { SettingsBilling } from '~/pages/settings/SettingsBilling'; import { SettingsProfile } from '~/pages/settings/SettingsProfile'; @@ -207,6 +208,7 @@ export const App = () => { path={SettingsPath.ObjectFieldEdit} element={} /> + } /> } /> diff --git a/packages/twenty-front/src/modules/settings/components/SettingsNavigationDrawerItems.tsx b/packages/twenty-front/src/modules/settings/components/SettingsNavigationDrawerItems.tsx index 9986414aea0f..1a91d922a022 100644 --- a/packages/twenty-front/src/modules/settings/components/SettingsNavigationDrawerItems.tsx +++ b/packages/twenty-front/src/modules/settings/components/SettingsNavigationDrawerItems.tsx @@ -9,6 +9,7 @@ import { IconDoorEnter, IconHierarchy2, IconMail, + IconRocket, IconSettings, IconUserCircle, IconUsers, @@ -105,6 +106,11 @@ export const SettingsNavigationDrawerItems = () => { + theme.spacing(6)} 0px 0px; + max-width: 100%; + } + + p img { + margin: 0px; + } + + h3 { + margin: ${({ theme }) => theme.spacing(6)} 0px 0px; + } + code { + background: ${({ theme }) => theme.background.tertiary}; + padding: 4px; + border-radius: 4px; + } + p { + color: #474747; + font-family: Inter, sans-serif; + font-size: ${({ theme }) => theme.font.size.md}; + line-height: 19.5px; + font-weight: ${({ theme }) => theme.font.weight.regular}; + margin: ${({ theme }) => theme.spacing(6)} 0px 0px; + text-align: justify; + } +`; + +const StyledReleaseHeader = styled.h2` + font-weight: ${({ theme }) => theme.font.weight.medium}; + line-height: 18px; + font-size: ${({ theme }) => theme.font.size.md}; + margin: 0; + margin-top: ${({ theme }) => theme.spacing(10)}; + + &:first-of-type { + margin-top: 0; + } +`; + +const StyledReleaseDate = styled.span` + font-weight: ${({ theme }) => theme.font.weight.regular}; + font-size: 12px; + line-height: 18px; + color: ${({ theme }) => theme.font.color.tertiary}; +`; + +export const Releases = () => { + const [releases, setReleases] = useState([]); + + useEffect(() => { + fetch('http://localhost:3005/api/releases').then(async (res) => { + const json = await res.json(); + for (const release of json) { + release.html = String( + await unified() + .use(remarkParse) + .use(remarkRehype) + .use(rehypeStringify) + .use(() => (tree: any) => { + visit(tree, (node) => { + if (node.tagName === 'h1' || node.tagName === 'h2') { + node.tagName = 'h3'; + } + }); + }) + .process(release.content), + ); + } + setReleases(json); + console.log(json); + }); + }, []); + + return ( + + + + + + {releases.map((release) => ( + + {release.release} + {release.date} +
+
+ ))} +
+
+
+
+ ); +}; diff --git a/packages/twenty-ui/src/display/icon/components/TablerIcons.ts b/packages/twenty-ui/src/display/icon/components/TablerIcons.ts index cac8c23a527b..3f16a342cf57 100644 --- a/packages/twenty-ui/src/display/icon/components/TablerIcons.ts +++ b/packages/twenty-ui/src/display/icon/components/TablerIcons.ts @@ -123,6 +123,7 @@ export { IconRelationOneToMany, IconRelationOneToOne, IconRepeat, + IconRocket, IconSearch, IconSend, IconSettings, diff --git a/packages/twenty-website/src/app/api/releases/route.tsx b/packages/twenty-website/src/app/api/releases/route.tsx index 0ffcf2838611..9c2bbfa3a476 100644 --- a/packages/twenty-website/src/app/api/releases/route.tsx +++ b/packages/twenty-website/src/app/api/releases/route.tsx @@ -1,4 +1,5 @@ import { desc } from 'drizzle-orm'; +import { NextResponse } from 'next/server'; import { getGithubReleaseDateFromReleaseNote } from '@/app/releases/utils/get-github-release-date-from-release-note'; import { getReleases } from '@/app/releases/utils/get-releases'; @@ -42,7 +43,10 @@ export async function GET() { }; }); - return Response.json(formattedReleasesNotes); + const response = NextResponse.json(formattedReleasesNotes); + response.headers.append('Access-Control-Allow-Origin', '*'); + + return response; } catch (error: any) { return new Response(`Github releases error: ${error?.message}`, { status: 500, diff --git a/packages/twenty-website/src/database/migrations/0003_gifted_annihilus.sql b/packages/twenty-website/src/database/migrations/0003_gifted_annihilus.sql new file mode 100644 index 000000000000..c4b1eceb6a1c --- /dev/null +++ b/packages/twenty-website/src/database/migrations/0003_gifted_annihilus.sql @@ -0,0 +1,9 @@ +CREATE TABLE IF NOT EXISTS "githubReleases" ( + "tagName" text PRIMARY KEY NOT NULL, + "publishedAt" date NOT NULL +); +--> statement-breakpoint +CREATE TABLE IF NOT EXISTS "githubStars" ( + "timestamp" timestamp DEFAULT now() NOT NULL, + "numberOfStars" integer +); diff --git a/packages/twenty-website/src/database/migrations/meta/0003_snapshot.json b/packages/twenty-website/src/database/migrations/meta/0003_snapshot.json new file mode 100644 index 000000000000..ea3ce8400657 --- /dev/null +++ b/packages/twenty-website/src/database/migrations/meta/0003_snapshot.json @@ -0,0 +1,388 @@ +{ + "id": "a2316163-bc2f-4f0f-b437-32578a7d8783", + "prevId": "a7895a79-44a3-4fad-b750-f89d8c04d85c", + "version": "5", + "dialect": "pg", + "tables": { + "githubReleases": { + "name": "githubReleases", + "schema": "", + "columns": { + "tagName": { + "name": "tagName", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "publishedAt": { + "name": "publishedAt", + "type": "date", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "githubStars": { + "name": "githubStars", + "schema": "", + "columns": { + "timestamp": { + "name": "timestamp", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "numberOfStars": { + "name": "numberOfStars", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "issueLabels": { + "name": "issueLabels", + "schema": "", + "columns": { + "issueId": { + "name": "issueId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "labelId": { + "name": "labelId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "issueLabels_issueId_issues_id_fk": { + "name": "issueLabels_issueId_issues_id_fk", + "tableFrom": "issueLabels", + "tableTo": "issues", + "columnsFrom": [ + "issueId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "issueLabels_labelId_labels_id_fk": { + "name": "issueLabels_labelId_labels_id_fk", + "tableFrom": "issueLabels", + "tableTo": "labels", + "columnsFrom": [ + "labelId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "issues": { + "name": "issues", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "externalId": { + "name": "externalId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "body": { + "name": "body", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "updatedAt": { + "name": "updatedAt", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "closedAt": { + "name": "closedAt", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "authorId": { + "name": "authorId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "issues_authorId_users_id_fk": { + "name": "issues_authorId_users_id_fk", + "tableFrom": "issues", + "tableTo": "users", + "columnsFrom": [ + "authorId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "labels": { + "name": "labels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "externalId": { + "name": "externalId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "color": { + "name": "color", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "pullRequestLabels": { + "name": "pullRequestLabels", + "schema": "", + "columns": { + "pullRequestExternalId": { + "name": "pullRequestExternalId", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "labelId": { + "name": "labelId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "pullRequestLabels_pullRequestExternalId_pullRequests_id_fk": { + "name": "pullRequestLabels_pullRequestExternalId_pullRequests_id_fk", + "tableFrom": "pullRequestLabels", + "tableTo": "pullRequests", + "columnsFrom": [ + "pullRequestExternalId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "pullRequestLabels_labelId_labels_id_fk": { + "name": "pullRequestLabels_labelId_labels_id_fk", + "tableFrom": "pullRequestLabels", + "tableTo": "labels", + "columnsFrom": [ + "labelId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "pullRequests": { + "name": "pullRequests", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "body": { + "name": "body", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "updatedAt": { + "name": "updatedAt", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "closedAt": { + "name": "closedAt", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mergedAt": { + "name": "mergedAt", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "authorId": { + "name": "authorId", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "pullRequests_authorId_users_id_fk": { + "name": "pullRequests_authorId_users_id_fk", + "tableFrom": "pullRequests", + "tableTo": "users", + "columnsFrom": [ + "authorId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "users": { + "name": "users", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "avatarUrl": { + "name": "avatarUrl", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "isEmployee": { + "name": "isEmployee", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + } + }, + "enums": {}, + "schemas": {}, + "_meta": { + "columns": {}, + "schemas": {}, + "tables": {} + } +} \ No newline at end of file diff --git a/packages/twenty-website/src/database/migrations/meta/_journal.json b/packages/twenty-website/src/database/migrations/meta/_journal.json index 2f4446e5f986..92c274169028 100644 --- a/packages/twenty-website/src/database/migrations/meta/_journal.json +++ b/packages/twenty-website/src/database/migrations/meta/_journal.json @@ -22,6 +22,13 @@ "when": 1714375499735, "tag": "0002_demonic_matthew_murdock", "breakpoints": true + }, + { + "idx": 3, + "version": "5", + "when": 1715235697210, + "tag": "0003_gifted_annihilus", + "breakpoints": true } ] } \ No newline at end of file From a2a756b069bdb2d238e16431f5b2a81d01c327b4 Mon Sep 17 00:00:00 2001 From: brendanlaschke Date: Fri, 10 May 2024 08:12:09 +0200 Subject: [PATCH 2/5] fix --- .../migrations/0003_gifted_annihilus.sql | 9 - .../migrations/meta/0003_snapshot.json | 388 ------------------ .../database/migrations/meta/_journal.json | 7 - 3 files changed, 404 deletions(-) delete mode 100644 packages/twenty-website/src/database/migrations/0003_gifted_annihilus.sql delete mode 100644 packages/twenty-website/src/database/migrations/meta/0003_snapshot.json diff --git a/packages/twenty-website/src/database/migrations/0003_gifted_annihilus.sql b/packages/twenty-website/src/database/migrations/0003_gifted_annihilus.sql deleted file mode 100644 index c4b1eceb6a1c..000000000000 --- a/packages/twenty-website/src/database/migrations/0003_gifted_annihilus.sql +++ /dev/null @@ -1,9 +0,0 @@ -CREATE TABLE IF NOT EXISTS "githubReleases" ( - "tagName" text PRIMARY KEY NOT NULL, - "publishedAt" date NOT NULL -); ---> statement-breakpoint -CREATE TABLE IF NOT EXISTS "githubStars" ( - "timestamp" timestamp DEFAULT now() NOT NULL, - "numberOfStars" integer -); diff --git a/packages/twenty-website/src/database/migrations/meta/0003_snapshot.json b/packages/twenty-website/src/database/migrations/meta/0003_snapshot.json deleted file mode 100644 index ea3ce8400657..000000000000 --- a/packages/twenty-website/src/database/migrations/meta/0003_snapshot.json +++ /dev/null @@ -1,388 +0,0 @@ -{ - "id": "a2316163-bc2f-4f0f-b437-32578a7d8783", - "prevId": "a7895a79-44a3-4fad-b750-f89d8c04d85c", - "version": "5", - "dialect": "pg", - "tables": { - "githubReleases": { - "name": "githubReleases", - "schema": "", - "columns": { - "tagName": { - "name": "tagName", - "type": "text", - "primaryKey": true, - "notNull": true - }, - "publishedAt": { - "name": "publishedAt", - "type": "date", - "primaryKey": false, - "notNull": true - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "githubStars": { - "name": "githubStars", - "schema": "", - "columns": { - "timestamp": { - "name": "timestamp", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "numberOfStars": { - "name": "numberOfStars", - "type": "integer", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "issueLabels": { - "name": "issueLabels", - "schema": "", - "columns": { - "issueId": { - "name": "issueId", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "labelId": { - "name": "labelId", - "type": "text", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": { - "issueLabels_issueId_issues_id_fk": { - "name": "issueLabels_issueId_issues_id_fk", - "tableFrom": "issueLabels", - "tableTo": "issues", - "columnsFrom": [ - "issueId" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - }, - "issueLabels_labelId_labels_id_fk": { - "name": "issueLabels_labelId_labels_id_fk", - "tableFrom": "issueLabels", - "tableTo": "labels", - "columnsFrom": [ - "labelId" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "issues": { - "name": "issues", - "schema": "", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true - }, - "externalId": { - "name": "externalId", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "title": { - "name": "title", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "body": { - "name": "body", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "url": { - "name": "url", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "createdAt": { - "name": "createdAt", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "updatedAt": { - "name": "updatedAt", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "closedAt": { - "name": "closedAt", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "authorId": { - "name": "authorId", - "type": "text", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": { - "issues_authorId_users_id_fk": { - "name": "issues_authorId_users_id_fk", - "tableFrom": "issues", - "tableTo": "users", - "columnsFrom": [ - "authorId" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "labels": { - "name": "labels", - "schema": "", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true - }, - "externalId": { - "name": "externalId", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "color": { - "name": "color", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "description": { - "name": "description", - "type": "text", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "pullRequestLabels": { - "name": "pullRequestLabels", - "schema": "", - "columns": { - "pullRequestExternalId": { - "name": "pullRequestExternalId", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "labelId": { - "name": "labelId", - "type": "text", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": { - "pullRequestLabels_pullRequestExternalId_pullRequests_id_fk": { - "name": "pullRequestLabels_pullRequestExternalId_pullRequests_id_fk", - "tableFrom": "pullRequestLabels", - "tableTo": "pullRequests", - "columnsFrom": [ - "pullRequestExternalId" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - }, - "pullRequestLabels_labelId_labels_id_fk": { - "name": "pullRequestLabels_labelId_labels_id_fk", - "tableFrom": "pullRequestLabels", - "tableTo": "labels", - "columnsFrom": [ - "labelId" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "pullRequests": { - "name": "pullRequests", - "schema": "", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true - }, - "title": { - "name": "title", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "body": { - "name": "body", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "url": { - "name": "url", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "createdAt": { - "name": "createdAt", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "updatedAt": { - "name": "updatedAt", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "closedAt": { - "name": "closedAt", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "mergedAt": { - "name": "mergedAt", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "authorId": { - "name": "authorId", - "type": "text", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": { - "pullRequests_authorId_users_id_fk": { - "name": "pullRequests_authorId_users_id_fk", - "tableFrom": "pullRequests", - "tableTo": "users", - "columnsFrom": [ - "authorId" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "users": { - "name": "users", - "schema": "", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true - }, - "avatarUrl": { - "name": "avatarUrl", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "url": { - "name": "url", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "isEmployee": { - "name": "isEmployee", - "type": "text", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - } - }, - "enums": {}, - "schemas": {}, - "_meta": { - "columns": {}, - "schemas": {}, - "tables": {} - } -} \ No newline at end of file diff --git a/packages/twenty-website/src/database/migrations/meta/_journal.json b/packages/twenty-website/src/database/migrations/meta/_journal.json index 92c274169028..2f4446e5f986 100644 --- a/packages/twenty-website/src/database/migrations/meta/_journal.json +++ b/packages/twenty-website/src/database/migrations/meta/_journal.json @@ -22,13 +22,6 @@ "when": 1714375499735, "tag": "0002_demonic_matthew_murdock", "breakpoints": true - }, - { - "idx": 3, - "version": "5", - "when": 1715235697210, - "tag": "0003_gifted_annihilus", - "breakpoints": true } ] } \ No newline at end of file From d3c58f457d1efaa2de8e10884c184159b03547d2 Mon Sep 17 00:00:00 2001 From: brendanlaschke Date: Fri, 10 May 2024 08:12:50 +0200 Subject: [PATCH 3/5] correct url --- packages/twenty-front/src/pages/settings/Releases.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/twenty-front/src/pages/settings/Releases.tsx b/packages/twenty-front/src/pages/settings/Releases.tsx index a05be7a61262..1fbe5b50c452 100644 --- a/packages/twenty-front/src/pages/settings/Releases.tsx +++ b/packages/twenty-front/src/pages/settings/Releases.tsx @@ -76,7 +76,7 @@ export const Releases = () => { const [releases, setReleases] = useState([]); useEffect(() => { - fetch('http://localhost:3005/api/releases').then(async (res) => { + fetch('https://twenty.com/api/releases').then(async (res) => { const json = await res.json(); for (const release of json) { release.html = String( @@ -95,7 +95,6 @@ export const Releases = () => { ); } setReleases(json); - console.log(json); }); }, []); From d512dd5ce714c4d9a79ec3f3460a8ead204c4d7b Mon Sep 17 00:00:00 2001 From: brendanlaschke Date: Fri, 10 May 2024 11:14:41 +0200 Subject: [PATCH 4/5] Access-control-allow-origin * --- .../twenty-website/src/app/api/releases/route.tsx | 6 +----- packages/twenty-website/src/middleware.ts | 15 ++------------- 2 files changed, 3 insertions(+), 18 deletions(-) diff --git a/packages/twenty-website/src/app/api/releases/route.tsx b/packages/twenty-website/src/app/api/releases/route.tsx index 9c2bbfa3a476..0ffcf2838611 100644 --- a/packages/twenty-website/src/app/api/releases/route.tsx +++ b/packages/twenty-website/src/app/api/releases/route.tsx @@ -1,5 +1,4 @@ import { desc } from 'drizzle-orm'; -import { NextResponse } from 'next/server'; import { getGithubReleaseDateFromReleaseNote } from '@/app/releases/utils/get-github-release-date-from-release-note'; import { getReleases } from '@/app/releases/utils/get-releases'; @@ -43,10 +42,7 @@ export async function GET() { }; }); - const response = NextResponse.json(formattedReleasesNotes); - response.headers.append('Access-Control-Allow-Origin', '*'); - - return response; + return Response.json(formattedReleasesNotes); } catch (error: any) { return new Response(`Github releases error: ${error?.message}`, { status: 500, diff --git a/packages/twenty-website/src/middleware.ts b/packages/twenty-website/src/middleware.ts index 9fa6c5205e4f..74975324475c 100644 --- a/packages/twenty-website/src/middleware.ts +++ b/packages/twenty-website/src/middleware.ts @@ -1,20 +1,9 @@ import { NextResponse } from 'next/server'; -const allowedOrigins = [ - 'http://localhost:3000', - 'https://app.twenty.com', - 'https://twenty.com', -]; - -export function middleware(req: any) { +export function middleware() { const res = NextResponse.next(); - const origin = req.headers.get('origin'); - - if (allowedOrigins.includes(origin)) { - res.headers.append('Access-Control-Allow-Origin', origin); - } - + res.headers.append('Access-Control-Allow-Origin', '*'); res.headers.append('Access-Control-Allow-Credentials', 'true'); res.headers.append( 'Access-Control-Allow-Methods', From 378ed8a5837146db5b4c97a70ec426474b581b29 Mon Sep 17 00:00:00 2001 From: brendanlaschke Date: Fri, 10 May 2024 11:28:42 +0200 Subject: [PATCH 5/5] fix settings page x overflow on mobile --- .../settings/components/SettingsPageContainer.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/twenty-front/src/modules/settings/components/SettingsPageContainer.tsx b/packages/twenty-front/src/modules/settings/components/SettingsPageContainer.tsx index 8775b37bc66d..c49ff35df80d 100644 --- a/packages/twenty-front/src/modules/settings/components/SettingsPageContainer.tsx +++ b/packages/twenty-front/src/modules/settings/components/SettingsPageContainer.tsx @@ -1,6 +1,8 @@ import styled from '@emotion/styled'; import { OBJECT_SETTINGS_WIDTH } from '@/settings/data-model/constants/ObjectSettings'; +import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile'; +import { isDefined } from '~/utils/isDefined'; const StyledSettingsPageContainer = styled.div<{ width?: number }>` display: flex; @@ -8,8 +10,15 @@ const StyledSettingsPageContainer = styled.div<{ width?: number }>` gap: ${({ theme }) => theme.spacing(8)}; overflow: auto; padding: ${({ theme }) => theme.spacing(8)}; - width: ${({ width }) => - width ? width + 'px' : OBJECT_SETTINGS_WIDTH + 'px'}; + width: ${({ width }) => { + if (isDefined(width)) { + return width + 'px'; + } + if (useIsMobile()) { + return 'unset'; + } + return OBJECT_SETTINGS_WIDTH + 'px'; + }}; `; export { StyledSettingsPageContainer as SettingsPageContainer };