[PR #7935] [MERGED] feat: refactor share menu #8223

Closed
opened 2026-03-23 23:23:11 +00:00 by mirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/AppFlowy-IO/AppFlowy/pull/7935
Author: @LucasXu0
Created: 5/15/2025
Status: Merged
Merged: 5/19/2025
Merged by: @LucasXu0

Base: mainHead: share_menu


📝 Commits (10+)

  • 0b2a11d chore: update client-api
  • 671e195 chore: integrate share endpoints
  • f07f0f6 feat: add share repository
  • d576a9c feat: add share events
  • b4e6ab3 feat: integrate rust events
  • 6562310 chore: code refactor
  • 9c53701 feat: add share logic
  • ace565c feat: optimize share_with_user bloc
  • 7be4490 feat: share with user widget
  • 68a8063 Merge branch 'main' into share_menu

📊 Changes

65 files changed (+3037 additions, -189 deletions)

View changed files

📝 frontend/Makefile.toml (+1 -1)
📝 frontend/appflowy_flutter/integration_test/desktop/cloud/workspace/workspace_test_runner.dart (+3 -2)
📝 frontend/appflowy_flutter/lib/ai/widgets/ai_prompt_modal/ai_prompt_database_modal.dart (+2 -2)
frontend/appflowy_flutter/lib/features/share_tab/data/models/models.dart (+4 -0)
frontend/appflowy_flutter/lib/features/share_tab/data/models/share_access_level.dart (+27 -0)
frontend/appflowy_flutter/lib/features/share_tab/data/models/share_popover_group_id.dart (+1 -0)
frontend/appflowy_flutter/lib/features/share_tab/data/models/share_role.dart (+10 -0)
frontend/appflowy_flutter/lib/features/share_tab/data/models/shared_user.dart (+29 -0)
frontend/appflowy_flutter/lib/features/share_tab/data/repositories/mock_share_repository.dart (+145 -0)
frontend/appflowy_flutter/lib/features/share_tab/data/repositories/rust_share_repository.dart (+175 -0)
frontend/appflowy_flutter/lib/features/share_tab/data/repositories/share_repository.dart (+35 -0)
frontend/appflowy_flutter/lib/features/share_tab/logic/share_with_user_bloc.dart (+335 -0)
frontend/appflowy_flutter/lib/features/share_tab/presentation/share_tab.dart (+99 -0)
frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/access_level_list_widget.dart (+139 -0)
frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/copy_link_widget.dart (+53 -0)
frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/edit_access_level_widget.dart (+95 -0)
frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/general_access_section.dart (+21 -0)
frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/people_with_acess_section.dart (+79 -0)
frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/share_with_user_widget.dart (+67 -0)
frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/shared_group_widget.dart (+76 -0)

...and 45 more files

📄 Description

Feature Preview

  • share with a guest
  • revoke guest permission
  • list the members and guests in the share menu
  • share menu UI polish
  • bump the client-api version

This PR introduces a design structure into AppFlowy that organizes the code by features.

ui preview

Screenshot 2025-05-16 at 15 12 45

PR Checklist

  • My code adheres to AppFlowy's Conventions
  • I've listed at least one issue that this PR fixes in the description above.
  • I've added a test(s) to validate changes in this PR, or this PR only contains semantic changes.
  • All existing tests are passing.

Summary by Sourcery

Introduce share-page functionality by exposing share, revoke, and details endpoints in the folder manager, service interface, and server implementations.

New Features:

  • Add methods to share a page with a user, revoke shared page access, and retrieve shared page details across FolderManager and FolderCloudService layers

Enhancements:

  • Update client-api, client-api-entity, and workspace-template dependencies to a new Git revision

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/AppFlowy-IO/AppFlowy/pull/7935 **Author:** [@LucasXu0](https://github.com/LucasXu0) **Created:** 5/15/2025 **Status:** ✅ Merged **Merged:** 5/19/2025 **Merged by:** [@LucasXu0](https://github.com/LucasXu0) **Base:** `main` ← **Head:** `share_menu` --- ### 📝 Commits (10+) - [`0b2a11d`](https://github.com/AppFlowy-IO/AppFlowy/commit/0b2a11d80f829c9dddc9b56c1e22b4ae068e04b4) chore: update client-api - [`671e195`](https://github.com/AppFlowy-IO/AppFlowy/commit/671e1953aaf7007ac15dafe732033e4355767976) chore: integrate share endpoints - [`f07f0f6`](https://github.com/AppFlowy-IO/AppFlowy/commit/f07f0f6b0d09a6ecd17900fa6735a90e1a051c7d) feat: add share repository - [`d576a9c`](https://github.com/AppFlowy-IO/AppFlowy/commit/d576a9c0c8dde70bb35247fdbb528ca57f980035) feat: add share events - [`b4e6ab3`](https://github.com/AppFlowy-IO/AppFlowy/commit/b4e6ab36ab28c7bad7448986fc97c7372da98bb1) feat: integrate rust events - [`6562310`](https://github.com/AppFlowy-IO/AppFlowy/commit/656231086d1ecdbd2fc90b60c552603d3d723d00) chore: code refactor - [`9c53701`](https://github.com/AppFlowy-IO/AppFlowy/commit/9c53701e50a4ffbc9688b7cac332dc84b36207cb) feat: add share logic - [`ace565c`](https://github.com/AppFlowy-IO/AppFlowy/commit/ace565c2bfc1b202149f2a0a8aeebe5453c1024f) feat: optimize share_with_user bloc - [`7be4490`](https://github.com/AppFlowy-IO/AppFlowy/commit/7be44904680c09627aa9286d2ea17ce4de1ef334) feat: share with user widget - [`68a8063`](https://github.com/AppFlowy-IO/AppFlowy/commit/68a806337165f327e3acecbb4d90122512cf4077) Merge branch 'main' into share_menu ### 📊 Changes **65 files changed** (+3037 additions, -189 deletions) <details> <summary>View changed files</summary> 📝 `frontend/Makefile.toml` (+1 -1) 📝 `frontend/appflowy_flutter/integration_test/desktop/cloud/workspace/workspace_test_runner.dart` (+3 -2) 📝 `frontend/appflowy_flutter/lib/ai/widgets/ai_prompt_modal/ai_prompt_database_modal.dart` (+2 -2) ➕ `frontend/appflowy_flutter/lib/features/share_tab/data/models/models.dart` (+4 -0) ➕ `frontend/appflowy_flutter/lib/features/share_tab/data/models/share_access_level.dart` (+27 -0) ➕ `frontend/appflowy_flutter/lib/features/share_tab/data/models/share_popover_group_id.dart` (+1 -0) ➕ `frontend/appflowy_flutter/lib/features/share_tab/data/models/share_role.dart` (+10 -0) ➕ `frontend/appflowy_flutter/lib/features/share_tab/data/models/shared_user.dart` (+29 -0) ➕ `frontend/appflowy_flutter/lib/features/share_tab/data/repositories/mock_share_repository.dart` (+145 -0) ➕ `frontend/appflowy_flutter/lib/features/share_tab/data/repositories/rust_share_repository.dart` (+175 -0) ➕ `frontend/appflowy_flutter/lib/features/share_tab/data/repositories/share_repository.dart` (+35 -0) ➕ `frontend/appflowy_flutter/lib/features/share_tab/logic/share_with_user_bloc.dart` (+335 -0) ➕ `frontend/appflowy_flutter/lib/features/share_tab/presentation/share_tab.dart` (+99 -0) ➕ `frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/access_level_list_widget.dart` (+139 -0) ➕ `frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/copy_link_widget.dart` (+53 -0) ➕ `frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/edit_access_level_widget.dart` (+95 -0) ➕ `frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/general_access_section.dart` (+21 -0) ➕ `frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/people_with_acess_section.dart` (+79 -0) ➕ `frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/share_with_user_widget.dart` (+67 -0) ➕ `frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/shared_group_widget.dart` (+76 -0) _...and 45 more files_ </details> ### 📄 Description <!--- Thank you for submitting a pull request to AppFlowy. The team will dedicate their best efforts to reviewing and approving your pull request. If you have any questions about the project or feedback for us, please join our [Discord](https://discord.gg/wdjWUXXhtw). --> <!--- If your pull request adds a new feature, please drag and drop a video into this section to showcase what you've done! If not, you may delete this section. --> ### Feature Preview - [x] share with a guest - [x] revoke guest permission - [x] list the members and guests in the share menu - [x] share menu UI polish - [x] bump the client-api version This PR introduces a design structure into AppFlowy that organizes the code by features. #### ui preview <img width="449" alt="Screenshot 2025-05-16 at 15 12 45" src="https://github.com/user-attachments/assets/056d9aed-67ff-455a-a16c-8fcf2d1866c1" /> <!--- List at least one issue here that this PR addresses. If it fixes the issue, please use the [fixes](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests) keyword to close the issue. For example: fixes https://github.com/AppFlowy-IO/AppFlowy/pull/2106 --> --- <!--- Before you mark this PR ready for review, run through this checklist! --> #### PR Checklist - [x] My code adheres to [AppFlowy's Conventions](https://docs.appflowy.io/docs/documentation/software-contributions/conventions) - [x] I've listed at least one issue that this PR fixes in the description above. - [x] I've added a test(s) to validate changes in this PR, or this PR only contains semantic changes. - [x] All existing tests are passing. ## Summary by Sourcery Introduce share-page functionality by exposing share, revoke, and details endpoints in the folder manager, service interface, and server implementations. New Features: - Add methods to share a page with a user, revoke shared page access, and retrieve shared page details across FolderManager and FolderCloudService layers Enhancements: - Update client-api, client-api-entity, and workspace-template dependencies to a new Git revision --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror 2026-03-23 23:23:11 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#8223
No description provided.