Compare commits

...

5 Commits

Author SHA1 Message Date
Henry
c87d7cea99 chore: gen translations 2025-08-01 22:01:09 +01:00
Henry
46c859bc4e feat: prevent card title from overlapping close button 2025-07-31 13:35:25 +01:00
Henry
05cd9b4a8d feat: add view only badge to public boards 2025-07-31 13:32:30 +01:00
Henry
89061a16d0 feat: fix height of modal and add scrollable content area 2025-07-31 07:04:22 +01:00
Henry
b44599e025 feat: hide dropdown on comments for public boards 2025-07-31 07:03:12 +01:00
17 changed files with 223 additions and 159 deletions

View File

@@ -364,6 +364,7 @@ checksums:
View%20and%20manage%20your%20API%20keys./singular: 88e23ee79056846dd9ce63ceee690549 View%20and%20manage%20your%20API%20keys./singular: 88e23ee79056846dd9ce63ceee690549
View%20and%20manage%20your%20billing%20and%20subscription./singular: 7469502543aac6f02149813546d1cb38 View%20and%20manage%20your%20billing%20and%20subscription./singular: 7469502543aac6f02149813546d1cb38
View%20docs/singular: 43ce54f27bb1e3f1880b56e03ab38871 View%20docs/singular: 43ce54f27bb1e3f1880b56e03ab38871
View%20only/singular: 21f5f7ba3b49050c4f406113479d6a7a
View%20our%20roadmap./singular: 1dd7ec80e1635951b1c90d592d1d07dc View%20our%20roadmap./singular: 1dd7ec80e1635951b1c90d592d1d07dc
View%20workspace/singular: c9e4b789330b08c18ca8db7044409e5f View%20workspace/singular: c9e4b789330b08c18ca8db7044409e5f
Visibility/singular: 1ff412f8fcde0f460acbf11153649646 Visibility/singular: 1ff412f8fcde0f460acbf11153649646

View File

@@ -13,7 +13,7 @@ msgstr ""
"Language-Team: \n" "Language-Team: \n"
"Plural-Forms: \n" "Plural-Forms: \n"
#: src/views/card/components/Comment.tsx:121 #: src/views/card/components/Comment.tsx:123
msgid " (edited)" msgid " (edited)"
msgstr " (bearbeitet)" msgstr " (bearbeitet)"
@@ -48,7 +48,7 @@ msgstr "Eine leistungsstarke, flexible Kanban-App, die dir hilft, Arbeit zu orga
msgid "Account deleted" msgid "Account deleted"
msgstr "Konto gelöscht" msgstr "Konto gelöscht"
#: src/views/public/board/CardModal.tsx:104 #: src/views/public/board/CardModal.tsx:128
#: src/views/card/index.tsx:256 #: src/views/card/index.tsx:256
msgid "Activity" msgid "Activity"
msgstr "Aktivität" msgstr "Aktivität"
@@ -62,7 +62,7 @@ msgid "Add a card"
msgstr "Karte hinzufügen" msgstr "Karte hinzufügen"
#: src/views/card/components/NewCommentForm.tsx:57 #: src/views/card/components/NewCommentForm.tsx:57
#: src/views/card/components/Comment.tsx:144 #: src/views/card/components/Comment.tsx:146
msgid "Add a comment..." msgid "Add a comment..."
msgstr "Kommentar hinzufügen..." msgstr "Kommentar hinzufügen..."
@@ -194,7 +194,7 @@ msgstr "Der Name des Boards darf 100 Zeichen nicht überschreiten"
msgid "Board name is required" msgid "Board name is required"
msgstr "Boardname ist erforderlich" msgstr "Boardname ist erforderlich"
#: src/views/public/board/index.tsx:137 #: src/views/public/board/index.tsx:143
#: src/views/board/index.tsx:358 #: src/views/board/index.tsx:358
msgid "Board not found" msgid "Board not found"
msgstr "Board nicht gefunden" msgstr "Board nicht gefunden"
@@ -251,7 +251,7 @@ msgstr "Fehlerbericht"
#: src/views/members/components/DeleteMemberConfirmation.tsx:55 #: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/card/components/DeleteCommentConfirmation.tsx:76 #: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/card/components/DeleteCardConfirmation.tsx:86 #: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/Comment.tsx:156 #: src/views/card/components/Comment.tsx:158
#: src/components/DeleteLabelConfirmation.tsx:47 #: src/components/DeleteLabelConfirmation.tsx:47
msgid "Cancel" msgid "Cancel"
msgstr "Abbrechen" msgstr "Abbrechen"
@@ -441,7 +441,7 @@ msgstr "Board löschen"
msgid "Delete card" msgid "Delete card"
msgstr "Karte löschen" msgstr "Karte löschen"
#: src/views/card/components/Comment.tsx:89 #: src/views/card/components/Comment.tsx:91
msgid "Delete comment" msgid "Delete comment"
msgstr "Kommentar löschen" msgstr "Kommentar löschen"
@@ -517,7 +517,7 @@ msgstr "Erledigt"
msgid "Edit board URL" msgid "Edit board URL"
msgstr "Board-URL bearbeiten" msgstr "Board-URL bearbeiten"
#: src/views/card/components/Comment.tsx:80 #: src/views/card/components/Comment.tsx:82
msgid "Edit comment" msgid "Edit comment"
msgstr "Kommentar bearbeiten" msgstr "Kommentar bearbeiten"
@@ -660,7 +660,6 @@ msgstr "Finden Sie Antworten auf häufige Fragen zum Projekt. Nicht gefunden, wo
msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge." msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge."
msgstr "Für langfristige Nachhaltigkeit erkennen wir an, dass alle guten Open-Source-Projekte eine Einnahmequelle benötigen. Unsere stammt aus dem kostenpflichtigen Cloud-Angebot für Workspaces mit mehreren Benutzern (kostenlos während der Beta-Phase) und für benutzerdefinierte Workspace-Slugs. Es besteht keine Verpflichtung, dieses Angebot zu nutzen, und Sie können die Software kostenlos auf Ihrer eigenen Infrastruktur selbst hosten." msgstr "Für langfristige Nachhaltigkeit erkennen wir an, dass alle guten Open-Source-Projekte eine Einnahmequelle benötigen. Unsere stammt aus dem kostenpflichtigen Cloud-Angebot für Workspaces mit mehreren Benutzern (kostenlos während der Beta-Phase) und für benutzerdefinierte Workspace-Slugs. Es besteht keine Verpflichtung, dieses Angebot zu nutzen, und Sie können die Software kostenlos auf Ihrer eigenen Infrastruktur selbst hosten."
#: src/views/home/components/Pricing.tsx:32
#: src/views/home/components/Pricing.tsx:32 #: src/views/home/components/Pricing.tsx:32
msgid "Free" msgid "Free"
msgstr "Kostenlos" msgstr "Kostenlos"
@@ -1093,7 +1092,7 @@ msgstr "Bitte wähle eine Datei zum Hochladen aus."
#: src/views/card/components/LabelSelector.tsx:73 #: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/DeleteCommentConfirmation.tsx:45 #: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/DeleteCardConfirmation.tsx:52 #: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/views/card/components/Comment.tsx:62 #: src/views/card/components/Comment.tsx:64
#: src/views/boards/components/ImportBoardsForm.tsx:205 #: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/board/index.tsx:135 #: src/views/board/index.tsx:135
#: src/views/board/index.tsx:191 #: src/views/board/index.tsx:191
@@ -1214,7 +1213,7 @@ msgstr "Rolle"
msgid "Run on your own infrastructure" msgid "Run on your own infrastructure"
msgstr "Auf eigener Infrastruktur betreiben" msgstr "Auf eigener Infrastruktur betreiben"
#: src/views/card/components/Comment.tsx:163 #: src/views/card/components/Comment.tsx:165
msgid "Save" msgid "Save"
msgstr "Speichern" msgstr "Speichern"
@@ -1366,7 +1365,7 @@ msgstr "Sie werden keinen Zugriff mehr auf diesen Workspace haben."
msgid "This action can't be undone." msgid "This action can't be undone."
msgstr "Diese Aktion kann nicht rückgängig gemacht werden." msgstr "Diese Aktion kann nicht rückgängig gemacht werden."
#: src/views/public/board/index.tsx:140 #: src/views/public/board/index.tsx:146
msgid "This board is private or does not exist" msgid "This board is private or does not exist"
msgstr "Dieses Board ist privat oder existiert nicht" msgstr "Dieses Board ist privat oder existiert nicht"
@@ -1456,7 +1455,7 @@ msgstr "Board-Sichtbarkeit konnte nicht aktualisiert werden"
msgid "Unable to update card" msgid "Unable to update card"
msgstr "Karte konnte nicht aktualisiert werden" msgstr "Karte konnte nicht aktualisiert werden"
#: src/views/card/components/Comment.tsx:61 #: src/views/card/components/Comment.tsx:63
msgid "Unable to update comment" msgid "Unable to update comment"
msgstr "Kommentar konnte nicht aktualisiert werden" msgstr "Kommentar konnte nicht aktualisiert werden"
@@ -1578,11 +1577,15 @@ msgstr "Verwalte deine Abrechnung und dein Abonnement."
msgid "View docs" msgid "View docs"
msgstr "Dokumentation ansehen" msgstr "Dokumentation ansehen"
#: src/views/public/board/index.tsx:120
msgid "View only"
msgstr "Nur ansehen"
#: src/views/home/components/Features.tsx:147 #: src/views/home/components/Features.tsx:147
msgid "View our roadmap." msgid "View our roadmap."
msgstr "Sieh dir unsere roadmap an." msgstr "Sieh dir unsere roadmap an."
#: src/views/public/board/index.tsx:143 #: src/views/public/board/index.tsx:149
msgid "View workspace" msgid "View workspace"
msgstr "Workspace anzeigen" msgstr "Workspace anzeigen"

