Files
plane/web/ee/components/updates/empty.tsx
Akshita Goyal 282e3e3e3b [WEB-3536] Feat: epic and initiative updates tab (#2837)
* feat: epic updates wip

* feat: create endpoint for epic update

* feat: delete, get, update endpoint for epic updates

* feat: comments endpoint

* feat: update reaction endpoints

* refactor: code refactor

* wip: epic updates

* fix: epic update minor bug fixes

* WIP

* feat: endpoint to list updates

* feat: patch and delete endpoint for update
feat: get and post for comments
feat: post adn delete for reactions

* chore: use EntityTypeEnum instead of hardcoding

* fix: add cancelled issues count

* chore: return project and epic details

* refactor: fetching project and epic details

* feat: initiative updates

* fix: i18n changes

* fix: i18n changes

* fix: i18n

* fix: initiative updates

* fix: translations + reaction bug

* feat: filter based on status

* fix: removed updates for initiatives

* fix: initiative updates

* chore: added updates in initiative analytics

* fix: refactor

* chore: optimised the initiative updates query

* chore: added description_html

* fix: refactor

* fix: list view on click

* fix: return only latest record

* fix: handled epic and project addition and deletion

* fix: build

* fix: popover component

* fix: latest updates returning all status's latest one

* fix: local update

* fix: text overflow issue

* fix: icon colors

* fix: update status on project attributes returning same update

---------

Co-authored-by: sangeethailango <sangeethailango21@gmail.com>
Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
2025-04-08 16:04:49 +05:30

30 lines
983 B
TypeScript

import Image from "next/image";
import { useTranslation } from "@plane/i18n";
import { Button } from "@plane/ui";
import ImagelLight from "@/public/empty-state/empty-updates-light.png";
type TProps = {
handleNewUpdate: () => void;
allowNew: boolean;
};
export const EmptyUpdates = (props: TProps) => {
const { handleNewUpdate, allowNew } = props;
const { t } = useTranslation();
return (
<div className="flex h-full">
<div className="m-auto mt-[50%]">
<Image src={ImagelLight} alt="No updates" className="w-[161px] m-auto" />
<div className="w-fit m-auto text-lg font-medium items-center">{t("updates.empty.title")}</div>
<div className="w-fit m-auto font-medium text-base text-custom-text-350">{t("updates.empty.description")}</div>
{allowNew && (
<Button className="mt-4 mx-auto" onClick={() => handleNewUpdate()}>
{t("updates.add_update")}
</Button>
)}
</div>
</div>
);
};