feat: bulk delete, team dispatch, calendar views, timeline colors
Deploy / deploy (push) Successful in 11s
Deploy / deploy (push) Successful in 11s
- Multi-select bulk delete in all 5 list views (Artefacts, Posts, Tasks, Issues, Assets) with cascade deletes and confirmation modals - Team-based issue dispatch: team picker on public issue form, team filter on Issues page, copy public link from Team page and Issues header, team assignment in IssueDetailPanel - Month/Week toggle on PostCalendar and TaskCalendarView - Month/Week/Day zoom on project and campaign timelines (InteractiveTimeline) and ProjectDetail GanttView, with Month as default - Custom timeline bar colors: clickable color dot with 12-color palette popover on project, campaign, and task timeline bars - Artefacts default view changed to list - BulkSelectBar reusable component - i18n keys for all new features (en + ar) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+158
-1
@@ -486,5 +486,162 @@
|
||||
"artefacts.sortRecentlyUpdated": "Recently Updated",
|
||||
"artefacts.sortNewest": "Newest First",
|
||||
"artefacts.sortOldest": "Oldest First",
|
||||
"artefacts.sortTitleAZ": "Title A-Z"
|
||||
"artefacts.sortTitleAZ": "Title A-Z",
|
||||
|
||||
"login.initialSetup": "Initial Setup",
|
||||
"login.initialSetupDesc": "Create your admin account to get started",
|
||||
"login.createAccount": "Create Account",
|
||||
"login.signIn": "Sign In",
|
||||
"login.fullName": "Full Name",
|
||||
"login.fullNamePlaceholder": "Your name",
|
||||
"login.email": "Email",
|
||||
"login.password": "Password",
|
||||
"login.passwordPlaceholder": "Choose a strong password",
|
||||
"login.confirmPassword": "Confirm Password",
|
||||
"login.confirmPasswordPlaceholder": "Re-enter your password",
|
||||
"login.passwordMismatch": "Passwords do not match",
|
||||
"login.setupFailed": "Setup failed",
|
||||
"login.accountCreated": "Account created. You can now log in.",
|
||||
"login.welcomeBack": "Welcome Back",
|
||||
"login.signInDesc": "Sign in to continue",
|
||||
"login.invalidCredentials": "Invalid email or password",
|
||||
"login.creatingAccount": "Creating account...",
|
||||
|
||||
"users.title": "User Management",
|
||||
"users.addUser": "Add User",
|
||||
"users.addNewUser": "Add New User",
|
||||
"users.editUser": "Edit User",
|
||||
"users.deleteUser": "Delete User",
|
||||
"users.deleteUserConfirmTitle": "Delete User?",
|
||||
"users.deleteConfirm": "Are you sure you want to delete this user? This action cannot be undone.",
|
||||
"users.userSingular": "user",
|
||||
"users.usersPlural": "users",
|
||||
"users.noUsers": "No users found",
|
||||
"users.you": "You",
|
||||
"users.name": "Name",
|
||||
"users.fullNamePlaceholder": "Full name",
|
||||
"users.email": "Email",
|
||||
"users.password": "Password",
|
||||
"users.confirmPassword": "Confirm Password",
|
||||
"users.role": "Role",
|
||||
"users.created": "Created",
|
||||
"users.actions": "Actions",
|
||||
"users.leaveBlankToKeep": "leave blank to keep current",
|
||||
"users.saveChanges": "Save Changes",
|
||||
"users.passwordMismatch": "Passwords do not match",
|
||||
"users.passwordRequired": "Password is required for new users",
|
||||
"users.saveFailed": "Failed to save user",
|
||||
"users.deleteFailed": "Failed to delete user",
|
||||
|
||||
"settings.saveFailed": "Failed to save",
|
||||
"settings.restartTutorialFailed": "Failed to restart tutorial",
|
||||
|
||||
"artefacts.title": "Artefacts",
|
||||
"artefacts.subtitle": "Content approval workflow with versioning",
|
||||
"artefacts.newArtefact": "New Artefact",
|
||||
"artefacts.createArtefact": "Create Artefact",
|
||||
"artefacts.searchArtefacts": "Search artefacts...",
|
||||
"artefacts.allBrands": "All Brands",
|
||||
"artefacts.allStatuses": "All Statuses",
|
||||
"artefacts.allTypes": "All Types",
|
||||
"artefacts.noArtefacts": "No artefacts found",
|
||||
"artefacts.titleLabel": "Title",
|
||||
"artefacts.titlePlaceholder": "Artefact title",
|
||||
"artefacts.type": "Type",
|
||||
"artefacts.status": "Status",
|
||||
"artefacts.brand": "Brand",
|
||||
"artefacts.creator": "Creator",
|
||||
"artefacts.approvers": "Approvers",
|
||||
"artefacts.version": "Version",
|
||||
"artefacts.updated": "Updated",
|
||||
"artefacts.description": "Description",
|
||||
"artefacts.descriptionPlaceholder": "Brief description",
|
||||
"artefacts.titleRequired": "Title is required",
|
||||
"artefacts.created": "Artefact created",
|
||||
"artefacts.createFailed": "Failed to create artefact",
|
||||
"artefacts.deleted": "Artefact deleted",
|
||||
"artefacts.deleteFailed": "Failed to delete artefact",
|
||||
"artefacts.loadFailed": "Failed to load artefacts",
|
||||
"artefacts.creating": "Creating...",
|
||||
"artefacts.status.draft": "Draft",
|
||||
"artefacts.status.pendingReview": "Pending Review",
|
||||
"artefacts.status.approved": "Approved",
|
||||
"artefacts.status.rejected": "Rejected",
|
||||
"artefacts.status.revisionRequested": "Revision Requested",
|
||||
|
||||
"review.contentReview": "Content Review",
|
||||
"review.yourReview": "Your Review",
|
||||
"review.approve": "Approve",
|
||||
"review.reject": "Reject",
|
||||
"review.requestRevision": "Request Revision",
|
||||
"review.reviewer": "Reviewer",
|
||||
"review.selectYourName": "Select your name...",
|
||||
"review.enterYourName": "Enter your name",
|
||||
"review.feedbackOptional": "Feedback (optional)",
|
||||
"review.feedbackPlaceholder": "Share your thoughts, suggestions, or required changes...",
|
||||
"review.thankYou": "Thank You!",
|
||||
"review.notAvailable": "Review Not Available",
|
||||
"review.alreadyReviewed": "This artefact has already been reviewed.",
|
||||
"review.statusLabel": "Status",
|
||||
"review.reviewedBy": "Reviewed by",
|
||||
"review.poweredBy": "Powered by Samaya Digital Hub",
|
||||
"review.loadFailed": "Failed to load artefact",
|
||||
"review.actionFailed": "Action failed",
|
||||
"review.actionCompleted": "Action completed successfully",
|
||||
"review.enterName": "Please select or enter your name",
|
||||
"review.confirmApprove": "Approve this artefact?",
|
||||
"review.confirmReject": "Reject this artefact?",
|
||||
"review.feedbackRequired": "Please provide feedback for revision request",
|
||||
"review.contentLanguages": "Content Languages",
|
||||
"review.content": "Content",
|
||||
"review.designFiles": "Design Files",
|
||||
"review.videos": "Videos",
|
||||
"review.googleDriveVideo": "Google Drive Video",
|
||||
"review.attachments": "Attachments",
|
||||
"review.previousComments": "Previous Comments",
|
||||
"review.version": "Version",
|
||||
|
||||
"common.failedToSave": "Failed to save",
|
||||
"common.copiedToClipboard": "Copied to clipboard!",
|
||||
"team.failedToSaveTeam": "Failed to save team",
|
||||
"posts.canOnlyEditOwn": "You can only edit your own posts",
|
||||
"assets.uploadFailed": "Upload failed",
|
||||
"assets.failedToDelete": "Failed to delete asset",
|
||||
"issues.failedToAddComment": "Failed to add comment",
|
||||
"issues.failedToUploadFile": "Failed to upload file",
|
||||
"issues.failedToSubmit": "Failed to submit issue. Please try again.",
|
||||
"issues.failedToUpdateStatus": "Failed to update status",
|
||||
"issues.failedToResolve": "Failed to resolve issue",
|
||||
"issues.failedToDecline": "Failed to decline issue",
|
||||
"issues.failedToUpdateAssignment": "Failed to update assignment",
|
||||
"issues.failedToSaveNotes": "Failed to save notes",
|
||||
"issues.failedToAddUpdate": "Failed to add update",
|
||||
"issues.failedToDeleteAttachment": "Failed to delete attachment",
|
||||
"issues.trackingLinkCopied": "Tracking link copied to clipboard!",
|
||||
"issues.deleteAttachment": "Delete attachment?",
|
||||
"issues.deleteAttachmentDesc": "This action cannot be undone.",
|
||||
"artefacts.deleteLanguage": "Delete this language?",
|
||||
"artefacts.deleteLanguageDesc": "The content for this language will be removed.",
|
||||
"artefacts.deleteAttachment": "Delete this attachment?",
|
||||
"artefacts.deleteAttachmentDesc": "This action cannot be undone.",
|
||||
"artefacts.deleteArtefact": "Delete this artefact?",
|
||||
"artefacts.deleteArtefactDesc": "This action cannot be undone.",
|
||||
"review.confirmApproveDesc": "Are you sure you want to approve this artefact?",
|
||||
"review.confirmRejectDesc": "Are you sure you want to reject this artefact?",
|
||||
|
||||
"common.selected": "selected",
|
||||
"common.deleteSelected": "Delete Selected",
|
||||
"common.clearSelection": "Clear selection",
|
||||
"common.bulkDeleteConfirm": "Delete {count} items?",
|
||||
"common.bulkDeleteDesc": "This action cannot be undone.",
|
||||
"common.selectAll": "Select all",
|
||||
|
||||
"issues.team": "Team",
|
||||
"issues.allTeams": "All Teams",
|
||||
"issues.copyPublicLink": "Copy Public Link",
|
||||
"issues.linkCopied": "Link copied!",
|
||||
"issues.selectTeam": "Select a team",
|
||||
"issues.publicSubmitTeam": "Which team should handle your issue?",
|
||||
"team.copyIssueLink": "Copy Issue Link",
|
||||
"team.copyGenericIssueLink": "Copy Public Issue Link"
|
||||
}
|
||||
Reference in New Issue
Block a user