File diff suppressed because one or more lines are too long

View File

@@ -13,7 +13,7 @@ msgstr ""
"Language-Team: \n" "Language-Team: \n"
"Plural-Forms: \n" "Plural-Forms: \n"
#: src/views/card/components/Comment.tsx:121 #: src/views/card/components/Comment.tsx:123
msgid " (edited)" msgid " (edited)"
msgstr " (edited)" msgstr " (edited)"
@@ -60,7 +60,7 @@ msgstr "A powerful, flexible kanban app that helps you organise work, track prog
msgid "Account deleted" msgid "Account deleted"
msgstr "Account deleted" msgstr "Account deleted"
#: src/views/public/board/CardModal.tsx:104 #: src/views/public/board/CardModal.tsx:128
#: src/views/card/index.tsx:256 #: src/views/card/index.tsx:256
msgid "Activity" msgid "Activity"
msgstr "Activity" msgstr "Activity"
@@ -74,7 +74,7 @@ msgid "Add a card"
msgstr "Add a card" msgstr "Add a card"
#: src/views/card/components/NewCommentForm.tsx:57 #: src/views/card/components/NewCommentForm.tsx:57
#: src/views/card/components/Comment.tsx:144 #: src/views/card/components/Comment.tsx:146
msgid "Add a comment..." msgid "Add a comment..."
msgstr "Add a comment..." msgstr "Add a comment..."
@@ -218,7 +218,7 @@ msgstr "Board name cannot exceed 100 characters"
msgid "Board name is required" msgid "Board name is required"
msgstr "Board name is required" msgstr "Board name is required"
#: src/views/public/board/index.tsx:137 #: src/views/public/board/index.tsx:143
#: src/views/board/index.tsx:358 #: src/views/board/index.tsx:358
msgid "Board not found" msgid "Board not found"
msgstr "Board not found" msgstr "Board not found"
@@ -279,7 +279,7 @@ msgstr "Bug Report"
#: src/views/members/components/DeleteMemberConfirmation.tsx:55 #: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/card/components/DeleteCommentConfirmation.tsx:76 #: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/card/components/DeleteCardConfirmation.tsx:86 #: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/Comment.tsx:156 #: src/views/card/components/Comment.tsx:158
#: src/components/DeleteLabelConfirmation.tsx:47 #: src/components/DeleteLabelConfirmation.tsx:47
msgid "Cancel" msgid "Cancel"
msgstr "Cancel" msgstr "Cancel"
@@ -477,7 +477,7 @@ msgstr "Delete board"
msgid "Delete card" msgid "Delete card"
msgstr "Delete card" msgstr "Delete card"
#: src/views/card/components/Comment.tsx:89 #: src/views/card/components/Comment.tsx:91
msgid "Delete comment" msgid "Delete comment"
msgstr "Delete comment" msgstr "Delete comment"
@@ -553,7 +553,7 @@ msgstr "Done"
msgid "Edit board URL" msgid "Edit board URL"
msgstr "Edit board URL" msgstr "Edit board URL"
#: src/views/card/components/Comment.tsx:80 #: src/views/card/components/Comment.tsx:82
msgid "Edit comment" msgid "Edit comment"
msgstr "Edit comment" msgstr "Edit comment"
@@ -1137,7 +1137,7 @@ msgstr "Please select a file to upload."
#: src/views/card/components/LabelSelector.tsx:73 #: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/DeleteCommentConfirmation.tsx:45 #: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/DeleteCardConfirmation.tsx:52 #: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/views/card/components/Comment.tsx:62 #: src/views/card/components/Comment.tsx:64
#: src/views/boards/components/ImportBoardsForm.tsx:205 #: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/board/index.tsx:135 #: src/views/board/index.tsx:135
#: src/views/board/index.tsx:191 #: src/views/board/index.tsx:191
@@ -1258,7 +1258,7 @@ msgstr "Role"
msgid "Run on your own infrastructure" msgid "Run on your own infrastructure"
msgstr "Run on your own infrastructure" msgstr "Run on your own infrastructure"
#: src/views/card/components/Comment.tsx:163 #: src/views/card/components/Comment.tsx:165
msgid "Save" msgid "Save"
msgstr "Save" msgstr "Save"
@@ -1414,7 +1414,7 @@ msgstr "They won't be able to access this workspace."
msgid "This action can't be undone." msgid "This action can't be undone."
msgstr "This action can't be undone." msgstr "This action can't be undone."
#: src/views/public/board/index.tsx:140 #: src/views/public/board/index.tsx:146
msgid "This board is private or does not exist" msgid "This board is private or does not exist"
msgstr "This board is private or does not exist" msgstr "This board is private or does not exist"
@@ -1508,7 +1508,7 @@ msgstr "Unable to update board visibility"
msgid "Unable to update card" msgid "Unable to update card"
msgstr "Unable to update card" msgstr "Unable to update card"
#: src/views/card/components/Comment.tsx:61 #: src/views/card/components/Comment.tsx:63
msgid "Unable to update comment" msgid "Unable to update comment"
msgstr "Unable to update comment" msgstr "Unable to update comment"
@@ -1630,11 +1630,15 @@ msgstr "View and manage your billing and subscription."
msgid "View docs" msgid "View docs"
msgstr "View docs" msgstr "View docs"
#: src/views/public/board/index.tsx:120
msgid "View only"
msgstr "View only"
#: src/views/home/components/Features.tsx:147 #: src/views/home/components/Features.tsx:147
msgid "View our roadmap." msgid "View our roadmap."
msgstr "View our roadmap." msgstr "View our roadmap."
#: src/views/public/board/index.tsx:143 #: src/views/public/board/index.tsx:149
msgid "View workspace" msgid "View workspace"
msgstr "View workspace" msgstr "View workspace"

