mirror of
https://github.com/lukevella/rallly.git
synced 2025-07-07 19:47:26 +02:00
Update
This commit is contained in:
parent
211e261c71
commit
8e778a40ec
9 changed files with 35 additions and 49 deletions
|
@ -241,10 +241,8 @@
|
||||||
"verificationCodeSentTo": "We sent a verification code to <b>{email}</b>",
|
"verificationCodeSentTo": "We sent a verification code to <b>{email}</b>",
|
||||||
"home": "Home",
|
"home": "Home",
|
||||||
"groupPoll": "Group Poll",
|
"groupPoll": "Group Poll",
|
||||||
"create": "Create",
|
|
||||||
"upcoming": "Upcoming",
|
"upcoming": "Upcoming",
|
||||||
"past": "Past",
|
"past": "Past",
|
||||||
"copyLink": "Copy Link",
|
|
||||||
"upcomingEventsEmptyStateTitle": "No Upcoming Events",
|
"upcomingEventsEmptyStateTitle": "No Upcoming Events",
|
||||||
"upcomingEventsEmptyStateDescription": "When you schedule events, they will appear here.",
|
"upcomingEventsEmptyStateDescription": "When you schedule events, they will appear here.",
|
||||||
"pastEventsEmptyStateTitle": "No Past Events",
|
"pastEventsEmptyStateTitle": "No Past Events",
|
||||||
|
@ -281,5 +279,6 @@
|
||||||
"subscribe": "Subscribe",
|
"subscribe": "Subscribe",
|
||||||
"cancelAnytime": "Cancel anytime from your <a>billing page</a>.",
|
"cancelAnytime": "Cancel anytime from your <a>billing page</a>.",
|
||||||
"copiedToClipboard": "Copied to clipboard",
|
"copiedToClipboard": "Copied to clipboard",
|
||||||
"viewAll": "View All"
|
"viewAll": "View All",
|
||||||
|
"pending": "Pending"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
|
import { CalendarIcon } from "lucide-react";
|
||||||
|
|
||||||
import { UserScheduledEvents } from "@/app/[locale]/(admin)/events/user-scheduled-events";
|
import { UserScheduledEvents } from "@/app/[locale]/(admin)/events/user-scheduled-events";
|
||||||
import { Params } from "@/app/[locale]/types";
|
import { Params } from "@/app/[locale]/types";
|
||||||
import {
|
import {
|
||||||
PageContainer,
|
PageContainer,
|
||||||
PageContent,
|
PageContent,
|
||||||
PageHeader,
|
PageHeader,
|
||||||
|
PageIcon,
|
||||||
PageTitle,
|
PageTitle,
|
||||||
} from "@/app/components/page-layout";
|
} from "@/app/components/page-layout";
|
||||||
import { getTranslation } from "@/app/i18n";
|
import { getTranslation } from "@/app/i18n";
|
||||||
|
@ -13,13 +16,14 @@ export default async function Page({ params }: { params: Params }) {
|
||||||
return (
|
return (
|
||||||
<PageContainer>
|
<PageContainer>
|
||||||
<PageHeader>
|
<PageHeader>
|
||||||
<div className="flex items-center gap-x-3">
|
<PageIcon>
|
||||||
<PageTitle>
|
<CalendarIcon />
|
||||||
{t("events", {
|
</PageIcon>
|
||||||
defaultValue: "Events",
|
<PageTitle>
|
||||||
})}
|
{t("events", {
|
||||||
</PageTitle>
|
defaultValue: "Events",
|
||||||
</div>
|
})}
|
||||||
|
</PageTitle>
|
||||||
</PageHeader>
|
</PageHeader>
|
||||||
<PageContent>
|
<PageContent>
|
||||||
<UserScheduledEvents />
|
<UserScheduledEvents />
|
||||||
|
|
|
@ -7,6 +7,7 @@ import {
|
||||||
PageContainer,
|
PageContainer,
|
||||||
PageContent,
|
PageContent,
|
||||||
PageHeader,
|
PageHeader,
|
||||||
|
PageIcon,
|
||||||
PageTitle,
|
PageTitle,
|
||||||
} from "@/app/components/page-layout";
|
} from "@/app/components/page-layout";
|
||||||
import { getTranslation } from "@/app/i18n";
|
import { getTranslation } from "@/app/i18n";
|
||||||
|
@ -17,6 +18,9 @@ export default async function Page({ params }: { params: Params }) {
|
||||||
<div>
|
<div>
|
||||||
<PageContainer>
|
<PageContainer>
|
||||||
<PageHeader>
|
<PageHeader>
|
||||||
|
<PageIcon>
|
||||||
|
<HomeIcon />
|
||||||
|
</PageIcon>
|
||||||
<PageTitle>
|
<PageTitle>
|
||||||
<Trans t={t} i18nKey="home" defaults="Home" />
|
<Trans t={t} i18nKey="home" defaults="Home" />
|
||||||
</PageTitle>
|
</PageTitle>
|
||||||
|
@ -28,16 +32,3 @@ export default async function Page({ params }: { params: Params }) {
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function generateMetadata({
|
|
||||||
params,
|
|
||||||
}: {
|
|
||||||
params: { locale: string };
|
|
||||||
}) {
|
|
||||||
const { t } = await getTranslation(params.locale);
|
|
||||||
return {
|
|
||||||
title: t("home", {
|
|
||||||
defaultValue: "Home",
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
|
@ -21,16 +21,14 @@ export default async function Page({
|
||||||
return (
|
return (
|
||||||
<PageContainer>
|
<PageContainer>
|
||||||
<PageHeader>
|
<PageHeader>
|
||||||
<div className="flex items-center gap-x-3">
|
<PageIcon>
|
||||||
<PageIcon>
|
<BarChart2Icon />
|
||||||
<BarChart2Icon />
|
</PageIcon>
|
||||||
</PageIcon>
|
<PageTitle>
|
||||||
<PageTitle>
|
{t("polls", {
|
||||||
{t("polls", {
|
defaultValue: "Polls",
|
||||||
defaultValue: "Polls",
|
})}
|
||||||
})}
|
</PageTitle>
|
||||||
</PageTitle>
|
|
||||||
</div>
|
|
||||||
</PageHeader>
|
</PageHeader>
|
||||||
<PageContent>
|
<PageContent>
|
||||||
<UserPolls />
|
<UserPolls />
|
||||||
|
|
|
@ -68,8 +68,8 @@ function FilteredPolls({ status }: { status: PollStatus }) {
|
||||||
status={poll.status}
|
status={poll.status}
|
||||||
inviteLink={`${window.location.origin}/invite/${poll.id}`}
|
inviteLink={`${window.location.origin}/invite/${poll.id}`}
|
||||||
responseCount={poll.participants.length}
|
responseCount={poll.participants.length}
|
||||||
dateStart={poll.createdAt}
|
dateStart={poll.dateRange.start}
|
||||||
dateEnd={poll.createdAt}
|
dateEnd={poll.dateRange.end}
|
||||||
/>
|
/>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -64,9 +64,9 @@ export function Sidebar() {
|
||||||
const posthog = usePostHog();
|
const posthog = usePostHog();
|
||||||
return (
|
return (
|
||||||
<nav className="flex flex-1 flex-col ">
|
<nav className="flex flex-1 flex-col ">
|
||||||
<ul role="list" className="flex flex-1 flex-col gap-y-7">
|
<ul role="list" className="flex flex-1 flex-col gap-y-8">
|
||||||
<li>
|
<li>
|
||||||
<ul role="list" className="-mx-2 space-y-1">
|
<ul role="list" className="-mx-2 space-y-2">
|
||||||
<li>
|
<li>
|
||||||
<NavItem current={pathname === "/"} href="/" icon={HomeIcon}>
|
<NavItem current={pathname === "/"} href="/" icon={HomeIcon}>
|
||||||
<Trans i18nKey="home" defaults="Home" />
|
<Trans i18nKey="home" defaults="Home" />
|
||||||
|
|
|
@ -19,7 +19,7 @@ export function PageIcon({
|
||||||
className?: string;
|
className?: string;
|
||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<div className={cn("hidden", className)}>
|
<div className={cn("hidden rounded-md border bg-gray-50 p-2", className)}>
|
||||||
<Slot className="size-4">{children}</Slot>
|
<Slot className="size-4">{children}</Slot>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
@ -43,7 +43,9 @@ export function PageHeader({
|
||||||
className?: string;
|
className?: string;
|
||||||
variant?: "default" | "ghost";
|
variant?: "default" | "ghost";
|
||||||
}) {
|
}) {
|
||||||
return <div className={cn(className)}>{children}</div>;
|
return (
|
||||||
|
<div className={cn("flex items-center gap-x-4", className)}>{children}</div>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function PageSection({ children }: { children?: React.ReactNode }) {
|
export function PageSection({ children }: { children?: React.ReactNode }) {
|
||||||
|
|
|
@ -24,14 +24,6 @@ export function Subheading({
|
||||||
className,
|
className,
|
||||||
}: React.PropsWithChildren<{ className?: string }>) {
|
}: React.PropsWithChildren<{ className?: string }>) {
|
||||||
return (
|
return (
|
||||||
<h2
|
<h2 className={cn("text-base font-semibold", className)}>{children}</h2>
|
||||||
className={cn(
|
|
||||||
"text-base font-semibold text-gray-900",
|
|
||||||
heading.className,
|
|
||||||
className,
|
|
||||||
)}
|
|
||||||
>
|
|
||||||
{children}
|
|
||||||
</h2>
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ import { cn } from "./lib/utils";
|
||||||
|
|
||||||
const buttonVariants = cva(
|
const buttonVariants = cva(
|
||||||
cn(
|
cn(
|
||||||
"inline-flex border font-medium disabled:pointer-events-none select-none disabled:opacity-50 items-center justify-center whitespace-nowrap border",
|
"inline-flex border transition-colors font-medium disabled:pointer-events-none select-none disabled:opacity-50 items-center justify-center whitespace-nowrap border",
|
||||||
"focus-visible:ring-offset-input-background",
|
"focus-visible:ring-offset-input-background",
|
||||||
"focus:shadow-none",
|
"focus:shadow-none",
|
||||||
),
|
),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue