Initial commit: Plane
Some checks failed
Branch Build CE / Build Setup (push) Has been cancelled
Branch Build CE / Build-Push Admin Docker Image (push) Has been cancelled
Branch Build CE / Build-Push Web Docker Image (push) Has been cancelled
Branch Build CE / Build-Push Space Docker Image (push) Has been cancelled
Branch Build CE / Build-Push Live Collaboration Docker Image (push) Has been cancelled
Branch Build CE / Build-Push API Server Docker Image (push) Has been cancelled
Branch Build CE / Build-Push Proxy Docker Image (push) Has been cancelled
Branch Build CE / Build-Push AIO Docker Image (push) Has been cancelled
Branch Build CE / Upload Build Assets (push) Has been cancelled
Branch Build CE / Build Release (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Codespell / Check for spelling errors (push) Has been cancelled
Sync Repositories / sync_changes (push) Has been cancelled
Some checks failed
Branch Build CE / Build Setup (push) Has been cancelled
Branch Build CE / Build-Push Admin Docker Image (push) Has been cancelled
Branch Build CE / Build-Push Web Docker Image (push) Has been cancelled
Branch Build CE / Build-Push Space Docker Image (push) Has been cancelled
Branch Build CE / Build-Push Live Collaboration Docker Image (push) Has been cancelled
Branch Build CE / Build-Push API Server Docker Image (push) Has been cancelled
Branch Build CE / Build-Push Proxy Docker Image (push) Has been cancelled
Branch Build CE / Build-Push AIO Docker Image (push) Has been cancelled
Branch Build CE / Upload Build Assets (push) Has been cancelled
Branch Build CE / Build Release (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Codespell / Check for spelling errors (push) Has been cancelled
Sync Repositories / sync_changes (push) Has been cancelled
Synced from upstream: 8853637e981ed7d8a6cff32bd98e7afe20f54362
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
"use client";
|
||||
|
||||
import React from "react";
|
||||
import { observer } from "mobx-react";
|
||||
import Image from "next/image";
|
||||
// utils
|
||||
import { cn } from "@plane/utils";
|
||||
|
||||
type EmptyStateSize = "sm" | "lg";
|
||||
|
||||
type Props = {
|
||||
title: string;
|
||||
description?: string;
|
||||
assetPath?: string;
|
||||
size?: EmptyStateSize;
|
||||
};
|
||||
|
||||
const sizeConfig = {
|
||||
sm: {
|
||||
container: "size-24",
|
||||
dimensions: 78,
|
||||
},
|
||||
lg: {
|
||||
container: "size-28",
|
||||
dimensions: 96,
|
||||
},
|
||||
} as const;
|
||||
|
||||
const getTitleClassName = (hasDescription: boolean) =>
|
||||
cn("font-medium whitespace-pre-line", {
|
||||
"text-sm text-custom-text-400": !hasDescription,
|
||||
"text-lg text-custom-text-300": hasDescription,
|
||||
});
|
||||
|
||||
export const SimpleEmptyState = observer((props: Props) => {
|
||||
const { title, description, size = "sm", assetPath } = props;
|
||||
|
||||
return (
|
||||
<div className="text-center flex flex-col gap-2.5 items-center">
|
||||
{assetPath && (
|
||||
<div className={sizeConfig[size].container}>
|
||||
<Image
|
||||
src={assetPath}
|
||||
alt={title}
|
||||
height={sizeConfig[size].dimensions}
|
||||
width={sizeConfig[size].dimensions}
|
||||
layout="responsive"
|
||||
lazyBoundary="100%"
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
|
||||
<h3 className={getTitleClassName(!!description)}>{title}</h3>
|
||||
|
||||
{description && <p className="text-base font-medium text-custom-text-400 whitespace-pre-line">{description}</p>}
|
||||
</div>
|
||||
);
|
||||
});
|
||||
Reference in New Issue
Block a user