File diff suppressed because one or more lines are too long

View File

@@ -13,7 +13,7 @@ msgstr ""
"Language-Team: \n" "Language-Team: \n"
"Plural-Forms: \n" "Plural-Forms: \n"
#: src/views/card/components/Comment.tsx:121 #: src/views/card/components/Comment.tsx:123
msgid " (edited)" msgid " (edited)"
msgstr " (editado)" msgstr " (editado)"
@@ -48,7 +48,7 @@ msgstr "Una aplicación kanban potente y flexible que te ayuda a organizar el tr
msgid "Account deleted" msgid "Account deleted"
msgstr "Cuenta eliminada" msgstr "Cuenta eliminada"
#: src/views/public/board/CardModal.tsx:104 #: src/views/public/board/CardModal.tsx:128
#: src/views/card/index.tsx:256 #: src/views/card/index.tsx:256
msgid "Activity" msgid "Activity"
msgstr "Actividad" msgstr "Actividad"
@@ -62,7 +62,7 @@ msgid "Add a card"
msgstr "Añadir una tarjeta" msgstr "Añadir una tarjeta"
#: src/views/card/components/NewCommentForm.tsx:57 #: src/views/card/components/NewCommentForm.tsx:57
#: src/views/card/components/Comment.tsx:144 #: src/views/card/components/Comment.tsx:146
msgid "Add a comment..." msgid "Add a comment..."
msgstr "Añadir un comentario..." msgstr "Añadir un comentario..."
@@ -194,7 +194,7 @@ msgstr "El nombre del tablero no puede exceder los 100 caracteres"
msgid "Board name is required" msgid "Board name is required"
msgstr "El nombre del tablero es obligatorio" msgstr "El nombre del tablero es obligatorio"
#: src/views/public/board/index.tsx:137 #: src/views/public/board/index.tsx:143
#: src/views/board/index.tsx:358 #: src/views/board/index.tsx:358
msgid "Board not found" msgid "Board not found"
msgstr "Tablero no encontrado" msgstr "Tablero no encontrado"
@@ -251,7 +251,7 @@ msgstr "Informe de error"
#: src/views/members/components/DeleteMemberConfirmation.tsx:55 #: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/card/components/DeleteCommentConfirmation.tsx:76 #: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/card/components/DeleteCardConfirmation.tsx:86 #: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/Comment.tsx:156 #: src/views/card/components/Comment.tsx:158
#: src/components/DeleteLabelConfirmation.tsx:47 #: src/components/DeleteLabelConfirmation.tsx:47
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
@@ -441,7 +441,7 @@ msgstr "Eliminar tablero"
msgid "Delete card" msgid "Delete card"
msgstr "Eliminar tarjeta" msgstr "Eliminar tarjeta"
#: src/views/card/components/Comment.tsx:89 #: src/views/card/components/Comment.tsx:91
msgid "Delete comment" msgid "Delete comment"
msgstr "Eliminar comentario" msgstr "Eliminar comentario"
@@ -517,7 +517,7 @@ msgstr "Terminado"
msgid "Edit board URL" msgid "Edit board URL"
msgstr "Editar URL del tablero" msgstr "Editar URL del tablero"
#: src/views/card/components/Comment.tsx:80 #: src/views/card/components/Comment.tsx:82
msgid "Edit comment" msgid "Edit comment"
msgstr "Editar comentario" msgstr "Editar comentario"
@@ -660,7 +660,6 @@ msgstr "Encuentra respuestas a preguntas frecuentes sobre el proyecto. ¿No encu
msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge." msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge."
msgstr "Para la sostenibilidad a largo plazo, reconocemos que todos los buenos proyectos de código abierto necesitan una fuente de ingresos. La nuestra proviene de la oferta de pago en la nube para espacios de trabajo con múltiples usuarios (gratuita durante la beta) y para slugs personalizados de espacios de trabajo. No hay obligación de usarla, y puedes autoalojar el software en tu propia infraestructura sin costo alguno." msgstr "Para la sostenibilidad a largo plazo, reconocemos que todos los buenos proyectos de código abierto necesitan una fuente de ingresos. La nuestra proviene de la oferta de pago en la nube para espacios de trabajo con múltiples usuarios (gratuita durante la beta) y para slugs personalizados de espacios de trabajo. No hay obligación de usarla, y puedes autoalojar el software en tu propia infraestructura sin costo alguno."
#: src/views/home/components/Pricing.tsx:32
#: src/views/home/components/Pricing.tsx:32 #: src/views/home/components/Pricing.tsx:32
msgid "Free" msgid "Free"
msgstr "Gratis" msgstr "Gratis"
@@ -1093,7 +1092,7 @@ msgstr "Por favor selecciona un archivo para subir."
#: src/views/card/components/LabelSelector.tsx:73 #: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/DeleteCommentConfirmation.tsx:45 #: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/DeleteCardConfirmation.tsx:52 #: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/views/card/components/Comment.tsx:62 #: src/views/card/components/Comment.tsx:64
#: src/views/boards/components/ImportBoardsForm.tsx:205 #: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/board/index.tsx:135 #: src/views/board/index.tsx:135
#: src/views/board/index.tsx:191 #: src/views/board/index.tsx:191
@@ -1214,7 +1213,7 @@ msgstr "Rol"
msgid "Run on your own infrastructure" msgid "Run on your own infrastructure"
msgstr "Ejecuta en tu propia infraestructura" msgstr "Ejecuta en tu propia infraestructura"
#: src/views/card/components/Comment.tsx:163 #: src/views/card/components/Comment.tsx:165
msgid "Save" msgid "Save"
msgstr "Guardar" msgstr "Guardar"
@@ -1366,7 +1365,7 @@ msgstr "No podrán acceder a este espacio de trabajo."
msgid "This action can't be undone." msgid "This action can't be undone."
msgstr "Esta acción no se puede deshacer." msgstr "Esta acción no se puede deshacer."
#: src/views/public/board/index.tsx:140 #: src/views/public/board/index.tsx:146
msgid "This board is private or does not exist" msgid "This board is private or does not exist"
msgstr "Este tablero es privado o no existe" msgstr "Este tablero es privado o no existe"
@@ -1456,7 +1455,7 @@ msgstr "No se puede actualizar la visibilidad del tablero"
msgid "Unable to update card" msgid "Unable to update card"
msgstr "No se puede actualizar la tarjeta" msgstr "No se puede actualizar la tarjeta"
#: src/views/card/components/Comment.tsx:61 #: src/views/card/components/Comment.tsx:63
msgid "Unable to update comment" msgid "Unable to update comment"
msgstr "No se puede actualizar el comentario" msgstr "No se puede actualizar el comentario"
@@ -1578,11 +1577,15 @@ msgstr "Ver y gestionar tu facturación y suscripción."
msgid "View docs" msgid "View docs"
msgstr "Ver documentación" msgstr "Ver documentación"
#: src/views/public/board/index.tsx:120
msgid "View only"
msgstr "Solo visualización"
#: src/views/home/components/Features.tsx:147 #: src/views/home/components/Features.tsx:147
msgid "View our roadmap." msgid "View our roadmap."
msgstr "Ver nuestra hoja de ruta." msgstr "Ver nuestra hoja de ruta."
#: src/views/public/board/index.tsx:143 #: src/views/public/board/index.tsx:149
msgid "View workspace" msgid "View workspace"
msgstr "Ver espacio de trabajo" msgstr "Ver espacio de trabajo"

