diff --git a/apps/web/src/components/features/ShareMenu/ShareMenuContentEmbed.tsx b/apps/web/src/components/features/ShareMenu/ShareMenuContentEmbed.tsx
index 604d4de81..356c99924 100644
--- a/apps/web/src/components/features/ShareMenu/ShareMenuContentEmbed.tsx
+++ b/apps/web/src/components/features/ShareMenu/ShareMenuContentEmbed.tsx
@@ -59,6 +59,20 @@ export const ShareMenuContentEmbedFooter = ({
openSuccessMessage('Succuessfully published');
};
+ const text = useMemo(() => {
+ if (assetType === 'metric_file') {
+ return 'Your metric currently isn’t published.';
+ } else if (assetType === 'dashboard_file') {
+ return 'Your dashboard currently isn’t published.';
+ } else if (assetType === 'chat') {
+ return 'Your chat currently isn’t published.';
+ } else if (assetType === 'report_file') {
+ return 'Your report currently isn’t published.';
+ } else {
+ return 'Your item currently isn’t published.';
+ }
+ }, [assetType]);
+
return (
diff --git a/apps/web/src/components/ui/inputs/InputTextArea.tsx b/apps/web/src/components/ui/inputs/InputTextArea.tsx
index 146597ec0..6abcebf1b 100644
--- a/apps/web/src/components/ui/inputs/InputTextArea.tsx
+++ b/apps/web/src/components/ui/inputs/InputTextArea.tsx
@@ -28,8 +28,8 @@ export interface InputTextAreaProps
onPressEnter?: (e: React.KeyboardEvent) => void;
}
-export interface InputTextAreaRef {
- forceRecalculateHeight: () => void;
+export interface InputTextAreaRef extends HTMLTextAreaElement {
+ forceRecalculateHeight?: () => void;
}
export const InputTextArea = React.forwardRef(
@@ -48,9 +48,11 @@ export const InputTextArea = React.forwardRef {
const textareaRef = useRef(null);
- useImperativeHandle(
- ref,
- () => ({
+ useImperativeHandle(ref, () => {
+ if (!textareaRef.current) {
+ return null as unknown as InputTextAreaRef;
+ }
+ return Object.assign(textareaRef.current, {
forceRecalculateHeight: () => {
if (textareaRef.current) {
// Force a recalculation by triggering an input event
@@ -58,9 +60,8 @@ export const InputTextArea = React.forwardRef) => {
if (e.key === 'Enter') {
diff --git a/apps/web/src/components/ui/inputs/InputTextAreaButton.tsx b/apps/web/src/components/ui/inputs/InputTextAreaButton.tsx
index e9fca6c76..9df7f2b31 100644
--- a/apps/web/src/components/ui/inputs/InputTextAreaButton.tsx
+++ b/apps/web/src/components/ui/inputs/InputTextAreaButton.tsx
@@ -4,7 +4,7 @@ import { cn } from '@/lib/classMerge';
import { Button } from '../buttons/Button';
import ShapeSquare from '../icons/NucleoIconFilled/shape-square';
import { ArrowUp } from '../icons/NucleoIconOutlined';
-import { InputTextArea, type InputTextAreaProps } from './InputTextArea';
+import { InputTextArea, type InputTextAreaProps, type InputTextAreaRef } from './InputTextArea';
const inputTextAreaButtonVariants = cva(
'relative flex flex-col w-full items-center overflow-visible rounded-xl cursor-text border border-border transition-all duration-200',
@@ -29,7 +29,7 @@ export interface InputTextAreaButtonProps extends Omit(
+export const InputTextAreaButton = forwardRef(
(
{
className,
@@ -51,7 +51,7 @@ export const InputTextAreaButton = forwardRef {
const onSubmitPreflight = () => {
if (disabled) return;
- const text = (textRef as React.RefObject).current?.value || '';
+ const text = (textRef as React.RefObject).current?.value || '';
onSubmit(text);
};
diff --git a/apps/web/src/controllers/DashboardController/DashboardViewDashboardController/DashboardEditTitle.tsx b/apps/web/src/controllers/DashboardController/DashboardViewDashboardController/DashboardEditTitle.tsx
index b214f6d28..ee2554ca6 100644
--- a/apps/web/src/controllers/DashboardController/DashboardViewDashboardController/DashboardEditTitle.tsx
+++ b/apps/web/src/controllers/DashboardController/DashboardViewDashboardController/DashboardEditTitle.tsx
@@ -44,7 +44,7 @@ export const DashboardEditTitles: React.FC<{
useEffect(() => {
if (debouncedWidth) {
- inputTextAreaRef.current?.forceRecalculateHeight();
+ inputTextAreaRef.current?.forceRecalculateHeight?.();
}
}, [debouncedWidth]);