diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5a8ae7b4..c4b6ccc3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,11 @@ and this project adheres to
- github actions to managed Crowdin workflow
+## Changed
+
+- 💄(frontend) add abilities on doc row #581
+
+
## [2.0.1] - 2025-01-17
## Fixed
diff --git a/docker-compose.yml b/docker-compose.yml
index 62d2d914..74c90c08 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -151,7 +151,7 @@ services:
image: node:18
user: "${DOCKER_USER:-1000}"
environment:
- HOME: /tmp
+ HOME: /tmp
volumes:
- ".:/app"
diff --git a/src/frontend/apps/e2e/__tests__/app-impress/doc-header.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/doc-header.spec.ts
index a9be9dac..8bf98848 100644
--- a/src/frontend/apps/e2e/__tests__/app-impress/doc-header.spec.ts
+++ b/src/frontend/apps/e2e/__tests__/app-impress/doc-header.spec.ts
@@ -418,6 +418,13 @@ test.describe('Doc Header', () => {
await goToGridDoc(page);
+ const shareButton = page.getByRole('button', {
+ name: 'Share',
+ exact: true,
+ });
+ await expect(shareButton).toBeVisible();
+
+ await shareButton.click();
await page.getByRole('button', { name: 'Copy link' }).click();
await expect(page.getByText('Link Copied !')).toBeVisible();
});
@@ -455,6 +462,7 @@ test.describe('Documents Header mobile', () => {
await expect(page.getByRole('button', { name: 'Copy link' })).toBeHidden();
await page.getByLabel('Open the document options').click();
+ await page.getByRole('button', { name: 'Share' }).click();
await page.getByRole('button', { name: 'Copy link' }).click();
await expect(page.getByText('Link Copied !')).toBeVisible();
// Test that clipboard is in HTML format
diff --git a/src/frontend/apps/e2e/__tests__/app-impress/doc-member-create.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/doc-member-create.spec.ts
index f9d306a5..04015e9e 100644
--- a/src/frontend/apps/e2e/__tests__/app-impress/doc-member-create.spec.ts
+++ b/src/frontend/apps/e2e/__tests__/app-impress/doc-member-create.spec.ts
@@ -79,7 +79,7 @@ test.describe('Document create member', () => {
await expect(quickSearchContent.getByText(email).first()).toBeVisible();
// Check user added
- await expect(page.getByText('Share with 2 users')).toBeVisible();
+ await expect(page.getByText('Share with 3 users')).toBeVisible();
await expect(
quickSearchContent.getByText(users[0].full_name).first(),
).toBeVisible();
diff --git a/src/frontend/apps/e2e/__tests__/app-impress/doc-visibility.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/doc-visibility.spec.ts
index 612c1a4b..8414b0c7 100644
--- a/src/frontend/apps/e2e/__tests__/app-impress/doc-visibility.spec.ts
+++ b/src/frontend/apps/e2e/__tests__/app-impress/doc-visibility.spec.ts
@@ -250,7 +250,7 @@ test.describe('Doc Visibility: Public', () => {
await expect(page.locator('h2').getByText(docTitle)).toBeVisible();
await expect(page.getByRole('button', { name: 'search' })).toBeHidden();
await expect(page.getByRole('button', { name: 'New doc' })).toBeHidden();
- await expect(page.getByRole('button', { name: 'Share' })).toBeHidden();
+ await expect(page.getByRole('button', { name: 'Share' })).toBeVisible();
const card = page.getByLabel('It is the card information');
await expect(card).toBeVisible();
@@ -314,7 +314,7 @@ test.describe('Doc Visibility: Public', () => {
await page.goto(urlDoc);
await verifyDocName(page, docTitle);
- await expect(page.getByRole('button', { name: 'Share' })).toBeHidden();
+ await expect(page.getByRole('button', { name: 'Share' })).toBeVisible();
});
});
@@ -413,6 +413,7 @@ test.describe('Doc Visibility: Authenticated', () => {
await page.goto(urlDoc);
await expect(page.locator('h2').getByText(docTitle)).toBeVisible();
+ await page.getByRole('button', { name: 'Share' }).click();
await page.getByRole('button', { name: 'Copy link' }).click();
await expect(page.getByText('Link Copied !')).toBeVisible();
});
@@ -468,6 +469,7 @@ test.describe('Doc Visibility: Authenticated', () => {
await page.goto(urlDoc);
await verifyDocName(page, docTitle);
+ await page.getByRole('button', { name: 'Share' }).click();
await page.getByRole('button', { name: 'Copy link' }).click();
await expect(page.getByText('Link Copied !')).toBeVisible();
});
diff --git a/src/frontend/apps/impress/src/cunningham/cunningham-style.css b/src/frontend/apps/impress/src/cunningham/cunningham-style.css
index 00d95617..7b8b9403 100644
--- a/src/frontend/apps/impress/src/cunningham/cunningham-style.css
+++ b/src/frontend/apps/impress/src/cunningham/cunningham-style.css
@@ -576,6 +576,22 @@ input:-webkit-autofill:focus {
}
}
+.c__modal__scroller:has(.noPadding) {
+ padding: 0 !important;
+
+ .c__modal__close .c__button {
+ right: 5px;
+ top: 5px;
+ padding: 1.5rem 1rem;
+ }
+
+ .c__modal__title {
+ font-size: var(--c--theme--font--sizes--xs);
+ padding: var(--c--theme--spacings--base);
+ margin-bottom: 0;
+ }
+}
+
/**
* Toast
*/
diff --git a/src/frontend/apps/impress/src/features/docs/doc-share/components/DocVisibility.tsx b/src/frontend/apps/impress/src/features/docs/doc-share/components/DocVisibility.tsx
index 7806c1b9..55138ff9 100644
--- a/src/frontend/apps/impress/src/features/docs/doc-share/components/DocVisibility.tsx
+++ b/src/frontend/apps/impress/src/features/docs/doc-share/components/DocVisibility.tsx
@@ -114,7 +114,7 @@ export const DocVisibility = ({ doc }: DocVisibilityProps) => {
arrowCss={css`
color: ${colors['primary-800']} !important;
`}
- disabled={!doc.abilities.accesses_manage}
+ disabled={!canManage}
showArrow={true}
options={linkReachOptions}
>
diff --git a/src/frontend/apps/impress/src/features/docs/docs-grid/components/DocsGridItem.tsx b/src/frontend/apps/impress/src/features/docs/docs-grid/components/DocsGridItem.tsx
index 40b0a45b..4f37068d 100644
--- a/src/frontend/apps/impress/src/features/docs/docs-grid/components/DocsGridItem.tsx
+++ b/src/frontend/apps/impress/src/features/docs/docs-grid/components/DocsGridItem.tsx
@@ -63,11 +63,16 @@ export const DocsGridItem = ({ doc }: DocsGridItemProps) => {
$align="center"
$gap={spacings.xs}
$flex={flexLeft}
- $padding={{ right: 'md' }}
+ $padding={{ right: isDesktop ? 'md' : '3xs' }}
>
- {showAccesses && isDesktop && (
- <>
+ {showAccesses && (
+
@@ -87,7 +92,7 @@ export const DocsGridItem = ({ doc }: DocsGridItemProps) => {
/>
- >
+
)}
diff --git a/src/frontend/apps/impress/src/pages/globals.css b/src/frontend/apps/impress/src/pages/globals.css
index 04fd33fc..930d8359 100644
--- a/src/frontend/apps/impress/src/pages/globals.css
+++ b/src/frontend/apps/impress/src/pages/globals.css
@@ -41,19 +41,3 @@ main ::-webkit-scrollbar-thumb:hover,
cursor: pointer;
outline: inherit;
}
-
-.c__modal__scroller:has(.noPadding) {
- padding: 0 !important;
-
- .c__modal__close .c__button {
- right: 5px;
- top: 5px;
- padding: 1.5rem 1rem;
- }
-
- .c__modal__title {
- font-size: var(--c--theme--font--sizes--xs);
- padding: var(--c--theme--spacings--base);
- margin-bottom: 0;
- }
-}