-
+
@@ -38,12 +38,19 @@ export function TeamMembers({ publicTeam = false, kabanView = IssuesView.CARDS }
);
break;
- case kabanView === IssuesView.CARDS:
+ case kanbanView === IssuesView.CARDS:
teamMembersView = (
-
+ <>
+
+ >
);
break;
- case kabanView === IssuesView.TABLE:
+ case kanbanView === IssuesView.TABLE:
teamMembersView = (
+
);
}
return teamMembersView;
diff --git a/apps/web/lib/i18n/en.ts b/apps/web/lib/i18n/en.ts
index cd910228a..ec736c37e 100644
--- a/apps/web/lib/i18n/en.ts
+++ b/apps/web/lib/i18n/en.ts
@@ -366,7 +366,7 @@ export const en = {
layout: {
footer: {
- RIGHTS_RESERVERD: 'All rights reserved.'
+ RIGHTS_RESERVED: 'All rights reserved.'
}
},
diff --git a/apps/web/lib/layout/footer.tsx b/apps/web/lib/layout/footer.tsx
index eb3c2a6a4..e2a65f5c4 100644
--- a/apps/web/lib/layout/footer.tsx
+++ b/apps/web/lib/layout/footer.tsx
@@ -12,7 +12,7 @@ export function Footer({ className }: IClassName) {
{t('layout.footer.COPY_RIGHT1', { date: new Date().getFullYear() })}{' '}
{t('TITLE')} {t('layout.footer.BY')}{' '}
{t('layout.footer.COPY_RIGHT4')}{' '}
- {t('layout.footer.RIGHTS_RESERVERD')}
+ {t('layout.footer.RIGHTS_RESERVED')}
diff --git a/apps/web/next.config.js b/apps/web/next.config.js
index 4f1860fd8..b546ab890 100644
--- a/apps/web/next.config.js
+++ b/apps/web/next.config.js
@@ -3,6 +3,7 @@ const path = require('path');
// eslint-disable-next-line @typescript-eslint/no-var-requires
/** @type {import('next').NextConfig} */
const nextConfig = {
+ output: process.env.NEXT_BUILD_OUTPUT_TYPE === 'standalone' ? 'standalone' : undefined,
reactStrictMode: true,
swcMinify: true,
webpack: (config, { isServer }) => {
diff --git a/apps/web/pages/_app.tsx b/apps/web/pages/_app.tsx
index 5e517c059..0898e2479 100644
--- a/apps/web/pages/_app.tsx
+++ b/apps/web/pages/_app.tsx
@@ -1,8 +1,7 @@
/* eslint-disable no-mixed-spaces-and-tabs */
import 'react-loading-skeleton/dist/skeleton.css';
import '../styles/globals.css';
-
-import { jitsuConfiguration } from '@app/constants';
+import { GA_MEASUREMENT_ID, jitsuConfiguration } from '@app/constants';
import { JitsuProvider } from '@jitsu/jitsu-react';
import { Analytics } from '@vercel/analytics/react';
import { AppState } from 'lib/app/init-state';
@@ -16,20 +15,27 @@ import { SkeletonTheme } from 'react-loading-skeleton';
import { RecoilRoot } from 'recoil';
import { JitsuAnalytics } from '../lib/components/services/jitsu-analytics';
import i18n from '../ni18n.config';
+
const MyApp = ({ Component, pageProps }: AppProps) => {
const isJitsuEnvsPresent = jitsuConfiguration.host && jitsuConfiguration.writeKey;
return (
<>
-
-
+
+ {GA_MEASUREMENT_ID && (
+ <>
+
+
+ >
+ )}
+
diff --git a/apps/web/pages/api/tasks/[id].ts b/apps/web/pages/api/tasks/[id].ts
index b36f8fd87..87b475407 100644
--- a/apps/web/pages/api/tasks/[id].ts
+++ b/apps/web/pages/api/tasks/[id].ts
@@ -4,7 +4,7 @@ import { getTeamTasksRequest, updateTaskRequest, getTaskByIdRequest } from '@app
import { NextApiRequest, NextApiResponse } from 'next';
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
- const { $res, user, tenantId, access_token, organizationId } = await authenticatedGuard(req, res);
+ const { $res, user, tenantId, access_token, organizationId, projectId, teamId} = await authenticatedGuard(req, res);
if (!user) return $res();
const { id: taskId } = req.query;
@@ -38,6 +38,8 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
const { data: tasks } = await getTeamTasksRequest({
tenantId,
organizationId,
+ projectId,
+ teamId,
bearer_token: access_token
});
diff --git a/apps/web/pages/api/tasks/team.ts b/apps/web/pages/api/tasks/team.ts
index 49bd43bc9..afd4ab9dc 100644
--- a/apps/web/pages/api/tasks/team.ts
+++ b/apps/web/pages/api/tasks/team.ts
@@ -4,7 +4,7 @@ import { createTaskRequest, getTeamTasksRequest } from '@app/services/server/req
import { NextApiRequest, NextApiResponse } from 'next';
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
- const { $res, user, tenantId, organizationId, access_token, projectId } = await authenticatedGuard(req, res);
+ const { $res, user, tenantId, organizationId, access_token, projectId, teamId } = await authenticatedGuard(req, res);
if (!user) return $res();
if (req.method === 'POST') {
@@ -42,6 +42,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
tenantId,
organizationId,
projectId,
+ teamId,
bearer_token: access_token
});
diff --git a/apps/web/pages/index.tsx b/apps/web/pages/index.tsx
index 73d058e71..78c95ed4b 100644
--- a/apps/web/pages/index.tsx
+++ b/apps/web/pages/index.tsx
@@ -79,7 +79,7 @@ function MainPage() {
-
{isTeamMember ? : }
+
{isTeamMember ? : }
);
}
diff --git a/apps/web/public/assets/ever-teams.png b/apps/web/public/assets/ever-teams.png
new file mode 100644
index 000000000..5beaf9fea
Binary files /dev/null and b/apps/web/public/assets/ever-teams.png differ
diff --git a/apps/web/public/assets/gauzy-team.png b/apps/web/public/assets/gauzy-team.png
deleted file mode 100644
index a939cac8f..000000000
Binary files a/apps/web/public/assets/gauzy-team.png and /dev/null differ
diff --git a/apps/web/public/locales/ar/common.json b/apps/web/public/locales/ar/common.json
index 4c627d09a..f89afdad2 100644
--- a/apps/web/public/locales/ar/common.json
+++ b/apps/web/public/locales/ar/common.json
@@ -494,11 +494,9 @@
"layout": {
"footer": {
- "RIGHTS_RESERVERD": "جميع الحقوق محفوظة.",
+ "RIGHTS_RESERVED": "جميع الحقوق محفوظة.",
"COPY_RIGHT1": "© {{date}}-حاضر،",
- "COPY_RIGHT2": "إيفر تيمز",
- "COPY_RIGHT3": "فِرق جوزي",
-
+ "COPY_RIGHT2": "Ever Teams",
"COPY_RIGHT4": "إيفر ش.م.م.",
"COMPANY_NAME": "إيفر ش.م.م.",
"TERMS": "شروط الخدمة",
diff --git a/apps/web/public/locales/bg/common.json b/apps/web/public/locales/bg/common.json
index 96a7b498a..35cbd8ebe 100644
--- a/apps/web/public/locales/bg/common.json
+++ b/apps/web/public/locales/bg/common.json
@@ -499,10 +499,9 @@
"layout": {
"footer": {
- "RIGHTS_RESERVERD": "Всички права запазени.",
+ "RIGHTS_RESERVED": "Всички права запазени.",
"COPY_RIGHT1": "© {{date}}-настояще,",
"COPY_RIGHT2": "Ever Teams",
- "COPY_RIGHT3": "Gauzy Teams",
"COPY_RIGHT4": "Ever Co.",
"COMPANY_NAME": "Ever Co. LTD.",
"TERMS": "Общи условия",
diff --git a/apps/web/public/locales/de/common.json b/apps/web/public/locales/de/common.json
index 37c035cd9..05697e933 100644
--- a/apps/web/public/locales/de/common.json
+++ b/apps/web/public/locales/de/common.json
@@ -488,10 +488,9 @@
"layout": {
"footer": {
- "RIGHTS_RESERVERD": "Alle Rechte vorbehalten.",
+ "RIGHTS_RESERVED": "Alle Rechte vorbehalten.",
"COPY_RIGHT1": "© {{date}}-Gegenwart,",
"COPY_RIGHT2": "Ever Teams",
- "COPY_RIGHT3": "Gauzy Teams",
"COPY_RIGHT4": "Ever Co.",
"COMPANY_NAME": "Ever Co. LTD.",
"TERMS": "Nutzungsbedingungen",
diff --git a/apps/web/public/locales/en/common.json b/apps/web/public/locales/en/common.json
index 6f7cf20b4..657f3e9ea 100644
--- a/apps/web/public/locales/en/common.json
+++ b/apps/web/public/locales/en/common.json
@@ -489,10 +489,9 @@
"layout": {
"footer": {
- "RIGHTS_RESERVERD": "All rights reserved.",
+ "RIGHTS_RESERVED": "All rights reserved.",
"COPY_RIGHT1": "© {{date}}-Present,",
- "COPY_RIGHT2": "Ever Teams ",
- "COPY_RIGHT3": "Gauzy Teams",
+ "COPY_RIGHT2": "Ever Teams",
"COPY_RIGHT4": "Ever Co.",
"COMPANY_NAME": "Ever Co. LTD.",
"TERMS": "Terms of Service",
diff --git a/apps/web/public/locales/es/common.json b/apps/web/public/locales/es/common.json
index 1f3b2701d..50eedaa10 100644
--- a/apps/web/public/locales/es/common.json
+++ b/apps/web/public/locales/es/common.json
@@ -473,10 +473,9 @@
},
"layout": {
"footer": {
- "RIGHTS_RESERVERD": "Todos los derechos reservados.",
+ "RIGHTS_RESERVED": "Todos los derechos reservados.",
"COPY_RIGHT1": "© {{date}}-Presente,",
- "COPY_RIGHT2": "Equipos Siempre ",
- "COPY_RIGHT3": "Equipos Gauzy",
+ "COPY_RIGHT2": "Ever Teams",
"COPY_RIGHT4": "Ever Co.",
"COMPANY_NAME": "Ever Co. LTD.",
"TERMS": "Términos del servicio",
diff --git a/apps/web/public/locales/fr/common.json b/apps/web/public/locales/fr/common.json
index 5f77ba207..863e2384c 100644
--- a/apps/web/public/locales/fr/common.json
+++ b/apps/web/public/locales/fr/common.json
@@ -478,10 +478,9 @@
},
"layout": {
"footer": {
- "RIGHTS_RESERVERD": "Tous droits réservés.",
+ "RIGHTS_RESERVED": "Tous droits réservés.",
"COPY_RIGHT1": "© {{date}} à nos jours,",
- "COPY_RIGHT2": "Ever Teams ",
- "COPY_RIGHT3": "Gauzy Teams",
+ "COPY_RIGHT2": "Ever Teams",
"COPY_RIGHT4": "Ever Co.",
"COMPANY_NAME": "Ever Co. LTD.",
"TERMS": "Conditions d'utilisation",
diff --git a/apps/web/public/locales/he/common.json b/apps/web/public/locales/he/common.json
index 496695d38..62e81f413 100644
--- a/apps/web/public/locales/he/common.json
+++ b/apps/web/public/locales/he/common.json
@@ -484,10 +484,9 @@
"layout": {
"footer": {
- "RIGHTS_RESERVERD": "כל הזכויות שמורות.",
+ "RIGHTS_RESERVED": "כל הזכויות שמורות.",
"COPY_RIGHT1": "© {{date}}-היום,",
- "COPY_RIGHT2": "Ever צוותים",
- "COPY_RIGHT3": "Gauzy צוותים ",
+ "COPY_RIGHT2": "Ever Teams",
"COPY_RIGHT4": "Ever Co.",
"COMPANY_NAME": "Ever Co. LTD.",
"TERMS": "תנאי שימוש",
diff --git a/apps/web/public/locales/it/common.json b/apps/web/public/locales/it/common.json
index 4bf8b9183..ab85e8032 100644
--- a/apps/web/public/locales/it/common.json
+++ b/apps/web/public/locales/it/common.json
@@ -488,10 +488,9 @@
"layout": {
"footer": {
- "RIGHTS_RESERVERD": "All rights reserved.",
+ "RIGHTS_RESERVED": "All rights reserved.",
"COPY_RIGHT1": "© {{date}}-Present,",
- "COPY_RIGHT2": "Ever Teams ",
- "COPY_RIGHT3": "Gauzy Teams",
+ "COPY_RIGHT2": "Ever Teams",
"COPY_RIGHT4": "Ever Co.",
"COMPANY_NAME": "Ever Co. LTD.",
"TERMS": "Terms of Service",
diff --git a/apps/web/public/locales/nl/common.json b/apps/web/public/locales/nl/common.json
index bb66e16bf..cc5ce7e19 100644
--- a/apps/web/public/locales/nl/common.json
+++ b/apps/web/public/locales/nl/common.json
@@ -488,10 +488,9 @@
"layout": {
"footer": {
- "RIGHTS_RESERVERD": "Alle rechten voorbehouden.",
+ "RIGHTS_RESERVED": "Alle rechten voorbehouden.",
"COPY_RIGHT1": "© {{date}}-Heden,",
"COPY_RIGHT2": "Ever Teams",
- "COPY_RIGHT3": "Gauzy Teams",
"COPY_RIGHT4": "Ever Co.",
"COMPANY_NAME": "Ever Co. LTD.",
"TERMS": "Gebruiksvoorwaarden",
diff --git a/apps/web/public/locales/pl/common.json b/apps/web/public/locales/pl/common.json
index 4bf8b9183..ab85e8032 100644
--- a/apps/web/public/locales/pl/common.json
+++ b/apps/web/public/locales/pl/common.json
@@ -488,10 +488,9 @@
"layout": {
"footer": {
- "RIGHTS_RESERVERD": "All rights reserved.",
+ "RIGHTS_RESERVED": "All rights reserved.",
"COPY_RIGHT1": "© {{date}}-Present,",
- "COPY_RIGHT2": "Ever Teams ",
- "COPY_RIGHT3": "Gauzy Teams",
+ "COPY_RIGHT2": "Ever Teams",
"COPY_RIGHT4": "Ever Co.",
"COMPANY_NAME": "Ever Co. LTD.",
"TERMS": "Terms of Service",
diff --git a/apps/web/public/locales/pt/common.json b/apps/web/public/locales/pt/common.json
index 4bf8b9183..ab85e8032 100644
--- a/apps/web/public/locales/pt/common.json
+++ b/apps/web/public/locales/pt/common.json
@@ -488,10 +488,9 @@
"layout": {
"footer": {
- "RIGHTS_RESERVERD": "All rights reserved.",
+ "RIGHTS_RESERVED": "All rights reserved.",
"COPY_RIGHT1": "© {{date}}-Present,",
- "COPY_RIGHT2": "Ever Teams ",
- "COPY_RIGHT3": "Gauzy Teams",
+ "COPY_RIGHT2": "Ever Teams",
"COPY_RIGHT4": "Ever Co.",
"COMPANY_NAME": "Ever Co. LTD.",
"TERMS": "Terms of Service",
diff --git a/apps/web/public/locales/ru/common.json b/apps/web/public/locales/ru/common.json
index 4bf8b9183..ab85e8032 100644
--- a/apps/web/public/locales/ru/common.json
+++ b/apps/web/public/locales/ru/common.json
@@ -488,10 +488,9 @@
"layout": {
"footer": {
- "RIGHTS_RESERVERD": "All rights reserved.",
+ "RIGHTS_RESERVED": "All rights reserved.",
"COPY_RIGHT1": "© {{date}}-Present,",
- "COPY_RIGHT2": "Ever Teams ",
- "COPY_RIGHT3": "Gauzy Teams",
+ "COPY_RIGHT2": "Ever Teams",
"COPY_RIGHT4": "Ever Co.",
"COMPANY_NAME": "Ever Co. LTD.",
"TERMS": "Terms of Service",
diff --git a/apps/web/public/locales/zh/common.json b/apps/web/public/locales/zh/common.json
index c1ad6f42d..d04259013 100644
--- a/apps/web/public/locales/zh/common.json
+++ b/apps/web/public/locales/zh/common.json
@@ -465,10 +465,9 @@
"layout": {
"footer": {
- "RIGHTS_RESERVERD": "版权所有。",
+ "RIGHTS_RESERVED": "版权所有。",
"COPY_RIGHT1": "© {{date}}-至今,",
- "COPY_RIGHT2": "永恒团队",
- "COPY_RIGHT3": "Gauzy团队",
+ "COPY_RIGHT2": "Ever Teams",
"COPY_RIGHT4": "永恒公司",
"COMPANY_NAME": "永恒有限公司",
"TERMS": "服务条款",
diff --git a/fly.toml b/fly.toml
index 3ed1a5747..080eb74c9 100644
--- a/fly.toml
+++ b/fly.toml
@@ -9,6 +9,7 @@ kill_signal = "SIGINT"
kill_timeout = "5m0s"
[build]
+ image = "ghcr.io/ever-co/ever-teams-webapp:latest"
[http_service]
internal_port = 3000
diff --git a/netlify.toml b/netlify.toml
new file mode 100644
index 000000000..a838114cb
--- /dev/null
+++ b/netlify.toml
@@ -0,0 +1,5 @@
+[build]
+ base = "apps/web"
+ command = "yarn run build"
+ functions = "netlify/functions"
+ publish = ".next"
diff --git a/railway.json b/railway.json
new file mode 100644
index 000000000..f77c81405
--- /dev/null
+++ b/railway.json
@@ -0,0 +1,10 @@
+{
+ "$schema": "https://railway.app/railway.schema.json",
+ "build": {
+ "builder": "DOCKERFILE"
+ },
+ "deploy": {
+ "restartPolicyType": "ON_FAILURE",
+ "restartPolicyMaxRetries": 10
+ }
+}
diff --git a/render.yaml b/render.yaml
index 95cbc3114..9b71f90e4 100644
--- a/render.yaml
+++ b/render.yaml
@@ -44,7 +44,7 @@ services:
- key: APP_SIGNATURE
value: 'Ever Teams'
- key: APP_LOGO_URL
- value: 'https://app.ever.team/assets/gauzy-team.png'
+ value: 'https://app.ever.team/assets/ever-teams.png'
- key: NEXT_PUBLIC_COOKIE_DOMAINS
value: ever.team
- key: NEXT_PUBLIC_BOARD_APP_DOMAIN
diff --git a/yarn.lock b/yarn.lock
index 4344273a0..322a4b395 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -18820,9 +18820,9 @@ streamsearch@^1.1.0:
integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==
streamx@^2.15.0:
- version "2.15.1"
- resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.15.1.tgz#396ad286d8bc3eeef8f5cea3f029e81237c024c6"
- integrity sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==
+ version "2.15.2"
+ resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.15.2.tgz#680eacebdc9c43ede7362c2e6695b34dd413c741"
+ integrity sha512-b62pAV/aeMjUoRN2C/9F0n+G8AfcJjNC0zw/ZmOHeFsIe4m4GzjVW9m6VHXVjk536NbdU9JRwKMJRfkc+zUFTg==
dependencies:
fast-fifo "^1.1.0"
queue-tick "^1.0.1"