File diff suppressed because one or more lines are too long

View File

@@ -13,7 +13,7 @@ msgstr ""
"Language-Team: \n" "Language-Team: \n"
"Plural-Forms: \n" "Plural-Forms: \n"
#: src/views/card/components/Comment.tsx:121 #: src/views/card/components/Comment.tsx:123
msgid " (edited)" msgid " (edited)"
msgstr " (modifié)" msgstr " (modifié)"
@@ -48,7 +48,7 @@ msgstr "Une application kanban puissante et flexible qui vous aide à organiser
msgid "Account deleted" msgid "Account deleted"
msgstr "Compte supprimé" msgstr "Compte supprimé"
#: src/views/public/board/CardModal.tsx:104 #: src/views/public/board/CardModal.tsx:128
#: src/views/card/index.tsx:256 #: src/views/card/index.tsx:256
msgid "Activity" msgid "Activity"
msgstr "Activité" msgstr "Activité"
@@ -62,7 +62,7 @@ msgid "Add a card"
msgstr "Ajouter une carte" msgstr "Ajouter une carte"
#: src/views/card/components/NewCommentForm.tsx:57 #: src/views/card/components/NewCommentForm.tsx:57
#: src/views/card/components/Comment.tsx:144 #: src/views/card/components/Comment.tsx:146
msgid "Add a comment..." msgid "Add a comment..."
msgstr "Ajouter un commentaire..." msgstr "Ajouter un commentaire..."
@@ -194,7 +194,7 @@ msgstr "Le nom du tableau ne peut pas dépasser 100 caractères"
msgid "Board name is required" msgid "Board name is required"
msgstr "Le nom du tableau est requis" msgstr "Le nom du tableau est requis"
#: src/views/public/board/index.tsx:137 #: src/views/public/board/index.tsx:143
#: src/views/board/index.tsx:358 #: src/views/board/index.tsx:358
msgid "Board not found" msgid "Board not found"
msgstr "Tableau introuvable" msgstr "Tableau introuvable"
@@ -251,7 +251,7 @@ msgstr "Rapport de bug"
#: src/views/members/components/DeleteMemberConfirmation.tsx:55 #: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/card/components/DeleteCommentConfirmation.tsx:76 #: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/card/components/DeleteCardConfirmation.tsx:86 #: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/Comment.tsx:156 #: src/views/card/components/Comment.tsx:158
#: src/components/DeleteLabelConfirmation.tsx:47 #: src/components/DeleteLabelConfirmation.tsx:47
msgid "Cancel" msgid "Cancel"
msgstr "Annuler" msgstr "Annuler"
@@ -441,7 +441,7 @@ msgstr "Supprimer le tableau"
msgid "Delete card" msgid "Delete card"
msgstr "Supprimer la carte" msgstr "Supprimer la carte"
#: src/views/card/components/Comment.tsx:89 #: src/views/card/components/Comment.tsx:91
msgid "Delete comment" msgid "Delete comment"
msgstr "Supprimer le commentaire" msgstr "Supprimer le commentaire"
@@ -517,7 +517,7 @@ msgstr "Fait"
msgid "Edit board URL" msgid "Edit board URL"
msgstr "Modifier l'URL du tableau" msgstr "Modifier l'URL du tableau"
#: src/views/card/components/Comment.tsx:80 #: src/views/card/components/Comment.tsx:82
msgid "Edit comment" msgid "Edit comment"
msgstr "Modifier le commentaire" msgstr "Modifier le commentaire"
@@ -660,7 +660,6 @@ msgstr "Trouvez des réponses aux questions fréquentes sur le projet. Vous ne t
msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge." msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge."
msgstr "Pour une durabilité à long terme, nous reconnaissons que tous les bons projets open source ont besoin d'une source de revenus. La nôtre provient de l'offre cloud payante pour les espaces de travail avec plusieurs utilisateurs (gratuite pendant la bêta) et pour les slugs d'espace de travail personnalisés. Il n'y a aucune obligation de l'utiliser, et vous pouvez auto-héberger le logiciel sur votre propre infrastructure gratuitement." msgstr "Pour une durabilité à long terme, nous reconnaissons que tous les bons projets open source ont besoin d'une source de revenus. La nôtre provient de l'offre cloud payante pour les espaces de travail avec plusieurs utilisateurs (gratuite pendant la bêta) et pour les slugs d'espace de travail personnalisés. Il n'y a aucune obligation de l'utiliser, et vous pouvez auto-héberger le logiciel sur votre propre infrastructure gratuitement."
#: src/views/home/components/Pricing.tsx:32
#: src/views/home/components/Pricing.tsx:32 #: src/views/home/components/Pricing.tsx:32
msgid "Free" msgid "Free"
msgstr "Gratuit" msgstr "Gratuit"
@@ -1093,7 +1092,7 @@ msgstr "Veuillez sélectionner un fichier à télécharger."
#: src/views/card/components/LabelSelector.tsx:73 #: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/DeleteCommentConfirmation.tsx:45 #: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/DeleteCardConfirmation.tsx:52 #: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/views/card/components/Comment.tsx:62 #: src/views/card/components/Comment.tsx:64
#: src/views/boards/components/ImportBoardsForm.tsx:205 #: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/board/index.tsx:135 #: src/views/board/index.tsx:135
#: src/views/board/index.tsx:191 #: src/views/board/index.tsx:191
@@ -1214,7 +1213,7 @@ msgstr "Rôle"
msgid "Run on your own infrastructure" msgid "Run on your own infrastructure"
msgstr "Exécutez sur votre propre infrastructure" msgstr "Exécutez sur votre propre infrastructure"
#: src/views/card/components/Comment.tsx:163 #: src/views/card/components/Comment.tsx:165
msgid "Save" msgid "Save"
msgstr "Enregistrer" msgstr "Enregistrer"
@@ -1366,7 +1365,7 @@ msgstr "Ils ne pourront plus accéder à cet espace de travail."
msgid "This action can't be undone." msgid "This action can't be undone."
msgstr "Cette action ne peut pas être annulée." msgstr "Cette action ne peut pas être annulée."
#: src/views/public/board/index.tsx:140 #: src/views/public/board/index.tsx:146
msgid "This board is private or does not exist" msgid "This board is private or does not exist"
msgstr "Ce tableau est privé ou n'existe pas" msgstr "Ce tableau est privé ou n'existe pas"
@@ -1456,7 +1455,7 @@ msgstr "Impossible de mettre à jour la visibilité du tableau"
msgid "Unable to update card" msgid "Unable to update card"
msgstr "Impossible de mettre à jour la carte" msgstr "Impossible de mettre à jour la carte"
#: src/views/card/components/Comment.tsx:61 #: src/views/card/components/Comment.tsx:63
msgid "Unable to update comment" msgid "Unable to update comment"
msgstr "Impossible de mettre à jour le commentaire" msgstr "Impossible de mettre à jour le commentaire"
@@ -1578,11 +1577,15 @@ msgstr "Consultez et gérez votre facturation et votre abonnement."
msgid "View docs" msgid "View docs"
msgstr "Voir la documentation" msgstr "Voir la documentation"
#: src/views/public/board/index.tsx:120
msgid "View only"
msgstr "Affichage uniquement"
#: src/views/home/components/Features.tsx:147 #: src/views/home/components/Features.tsx:147
msgid "View our roadmap." msgid "View our roadmap."
msgstr "Consultez notre feuille de route." msgstr "Consultez notre feuille de route."
#: src/views/public/board/index.tsx:143 #: src/views/public/board/index.tsx:149
msgid "View workspace" msgid "View workspace"
msgstr "Voir l'espace de travail" msgstr "Voir l'espace de travail"

