forked from github/plane
f27efb80e1
* dev: create email notification preference model * dev: intiate models * dev: user notification preferences * dev: create notification logs for the user. * dev: email notification stacking and sending logic * feat: email notification preference settings page. * dev: delete subscribers * dev: issue update ui implementation in email notification * chore: integrate email notification endpoint. * chore: remove toggle switch. * chore: added labels part * fix: refactored base design with tables * dev: email notification templates * dev: template updates * dev: update models * dev: update template for labels and new migrations * fix: profile settings preference sidebar. * dev: update preference endpoints * dev: update the schedule to 5 minutes * dev: update template with priority data * dev: update templates * chore: enable `issue subscribe` button for all users. * chore: notification handling for external api * dev: update origin request --------- Co-authored-by: Prateek Shourya <prateekshourya29@gmail.com> Co-authored-by: LAKHAN BAHETI <lakhanbaheti9@gmail.com> Co-authored-by: Ramesh Kumar Chandra <rameshkumar2299@gmail.com> Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
import React from "react";
|
|
import { useRouter } from "next/router";
|
|
import Link from "next/link";
|
|
|
|
export const ProfilePreferenceSettingsSidebar = () => {
|
|
const router = useRouter();
|
|
|
|
const profilePreferenceLinks: Array<{
|
|
label: string;
|
|
href: string;
|
|
}> = [
|
|
{
|
|
label: "Theme",
|
|
href: `/profile/preferences/theme`,
|
|
},
|
|
{
|
|
label: "Email",
|
|
href: `/profile/preferences/email`,
|
|
},
|
|
];
|
|
return (
|
|
<div className="flex w-96 flex-col gap-6 px-8 py-12">
|
|
<div className="flex flex-col gap-4">
|
|
<span className="text-xs font-semibold text-custom-text-400">Preference</span>
|
|
<div className="flex w-full flex-col gap-2">
|
|
{profilePreferenceLinks.map((link) => (
|
|
<Link key={link.href} href={link.href}>
|
|
<div
|
|
className={`rounded-md px-4 py-2 text-sm font-medium ${
|
|
(link.label === "Import" ? router.asPath.includes(link.href) : router.asPath === link.href)
|
|
? "bg-custom-primary-100/10 text-custom-primary-100"
|
|
: "text-custom-sidebar-text-200 hover:bg-custom-sidebar-background-80 focus:bg-custom-sidebar-background-80"
|
|
}`}
|
|
>
|
|
{link.label}
|
|
</div>
|
|
</Link>
|
|
))}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
);
|
|
};
|