wedding-planner-frontend/app/ui/guests/affinity-groups-tree.tsx

89 lines
2.8 KiB
TypeScript
Raw Normal View History

'use client'
import React, { useState, useEffect } from 'react';
import { Tree } from 'primereact/tree';
import { PrimeIcons } from 'primereact/api';
export default function AffinityGroupsTree() {
const [nodes, setNodes] = useState(
[
{
key: 1,
label: "Lilly's guests",
icon: PrimeIcons.HEART,
draggable: false,
children: [
{
key: 11,
label: "Family",
icon: PrimeIcons.HOME,
leaf: true,
className: "px-4",
},
{
key: 12,
label: "Country club",
icon: PrimeIcons.SUN,
className: "px-4",
},
{
key: 13,
label: "Work",
icon: PrimeIcons.DESKTOP,
className: "px-4",
},
]
},
{
key: 2,
label: "Dave's guests",
icon: PrimeIcons.HEART_FILL,
draggable: false,
children: [
{
key: 21,
label: "Family",
icon: PrimeIcons.HOME,
leaf: true,
className: "px-4",
},
{
key: 22,
label: "College friends",
icon: PrimeIcons.GRADUATION_CAP,
leaf: true,
className: "px-4",
},
]
},
{
key: 3,
label: "Common guests",
icon: PrimeIcons.USERS,
draggable: false,
children: [
{
key: 31,
label: "Common workplace",
icon: PrimeIcons.BRIEFCASE,
leaf: true,
className: "px-4",
},
{
key: 32,
label: "Lifetime friends",
icon: PrimeIcons.STAR,
leaf: true,
className: "px-4",
},
]
}
]);
return (
<div className="card flex justify-content-center">
<Tree value={nodes} dragdropScope="affinity-groups" onDragDrop={(e) => setNodes(e.value)} className="w-full md:w-30rem" />
</div>
)
}