File diff suppressed because one or more lines are too long

View File

@@ -13,7 +13,7 @@ msgstr ""
"Language-Team: \n" "Language-Team: \n"
"Plural-Forms: \n" "Plural-Forms: \n"
#: src/views/card/components/Comment.tsx:121 #: src/views/card/components/Comment.tsx:123
msgid " (edited)" msgid " (edited)"
msgstr " (modificato)" msgstr " (modificato)"
@@ -48,7 +48,7 @@ msgstr "Un'app kanban potente e flessibile che ti aiuta a organizzare il lavoro,
msgid "Account deleted" msgid "Account deleted"
msgstr "Account eliminato" msgstr "Account eliminato"
#: src/views/public/board/CardModal.tsx:104 #: src/views/public/board/CardModal.tsx:128
#: src/views/card/index.tsx:256 #: src/views/card/index.tsx:256
msgid "Activity" msgid "Activity"
msgstr "Attività" msgstr "Attività"
@@ -62,7 +62,7 @@ msgid "Add a card"
msgstr "Aggiungi una carta" msgstr "Aggiungi una carta"
#: src/views/card/components/NewCommentForm.tsx:57 #: src/views/card/components/NewCommentForm.tsx:57
#: src/views/card/components/Comment.tsx:144 #: src/views/card/components/Comment.tsx:146
msgid "Add a comment..." msgid "Add a comment..."
msgstr "Aggiungi un commento..." msgstr "Aggiungi un commento..."
@@ -194,7 +194,7 @@ msgstr "Il nome della bacheca non può superare i 100 caratteri"
msgid "Board name is required" msgid "Board name is required"
msgstr "Il nome della bacheca è obbligatorio" msgstr "Il nome della bacheca è obbligatorio"
#: src/views/public/board/index.tsx:137 #: src/views/public/board/index.tsx:143
#: src/views/board/index.tsx:358 #: src/views/board/index.tsx:358
msgid "Board not found" msgid "Board not found"
msgstr "Bacheca non trovata" msgstr "Bacheca non trovata"
@@ -251,7 +251,7 @@ msgstr "Segnalazione bug"
#: src/views/members/components/DeleteMemberConfirmation.tsx:55 #: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/card/components/DeleteCommentConfirmation.tsx:76 #: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/card/components/DeleteCardConfirmation.tsx:86 #: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/Comment.tsx:156 #: src/views/card/components/Comment.tsx:158
#: src/components/DeleteLabelConfirmation.tsx:47 #: src/components/DeleteLabelConfirmation.tsx:47
msgid "Cancel" msgid "Cancel"
msgstr "Annulla" msgstr "Annulla"
@@ -441,7 +441,7 @@ msgstr "Elimina bacheca"
msgid "Delete card" msgid "Delete card"
msgstr "Elimina carta" msgstr "Elimina carta"
#: src/views/card/components/Comment.tsx:89 #: src/views/card/components/Comment.tsx:91
msgid "Delete comment" msgid "Delete comment"
msgstr "Elimina commento" msgstr "Elimina commento"
@@ -517,7 +517,7 @@ msgstr "Fatto"
msgid "Edit board URL" msgid "Edit board URL"
msgstr "Modifica URL della bacheca" msgstr "Modifica URL della bacheca"
#: src/views/card/components/Comment.tsx:80 #: src/views/card/components/Comment.tsx:82
msgid "Edit comment" msgid "Edit comment"
msgstr "Modifica commento" msgstr "Modifica commento"
@@ -660,7 +660,6 @@ msgstr "Trova risposte alle domande comuni sul progetto. Non trovi quello che st
msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge." msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge."
msgstr "Per la sostenibilità a lungo termine, riconosciamo che tutti i buoni progetti open source necessitano di una fonte di entrate. La nostra proviene dall'offerta cloud a pagamento per workspace con più utenti (gratuita durante la beta) e per slug di workspace personalizzati. Non c'è alcun obbligo di utilizzarla, e puoi ospitare autonomamente il software sulla tua infrastruttura gratuitamente." msgstr "Per la sostenibilità a lungo termine, riconosciamo che tutti i buoni progetti open source necessitano di una fonte di entrate. La nostra proviene dall'offerta cloud a pagamento per workspace con più utenti (gratuita durante la beta) e per slug di workspace personalizzati. Non c'è alcun obbligo di utilizzarla, e puoi ospitare autonomamente il software sulla tua infrastruttura gratuitamente."
#: src/views/home/components/Pricing.tsx:32
#: src/views/home/components/Pricing.tsx:32 #: src/views/home/components/Pricing.tsx:32
msgid "Free" msgid "Free"
msgstr "Gratuito" msgstr "Gratuito"
@@ -1093,7 +1092,7 @@ msgstr "Seleziona un file da caricare."
#: src/views/card/components/LabelSelector.tsx:73 #: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/DeleteCommentConfirmation.tsx:45 #: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/DeleteCardConfirmation.tsx:52 #: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/views/card/components/Comment.tsx:62 #: src/views/card/components/Comment.tsx:64
#: src/views/boards/components/ImportBoardsForm.tsx:205 #: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/board/index.tsx:135 #: src/views/board/index.tsx:135
#: src/views/board/index.tsx:191 #: src/views/board/index.tsx:191
@@ -1214,7 +1213,7 @@ msgstr "Ruolo"
msgid "Run on your own infrastructure" msgid "Run on your own infrastructure"
msgstr "Esegui sulla tua infrastruttura" msgstr "Esegui sulla tua infrastruttura"
#: src/views/card/components/Comment.tsx:163 #: src/views/card/components/Comment.tsx:165
msgid "Save" msgid "Save"
msgstr "Salva" msgstr "Salva"
@@ -1366,7 +1365,7 @@ msgstr "Non potranno accedere a questo spazio di lavoro."
msgid "This action can't be undone." msgid "This action can't be undone."
msgstr "Questa azione non può essere annullata." msgstr "Questa azione non può essere annullata."
#: src/views/public/board/index.tsx:140 #: src/views/public/board/index.tsx:146
msgid "This board is private or does not exist" msgid "This board is private or does not exist"
msgstr "Questa bacheca è privata o non esiste" msgstr "Questa bacheca è privata o non esiste"
@@ -1456,7 +1455,7 @@ msgstr "Impossibile aggiornare la visibilità della bacheca"
msgid "Unable to update card" msgid "Unable to update card"
msgstr "Impossibile aggiornare la scheda" msgstr "Impossibile aggiornare la scheda"
#: src/views/card/components/Comment.tsx:61 #: src/views/card/components/Comment.tsx:63
msgid "Unable to update comment" msgid "Unable to update comment"
msgstr "Impossibile aggiornare il commento" msgstr "Impossibile aggiornare il commento"
@@ -1578,11 +1577,15 @@ msgstr "Visualizza e gestisci la tua fatturazione e abbonamento."
msgid "View docs" msgid "View docs"
msgstr "Visualizza documenti" msgstr "Visualizza documenti"
#: src/views/public/board/index.tsx:120
msgid "View only"
msgstr "Solo visualizzazione"
#: src/views/home/components/Features.tsx:147 #: src/views/home/components/Features.tsx:147
msgid "View our roadmap." msgid "View our roadmap."
msgstr "Visualizza la nostra roadmap." msgstr "Visualizza la nostra roadmap."
#: src/views/public/board/index.tsx:143 #: src/views/public/board/index.tsx:149
msgid "View workspace" msgid "View workspace"
msgstr "Visualizza spazio di lavoro" msgstr "Visualizza spazio di lavoro"

