From ceeef40cb945ff556467f672b1152b47c08b0e11 Mon Sep 17 00:00:00 2001 From: sriramveeraghanta Date: Wed, 12 Nov 2025 13:51:52 +0530 Subject: [PATCH 01/10] chore: update next images with html default images --- .../(all)/(dashboard)/authentication/gitea/page.tsx | 3 +-- .../(dashboard)/authentication/github/page.tsx | 3 +-- .../(dashboard)/authentication/gitlab/page.tsx | 3 +-- .../(dashboard)/authentication/google/page.tsx | 3 +-- apps/admin/app/(all)/(home)/auth-helpers.tsx | 7 +++---- apps/admin/app/types/next-image.d.ts | 5 ----- .../authentication/authentication-modes.tsx | 13 ++++++------- apps/admin/core/components/common/empty-state.tsx | 3 +-- apps/admin/core/components/common/logo-spinner.tsx | 3 +-- apps/admin/core/components/instance/failure.tsx | 3 +-- .../core/components/instance/instance-not-ready.tsx | 3 +-- apps/admin/core/components/instance/loading.tsx | 3 +-- apps/admin/core/components/new-user-popup.tsx | 3 +-- apps/admin/vite.config.ts | 1 - apps/space/app/not-found.tsx | 3 +-- apps/space/app/types/next-image.d.ts | 10 ---------- .../components/account/auth-forms/auth-root.tsx | 9 ++++----- .../core/components/account/user-logged-in.tsx | 3 +-- apps/space/core/components/common/logo-spinner.tsx | 4 ++-- .../components/instance/instance-failure-view.tsx | 3 +-- .../core/components/issues/issue-layouts/error.tsx | 3 +-- apps/space/core/components/ui/not-found.tsx | 3 +-- apps/space/core/lib/instance-provider.tsx | 5 ++--- apps/space/vite.config.ts | 1 - .../[workspaceSlug]/(projects)/star-us-link.tsx | 3 +-- .../(settings)/settings/projects/page.tsx | 3 +-- apps/web/app/(all)/create-workspace/page.tsx | 7 +++++-- apps/web/app/not-found.tsx | 3 +-- apps/web/app/types/next-image.d.ts | 12 ------------ .../workspace-active-cycles-upgrade.tsx | 12 ++++-------- .../tab-panels/empty-states/assets.tsx | 7 +++++-- .../tab-panels/empty-states/outline.tsx | 7 +++++-- .../components/account/auth-forms/auth-root.tsx | 10 ++++------ apps/web/core/components/analytics/empty-state.tsx | 13 ++----------- apps/web/core/components/api-token/empty-state.tsx | 3 +-- .../components/auth-screens/not-authorized-view.tsx | 3 +-- .../auth-screens/project/join-project.tsx | 3 +-- apps/web/core/components/common/empty-state.tsx | 4 +--- .../core/components/common/latest-feature-block.tsx | 3 +-- apps/web/core/components/common/logo-spinner.tsx | 3 +-- apps/web/core/components/common/new-empty-state.tsx | 4 +--- .../core/components/core/image-picker-popover.tsx | 7 ++----- .../core/sidebar/progress-stats/assignee.tsx | 3 +-- .../core/sidebar/progress-stats/label.tsx | 3 +-- .../core/components/cycles/archived-cycles/view.tsx | 3 +-- apps/web/core/components/cycles/cycles-view.tsx | 5 ++--- .../empty-state/simple-empty-state-root.tsx | 11 +---------- .../components/icons/attachment/audio-file-icon.tsx | 3 +-- .../components/icons/attachment/css-file-icon.tsx | 3 +-- .../components/icons/attachment/csv-file-icon.tsx | 3 +-- .../icons/attachment/default-file-icon.tsx | 9 +++++++-- .../components/icons/attachment/doc-file-icon.tsx | 3 +-- .../components/icons/attachment/figma-file-icon.tsx | 3 +-- .../components/icons/attachment/html-file-icon.tsx | 3 +-- .../components/icons/attachment/img-file-icon.tsx | 3 +-- .../components/icons/attachment/jpg-file-icon.tsx | 3 +-- .../components/icons/attachment/js-file-icon.tsx | 3 +-- .../components/icons/attachment/pdf-file-icon.tsx | 3 +-- .../components/icons/attachment/png-file-icon.tsx | 3 +-- .../components/icons/attachment/rar-file-icon.tsx | 3 +-- .../components/icons/attachment/sheet-file-icon.tsx | 3 +-- .../components/icons/attachment/svg-file-icon.tsx | 3 +-- .../components/icons/attachment/txt-file-icon.tsx | 3 +-- .../components/icons/attachment/video-file-icon.tsx | 3 +-- .../components/icons/attachment/zip-file-icon.tsx | 3 +-- .../core/components/instance/maintenance-view.tsx | 3 +-- .../web/core/components/instance/not-ready-view.tsx | 11 ++++++++--- .../web/core/components/integration/github/root.tsx | 9 +++++++-- apps/web/core/components/integration/guide.tsx | 6 ++---- apps/web/core/components/integration/jira/root.tsx | 3 +-- .../integration/single-integration-card.tsx | 9 +++++++-- .../components/modules/archived-modules/view.tsx | 3 +-- apps/web/core/components/onboarding/tour/root.tsx | 9 +++++++-- apps/web/core/components/project/empty-state.tsx | 11 +++++++---- .../core/components/project/integration-card.tsx | 6 ++++-- apps/web/core/components/ui/profile-empty-state.tsx | 4 +--- apps/web/core/components/web-hooks/empty-state.tsx | 3 +-- .../core/layouts/auth-layout/workspace-wrapper.tsx | 9 +++++++-- apps/web/vite.config.ts | 1 - 79 files changed, 153 insertions(+), 226 deletions(-) delete mode 100644 apps/admin/app/types/next-image.d.ts delete mode 100644 apps/space/app/types/next-image.d.ts delete mode 100644 apps/web/app/types/next-image.d.ts diff --git a/apps/admin/app/(all)/(dashboard)/authentication/gitea/page.tsx b/apps/admin/app/(all)/(dashboard)/authentication/gitea/page.tsx index 044b428663a..8c2090279df 100644 --- a/apps/admin/app/(all)/(dashboard)/authentication/gitea/page.tsx +++ b/apps/admin/app/(all)/(dashboard)/authentication/gitea/page.tsx @@ -2,7 +2,6 @@ import { useState } from "react"; import { observer } from "mobx-react"; -import Image from "next/image"; import useSWR from "swr"; // plane internal packages import { setPromiseToast } from "@plane/propel/toast"; @@ -65,7 +64,7 @@ const InstanceGiteaAuthenticationPage = observer(() => { } + icon={Gitea Logo} config={ name="GitHub" description="Allow members to login or sign up to plane with their GitHub accounts." icon={ - } + icon={GitLab Logo} config={ name="Google" description="Allow members to login or sign up to plane with their Google accounts." - icon={Google Logo} + icon={Google Logo} config={ , + icon: Google Logo, config: , }, { @@ -143,7 +142,7 @@ export const getBaseAuthenticationModes: (props: TGetBaseAuthenticationModeProps name: "GitHub", description: "Allow members to log in or sign up for Plane with their GitHub accounts.", icon: ( - GitLab Logo, + icon: GitLab Logo, config: , }, ]; diff --git a/apps/admin/app/types/next-image.d.ts b/apps/admin/app/types/next-image.d.ts deleted file mode 100644 index a81e721614a..00000000000 --- a/apps/admin/app/types/next-image.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -declare module "next/image" { - type Props = React.ComponentProps<"img"> & { src: string }; - const Image: React.FC; - export default Image; -} diff --git a/apps/admin/ce/components/authentication/authentication-modes.tsx b/apps/admin/ce/components/authentication/authentication-modes.tsx index 1e3bb726f41..402716d3f15 100644 --- a/apps/admin/ce/components/authentication/authentication-modes.tsx +++ b/apps/admin/ce/components/authentication/authentication-modes.tsx @@ -1,5 +1,4 @@ import { observer } from "mobx-react"; -import Image from "next/image"; import { useTheme } from "next-themes"; import { KeyRound, Mails } from "lucide-react"; // types @@ -58,7 +57,7 @@ export const getAuthenticationModes: (props: TGetBaseAuthenticationModeProps) => key: "google", name: "Google", description: "Allow members to log in or sign up for Plane with their Google accounts.", - icon: Google Logo, + icon: Google Logo, config: , }, { @@ -66,7 +65,7 @@ export const getAuthenticationModes: (props: TGetBaseAuthenticationModeProps) => name: "GitHub", description: "Allow members to log in or sign up for Plane with their GitHub accounts.", icon: ( - key: "gitlab", name: "GitLab", description: "Allow members to log in or sign up to plane with their GitLab accounts.", - icon: GitLab Logo, + icon: GitLab Logo, config: , }, { key: "gitea", name: "Gitea", description: "Allow members to log in or sign up to plane with their Gitea accounts.", - icon: Gitea Logo, + icon: Gitea Logo, config: , }, { key: "oidc", name: "OIDC", description: "Authenticate your users via the OpenID Connect protocol.", - icon: OIDC Logo, + icon: OIDC Logo, config: , unavailable: true, }, @@ -101,7 +100,7 @@ export const getAuthenticationModes: (props: TGetBaseAuthenticationModeProps) => key: "saml", name: "SAML", description: "Authenticate your users via the Security Assertion Markup Language protocol.", - icon: SAML Logo, + icon: SAML Logo, config: , unavailable: true, }, diff --git a/apps/admin/core/components/common/empty-state.tsx b/apps/admin/core/components/common/empty-state.tsx index dba49f60555..d0dae31aa32 100644 --- a/apps/admin/core/components/common/empty-state.tsx +++ b/apps/admin/core/components/common/empty-state.tsx @@ -1,7 +1,6 @@ "use client"; import React from "react"; -import Image from "next/image"; import { Button } from "@plane/propel/button"; type Props = { @@ -27,7 +26,7 @@ export const EmptyState: React.FC = ({ }) => (
- {image && {primaryButton?.text} + {image && {primaryButton?.text}
{title}
{description &&

{description}

}
diff --git a/apps/admin/core/components/common/logo-spinner.tsx b/apps/admin/core/components/common/logo-spinner.tsx index a12dfcabbcc..f51bdfe179c 100644 --- a/apps/admin/core/components/common/logo-spinner.tsx +++ b/apps/admin/core/components/common/logo-spinner.tsx @@ -1,4 +1,3 @@ -import Image from "next/image"; import { useTheme } from "next-themes"; import LogoSpinnerDark from "@/app/assets/images/logo-spinner-dark.gif?url"; import LogoSpinnerLight from "@/app/assets/images/logo-spinner-light.gif?url"; @@ -10,7 +9,7 @@ export const LogoSpinner = () => { return (
- logo + logo
); }; diff --git a/apps/admin/core/components/instance/failure.tsx b/apps/admin/core/components/instance/failure.tsx index bfe9fc27779..e7bcf455151 100644 --- a/apps/admin/core/components/instance/failure.tsx +++ b/apps/admin/core/components/instance/failure.tsx @@ -1,6 +1,5 @@ "use client"; import { observer } from "mobx-react"; -import Image from "next/image"; import { useTheme } from "next-themes"; import { Button } from "@plane/propel/button"; // assets @@ -23,7 +22,7 @@ export const InstanceFailureView: React.FC = observer(() => {
- Plane Logo + Plane Logo

Unable to fetch instance details.

We were unable to fetch the details of the instance. Fret not, it might just be a connectivity issue. diff --git a/apps/admin/core/components/instance/instance-not-ready.tsx b/apps/admin/core/components/instance/instance-not-ready.tsx index 56cc1a54335..d47b14f6769 100644 --- a/apps/admin/core/components/instance/instance-not-ready.tsx +++ b/apps/admin/core/components/instance/instance-not-ready.tsx @@ -1,6 +1,5 @@ "use client"; -import Image from "next/image"; import Link from "next/link"; import { Button } from "@plane/propel/button"; // assets @@ -11,7 +10,7 @@ export const InstanceNotReady: React.FC = () => (

Welcome aboard Plane!

- Plane Logo + Plane Logo

Get started by setting up your instance and workspace

diff --git a/apps/admin/core/components/instance/loading.tsx b/apps/admin/core/components/instance/loading.tsx index b664d00c2bd..72d7c24c824 100644 --- a/apps/admin/core/components/instance/loading.tsx +++ b/apps/admin/core/components/instance/loading.tsx @@ -1,4 +1,3 @@ -import Image from "next/image"; import { useTheme } from "next-themes"; // assets import LogoSpinnerDark from "@/app/assets/images/logo-spinner-dark.gif?url"; @@ -11,7 +10,7 @@ export const InstanceLoading = () => { return (
- logo + logo
); }; diff --git a/apps/admin/core/components/new-user-popup.tsx b/apps/admin/core/components/new-user-popup.tsx index 3ada29c2d8c..6192f574189 100644 --- a/apps/admin/core/components/new-user-popup.tsx +++ b/apps/admin/core/components/new-user-popup.tsx @@ -1,7 +1,6 @@ "use client"; import { observer } from "mobx-react"; -import Image from "next/image"; import Link from "next/link"; import { useTheme as useNextTheme } from "next-themes"; // ui @@ -39,7 +38,7 @@ export const NewUserPopup = observer(() => {
- ({ resolve: { alias: { // Next.js compatibility shims used within admin - "next/image": path.resolve(__dirname, "app/compat/next/image.tsx"), "next/link": path.resolve(__dirname, "app/compat/next/link.tsx"), "next/navigation": path.resolve(__dirname, "app/compat/next/navigation.ts"), }, diff --git a/apps/space/app/not-found.tsx b/apps/space/app/not-found.tsx index 0ffe816c9d1..ace91bf8b7e 100644 --- a/apps/space/app/not-found.tsx +++ b/apps/space/app/not-found.tsx @@ -1,6 +1,5 @@ "use client"; -import Image from "next/image"; // assets import SomethingWentWrongImage from "@/app/assets/something-went-wrong.svg?url"; @@ -9,7 +8,7 @@ const NotFound = () => (
- User already logged in + User already logged in

That didn{"'"}t work

diff --git a/apps/space/app/types/next-image.d.ts b/apps/space/app/types/next-image.d.ts deleted file mode 100644 index c6026a2289b..00000000000 --- a/apps/space/app/types/next-image.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -declare module "next/image" { - import type { FC, ImgHTMLAttributes } from "react"; - - type NextImageProps = ImgHTMLAttributes & { - src: string; - }; - - const Image: FC; - export default Image; -} diff --git a/apps/space/core/components/account/auth-forms/auth-root.tsx b/apps/space/core/components/account/auth-forms/auth-root.tsx index 52f0cb6f1ee..a9c0f92bd10 100644 --- a/apps/space/core/components/account/auth-forms/auth-root.tsx +++ b/apps/space/core/components/account/auth-forms/auth-root.tsx @@ -2,7 +2,6 @@ import { useEffect, useState } from "react"; import { observer } from "mobx-react"; -import Image from "next/image"; import { useSearchParams } from "next/navigation"; import { useTheme } from "next-themes"; // plane imports @@ -162,7 +161,7 @@ export const AuthRoot: React.FC = observer(() => { { id: "google", text: `${content} with Google`, - icon: Google Logo, + icon: Google Logo, onClick: () => { window.location.assign(`${API_BASE_URL}/auth/google/${next_path ? `?next_path=${next_path}` : ``}`); }, @@ -172,7 +171,7 @@ export const AuthRoot: React.FC = observer(() => { id: "github", text: `${content} with GitHub`, icon: ( - { { id: "gitlab", text: `${content} with GitLab`, - icon: GitLab Logo, + icon: GitLab Logo, onClick: () => { window.location.assign(`${API_BASE_URL}/auth/gitlab/${next_path ? `?next_path=${next_path}` : ``}`); }, @@ -196,7 +195,7 @@ export const AuthRoot: React.FC = observer(() => { { id: "gitea", text: `${content} with Gitea`, - icon: Gitea Logo, + icon: Gitea Logo, onClick: () => { window.location.assign(`${API_BASE_URL}/auth/gitea/${next_path ? `?next_path=${next_path}` : ``}`); }, diff --git a/apps/space/core/components/account/user-logged-in.tsx b/apps/space/core/components/account/user-logged-in.tsx index de8118f2e53..326bd5c982e 100644 --- a/apps/space/core/components/account/user-logged-in.tsx +++ b/apps/space/core/components/account/user-logged-in.tsx @@ -1,7 +1,6 @@ "use client"; import { observer } from "mobx-react"; -import Image from "next/image"; import { PlaneLockup } from "@plane/propel/icons"; // assets import UserLoggedInImage from "@/app/assets/user-logged-in.svg?url"; @@ -28,7 +27,7 @@ export const UserLoggedIn = observer(() => {
- User already logged in + User already logged in

Nice! Just one more step.

diff --git a/apps/space/core/components/common/logo-spinner.tsx b/apps/space/core/components/common/logo-spinner.tsx index e7dae9ab574..6f7f843eb55 100644 --- a/apps/space/core/components/common/logo-spinner.tsx +++ b/apps/space/core/components/common/logo-spinner.tsx @@ -1,5 +1,5 @@ "use client"; -import Image from "next/image"; + import { useTheme } from "next-themes"; // assets import LogoSpinnerDark from "@/app/assets/images/logo-spinner-dark.gif?url"; @@ -12,7 +12,7 @@ export const LogoSpinner = () => { return (
- logo + logo
); }; diff --git a/apps/space/core/components/instance/instance-failure-view.tsx b/apps/space/core/components/instance/instance-failure-view.tsx index a574f391d8e..5680b39d667 100644 --- a/apps/space/core/components/instance/instance-failure-view.tsx +++ b/apps/space/core/components/instance/instance-failure-view.tsx @@ -1,6 +1,5 @@ "use client"; -import Image from "next/image"; import { useTheme } from "next-themes"; import { Button } from "@plane/propel/button"; // assets @@ -20,7 +19,7 @@ export const InstanceFailureView: React.FC = () => {
- Plane instance failure image + Plane instance failure image

Unable to fetch instance details.

We were unable to fetch the details of the instance.
diff --git a/apps/space/core/components/issues/issue-layouts/error.tsx b/apps/space/core/components/issues/issue-layouts/error.tsx index c52b7f34f95..1cfd2976c4b 100644 --- a/apps/space/core/components/issues/issue-layouts/error.tsx +++ b/apps/space/core/components/issues/issue-layouts/error.tsx @@ -1,4 +1,3 @@ -import Image from "next/image"; // assets import SomethingWentWrongImage from "@/app/assets/something-went-wrong.svg?url"; @@ -7,7 +6,7 @@ export const SomethingWentWrongError = () => (

- Oops! Something went wrong + Oops! Something went wrong

Oops! Something went wrong.

diff --git a/apps/space/core/components/ui/not-found.tsx b/apps/space/core/components/ui/not-found.tsx index abd46c59724..02cf0bb6644 100644 --- a/apps/space/core/components/ui/not-found.tsx +++ b/apps/space/core/components/ui/not-found.tsx @@ -1,6 +1,5 @@ "use client"; -import Image from "next/image"; // images import Image404 from "@/app/assets/404.svg?url"; @@ -9,7 +8,7 @@ export const PageNotFound = () => (
- 404- Page not found + 404- Page not found

Oops! Something went wrong.

diff --git a/apps/space/core/lib/instance-provider.tsx b/apps/space/core/lib/instance-provider.tsx index 2b005c2ae75..7c9103edf92 100644 --- a/apps/space/core/lib/instance-provider.tsx +++ b/apps/space/core/lib/instance-provider.tsx @@ -1,7 +1,6 @@ "use client"; import { observer } from "mobx-react"; -import Image from "next/image"; import Link from "next/link"; import { useTheme } from "next-themes"; import useSWR from "swr"; @@ -52,12 +51,12 @@ export const InstanceProvider = observer(({ children }: { children: React.ReactN
- Plane logo + Plane logo
- Plane background pattern + Plane background pattern
diff --git a/apps/space/vite.config.ts b/apps/space/vite.config.ts index ce1389e81db..9a617937e51 100644 --- a/apps/space/vite.config.ts +++ b/apps/space/vite.config.ts @@ -29,7 +29,6 @@ export default defineConfig(() => ({ resolve: { alias: { // Next.js compatibility shims used within space - "next/image": path.resolve(__dirname, "app/compat/next/image.tsx"), "next/link": path.resolve(__dirname, "app/compat/next/link.tsx"), "next/navigation": path.resolve(__dirname, "app/compat/next/navigation.ts"), }, diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/star-us-link.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/star-us-link.tsx index f65ea3b730e..4644e7818a4 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/star-us-link.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/star-us-link.tsx @@ -1,6 +1,5 @@ "use client"; -import Image from "next/image"; import { useTheme } from "next-themes"; // plane imports import { HEADER_GITHUB_ICON, GITHUB_REDIRECTED_TRACKER_EVENT } from "@plane/constants"; @@ -37,7 +36,7 @@ export const StarUsOnGitHubLink = () => { target="_blank" rel="noopener noreferrer" > - + {t("home.star_us_on_github")} ); diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/page.tsx index 2812d278e11..a497d9ad45e 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/page.tsx @@ -1,5 +1,4 @@ "use client"; -import Image from "next/image"; import Link from "next/link"; import { useTheme } from "next-themes"; import { PROJECT_TRACKER_ELEMENTS } from "@plane/constants"; @@ -18,7 +17,7 @@ const ProjectSettingsPage = () => { : "/empty-state/project-settings/no-projects-light.png"; return (
- No projects yet + No projects yet
No projects yet
Projects act as the foundation for goal-driven work. They let you manage your teams, tasks, and everything you diff --git a/apps/web/app/(all)/create-workspace/page.tsx b/apps/web/app/(all)/create-workspace/page.tsx index 06708b44bfb..25554b4e6fe 100644 --- a/apps/web/app/(all)/create-workspace/page.tsx +++ b/apps/web/app/(all)/create-workspace/page.tsx @@ -2,7 +2,6 @@ import { useState } from "react"; import { observer } from "mobx-react"; -import Image from "next/image"; import Link from "next/link"; // plane imports import { useTranslation } from "@plane/i18n"; @@ -71,7 +70,11 @@ function CreateWorkspacePage() {
{isWorkspaceCreationDisabled ? (
- Workspace creation disabled + Workspace creation disabled
{t("workspace_creation.errors.creation_disabled.title")}
diff --git a/apps/web/app/not-found.tsx b/apps/web/app/not-found.tsx index e7a81783420..6a4e8085426 100644 --- a/apps/web/app/not-found.tsx +++ b/apps/web/app/not-found.tsx @@ -1,6 +1,5 @@ "use client"; -import Image from "next/image"; import Link from "next/link"; // ui import { Button } from "@plane/propel/button"; @@ -19,7 +18,7 @@ const PageNotFound = () => (
- 404- Page not found + 404- Page not found

Oops! Something went wrong.

diff --git a/apps/web/app/types/next-image.d.ts b/apps/web/app/types/next-image.d.ts deleted file mode 100644 index d3f520b7ef4..00000000000 --- a/apps/web/app/types/next-image.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -declare module "next/image" { - type Props = React.ComponentProps<"img"> & { - src: string; - fill?: boolean; - priority?: boolean; - quality?: number; - placeholder?: "blur" | "empty"; - blurDataURL?: string; - }; - const Image: React.FC; - export default Image; -} diff --git a/apps/web/ce/components/active-cycles/workspace-active-cycles-upgrade.tsx b/apps/web/ce/components/active-cycles/workspace-active-cycles-upgrade.tsx index 0f9c03b391e..982e15220aa 100644 --- a/apps/web/ce/components/active-cycles/workspace-active-cycles-upgrade.tsx +++ b/apps/web/ce/components/active-cycles/workspace-active-cycles-upgrade.tsx @@ -1,8 +1,6 @@ "use client"; -import React from "react"; import { observer } from "mobx-react"; -import Image from "next/image"; import { AlertOctagon, BarChart4, CircleDashed, Folder, Microscope, Search } from "lucide-react"; // plane imports import { MARKETING_PRICING_PAGE_LINK } from "@plane/constants"; @@ -99,21 +97,19 @@ export const WorkspaceActiveCyclesUpgrade = observer(() => {
- l-1
- r-1 + r-1 - r-2 + r-2
diff --git a/apps/web/ce/components/pages/navigation-pane/tab-panels/empty-states/assets.tsx b/apps/web/ce/components/pages/navigation-pane/tab-panels/empty-states/assets.tsx index d9f7f87852a..b5f3fd83f0f 100644 --- a/apps/web/ce/components/pages/navigation-pane/tab-panels/empty-states/assets.tsx +++ b/apps/web/ce/components/pages/navigation-pane/tab-panels/empty-states/assets.tsx @@ -1,4 +1,3 @@ -import Image from "next/image"; import { useTheme } from "next-themes"; // plane imports import { useTranslation } from "@plane/i18n"; @@ -17,7 +16,11 @@ export const PageNavigationPaneAssetsTabEmptyState = () => { return (
- An image depicting the assets of a page + An image depicting the assets of a page

{t("page_navigation_pane.tabs.assets.empty_state.title")}

diff --git a/apps/web/ce/components/pages/navigation-pane/tab-panels/empty-states/outline.tsx b/apps/web/ce/components/pages/navigation-pane/tab-panels/empty-states/outline.tsx index 9b6744cc9cc..d53843571f7 100644 --- a/apps/web/ce/components/pages/navigation-pane/tab-panels/empty-states/outline.tsx +++ b/apps/web/ce/components/pages/navigation-pane/tab-panels/empty-states/outline.tsx @@ -1,4 +1,3 @@ -import Image from "next/image"; import { useTheme } from "next-themes"; // plane imports import { useTranslation } from "@plane/i18n"; @@ -17,7 +16,11 @@ export const PageNavigationPaneOutlineTabEmptyState = () => { return (

- An image depicting the outline of a page + An image depicting the outline of a page

{t("page_navigation_pane.tabs.outline.empty_state.title")}

diff --git a/apps/web/core/components/account/auth-forms/auth-root.tsx b/apps/web/core/components/account/auth-forms/auth-root.tsx index 1739146472e..54122ae5b0c 100644 --- a/apps/web/core/components/account/auth-forms/auth-root.tsx +++ b/apps/web/core/components/account/auth-forms/auth-root.tsx @@ -1,7 +1,6 @@ import type { FC } from "react"; import React, { useEffect, useState } from "react"; import { observer } from "mobx-react"; -import Image from "next/image"; import { useSearchParams } from "next/navigation"; import { useTheme } from "next-themes"; // plane imports @@ -112,7 +111,7 @@ export const AuthRoot: FC = observer((props) => { { id: "google", text: `${OauthButtonContent} with Google`, - icon: Google Logo, + icon: Google Logo, onClick: () => { window.location.assign(`${API_BASE_URL}/auth/google/${next_path ? `?next_path=${next_path}` : ``}`); }, @@ -122,10 +121,9 @@ export const AuthRoot: FC = observer((props) => { id: "github", text: `${OauthButtonContent} with GitHub`, icon: ( - GitHub Logo ), @@ -137,7 +135,7 @@ export const AuthRoot: FC = observer((props) => { { id: "gitlab", text: `${OauthButtonContent} with GitLab`, - icon: GitLab Logo, + icon: GitLab Logo, onClick: () => { window.location.assign(`${API_BASE_URL}/auth/gitlab/${next_path ? `?next_path=${next_path}` : ``}`); }, diff --git a/apps/web/core/components/analytics/empty-state.tsx b/apps/web/core/components/analytics/empty-state.tsx index 5cc27ba3abd..d2f0d2b435f 100644 --- a/apps/web/core/components/analytics/empty-state.tsx +++ b/apps/web/core/components/analytics/empty-state.tsx @@ -1,5 +1,3 @@ -import React from "react"; -import Image from "next/image"; import { useTheme } from "next-themes"; // plane package imports import { cn } from "@plane/utils"; @@ -29,16 +27,9 @@ const AnalyticsEmptyState = ({ title, description, assetPath, className }: Props

{assetPath && (
- {title} + {title}
- {title} + {title}
)} diff --git a/apps/web/core/components/api-token/empty-state.tsx b/apps/web/core/components/api-token/empty-state.tsx index fafdef3592c..8efa264e7b1 100644 --- a/apps/web/core/components/api-token/empty-state.tsx +++ b/apps/web/core/components/api-token/empty-state.tsx @@ -1,7 +1,6 @@ "use client"; import React from "react"; -import Image from "next/image"; // ui import { Button } from "@plane/propel/button"; // assets @@ -19,7 +18,7 @@ export const ApiTokenEmptyState: React.FC = (props) => { className={`mx-auto flex w-full items-center justify-center rounded-sm border border-custom-border-200 bg-custom-background-90 px-16 py-10 lg:w-3/4`} >
- empty + empty
No API tokens

Create API tokens for safe and easy data sharing with external apps, maintaining control and security. diff --git a/apps/web/core/components/auth-screens/not-authorized-view.tsx b/apps/web/core/components/auth-screens/not-authorized-view.tsx index 3156d4a9771..bf1b115582a 100644 --- a/apps/web/core/components/auth-screens/not-authorized-view.tsx +++ b/apps/web/core/components/auth-screens/not-authorized-view.tsx @@ -1,6 +1,5 @@ import React from "react"; import { observer } from "mobx-react"; -import Image from "next/image"; // assets import ProjectNotAuthorizedImg from "@/app/assets/auth/project-not-authorized.svg?url"; import Unauthorized from "@/app/assets/auth/unauthorized.svg?url"; @@ -26,7 +25,7 @@ export const NotAuthorizedView: React.FC = observer((props) => {

- ProjectSettingImg + ProjectSettingImg

Oops! You are not authorized to view this page

{actionButton} diff --git a/apps/web/core/components/auth-screens/project/join-project.tsx b/apps/web/core/components/auth-screens/project/join-project.tsx index 1e10e2ec80b..b9f52aa883f 100644 --- a/apps/web/core/components/auth-screens/project/join-project.tsx +++ b/apps/web/core/components/auth-screens/project/join-project.tsx @@ -1,6 +1,5 @@ "use client"; import { useState } from "react"; -import Image from "next/image"; import { useParams } from "next/navigation"; import { ClipboardList } from "lucide-react"; // plane imports @@ -39,7 +38,7 @@ export const JoinProject: React.FC = (props) => { return (
- JoinProject + JoinProject

{!isPrivateProject ? `You are not a member of this project yet.` : `You are not a member of this project.`} diff --git a/apps/web/core/components/common/empty-state.tsx b/apps/web/core/components/common/empty-state.tsx index f83b3e204a7..64a7ba7cbc9 100644 --- a/apps/web/core/components/common/empty-state.tsx +++ b/apps/web/core/components/common/empty-state.tsx @@ -1,8 +1,6 @@ "use client"; import React from "react"; -import Image from "next/image"; - // ui import { Button } from "@plane/propel/button"; @@ -29,7 +27,7 @@ export const EmptyState: React.FC = ({ }) => (
- {primaryButton?.text + {primaryButton?.text
{title}
{description &&

{description}

}
diff --git a/apps/web/core/components/common/latest-feature-block.tsx b/apps/web/core/components/common/latest-feature-block.tsx index 81b74cb61ab..3f9eac4ea27 100644 --- a/apps/web/core/components/common/latest-feature-block.tsx +++ b/apps/web/core/components/common/latest-feature-block.tsx @@ -1,4 +1,3 @@ -import Image from "next/image"; import Link from "next/link"; import { useTheme } from "next-themes"; // icons @@ -26,7 +25,7 @@ export const LatestFeatureBlock = () => { }`} >
- Plane Work items { return (
- logo + logo
); }; diff --git a/apps/web/core/components/common/new-empty-state.tsx b/apps/web/core/components/common/new-empty-state.tsx index 9e913726681..be7cbe9c715 100644 --- a/apps/web/core/components/common/new-empty-state.tsx +++ b/apps/web/core/components/common/new-empty-state.tsx @@ -1,8 +1,6 @@ "use client"; import React, { useState } from "react"; -import Image from "next/image"; - // ui import { Button } from "@plane/propel/button"; @@ -48,7 +46,7 @@ export const NewEmptyState: React.FC = ({

{title}

{description &&

{description}

}
- {primaryButton?.text + {primaryButton?.text
diff --git a/apps/web/core/components/core/image-picker-popover.tsx b/apps/web/core/components/core/image-picker-popover.tsx index 44057b4994b..2c5f8a820dd 100644 --- a/apps/web/core/components/core/image-picker-popover.tsx +++ b/apps/web/core/components/core/image-picker-popover.tsx @@ -2,7 +2,6 @@ import React, { useState, useRef, useCallback } from "react"; import { observer } from "mobx-react"; -import Image from "next/image"; import { useParams } from "next/navigation"; import { useDropzone } from "react-dropzone"; import type { Control } from "react-hook-form"; @@ -329,12 +328,10 @@ export const ImagePickerPopover: React.FC = observer((props) => { {image !== null || (value && value !== "") ? ( <> - image ) : ( diff --git a/apps/web/core/components/core/sidebar/progress-stats/assignee.tsx b/apps/web/core/components/core/sidebar/progress-stats/assignee.tsx index c3607eafc26..12d1c3d77ac 100644 --- a/apps/web/core/components/core/sidebar/progress-stats/assignee.tsx +++ b/apps/web/core/components/core/sidebar/progress-stats/assignee.tsx @@ -1,5 +1,4 @@ import { observer } from "mobx-react"; -import Image from "next/image"; // plane imports import { useTranslation } from "@plane/i18n"; import { Avatar } from "@plane/ui"; @@ -70,7 +69,7 @@ export const AssigneeStatComponent = observer((props: TAssigneeStatComponent) => ) : (
- empty members + empty members
{t("no_assignee")}
diff --git a/apps/web/core/components/core/sidebar/progress-stats/label.tsx b/apps/web/core/components/core/sidebar/progress-stats/label.tsx index df510a73f25..89a30ed4ba5 100644 --- a/apps/web/core/components/core/sidebar/progress-stats/label.tsx +++ b/apps/web/core/components/core/sidebar/progress-stats/label.tsx @@ -1,5 +1,4 @@ import { observer } from "mobx-react"; -import Image from "next/image"; // plane imports import { useTranslation } from "@plane/i18n"; // assets @@ -76,7 +75,7 @@ export const LabelStatComponent = observer((props: TLabelStatComponent) => { ) : (
- empty label + empty label
{t("no_labels_yet")}
diff --git a/apps/web/core/components/cycles/archived-cycles/view.tsx b/apps/web/core/components/cycles/archived-cycles/view.tsx index 9491dc0f687..db6dc8327b3 100644 --- a/apps/web/core/components/cycles/archived-cycles/view.tsx +++ b/apps/web/core/components/cycles/archived-cycles/view.tsx @@ -1,6 +1,5 @@ import type { FC } from "react"; import { observer } from "mobx-react"; -import Image from "next/image"; // assets import AllFiltersImage from "@/app/assets/empty-state/cycle/all-filters.svg?url"; import NameFilterImage from "@/app/assets/empty-state/cycle/name-filter.svg?url"; @@ -31,7 +30,7 @@ export const ArchivedCyclesView: FC = observer((props) => { return (
- No matching cycles = observer((props) => { return (
- No matching cycles
{t("project_cycles.no_matching_cycles")}
diff --git a/apps/web/core/components/empty-state/simple-empty-state-root.tsx b/apps/web/core/components/empty-state/simple-empty-state-root.tsx index ce00a143f9d..03fc838cf1f 100644 --- a/apps/web/core/components/empty-state/simple-empty-state-root.tsx +++ b/apps/web/core/components/empty-state/simple-empty-state-root.tsx @@ -1,8 +1,6 @@ "use client"; -import React from "react"; import { observer } from "mobx-react"; -import Image from "next/image"; // utils import { cn } from "@plane/utils"; @@ -39,14 +37,7 @@ export const SimpleEmptyState = observer((props: Props) => {
{assetPath && (
- {title} + {title}
)} diff --git a/apps/web/core/components/icons/attachment/audio-file-icon.tsx b/apps/web/core/components/icons/attachment/audio-file-icon.tsx index 6eae85ef9d5..6e5d9c213ee 100644 --- a/apps/web/core/components/icons/attachment/audio-file-icon.tsx +++ b/apps/web/core/components/icons/attachment/audio-file-icon.tsx @@ -1,5 +1,4 @@ import React from "react"; -import Image from "next/image"; // image import AudioFileIcon from "@/app/assets/attachment/audio-icon.png?url"; @@ -9,5 +8,5 @@ export type AudioIconProps = { }; export const AudioIcon: React.FC = ({ width, height }) => ( - AudioFileIcon + AudioFileIcon ); diff --git a/apps/web/core/components/icons/attachment/css-file-icon.tsx b/apps/web/core/components/icons/attachment/css-file-icon.tsx index 7a9b0333d69..786bb52a78f 100644 --- a/apps/web/core/components/icons/attachment/css-file-icon.tsx +++ b/apps/web/core/components/icons/attachment/css-file-icon.tsx @@ -1,10 +1,9 @@ import React from "react"; -import Image from "next/image"; // image import CssFileIcon from "@/app/assets/attachment/css-icon.png?url"; // type import type { ImageIconPros } from "../types"; export const CssIcon: React.FC = ({ width, height }) => ( - CssFileIcon + CssFileIcon ); diff --git a/apps/web/core/components/icons/attachment/csv-file-icon.tsx b/apps/web/core/components/icons/attachment/csv-file-icon.tsx index 2345787717c..d11cea59745 100644 --- a/apps/web/core/components/icons/attachment/csv-file-icon.tsx +++ b/apps/web/core/components/icons/attachment/csv-file-icon.tsx @@ -1,10 +1,9 @@ import React from "react"; -import Image from "next/image"; // image import CSVFileIcon from "@/app/assets/attachment/csv-icon.png?url"; // type import type { ImageIconPros } from "../types"; export const CsvIcon: React.FC = ({ width, height }) => ( - CSVFileIcon + CSVFileIcon ); diff --git a/apps/web/core/components/icons/attachment/default-file-icon.tsx b/apps/web/core/components/icons/attachment/default-file-icon.tsx index 2954a1a0ebf..b2fbd7981e1 100644 --- a/apps/web/core/components/icons/attachment/default-file-icon.tsx +++ b/apps/web/core/components/icons/attachment/default-file-icon.tsx @@ -1,10 +1,15 @@ import React from "react"; -import Image from "next/image"; // image import DefaultFileIcon from "@/app/assets/attachment/default-icon.png?url"; // type import type { ImageIconPros } from "../types"; export const DefaultIcon: React.FC = ({ width, height }) => ( - DefaultFileIcon + DefaultFileIcon ); diff --git a/apps/web/core/components/icons/attachment/doc-file-icon.tsx b/apps/web/core/components/icons/attachment/doc-file-icon.tsx index 12687822517..fa5b646b831 100644 --- a/apps/web/core/components/icons/attachment/doc-file-icon.tsx +++ b/apps/web/core/components/icons/attachment/doc-file-icon.tsx @@ -1,10 +1,9 @@ import React from "react"; -import Image from "next/image"; // image import DocFileIcon from "@/app/assets/attachment/doc-icon.png?url"; // type import type { ImageIconPros } from "../types"; export const DocIcon: React.FC = ({ width, height }) => ( - DocFileIcon + DocFileIcon ); diff --git a/apps/web/core/components/icons/attachment/figma-file-icon.tsx b/apps/web/core/components/icons/attachment/figma-file-icon.tsx index a80c5c8e71b..d2b073a05dd 100644 --- a/apps/web/core/components/icons/attachment/figma-file-icon.tsx +++ b/apps/web/core/components/icons/attachment/figma-file-icon.tsx @@ -1,10 +1,9 @@ import React from "react"; -import Image from "next/image"; // image import FigmaFileIcon from "@/app/assets/attachment/figma-icon.png?url"; // type import type { ImageIconPros } from "../types"; export const FigmaIcon: React.FC = ({ width, height }) => ( - FigmaFileIcon + FigmaFileIcon ); diff --git a/apps/web/core/components/icons/attachment/html-file-icon.tsx b/apps/web/core/components/icons/attachment/html-file-icon.tsx index 65bbef6a758..e79bf977110 100644 --- a/apps/web/core/components/icons/attachment/html-file-icon.tsx +++ b/apps/web/core/components/icons/attachment/html-file-icon.tsx @@ -1,10 +1,9 @@ import React from "react"; -import Image from "next/image"; // image import HtmlFileIcon from "@/app/assets/attachment/html-icon.png?url"; // type import type { ImageIconPros } from "../types"; export const HtmlIcon: React.FC = ({ width, height }) => ( - HtmlFileIcon + HtmlFileIcon ); diff --git a/apps/web/core/components/icons/attachment/img-file-icon.tsx b/apps/web/core/components/icons/attachment/img-file-icon.tsx index 67a7f4e766c..730f0aa2dc2 100644 --- a/apps/web/core/components/icons/attachment/img-file-icon.tsx +++ b/apps/web/core/components/icons/attachment/img-file-icon.tsx @@ -1,10 +1,9 @@ import React from "react"; -import Image from "next/image"; // image import ImgFileIcon from "@/app/assets/attachment/img-icon.png?url"; // type import type { ImageIconPros } from "../types"; export const ImgIcon: React.FC = ({ width, height }) => ( - ImgFileIcon + ImgFileIcon ); diff --git a/apps/web/core/components/icons/attachment/jpg-file-icon.tsx b/apps/web/core/components/icons/attachment/jpg-file-icon.tsx index 25f29947c04..ee7cfff0c81 100644 --- a/apps/web/core/components/icons/attachment/jpg-file-icon.tsx +++ b/apps/web/core/components/icons/attachment/jpg-file-icon.tsx @@ -1,10 +1,9 @@ import React from "react"; -import Image from "next/image"; // image import JpgFileIcon from "@/app/assets/attachment/jpg-icon.png?url"; // type import type { ImageIconPros } from "../types"; export const JpgIcon: React.FC = ({ width, height }) => ( - JpgFileIcon + JpgFileIcon ); diff --git a/apps/web/core/components/icons/attachment/js-file-icon.tsx b/apps/web/core/components/icons/attachment/js-file-icon.tsx index b324498dafd..e45b79b4412 100644 --- a/apps/web/core/components/icons/attachment/js-file-icon.tsx +++ b/apps/web/core/components/icons/attachment/js-file-icon.tsx @@ -1,10 +1,9 @@ import React from "react"; -import Image from "next/image"; // image import JsFileIcon from "@/app/assets/attachment/js-icon.png?url"; // type import type { ImageIconPros } from "../types"; export const JavaScriptIcon: React.FC = ({ width, height }) => ( - JsFileIcon + JsFileIcon ); diff --git a/apps/web/core/components/icons/attachment/pdf-file-icon.tsx b/apps/web/core/components/icons/attachment/pdf-file-icon.tsx index f1685fbc271..1d5baa6e166 100644 --- a/apps/web/core/components/icons/attachment/pdf-file-icon.tsx +++ b/apps/web/core/components/icons/attachment/pdf-file-icon.tsx @@ -1,10 +1,9 @@ import React from "react"; -import Image from "next/image"; // image import PDFFileIcon from "@/app/assets/attachment/pdf-icon.png?url"; // type import type { ImageIconPros } from "../types"; export const PdfIcon: React.FC = ({ width, height }) => ( - PDFFileIcon + PDFFileIcon ); diff --git a/apps/web/core/components/icons/attachment/png-file-icon.tsx b/apps/web/core/components/icons/attachment/png-file-icon.tsx index 693396799fc..f2a6366d6fe 100644 --- a/apps/web/core/components/icons/attachment/png-file-icon.tsx +++ b/apps/web/core/components/icons/attachment/png-file-icon.tsx @@ -1,10 +1,9 @@ import React from "react"; -import Image from "next/image"; // image import PngFileIcon from "@/app/assets/attachment/png-icon.png?url"; // type import type { ImageIconPros } from "../types"; export const PngIcon: React.FC = ({ width, height }) => ( - PngFileIcon + PngFileIcon ); diff --git a/apps/web/core/components/icons/attachment/rar-file-icon.tsx b/apps/web/core/components/icons/attachment/rar-file-icon.tsx index 753fe6129b3..02fdc571795 100644 --- a/apps/web/core/components/icons/attachment/rar-file-icon.tsx +++ b/apps/web/core/components/icons/attachment/rar-file-icon.tsx @@ -1,10 +1,9 @@ import React from "react"; -import Image from "next/image"; // image import RarFileIcon from "@/app/assets/attachment/rar-icon.png?url"; // type import type { ImageIconPros } from "../types"; export const RarIcon: React.FC = ({ width, height }) => ( - RarFileIcon + RarFileIcon ); diff --git a/apps/web/core/components/icons/attachment/sheet-file-icon.tsx b/apps/web/core/components/icons/attachment/sheet-file-icon.tsx index 16a35cc9c83..17dc8cd1c1a 100644 --- a/apps/web/core/components/icons/attachment/sheet-file-icon.tsx +++ b/apps/web/core/components/icons/attachment/sheet-file-icon.tsx @@ -1,10 +1,9 @@ import React from "react"; -import Image from "next/image"; // image import SheetFileIcon from "@/app/assets/attachment/excel-icon.png?url"; // type import type { ImageIconPros } from "../types"; export const SheetIcon: React.FC = ({ width, height }) => ( - SheetFileIcon + SheetFileIcon ); diff --git a/apps/web/core/components/icons/attachment/svg-file-icon.tsx b/apps/web/core/components/icons/attachment/svg-file-icon.tsx index be3ca74c67e..32bef67cab1 100644 --- a/apps/web/core/components/icons/attachment/svg-file-icon.tsx +++ b/apps/web/core/components/icons/attachment/svg-file-icon.tsx @@ -1,10 +1,9 @@ import React from "react"; -import Image from "next/image"; // image import SvgFileIcon from "@/app/assets/attachment/svg-icon.png?url"; // type import type { ImageIconPros } from "../types"; export const SvgIcon: React.FC = ({ width, height }) => ( - SvgFileIcon + SvgFileIcon ); diff --git a/apps/web/core/components/icons/attachment/txt-file-icon.tsx b/apps/web/core/components/icons/attachment/txt-file-icon.tsx index 643f3fb75dd..54d792d9b70 100644 --- a/apps/web/core/components/icons/attachment/txt-file-icon.tsx +++ b/apps/web/core/components/icons/attachment/txt-file-icon.tsx @@ -1,10 +1,9 @@ import React from "react"; -import Image from "next/image"; // image import TxtFileIcon from "@/app/assets/attachment/txt-icon.png?url"; // type import type { ImageIconPros } from "../types"; export const TxtIcon: React.FC = ({ width, height }) => ( - TxtFileIcon + TxtFileIcon ); diff --git a/apps/web/core/components/icons/attachment/video-file-icon.tsx b/apps/web/core/components/icons/attachment/video-file-icon.tsx index 398d901219f..b9a77026aa8 100644 --- a/apps/web/core/components/icons/attachment/video-file-icon.tsx +++ b/apps/web/core/components/icons/attachment/video-file-icon.tsx @@ -1,10 +1,9 @@ import React from "react"; -import Image from "next/image"; // image import VideoFileIcon from "@/app/assets/attachment/video-icon.png?url"; // type import type { ImageIconPros } from "../types"; export const VideoIcon: React.FC = ({ width, height }) => ( - VideoFileIcon + VideoFileIcon ); diff --git a/apps/web/core/components/icons/attachment/zip-file-icon.tsx b/apps/web/core/components/icons/attachment/zip-file-icon.tsx index ac978eaa6c6..e2c847647d8 100644 --- a/apps/web/core/components/icons/attachment/zip-file-icon.tsx +++ b/apps/web/core/components/icons/attachment/zip-file-icon.tsx @@ -1,10 +1,9 @@ import React from "react"; -import Image from "next/image"; // image import ZipFileIcon from "@/app/assets/attachment/zip-icon.png?url"; // type import type { ImageIconPros } from "../types"; export const ZipIcon: React.FC = ({ width, height }) => ( - ZipFileIcon + ZipFileIcon ); diff --git a/apps/web/core/components/instance/maintenance-view.tsx b/apps/web/core/components/instance/maintenance-view.tsx index 4c76752335e..3c6e12f3085 100644 --- a/apps/web/core/components/instance/maintenance-view.tsx +++ b/apps/web/core/components/instance/maintenance-view.tsx @@ -1,7 +1,6 @@ "use client"; import type { FC } from "react"; -import Image from "next/image"; import { useTheme } from "next-themes"; // assets import maintenanceModeDarkModeImage from "@/app/assets/instance/maintenance-mode-dark.svg?url"; @@ -20,7 +19,7 @@ export const MaintenanceView: FC = () => {
- {
- Plane background pattern + Plane background pattern
@@ -36,7 +41,7 @@ export const InstanceNotReady: FC = () => {

Welcome aboard Plane!

- Plane Logo + Plane Logo

Get started by setting up your instance and workspace

diff --git a/apps/web/core/components/integration/github/root.tsx b/apps/web/core/components/integration/github/root.tsx index b041c69fd5b..47202d72500 100644 --- a/apps/web/core/components/integration/github/root.tsx +++ b/apps/web/core/components/integration/github/root.tsx @@ -1,7 +1,6 @@ "use client"; import React, { useState } from "react"; -import Image from "next/image"; import Link from "next/link"; import { useParams, useSearchParams } from "next/navigation"; import { useForm } from "react-hook-form"; @@ -168,7 +167,13 @@ export const GithubImporterRoot: React.FC = () => {
- GitHubLogo + GitHubLogo
{integrationWorkflowData.map((integration, index) => ( diff --git a/apps/web/core/components/integration/guide.tsx b/apps/web/core/components/integration/guide.tsx index 8fd4c35ed02..13a2c7ac5d0 100644 --- a/apps/web/core/components/integration/guide.tsx +++ b/apps/web/core/components/integration/guide.tsx @@ -2,7 +2,6 @@ import { useState } from "react"; import { observer } from "mobx-react"; -import Image from "next/image"; import Link from "next/link"; import { useParams, useSearchParams } from "next/navigation"; import useSWR, { mutate } from "swr"; @@ -103,10 +102,9 @@ const IntegrationGuide = observer(() => { >
- {`${t(service.i18n_title)}
diff --git a/apps/web/core/components/integration/jira/root.tsx b/apps/web/core/components/integration/jira/root.tsx index e32be4493cd..3f67e4326ad 100644 --- a/apps/web/core/components/integration/jira/root.tsx +++ b/apps/web/core/components/integration/jira/root.tsx @@ -1,7 +1,6 @@ "use client"; import React, { useState } from "react"; -import Image from "next/image"; import Link from "next/link"; import { useParams } from "next/navigation"; import { FormProvider, useForm } from "react-hook-form"; @@ -105,7 +104,7 @@ export const JiraImporterRoot: React.FC = () => {
- jira logo + jira logo
{integrationWorkflowData.map((integration, index) => ( diff --git a/apps/web/core/components/integration/single-integration-card.tsx b/apps/web/core/components/integration/single-integration-card.tsx index 686b775fe8b..89dfd5601d0 100644 --- a/apps/web/core/components/integration/single-integration-card.tsx +++ b/apps/web/core/components/integration/single-integration-card.tsx @@ -2,7 +2,6 @@ import { useState } from "react"; import { observer } from "mobx-react"; -import Image from "next/image"; import { useParams } from "next/navigation"; import useSWR, { mutate } from "swr"; import { CheckCircle } from "lucide-react"; @@ -108,7 +107,13 @@ export const SingleIntegrationCard: React.FC = observer(({ integration })
- {`${integration.title} + {`${integration.title}

diff --git a/apps/web/core/components/modules/archived-modules/view.tsx b/apps/web/core/components/modules/archived-modules/view.tsx index ba2498e2926..c66a0976413 100644 --- a/apps/web/core/components/modules/archived-modules/view.tsx +++ b/apps/web/core/components/modules/archived-modules/view.tsx @@ -1,6 +1,5 @@ import type { FC } from "react"; import { observer } from "mobx-react"; -import Image from "next/image"; // assets import AllFiltersImage from "@/app/assets/empty-state/module/all-filters.svg?url"; import NameFilterImage from "@/app/assets/empty-state/module/name-filter.svg?url"; @@ -31,7 +30,7 @@ export const ArchivedModulesView: FC = observer((props) => return (
- No matching modules = observer((props) => { currentStepIndex % 2 === 0 ? "justify-end" : "justify-start" }`} > - {currentStep?.title} + {currentStep?.title}

{currentStep?.title}

diff --git a/apps/web/core/components/project/empty-state.tsx b/apps/web/core/components/project/empty-state.tsx index 17abb3c3c6c..7ef4c533663 100644 --- a/apps/web/core/components/project/empty-state.tsx +++ b/apps/web/core/components/project/empty-state.tsx @@ -1,9 +1,6 @@ "use client"; import React from "react"; - -import Image from "next/image"; - // ui import { Button } from "@plane/propel/button"; @@ -30,7 +27,13 @@ export const EmptyState: React.FC = ({ }) => (
- {primaryButton?.text + {primaryButton?.text
{title}
diff --git a/apps/web/core/components/project/integration-card.tsx b/apps/web/core/components/project/integration-card.tsx index 1c32eb835ae..54839955ed0 100644 --- a/apps/web/core/components/project/integration-card.tsx +++ b/apps/web/core/components/project/integration-card.tsx @@ -1,7 +1,6 @@ "use client"; import React from "react"; -import Image from "next/image"; import { useParams } from "next/navigation"; import useSWR, { mutate } from "swr"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; @@ -87,8 +86,11 @@ export const IntegrationCard: React.FC = ({ integration }) => {
- {`${integration.integration_detail.title}
diff --git a/apps/web/core/components/ui/profile-empty-state.tsx b/apps/web/core/components/ui/profile-empty-state.tsx index 66462f91f85..27c8a0b1de1 100644 --- a/apps/web/core/components/ui/profile-empty-state.tsx +++ b/apps/web/core/components/ui/profile-empty-state.tsx @@ -1,7 +1,5 @@ import React from "react"; -import Image from "next/image"; - type Props = { title: string; description?: React.ReactNode; @@ -12,7 +10,7 @@ export const ProfileEmptyState: React.FC = ({ title, description, image }
- {title} + {title}
{title}
{description &&

{description}

} diff --git a/apps/web/core/components/web-hooks/empty-state.tsx b/apps/web/core/components/web-hooks/empty-state.tsx index 2fca6476d6e..f14b5623e8e 100644 --- a/apps/web/core/components/web-hooks/empty-state.tsx +++ b/apps/web/core/components/web-hooks/empty-state.tsx @@ -1,7 +1,6 @@ "use client"; import React from "react"; -import Image from "next/image"; // ui import { Button } from "@plane/propel/button"; // assets @@ -18,7 +17,7 @@ export const WebhooksEmptyState: React.FC = (props) => { className={`mx-auto flex w-full items-center justify-center rounded-sm border border-custom-border-200 bg-custom-background-90 px-16 py-10 lg:w-3/4`} >
- empty + empty
No webhooks

Create webhooks to receive real-time updates and automate actions diff --git a/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx b/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx index 050aefdd8cb..38f484cd42e 100644 --- a/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx +++ b/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx @@ -2,7 +2,6 @@ import type { FC, ReactNode } from "react"; import { observer } from "mobx-react"; -import Image from "next/image"; import Link from "next/link"; import { useParams } from "next/navigation"; import useSWR from "swr"; @@ -178,7 +177,13 @@ export const WorkspaceAuthWrapper: FC = observer((props)

- Plane logo + Plane logo

Workspace not found

diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts index badb98b8824..01d23fe80ee 100644 --- a/apps/web/vite.config.ts +++ b/apps/web/vite.config.ts @@ -25,7 +25,6 @@ export default defineConfig(() => ({ resolve: { alias: { // Next.js compatibility shims used within web - "next/image": path.resolve(__dirname, "app/compat/next/image.tsx"), "next/link": path.resolve(__dirname, "app/compat/next/link.tsx"), "next/navigation": path.resolve(__dirname, "app/compat/next/navigation.ts"), "next/script": path.resolve(__dirname, "app/compat/next/script.tsx"), From bbceb31b41b09c217c17a85bc44fa3828d760748 Mon Sep 17 00:00:00 2001 From: sriramveeraghanta Date: Wed, 12 Nov 2025 14:06:08 +0530 Subject: [PATCH 02/10] chore: sync related changes --- apps/space/core/lib/instance-provider.tsx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/apps/space/core/lib/instance-provider.tsx b/apps/space/core/lib/instance-provider.tsx index 7c9103edf92..e57b23f9f93 100644 --- a/apps/space/core/lib/instance-provider.tsx +++ b/apps/space/core/lib/instance-provider.tsx @@ -6,11 +6,10 @@ import { useTheme } from "next-themes"; import useSWR from "swr"; // plane imports import { SPACE_BASE_PATH } from "@plane/constants"; +import { PlaneLockup } from "@plane/propel/icons"; // assets import PlaneBackgroundPatternDark from "@/app/assets/auth/background-pattern-dark.svg?url"; import PlaneBackgroundPattern from "@/app/assets/auth/background-pattern.svg?url"; -import BlackHorizontalLogo from "@/app/assets/plane-logos/black-horizontal-with-blue-logo.png?url"; -import WhiteHorizontalLogo from "@/app/assets/plane-logos/white-horizontal-with-blue-logo.png?url"; // components import { LogoSpinner } from "@/components/common/logo-spinner"; import { InstanceFailureView } from "@/components/instance/instance-failure-view"; @@ -43,7 +42,6 @@ export const InstanceProvider = observer(({ children }: { children: React.ReactN

); - const logo = resolvedTheme === "light" ? BlackHorizontalLogo : WhiteHorizontalLogo; if (error) { return (
@@ -51,7 +49,7 @@ export const InstanceProvider = observer(({ children }: { children: React.ReactN
- Plane logo +
From 7d1b40c4ba4fc302f1c9a3e9f8c4e5b5292a18bd Mon Sep 17 00:00:00 2001 From: sriram veeraghanta Date: Wed, 12 Nov 2025 14:12:14 +0530 Subject: [PATCH 03/10] Update apps/admin/core/components/instance/failure.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- apps/admin/core/components/instance/failure.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/admin/core/components/instance/failure.tsx b/apps/admin/core/components/instance/failure.tsx index e7bcf455151..746c141f6a5 100644 --- a/apps/admin/core/components/instance/failure.tsx +++ b/apps/admin/core/components/instance/failure.tsx @@ -22,7 +22,7 @@ export const InstanceFailureView: React.FC = observer(() => {
- Plane Logo + Instance failure illustration

Unable to fetch instance details.

We were unable to fetch the details of the instance. Fret not, it might just be a connectivity issue. From e04bd8668dcf6eba602af2ee7c78c2abea601324 Mon Sep 17 00:00:00 2001 From: sriram veeraghanta Date: Wed, 12 Nov 2025 14:12:33 +0530 Subject: [PATCH 04/10] Update apps/space/app/not-found.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- apps/space/app/not-found.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/space/app/not-found.tsx b/apps/space/app/not-found.tsx index ace91bf8b7e..e902cd05059 100644 --- a/apps/space/app/not-found.tsx +++ b/apps/space/app/not-found.tsx @@ -8,7 +8,7 @@ const NotFound = () => (

- User already logged in + Something went wrong

That didn{"'"}t work

From 4ff136225c182c3ba421dde77d8c149a1d63618a Mon Sep 17 00:00:00 2001 From: sriram veeraghanta Date: Wed, 12 Nov 2025 14:13:40 +0530 Subject: [PATCH 05/10] Update apps/space/core/components/issues/issue-layouts/error.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- apps/space/core/components/issues/issue-layouts/error.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/space/core/components/issues/issue-layouts/error.tsx b/apps/space/core/components/issues/issue-layouts/error.tsx index 1cfd2976c4b..0a0f5235256 100644 --- a/apps/space/core/components/issues/issue-layouts/error.tsx +++ b/apps/space/core/components/issues/issue-layouts/error.tsx @@ -6,7 +6,7 @@ export const SomethingWentWrongError = () => (
- Oops! Something went wrong + Oops! Something went wrong

Oops! Something went wrong.

From 61ddf2852631a55a045256f3e6f9801cf56c22d2 Mon Sep 17 00:00:00 2001 From: sriram veeraghanta Date: Wed, 12 Nov 2025 14:13:55 +0530 Subject: [PATCH 06/10] Update apps/space/core/components/ui/not-found.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- apps/space/core/components/ui/not-found.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/space/core/components/ui/not-found.tsx b/apps/space/core/components/ui/not-found.tsx index 02cf0bb6644..5b78024a4b1 100644 --- a/apps/space/core/components/ui/not-found.tsx +++ b/apps/space/core/components/ui/not-found.tsx @@ -8,7 +8,7 @@ export const PageNotFound = () => (
- 404- Page not found + 404- Page not found

Oops! Something went wrong.

From 3b0ab0c8a632396a561ec773c9093cb6a8b8f60b Mon Sep 17 00:00:00 2001 From: sriramveeraghanta Date: Wed, 12 Nov 2025 14:21:58 +0530 Subject: [PATCH 07/10] chore: replace classname styles in space --- apps/space/core/lib/instance-provider.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/space/core/lib/instance-provider.tsx b/apps/space/core/lib/instance-provider.tsx index e57b23f9f93..fa56fccc67c 100644 --- a/apps/space/core/lib/instance-provider.tsx +++ b/apps/space/core/lib/instance-provider.tsx @@ -48,7 +48,7 @@ export const InstanceProvider = observer(({ children }: { children: React.ReactN
- +
From 4864478138e36073ca57ef31860d78786c0be31c Mon Sep 17 00:00:00 2001 From: sriramveeraghanta Date: Thu, 13 Nov 2025 18:08:27 +0530 Subject: [PATCH 08/10] fix: copoilot suggestions --- apps/space/core/components/account/user-logged-in.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/space/core/components/account/user-logged-in.tsx b/apps/space/core/components/account/user-logged-in.tsx index 326bd5c982e..f211c5680f3 100644 --- a/apps/space/core/components/account/user-logged-in.tsx +++ b/apps/space/core/components/account/user-logged-in.tsx @@ -27,7 +27,7 @@ export const UserLoggedIn = observer(() => {
- User already logged in + User already logged in

Nice! Just one more step.

From 19f3970d427307bc68347147f66fdc417913b5d1 Mon Sep 17 00:00:00 2001 From: sriramveeraghanta Date: Thu, 13 Nov 2025 18:12:18 +0530 Subject: [PATCH 09/10] fix: copilot suggestions --- .../core/sidebar/progress-stats/assignee.tsx | 2 +- apps/web/core/components/instance/not-ready-view.tsx | 10 ++-------- apps/web/core/components/integration/github/root.tsx | 8 +------- apps/web/core/components/integration/jira/root.tsx | 2 +- .../components/integration/single-integration-card.tsx | 2 -- apps/web/core/components/onboarding/tour/root.tsx | 8 +------- apps/web/core/components/project/empty-state.tsx | 8 +------- apps/web/core/components/project/integration-card.tsx | 2 -- apps/web/core/components/web-hooks/empty-state.tsx | 2 +- .../web/core/layouts/auth-layout/workspace-wrapper.tsx | 8 +------- 10 files changed, 9 insertions(+), 43 deletions(-) diff --git a/apps/web/core/components/core/sidebar/progress-stats/assignee.tsx b/apps/web/core/components/core/sidebar/progress-stats/assignee.tsx index 12d1c3d77ac..af36fd2c01c 100644 --- a/apps/web/core/components/core/sidebar/progress-stats/assignee.tsx +++ b/apps/web/core/components/core/sidebar/progress-stats/assignee.tsx @@ -56,7 +56,7 @@ export const AssigneeStatComponent = observer((props: TAssigneeStatComponent) => title={
- User + User
{t("no_assignee")}
diff --git a/apps/web/core/components/instance/not-ready-view.tsx b/apps/web/core/components/instance/not-ready-view.tsx index 3d0ae86f204..69f27810286 100644 --- a/apps/web/core/components/instance/not-ready-view.tsx +++ b/apps/web/core/components/instance/not-ready-view.tsx @@ -27,13 +27,7 @@ export const InstanceNotReady: FC = () => {
- Plane background pattern + Plane background pattern
@@ -41,7 +35,7 @@ export const InstanceNotReady: FC = () => {

Welcome aboard Plane!

- Plane Logo + Plane Logo

Get started by setting up your instance and workspace

diff --git a/apps/web/core/components/integration/github/root.tsx b/apps/web/core/components/integration/github/root.tsx index 47202d72500..fdb1cfd4344 100644 --- a/apps/web/core/components/integration/github/root.tsx +++ b/apps/web/core/components/integration/github/root.tsx @@ -167,13 +167,7 @@ export const GithubImporterRoot: React.FC = () => {
- GitHubLogo + GitHubLogo
{integrationWorkflowData.map((integration, index) => ( diff --git a/apps/web/core/components/integration/jira/root.tsx b/apps/web/core/components/integration/jira/root.tsx index 3f67e4326ad..01b17b2e368 100644 --- a/apps/web/core/components/integration/jira/root.tsx +++ b/apps/web/core/components/integration/jira/root.tsx @@ -104,7 +104,7 @@ export const JiraImporterRoot: React.FC = () => {
- jira logo + jira logo
{integrationWorkflowData.map((integration, index) => ( diff --git a/apps/web/core/components/integration/single-integration-card.tsx b/apps/web/core/components/integration/single-integration-card.tsx index 89dfd5601d0..b72849b4fc2 100644 --- a/apps/web/core/components/integration/single-integration-card.tsx +++ b/apps/web/core/components/integration/single-integration-card.tsx @@ -109,8 +109,6 @@ export const SingleIntegrationCard: React.FC = observer(({ integration })
{`${integration.title} diff --git a/apps/web/core/components/onboarding/tour/root.tsx b/apps/web/core/components/onboarding/tour/root.tsx index 4ce6e295183..cd074a1686d 100644 --- a/apps/web/core/components/onboarding/tour/root.tsx +++ b/apps/web/core/components/onboarding/tour/root.tsx @@ -150,13 +150,7 @@ export const TourRoot: React.FC = observer((props) => { currentStepIndex % 2 === 0 ? "justify-end" : "justify-start" }`} > - {currentStep?.title} + {currentStep?.title}

{currentStep?.title}

diff --git a/apps/web/core/components/project/empty-state.tsx b/apps/web/core/components/project/empty-state.tsx index 7ef4c533663..28576ed8eb7 100644 --- a/apps/web/core/components/project/empty-state.tsx +++ b/apps/web/core/components/project/empty-state.tsx @@ -27,13 +27,7 @@ export const EmptyState: React.FC = ({ }) => (
- {primaryButton?.text + {primaryButton?.text
{title}
diff --git a/apps/web/core/components/project/integration-card.tsx b/apps/web/core/components/project/integration-card.tsx index 54839955ed0..28d491b9659 100644 --- a/apps/web/core/components/project/integration-card.tsx +++ b/apps/web/core/components/project/integration-card.tsx @@ -88,8 +88,6 @@ export const IntegrationCard: React.FC = ({ integration }) => {
{`${integration.integration_detail.title} diff --git a/apps/web/core/components/web-hooks/empty-state.tsx b/apps/web/core/components/web-hooks/empty-state.tsx index f14b5623e8e..7f655a09d5e 100644 --- a/apps/web/core/components/web-hooks/empty-state.tsx +++ b/apps/web/core/components/web-hooks/empty-state.tsx @@ -17,7 +17,7 @@ export const WebhooksEmptyState: React.FC = (props) => { className={`mx-auto flex w-full items-center justify-center rounded-sm border border-custom-border-200 bg-custom-background-90 px-16 py-10 lg:w-3/4`} >
- empty + empty
No webhooks

Create webhooks to receive real-time updates and automate actions diff --git a/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx b/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx index 38f484cd42e..de396ee6731 100644 --- a/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx +++ b/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx @@ -177,13 +177,7 @@ export const WorkspaceAuthWrapper: FC = observer((props)

- Plane logo + Plane logo

Workspace not found

From 507f39f0eefd38e17734b616a5eba8004487d319 Mon Sep 17 00:00:00 2001 From: sriramveeraghanta Date: Thu, 13 Nov 2025 18:19:22 +0530 Subject: [PATCH 10/10] chore: format files --- apps/space/core/components/issues/issue-layouts/error.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/space/core/components/issues/issue-layouts/error.tsx b/apps/space/core/components/issues/issue-layouts/error.tsx index 0a0f5235256..a67ca8a6add 100644 --- a/apps/space/core/components/issues/issue-layouts/error.tsx +++ b/apps/space/core/components/issues/issue-layouts/error.tsx @@ -6,7 +6,11 @@ export const SomethingWentWrongError = () => (

- Oops! Something went wrong + Oops! Something went wrong

Oops! Something went wrong.