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 =
(activeSpace.shares && activeSpace.shares.length > 0) ||
(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 (
<div className="flex items-center gap-1.5">
@@ -551,7 +553,7 @@ export const SharedListsView: React.FC<SharedListsViewProps> = ({ onRefreshGloba
title="Teilen & Berechtigungen öffnen"
>
<Users className="w-2.5 h-2.5" />
<span>Geteilt von {activeSpace.ownerName || 'Eigentümer'}</span>
<span>Geteilt von {ownerDisplayName}</span>
</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 */}
<div className="flex items-center gap-2">
{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
? 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 ownerMember = currentSelectedList.members?.find((m) => m.role === 'owner' || m.userId === listOwnerId);
const ownerDisplayName = currentSelectedList.ownerName || ownerMember?.displayName || ownerMember?.email || 'Eigentümer';
return (
<div className="flex items-center gap-1.5">
@@ -975,7 +978,7 @@ export const TasksView: React.FC<TasksViewProps> = ({
title="Teilen & Berechtigungen öffnen"
>
<Users className="w-2.5 h-2.5" />
<span>Geteilt von {currentSelectedList.ownerName || 'Eigentümer'}</span>
<span>Geteilt von {ownerDisplayName}</span>
</button>
)
)}
@@ -4512,7 +4512,7 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
) : (
<div className="space-y-1.5 max-h-56 overflow-y-auto">
{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;
return (
<div
+1
View File
@@ -13,6 +13,7 @@ import {
SharedList,
Space,
SpaceMember,
SpaceShare,
SystemSettings,
Team,
TaskList,
+3
View File
@@ -95,6 +95,7 @@ export interface TaskList {
spaceName?: string;
teamId?: string;
teamName?: string;
ownerId?: string;
ownerName?: string;
isOwner?: boolean;
members?: TaskListMember[];
@@ -165,6 +166,7 @@ export interface DocShare {
targetType?: 'user' | 'team';
targetId?: string;
targetName?: string;
teamId?: string;
userId?: string;
userEmail?: string;
displayName?: string;
@@ -260,6 +262,7 @@ export interface Space {
inviteCode: string;
isPersonal: boolean;
ownerId: string;
ownerName?: string;
members?: SpaceMember[];
shares?: SpaceShare[];
listsCount: number;