File diff suppressed because one or more lines are too long

View File

@@ -13,7 +13,7 @@ msgstr ""
"Language-Team: \n" "Language-Team: \n"
"Plural-Forms: \n" "Plural-Forms: \n"
#: src/views/card/components/Comment.tsx:121 #: src/views/card/components/Comment.tsx:123
msgid " (edited)" msgid " (edited)"
msgstr " (bewerkt)" msgstr " (bewerkt)"
@@ -48,7 +48,7 @@ msgstr "Een krachtige, flexibele kanban-app die je helpt werk te organiseren, vo
msgid "Account deleted" msgid "Account deleted"
msgstr "Account verwijderd" msgstr "Account verwijderd"
#: src/views/public/board/CardModal.tsx:104 #: src/views/public/board/CardModal.tsx:128
#: src/views/card/index.tsx:256 #: src/views/card/index.tsx:256
msgid "Activity" msgid "Activity"
msgstr "Activiteit" msgstr "Activiteit"
@@ -62,7 +62,7 @@ msgid "Add a card"
msgstr "Voeg een kaart toe" msgstr "Voeg een kaart toe"
#: src/views/card/components/NewCommentForm.tsx:57 #: src/views/card/components/NewCommentForm.tsx:57
#: src/views/card/components/Comment.tsx:144 #: src/views/card/components/Comment.tsx:146
msgid "Add a comment..." msgid "Add a comment..."
msgstr "Voeg een reactie toe..." msgstr "Voeg een reactie toe..."
@@ -194,7 +194,7 @@ msgstr "Bordnaam mag niet langer zijn dan 100 tekens"
msgid "Board name is required" msgid "Board name is required"
msgstr "Bordnaam is verplicht" msgstr "Bordnaam is verplicht"
#: src/views/public/board/index.tsx:137 #: src/views/public/board/index.tsx:143
#: src/views/board/index.tsx:358 #: src/views/board/index.tsx:358
msgid "Board not found" msgid "Board not found"
msgstr "Bord niet gevonden" msgstr "Bord niet gevonden"
@@ -251,7 +251,7 @@ msgstr "Bugrapport"
#: src/views/members/components/DeleteMemberConfirmation.tsx:55 #: src/views/members/components/DeleteMemberConfirmation.tsx:55
#: src/views/card/components/DeleteCommentConfirmation.tsx:76 #: src/views/card/components/DeleteCommentConfirmation.tsx:76
#: src/views/card/components/DeleteCardConfirmation.tsx:86 #: src/views/card/components/DeleteCardConfirmation.tsx:86
#: src/views/card/components/Comment.tsx:156 #: src/views/card/components/Comment.tsx:158
#: src/components/DeleteLabelConfirmation.tsx:47 #: src/components/DeleteLabelConfirmation.tsx:47
msgid "Cancel" msgid "Cancel"
msgstr "Annuleren" msgstr "Annuleren"
@@ -441,7 +441,7 @@ msgstr "Board verwijderen"
msgid "Delete card" msgid "Delete card"
msgstr "Kaart verwijderen" msgstr "Kaart verwijderen"
#: src/views/card/components/Comment.tsx:89 #: src/views/card/components/Comment.tsx:91
msgid "Delete comment" msgid "Delete comment"
msgstr "Reactie verwijderen" msgstr "Reactie verwijderen"
@@ -517,7 +517,7 @@ msgstr "Klaar"
msgid "Edit board URL" msgid "Edit board URL"
msgstr "Board URL bewerken" msgstr "Board URL bewerken"
#: src/views/card/components/Comment.tsx:80 #: src/views/card/components/Comment.tsx:82
msgid "Edit comment" msgid "Edit comment"
msgstr "Reactie bewerken" msgstr "Reactie bewerken"
@@ -660,7 +660,6 @@ msgstr "Vind antwoorden op veelgestelde vragen over het project. Kun je niet vin
msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge." msgid "For long-term sustainability, we recognise all good open source projects need a source of revenue. Ours comes from the paid cloud offering for workspaces with multiple users (free during the beta) and for custom workspace slugs. There's no obligation to use it, and you can self-host the software on your own infrastructure free of charge."
msgstr "Voor duurzaamheid op lange termijn erkennen we dat alle goede open source projecten een inkomstenbron nodig hebben. De onze komt van de betaalde cloudoplossing voor werkruimtes met meerdere gebruikers (gratis tijdens de bèta) en voor aangepaste werkruimte-slugs. Je bent niet verplicht om hiervan gebruik te maken en je kunt de software gratis op je eigen infrastructuur hosten." msgstr "Voor duurzaamheid op lange termijn erkennen we dat alle goede open source projecten een inkomstenbron nodig hebben. De onze komt van de betaalde cloudoplossing voor werkruimtes met meerdere gebruikers (gratis tijdens de bèta) en voor aangepaste werkruimte-slugs. Je bent niet verplicht om hiervan gebruik te maken en je kunt de software gratis op je eigen infrastructuur hosten."
#: src/views/home/components/Pricing.tsx:32
#: src/views/home/components/Pricing.tsx:32 #: src/views/home/components/Pricing.tsx:32
msgid "Free" msgid "Free"
msgstr "Gratis" msgstr "Gratis"
@@ -1093,7 +1092,7 @@ msgstr "Selecteer een bestand om te uploaden."
#: src/views/card/components/LabelSelector.tsx:73 #: src/views/card/components/LabelSelector.tsx:73
#: src/views/card/components/DeleteCommentConfirmation.tsx:45 #: src/views/card/components/DeleteCommentConfirmation.tsx:45
#: src/views/card/components/DeleteCardConfirmation.tsx:52 #: src/views/card/components/DeleteCardConfirmation.tsx:52
#: src/views/card/components/Comment.tsx:62 #: src/views/card/components/Comment.tsx:64
#: src/views/boards/components/ImportBoardsForm.tsx:205 #: src/views/boards/components/ImportBoardsForm.tsx:205
#: src/views/board/index.tsx:135 #: src/views/board/index.tsx:135
#: src/views/board/index.tsx:191 #: src/views/board/index.tsx:191
@@ -1214,7 +1213,7 @@ msgstr "Rol"
msgid "Run on your own infrastructure" msgid "Run on your own infrastructure"
msgstr "Draai op je eigen infrastructuur" msgstr "Draai op je eigen infrastructuur"
#: src/views/card/components/Comment.tsx:163 #: src/views/card/components/Comment.tsx:165
msgid "Save" msgid "Save"
msgstr "Opslaan" msgstr "Opslaan"
@@ -1366,7 +1365,7 @@ msgstr "Ze zullen geen toegang meer hebben tot deze werkruimte."
msgid "This action can't be undone." msgid "This action can't be undone."
msgstr "Deze actie kan niet ongedaan worden gemaakt." msgstr "Deze actie kan niet ongedaan worden gemaakt."
#: src/views/public/board/index.tsx:140 #: src/views/public/board/index.tsx:146
msgid "This board is private or does not exist" msgid "This board is private or does not exist"
msgstr "Dit bord is privé of bestaat niet" msgstr "Dit bord is privé of bestaat niet"
@@ -1456,7 +1455,7 @@ msgstr "Kan bordzichtbaarheid niet bijwerken"
msgid "Unable to update card" msgid "Unable to update card"
msgstr "Kan kaart niet bijwerken" msgstr "Kan kaart niet bijwerken"
#: src/views/card/components/Comment.tsx:61 #: src/views/card/components/Comment.tsx:63
msgid "Unable to update comment" msgid "Unable to update comment"
msgstr "Kan reactie niet bijwerken" msgstr "Kan reactie niet bijwerken"
@@ -1578,11 +1577,15 @@ msgstr "Bekijk en beheer je facturering en abonnement."
msgid "View docs" msgid "View docs"
msgstr "Bekijk documentatie" msgstr "Bekijk documentatie"
#: src/views/public/board/index.tsx:120
msgid "View only"
msgstr "Alleen bekijken"
#: src/views/home/components/Features.tsx:147 #: src/views/home/components/Features.tsx:147
msgid "View our roadmap." msgid "View our roadmap."
msgstr "Bekijk onze roadmap." msgstr "Bekijk onze roadmap."
#: src/views/public/board/index.tsx:143 #: src/views/public/board/index.tsx:149
msgid "View workspace" msgid "View workspace"
msgstr "Werkruimte bekijken" msgstr "Werkruimte bekijken"

