feat(mobile): UI-03 forms and collaboration pages (09-12)
- Page 09 create: grouped form (Event details / Description & languages), required default-language selector, zh-CN/en tabs with per-locale title/description/venue/address, explicit timezone field, bottom save button kept keyboard-reachable, create mode has no Access tab - Page 10 edit: Details/Access tabs sharing one draft; Access has four switches with explanations; original downloads constrained by downloads (disabled + forced off in PATCH); unsaved-changes PopScope confirm; save commits all changes in one minimal PATCH - Page 11 members: Owner group + Collaborators list with initial avatars and per-row remove; full-width Invite colleague opens account-search bottom sheet (debounced prefix search, race guard, already-added state); remove confirm names the member - Page 12 categories: extracted to standalone page with per-row edit/ delete menu and New category sheet (language tabs + name + sort order); delete confirm mentions photo impact; collaborator browse-only; old inline section removed from album detail - l10n: new form/members/categories keys both locales; regenerated - tests: form 14, members 6, categories 7, detail nav 1; full suite green Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -66,28 +66,40 @@
|
||||
"albumsEmpty": "No albums yet. Tap \"Create album\" to get started",
|
||||
"loadMoreFailed": "Failed to load more. Tap to retry",
|
||||
"albumCreate": "Create album",
|
||||
"albumEdit": "Edit album",
|
||||
"albumSectionEventInfo": "Event info",
|
||||
"albumSectionContent": "Multilingual content",
|
||||
"albumSectionAccess": "Access settings",
|
||||
"albumTitle": "Title",
|
||||
"albumDescription": "Description",
|
||||
"albumVenue": "Venue",
|
||||
"albumAddress": "Address",
|
||||
"albumDefaultLocale": "Default locale",
|
||||
"albumStartAt": "Start time",
|
||||
"albumEndAtOptional": "End time (optional)",
|
||||
"clearEndAt": "Clear end time",
|
||||
"albumTimezone": "Timezone",
|
||||
"albumTimezoneInvalid": "Invalid IANA timezone name",
|
||||
"switchUpload": "Allow uploads",
|
||||
"switchPublic": "Publicly visible",
|
||||
"switchDownload": "Allow downloads",
|
||||
"switchOriginalDownload": "Allow original downloads",
|
||||
"formStartAtRequired": "Pick a start time",
|
||||
"formDefaultLocaleMissing": "Default locale must have a title",
|
||||
"formTitleRequiredWithFields": "Title is required when description, venue or address is filled",
|
||||
"formEndAtNotAfterStartAt": "End time must be after start time",
|
||||
"formEventDetails": "Event details",
|
||||
"formDescriptionLanguages": "Description & languages",
|
||||
"formDefaultLanguage": "Default language",
|
||||
"formDetailsTab": "Details",
|
||||
"formAccessTab": "Access",
|
||||
"formAllowUploads": "Allow uploads",
|
||||
"formAllowUploadsDesc": "Allow staff to upload photos to this album",
|
||||
"formPublicAccess": "Public access",
|
||||
"formPublicAccessDesc": "Anyone with the link can view photos",
|
||||
"formAllowDownloads": "Allow downloads",
|
||||
"formAllowDownloadsDesc": "Viewers can download browse-quality photos",
|
||||
"formOriginalDownloads": "Original downloads",
|
||||
"formOriginalDownloadsDesc": "Viewers can download original photos",
|
||||
"createAlbumTitle": "Create album",
|
||||
"createAlbumSubmit": "Create album",
|
||||
"editAlbumTitle": "Edit album",
|
||||
"saveChanges": "Save changes",
|
||||
"unsavedChangesTitle": "Discard changes?",
|
||||
"unsavedChangesBody": "Your edits are not saved yet. Leaving now will discard them.",
|
||||
"discardChanges": "Discard",
|
||||
"keepEditing": "Keep editing",
|
||||
"create": "Create",
|
||||
"save": "Save",
|
||||
"albumStatusActive": "Active",
|
||||
@@ -98,27 +110,36 @@
|
||||
"tagOriginal": "Original",
|
||||
"notSet": "Not set",
|
||||
"actionEdit": "Edit",
|
||||
"albumMembers": "Members",
|
||||
"membersTitle": "Members",
|
||||
"membersTitleCount": "Members ({count})",
|
||||
"@membersTitleCount": { "placeholders": { "count": { "type": "int" } } },
|
||||
"ownerGroup": "Owner",
|
||||
"collaboratorsGroup": "Collaborators",
|
||||
"noCollaborators": "No collaborators yet",
|
||||
"inviteColleague": "Invite colleague",
|
||||
"alreadyAdded": "Already added",
|
||||
"add": "Add",
|
||||
"categoriesTitle": "Categories",
|
||||
"newCategory": "New category",
|
||||
"editCategory": "Edit category",
|
||||
"deleteCategoryConfirm": "Delete \"{name}\"? Its photos will become uncategorized.",
|
||||
"@deleteCategoryConfirm": { "placeholders": { "name": { "type": "String" } } },
|
||||
"noCategories": "No categories yet",
|
||||
"albumCategories": "Categories",
|
||||
"shareQrTitle": "Share QR code",
|
||||
"albumPhotos": "Photos",
|
||||
"delete": "Delete",
|
||||
"deleteConfirmCategory": "Delete this category? Its photos will become uncategorized.",
|
||||
"categoryEmpty": "No categories yet. Tap + to add one",
|
||||
"categoryAdd": "Add category",
|
||||
"categoryEdit": "Edit category",
|
||||
"categoryNameZh": "Chinese name",
|
||||
"categoryNameEn": "English name",
|
||||
"categorySortOrder": "Sort order",
|
||||
"categoryNameRequired": "At least one language name is required",
|
||||
"categorySortOrderInvalid": "Sort order must be an integer",
|
||||
"albumMembersEmpty": "No members yet",
|
||||
"inviteSearchHint": "Search by account prefix to invite (at least 2 characters)",
|
||||
"inviteNoResults": "No matching users",
|
||||
"invite": "Invite",
|
||||
"memberInvited": "Invited",
|
||||
"removeMember": "Remove member",
|
||||
"removeMemberConfirm": "Remove this member?",
|
||||
"removeMemberConfirm": "Remove {name} from this album?",
|
||||
"@removeMemberConfirm": { "placeholders": { "name": { "type": "String" } } },
|
||||
"roleOwner": "Owner",
|
||||
"roleCollaborator": "Collaborator",
|
||||
"selfMarker": " (you)",
|
||||
|
||||
Reference in New Issue
Block a user