feat: integrate user team retrieval into session components, enhancing sharing functionality and user experience across motivators, sessions, weekly check-ins, and year reviews
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 2m35s
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 2m35s
This commit is contained in:
@@ -3,7 +3,9 @@
|
||||
import { useState, useCallback } from 'react';
|
||||
import { useYearReviewLive, type YearReviewLiveEvent } from '@/hooks/useYearReviewLive';
|
||||
import { LiveIndicator } from '@/components/collaboration/LiveIndicator';
|
||||
import { YearReviewShareModal } from './YearReviewShareModal';
|
||||
import { ShareModal } from '@/components/collaboration/ShareModal';
|
||||
import { shareYearReviewSession, removeYearReviewShare } from '@/actions/year-review';
|
||||
import type { TeamWithMembers } from '@/lib/share-utils';
|
||||
import { Button } from '@/components/ui/Button';
|
||||
import { Avatar } from '@/components/ui/Avatar';
|
||||
import type { ShareRole } from '@prisma/client';
|
||||
@@ -28,6 +30,7 @@ interface YearReviewLiveWrapperProps {
|
||||
shares: Share[];
|
||||
isOwner: boolean;
|
||||
canEdit: boolean;
|
||||
userTeams?: TeamWithMembers[];
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
@@ -38,6 +41,7 @@ export function YearReviewLiveWrapper({
|
||||
shares,
|
||||
isOwner,
|
||||
canEdit,
|
||||
userTeams = [],
|
||||
children,
|
||||
}: YearReviewLiveWrapperProps) {
|
||||
const [shareModalOpen, setShareModalOpen] = useState(false);
|
||||
@@ -119,13 +123,25 @@ export function YearReviewLiveWrapper({
|
||||
<div className={!canEdit ? 'pointer-events-none opacity-90' : ''}>{children}</div>
|
||||
|
||||
{/* Share Modal */}
|
||||
<YearReviewShareModal
|
||||
<ShareModal
|
||||
isOpen={shareModalOpen}
|
||||
onClose={() => setShareModalOpen(false)}
|
||||
sessionId={sessionId}
|
||||
title="Partager le bilan"
|
||||
sessionSubtitle="Bilan annuel"
|
||||
sessionTitle={sessionTitle}
|
||||
shares={shares}
|
||||
isOwner={isOwner}
|
||||
userTeams={userTeams}
|
||||
currentUserId={currentUserId}
|
||||
onShareWithEmail={(email, role) => shareYearReviewSession(sessionId, email, role)}
|
||||
onRemoveShare={(userId) => removeYearReviewShare(sessionId, userId)}
|
||||
helpText={
|
||||
<>
|
||||
<strong>Éditeur</strong> : peut modifier les items et leurs catégories
|
||||
<br />
|
||||
<strong>Lecteur</strong> : peut uniquement consulter
|
||||
</>
|
||||
}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user