File diff suppressed because one or more lines are too long

View File

@@ -155,11 +155,13 @@ const ActivityList = ({
cardPublicId, cardPublicId,
isLoading, isLoading,
isAdmin, isAdmin,
isViewOnly,
}: { }: {
activities: NonNullable<GetCardByIdOutput>["activities"]; activities: NonNullable<GetCardByIdOutput>["activities"];
cardPublicId: string; cardPublicId: string;
isLoading: boolean; isLoading: boolean;
isAdmin?: boolean; isAdmin?: boolean;
isViewOnly?: boolean;
}) => { }) => {
const { data } = authClient.useSession(); const { data } = authClient.useSession();
const { locale } = useLocalisation(); const { locale } = useLocalisation();
@@ -193,6 +195,7 @@ const ActivityList = ({
isEdited={!!activity.comment?.updatedAt} isEdited={!!activity.comment?.updatedAt}
isAuthor={activity.comment?.createdBy === data?.user.id} isAuthor={activity.comment?.createdBy === data?.user.id}
isAdmin={isAdmin ?? false} isAdmin={isAdmin ?? false}
isViewOnly={!!isViewOnly}
/> />
); );

View File

@@ -27,6 +27,7 @@ const Comment = ({
isAuthor, isAuthor,
isAdmin, isAdmin,
isEdited = false, isEdited = false,
isViewOnly = false,
}: { }: {
publicId: string | undefined; publicId: string | undefined;
cardPublicId: string; cardPublicId: string;
@@ -38,6 +39,7 @@ const Comment = ({
isAuthor: boolean; isAuthor: boolean;
isAdmin: boolean; isAdmin: boolean;
isEdited: boolean; isEdited: boolean;
isViewOnly: boolean;
}) => { }) => {
const [isEditing, setIsEditing] = useState(false); const [isEditing, setIsEditing] = useState(false);
const utils = api.useUtils(); const utils = api.useUtils();
@@ -124,7 +126,7 @@ const Comment = ({
</p> </p>
</div> </div>
{dropdownItems.length > 0 && ( {dropdownItems.length > 0 && !isViewOnly && (
<div className="absolute right-4 top-4"> <div className="absolute right-4 top-4">
<Dropdown items={dropdownItems}> <Dropdown items={dropdownItems}>
<HiEllipsisHorizontal className="h-5 w-5 text-light-900 dark:text-dark-800" /> <HiEllipsisHorizontal className="h-5 w-5 text-light-900 dark:text-dark-800" />

View File

@@ -1,10 +1,11 @@
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import { t } from "@lingui/core/macro"; import { t } from "@lingui/core/macro";
import { useEffect, useRef, useState } from "react";
import { HiXMark } from "react-icons/hi2"; import { HiXMark } from "react-icons/hi2";
import { authClient } from "@kan/auth/client"; import Badge from "~/components/Badge";
import Editor from "~/components/Editor"; import Editor from "~/components/Editor";
import LabelIcon from "~/components/LabelIcon";
import { useModal } from "~/providers/modal"; import { useModal } from "~/providers/modal";
import { api } from "~/utils/api"; import { api } from "~/utils/api";
import ActivityList from "~/views/card/components/ActivityList"; import ActivityList from "~/views/card/components/ActivityList";
@@ -20,7 +21,9 @@ export function CardModal({
}) { }) {
const router = useRouter(); const router = useRouter();
const { closeModal, isOpen } = useModal(); const { closeModal, isOpen } = useModal();
const { data: session } = authClient.useSession(); const [showFade, setShowFade] = useState(false);
const [showTopFade, setShowTopFade] = useState(false);
const scrollRef = useRef<HTMLDivElement>(null);
const { data, isLoading } = api.card.byId.useQuery( const { data, isLoading } = api.card.byId.useQuery(
{ {
@@ -33,85 +36,115 @@ export function CardModal({
const labels = data?.labels ?? []; const labels = data?.labels ?? [];
const handleScroll = () => {
if (!scrollRef.current) return;
const { scrollTop, scrollHeight, clientHeight } = scrollRef.current;
const isAtBottom = scrollTop + clientHeight >= scrollHeight - 5;
const isAtTop = scrollTop <= 5;
setShowFade(!isAtBottom);
setShowTopFade(!isAtTop);
};
useEffect(() => {
const scrollElement = scrollRef.current;
if (!scrollElement) return;
handleScroll();
scrollElement.addEventListener("scroll", handleScroll);
return () => scrollElement.removeEventListener("scroll", handleScroll);
}, [data]);
return ( return (
<div className="flex h-full flex-1 flex-row"> <div className="flex h-full flex-1 flex-row">
<div className="flex h-full w-full flex-col overflow-hidden"> <div className="flex h-full w-full flex-col overflow-hidden">
<div className="h-full max-h-[calc(100vh-4rem)] overflow-y-auto p-8"> <div className="h-full p-8">
<div className="flex w-full items-center justify-between">
<button
className="absolute right-[2rem] top-[2rem] rounded p-1 hover:bg-light-300 focus:outline-none dark:hover:bg-dark-300"
onClick={async (e) => {
e.preventDefault();
closeModal();
try {
await router.replace(
`/${workspaceSlug}/${boardSlug}`,
undefined,
{
shallow: true,
},
);
} catch (error) {
console.error(error);
}
}}
>
<HiXMark
size={18}
className="dark:text-dark-9000 text-light-900"
/>
</button>
{isLoading ? (
<div className="flex space-x-2">
<div className="h-[2.3rem] w-[300px] animate-pulse rounded-[5px] bg-light-300 dark:bg-dark-300" />
</div>
) : (
<>
<h1 className="font-medium leading-[2.3rem] tracking-tight text-neutral-900 dark:text-dark-1000 sm:text-[1.2rem]">
{data?.title}
</h1>
</>
)}
</div>
<div className="mb-6"> <div className="mb-6">
{labels.map((label) => ( <div className="flex w-full items-center justify-between">
<div <button
key={label.publicId} className="absolute right-[2rem] top-[2rem] rounded p-1 hover:bg-light-300 focus:outline-none dark:hover:bg-dark-300"
className="my-1 mr-1 inline-flex w-fit items-center gap-x-1.5 rounded-full px-2 py-1 text-[12px] font-medium text-light-800 ring-1 ring-inset ring-light-600 dark:text-dark-1000 dark:ring-dark-800" onClick={async (e) => {
e.preventDefault();
closeModal();
try {
await router.replace(
`/${workspaceSlug}/${boardSlug}`,
undefined,
{
shallow: true,
},
);
} catch (error) {
console.error(error);
}
}}
> >
<svg <HiXMark
fill={label.colourCode ?? "#3730a3"} size={18}
className="h-2 w-2" className="dark:text-dark-9000 text-light-900"
viewBox="0 0 6 6"
aria-hidden="true"
>
<circle cx={3} cy={3} r={3} />
</svg>
<div>{label.name}</div>
</div>
))}
</div>
{data?.description && (
<div className="mb-10 flex w-full max-w-2xl justify-between">
<div className="mt-2">
<Editor content={data.description} readOnly />
</div>
</div>
)}
<div className="border-t-[1px] border-light-600 pb-4 pt-12 dark:border-dark-400">
<h2 className="text-md pb-4 font-medium text-light-900 dark:text-dark-1000">
{t`Activity`}
</h2>
<div>
{cardPublicId && (
<ActivityList
cardPublicId={cardPublicId}
activities={data?.activities ?? []}
isLoading={isLoading}
/> />
</button>
{isLoading ? (
<div className="flex space-x-2">
<div className="h-[2.3rem] w-[300px] animate-pulse rounded-[5px] bg-light-300 dark:bg-dark-300" />
</div>
) : (
<>
<h1 className="pr-8 font-bold leading-[2.3rem] tracking-tight text-neutral-900 dark:text-dark-1000 sm:text-[1.2rem]">
{data?.title}
</h1>
</>
)} )}
</div> </div>
{labels.length > 0 && (
<div className="mt-2">
{labels.map((label) => (
<Badge
key={label.publicId}
value={label.name}
iconLeft={<LabelIcon colourCode={label.colourCode} />}
/>
))}
</div>
)}
</div>
<div className="relative">
<div
ref={scrollRef}
className="h-full max-h-[425px] overflow-y-auto"
>
{data?.description && (
<div className="mb-10 flex w-full max-w-2xl justify-between">
<div className="mt-2">
<Editor content={data.description} readOnly />
</div>
</div>
)}
<div className="border-t-[1px] border-light-600 pb-4 pt-12 dark:border-dark-400">
<h2 className="text-md pb-4 font-medium text-light-900 dark:text-dark-1000">
{t`Activity`}
</h2>
<div>
{cardPublicId && (
<ActivityList
cardPublicId={cardPublicId}
activities={data?.activities ?? []}
isLoading={isLoading}
isViewOnly={true}
/>
)}
</div>
</div>
</div>
{showTopFade && (
<div className="pointer-events-none absolute left-0 right-0 top-0 h-6 bg-gradient-to-b from-white/80 to-transparent dark:from-dark-100/80" />
)}
{showFade && (
<div className="pointer-events-none absolute bottom-0 left-0 right-0 h-6 bg-gradient-to-t from-white/80 to-transparent dark:from-dark-100/80" />
)}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -112,7 +112,13 @@ export default function PublicBoardView() {
</h1> </h1>
)} )}
{data && ( {data && (
<div className="flex items-center space-x-2"> <div className="z-10 flex items-center space-x-2">
<div className="inline-flex cursor-default items-center justify-center whitespace-nowrap rounded-md border-[1px] border-light-300 bg-light-50 px-3 py-2 text-sm font-semibold text-light-950 shadow-sm dark:border-dark-300 dark:bg-dark-50 dark:text-dark-950">
<span className="mr-2">
<HiOutlineLockClosed />
</span>
{t`View only`}
</div>
<Filters <Filters
labels={data.labels ?? []} labels={data.labels ?? []}
members={[]} members={[]}