mirror of
https://github.com/formbricks/formbricks.git
synced 2026-02-24 16:29:28 -06:00
* feat: privacy, imprint, and terms URL env vars now do not need rebuilding * feat: disable_singup env var now do not need rebuilding * feat: password_reset_disabled env var now do not need rebuilding * feat: email_verification_disabled env var now do not need rebuilding * feat: github_oauth & google_oauth env var now do not need rebuilding * feat: move logic of env vars to serverside and send boolean client-side * feat: invite_disabled env var now do not need rebuilding * feat: rename vars logically * feat: migration guide * feat: update docker-compose as per v1.1 * deprecate: unused NEXT_PUBLIC_VERCEL_URL & VERCEL_URL * deprecate: unused RAILWAY_STATIC_URL * deprecate: unused RENDER_EXTERNAL_URL * deprecate: unused HEROKU_APP_NAME * fix: define WEBAPP_URL & replace NEXT_WEBAPP_URL with it * migrate: NEXT_PUBLIC_IS_FORMBRICKS_CLOUD to IS_FORMBRICKS_CLOUD * chore: move all env parsing to a constants.ts from page files * feat: migrate client side envs to server side * redo: isFormbricksCloud to navbar serverside page * fix: constants is now a server only file * fix: removal of use swr underway * fix: move 1 tag away from swr to service * feat: move away from tags swr * feat: move away from surveys swr * feat: move away from eventClass swr * feat: move away from event swr * fix: make constants server-only * remove comments from .env.example, use constants in MetaInformation * clean up services * rename tag function * fix build error * fix smaller bugs, fix Response % not working in summary --------- Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
138 lines
5.8 KiB
TypeScript
138 lines
5.8 KiB
TypeScript
"use client";
|
||
|
||
import React from "react";
|
||
import Link from "next/link";
|
||
import { TEnvironment } from "@formbricks/types/v1/environment";
|
||
|
||
type EmptySpaceFillerProps = {
|
||
type: "table" | "response" | "event" | "linkResponse" | "tag";
|
||
environment: TEnvironment;
|
||
noWidgetRequired?: boolean;
|
||
emptyMessage?: string;
|
||
};
|
||
|
||
const EmptySpaceFiller: React.FC<EmptySpaceFillerProps> = ({
|
||
type,
|
||
environment,
|
||
noWidgetRequired,
|
||
emptyMessage,
|
||
}) => {
|
||
if (type === "table") {
|
||
return (
|
||
<div className="group">
|
||
<div className="h-12 w-full rounded-t-lg bg-slate-100"></div>
|
||
<div className="w-full space-y-4 rounded-b-lg bg-white p-4">
|
||
<div className="h-16 w-full rounded-lg bg-slate-100"></div>
|
||
|
||
<div className="flex h-16 w-full flex-col items-center justify-center rounded-lg bg-slate-50 text-slate-700 transition-all duration-300 ease-in-out hover:bg-slate-100 ">
|
||
{!environment.widgetSetupCompleted && !noWidgetRequired && (
|
||
<Link
|
||
className="flex w-full items-center justify-center"
|
||
href={`/environments/${environment.id}/settings/setup`}>
|
||
<span className="decoration-brand-dark underline transition-all duration-300 ease-in-out">
|
||
Install Formbricks Widget. <strong>Go to Setup Checklist 👉</strong>
|
||
</span>
|
||
</Link>
|
||
)}
|
||
{((environment.widgetSetupCompleted || noWidgetRequired) && emptyMessage) ||
|
||
"Your data will appear here as soon as you receive your first response ⏲️"}
|
||
</div>
|
||
|
||
<div className="h-16 w-full rounded-lg bg-slate-50/50"></div>
|
||
</div>
|
||
</div>
|
||
);
|
||
}
|
||
|
||
if (type === "response") {
|
||
return (
|
||
<div className="group space-y-4 rounded-lg bg-white p-6 ">
|
||
<div className="flex items-center space-x-4">
|
||
<div className="h-12 w-12 flex-shrink-0 rounded-full bg-slate-100"></div>
|
||
<div className=" h-6 w-full rounded-full bg-slate-100"></div>
|
||
</div>
|
||
<div className="space-y-4">
|
||
<div className="h-12 w-full rounded-full bg-slate-100"></div>
|
||
<div className=" flex h-12 w-full items-center justify-center rounded-full bg-slate-50 text-sm text-slate-500 hover:bg-slate-100">
|
||
{!environment.widgetSetupCompleted && !noWidgetRequired && (
|
||
<Link
|
||
className="flex h-full w-full items-center justify-center"
|
||
href={`/environments/${environment.id}/settings/setup`}>
|
||
<span className="decoration-brand-dark underline transition-all duration-300 ease-in-out">
|
||
Install Formbricks Widget. <strong>Go to Setup Checklist 👉</strong>
|
||
</span>
|
||
</Link>
|
||
)}
|
||
{(environment.widgetSetupCompleted || noWidgetRequired) && (
|
||
<span className="text-center">
|
||
Your data will appear here as soon as you receive your first response ⏲️
|
||
</span>
|
||
)}
|
||
</div>
|
||
<div className="h-12 w-full rounded-full bg-slate-50/50"></div>
|
||
</div>
|
||
</div>
|
||
);
|
||
}
|
||
|
||
if (type === "tag") {
|
||
return (
|
||
<div className="group space-y-4 rounded-lg bg-white p-6 ">
|
||
<div className="flex items-center space-x-4">
|
||
<div className="h-12 w-12 flex-shrink-0 rounded-full bg-slate-100"></div>
|
||
<div className=" h-6 w-full rounded-full bg-slate-100"></div>
|
||
</div>
|
||
<div className="space-y-4">
|
||
<div className="h-12 w-full rounded-full bg-slate-100"></div>
|
||
<div className=" flex h-12 w-full items-center justify-center rounded-full bg-slate-50 text-sm text-slate-500 hover:bg-slate-100">
|
||
{!environment.widgetSetupCompleted && !noWidgetRequired && (
|
||
<Link
|
||
className="flex h-full w-full items-center justify-center"
|
||
href={`/environments/${environment.id}/settings/setup`}>
|
||
<span className="decoration-brand-dark underline transition-all duration-300 ease-in-out">
|
||
Install Formbricks Widget. <strong>Go to Setup Checklist 👉</strong>
|
||
</span>
|
||
</Link>
|
||
)}
|
||
{(environment.widgetSetupCompleted || noWidgetRequired) && (
|
||
<span className="text-center">Tag a submission to find your list of tags here.</span>
|
||
)}
|
||
</div>
|
||
<div className="h-12 w-full rounded-full bg-slate-50/50"></div>
|
||
</div>
|
||
</div>
|
||
);
|
||
}
|
||
|
||
return (
|
||
<div className="group space-y-4 rounded-lg bg-white p-6 ">
|
||
<div className="flex items-center space-x-4">
|
||
<div className="h-12 w-12 flex-shrink-0 rounded-full bg-slate-100"></div>
|
||
<div className=" h-6 w-full rounded-full bg-slate-100"></div>
|
||
</div>
|
||
<div className="space-y-4">
|
||
<div className="h-12 w-full rounded-full bg-slate-100"></div>
|
||
<div className=" flex h-12 w-full items-center justify-center rounded-full bg-slate-50 text-sm text-slate-500 hover:bg-slate-100">
|
||
{!environment.widgetSetupCompleted && !noWidgetRequired && (
|
||
<Link
|
||
className="flex h-full w-full items-center justify-center"
|
||
href={`/environments/${environment.id}/settings/setup`}>
|
||
<span className="decoration-brand-dark underline transition-all duration-300 ease-in-out">
|
||
Install Formbricks Widget. <strong>Go to Setup Checklist 👉</strong>
|
||
</span>
|
||
</Link>
|
||
)}
|
||
{(environment.widgetSetupCompleted || noWidgetRequired) && (
|
||
<span className="text-center">
|
||
Your data will appear here as soon as you receive your first response ⏲️
|
||
</span>
|
||
)}
|
||
</div>
|
||
<div className="h-12 w-full rounded-full bg-slate-50/50"></div>
|
||
</div>
|
||
</div>
|
||
);
|
||
};
|
||
|
||
export default EmptySpaceFiller;
|