Dev #3

Merged
sandrodach merged 30 commits from dev into main 2026-10-25 18:00:10 +01:00
5 changed files with 14 additions and 5 deletions
Showing only changes of commit e2772d99ea - Show all commits

No files matched your search

@@ -529,6 +529,8 @@ export const SharedListsView: React.FC<SharedListsViewProps> = ({ onRefreshGloba
const isShared = const isShared =
(activeSpace.shares && activeSpace.shares.length > 0) || (activeSpace.shares && activeSpace.shares.length > 0) ||
(activeSpace.members && activeSpace.members.length > 1); (activeSpace.members && activeSpace.members.length > 1);
const ownerMember = activeSpace.members?.find((m) => m.role === 'owner' || m.userId === activeSpace.ownerId);
const ownerDisplayName = activeSpace.ownerName || ownerMember?.displayName || ownerMember?.email || 'Eigentümer';
return ( return (
<div className="flex items-center gap-1.5"> <div className="flex items-center gap-1.5">
@@ -551,7 +553,7 @@ export const SharedListsView: React.FC<SharedListsViewProps> = ({ onRefreshGloba
title="Teilen & Berechtigungen öffnen" title="Teilen & Berechtigungen öffnen"
> >
<Users className="w-2.5 h-2.5" /> <Users className="w-2.5 h-2.5" />
<span>Geteilt von {activeSpace.ownerName || 'Eigentümer'}</span> <span>Geteilt von {ownerDisplayName}</span>
</button> </button>
) )
)} )}
+6 -3
View File
@@ -948,11 +948,14 @@ export const TasksView: React.FC<TasksViewProps> = ({
{/* Right Header Section: Sharing Badge, Icon-Only Button & View Switcher */} {/* Right Header Section: Sharing Badge, Icon-Only Button & View Switcher */}
<div className="flex items-center gap-2"> <div className="flex items-center gap-2">
{currentSelectedList && (() => { {currentSelectedList && (() => {
const isOwner = !currentSelectedList.ownerId || currentSelectedList.ownerId === currentUser?.id; const listOwnerId = currentSelectedList.ownerId || currentSelectedList.userId;
const isOwner = currentSelectedList.isOwner !== false && (!listOwnerId || listOwnerId === currentUser?.id);
const sharesCount = (currentSelectedList.shares?.length || 0) > 0 const sharesCount = (currentSelectedList.shares?.length || 0) > 0
? currentSelectedList.shares.length ? currentSelectedList.shares.length
: (currentSelectedList.members?.filter((m) => m.userId !== currentSelectedList.ownerId).length || 0); : (currentSelectedList.members?.filter((m) => m.userId !== listOwnerId).length || 0);
const isShared = sharesCount > 0 || Boolean(currentSelectedList.teamId) || ((currentSelectedList.members?.length || 0) > 1); const isShared = sharesCount > 0 || Boolean(currentSelectedList.teamId) || ((currentSelectedList.members?.length || 0) > 1);
const ownerMember = currentSelectedList.members?.find((m) => m.role === 'owner' || m.userId === listOwnerId);
const ownerDisplayName = currentSelectedList.ownerName || ownerMember?.displayName || ownerMember?.email || 'Eigentümer';
return ( return (
<div className="flex items-center gap-1.5"> <div className="flex items-center gap-1.5">
@@ -975,7 +978,7 @@ export const TasksView: React.FC<TasksViewProps> = ({
title="Teilen & Berechtigungen öffnen" title="Teilen & Berechtigungen öffnen"
> >
<Users className="w-2.5 h-2.5" /> <Users className="w-2.5 h-2.5" />
<span>Geteilt von {currentSelectedList.ownerName || 'Eigentümer'}</span> <span>Geteilt von {ownerDisplayName}</span>
</button> </button>
) )
)} )}
@@ -4512,7 +4512,7 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
) : ( ) : (
<div className="space-y-1.5 max-h-56 overflow-y-auto"> <div className="space-y-1.5 max-h-56 overflow-y-auto">
{docShares.map((share) => { {docShares.map((share) => {
const isTeam = share.targetType === 'team' || Boolean(share.teamId) || String(share.targetId || '').startsWith('team_'); const isTeam = share.targetType === 'team' || Boolean((share as any).teamId) || String(share.targetId || '').startsWith('team_');
const targetKey = share.targetId || share.userId || share.id; const targetKey = share.targetId || share.userId || share.id;
return ( return (
<div <div
+1
View File
@@ -13,6 +13,7 @@ import {
SharedList, SharedList,
Space, Space,
SpaceMember, SpaceMember,
SpaceShare,
SystemSettings, SystemSettings,
Team, Team,
TaskList, TaskList,
+3
View File
@@ -95,6 +95,7 @@ export interface TaskList {
spaceName?: string; spaceName?: string;
teamId?: string; teamId?: string;
teamName?: string; teamName?: string;
ownerId?: string;
ownerName?: string; ownerName?: string;
isOwner?: boolean; isOwner?: boolean;
members?: TaskListMember[]; members?: TaskListMember[];
@@ -165,6 +166,7 @@ export interface DocShare {
targetType?: 'user' | 'team'; targetType?: 'user' | 'team';
targetId?: string; targetId?: string;
targetName?: string; targetName?: string;
teamId?: string;
userId?: string; userId?: string;
userEmail?: string; userEmail?: string;
displayName?: string; displayName?: string;
@@ -260,6 +262,7 @@ export interface Space {
inviteCode: string; inviteCode: string;
isPersonal: boolean; isPersonal: boolean;
ownerId: string; ownerId: string;
ownerName?: string;
members?: SpaceMember[]; members?: SpaceMember[];
shares?: SpaceShare[]; shares?: SpaceShare[];
listsCount: number; listsCount: number;