Skip to content

Conversation

@noeliaSD
Copy link
Contributor

Closes #18798
Closes #18905

What does the PR do

  • Several currentActivity Center related misc internal component improvements.
  • Introduces the new ActivityCenterPanel as the foundation for the redesigned Activity Center experience.
  • Adds a dedicated Storybook/testing page to support development, review, and future iterations.
  • Integrates ActivityCenterPopupTopBarPanel into the panel structure.
  • Includes a minimal, non-final options menu to maintain existing behavior without blocking current workflows.
  • Includes layout composition and notification rendering by adopting the new NotificationCard component and clearer model/delegate boundaries.
  • Adds a fully mocked NotificationsModel covering all supported notification
    types, visual states, and UI variations in Status app.
  • Implements core interaction logic, including read/unread state handling, news-specific placeholders, and empty-state panels.
  • Update Notifications Empty State to Match New Design.

What's missing:

Affected areas

  • NOT integrated in real app yet. Just storybook prototype.

Architecture compliance

Screencapture of the functionality

  • New Activity Center Panel component (in storybook):
Screen.Recording.2025-12-19.at.13.49.36.mov
  • New empty states (part of new panel):
Screen.Recording.2025-12-18.at.15.55.54.mov

Impact on end user

None

How to test

Play with the new storybook page

Risk

None

- On hover, the card now keeps the same background color while the border is highlighted using the primary color for clearer visual feedback.
- Allow enabled property.
- Prevention from undefined `attachments` property
…yCenterType`s

Moved the `ActivityCenterGroup` enum out of `ActivityCenterStore` into the `ActivityCenterTypes` helper file to improve separation of concerns and keep type definitions centralized.
…enterTypes`

Move `ActivityCenterReadType` out of the store and into `ActivityCenterTypes`to improve separation of concerns and make the type reusable across layers.
… roll, icon visibility API, and improved symmetric gradients

- Refactored `StatusRollArea` to use a `Control` as the base type instead of `Item`, enabling native padding support and improving layout consistency.
- Added `showIcon` property to both `StatusRollArea` and `StatusNavigationButton` for increased visual flexibility and clearer API semantics.
- Updated `StatusNavigationButton` gradient background to ensure proper left/right symmetry and more polished visual behavior.
Replace `background: null` with an empty `Item` defining `opacity`
to avoid QML warnings ("QML PropertyAction: Cannot animate non-existent property "opacity"") caused by the Universal ScrollBar style
attempting to animate a non-existent opacity property.
…nt to int

Ensure numeric fallback when deriving item counts from dynamic models,
preventing QML warnings caused by assigning `undefined` to int properties.
…ignals, clarify naming, and enforce required props

- Removed unused properties and signals to simplify the component API.
- Renamed several properties for clearer behavior semantics and internal consistency.
- Marked key properties as required to ensure correct usage at call sites and prevent silent misconfiguration.
- Updated to use `StatusRollArea` directly instead of a plain `Item`, leveraging its built-in padding, scrolling behavior, and content handling.
- Improved overall layout consistency and alignment according to design requirements.
…and testing page

- Introduces the new `ActivityCenterPanel` as the foundation for the redesigned  Activity Center experience.
- Adds a dedicated Storybook/testing page to support development, review,  and future iterations.
- Integrates `ActivityCenterPopupTopBarPanel` into the panel structure.
- Includes a minimal, non-final options menu to maintain existing behavior  without blocking current workflows.
- Includes layout composition and notification rendering by adopting the new `NotificationCard` component and clearer model/delegate boundaries.
- Adds a fully mocked `NotificationsModel` covering all supported notification
  types, visual states, and UI variations in Status app.
- Updates Spanish translations scoped to the Activity Center context.
- Implements core interaction logic, including read/unread state handling, news-specific placeholders, and empty-state panels.

Closes #18798
…New Design

- Updated the Notifications empty state to align with the latest design.
-Added new illustrations for a more polished and consistent visual experience.
- Improved placeholder handling to correctly reflect the news enabled/disabled logic and its new design.
- Updated translations accordingly, english and spanish.

Closes #18905
-Renamed `ActivityCenterTypes.ActivityCenterNotificationType` to `ActivityCenterTypes.NotificationType` to remove redundancy.
- Improves readability and consistency across the Activity Center types.
- Added notification type to the mocked model.
@noeliaSD noeliaSD requested review from a team, alexjba, caybro and micieslak as code owners December 19, 2025 12:55
@noeliaSD noeliaSD requested review from Khushboo-dev-cpp and jrainville and removed request for a team December 19, 2025 12:56
@status-im-auto
Copy link
Member

status-im-auto commented Dec 19, 2025

Jenkins Builds

Click to see older builds (14)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 5d0fe846 #1 2025-12-19 13:05:55 ~10 min android/arm64 🤖apk 📲
a8fb4e9 #1 2025-12-19 13:07:17 ~11 min macos/aarch64-nwaku 📄log
✔️ a8fb4e9 #1 2025-12-19 13:08:25 ~12 min tests/nim 📄log
a8fb4e9 #1 2025-12-19 13:09:12 ~13 min ios/aarch64 📄log
✔️ a8fb4e9 #1 2025-12-19 13:15:50 ~20 min macos/aarch64 🍎dmg
✔️ a8fb4e9 #1 2025-12-19 13:15:51 ~20 min tests/ui 📄log
✔️ a8fb4e9 #1 2025-12-19 13:16:51 ~21 min linux/x86_64 📦tgz
✔️ a8fb4e9 #1 2025-12-19 13:19:44 ~24 min linux/x86_64-nwaku 📦tgz
✔️ a8fb4e9 #1 2025-12-19 13:34:40 ~38 min windows/x86_64 💿exe
a8fb4e9 pr19616 2025-12-19 13:35:27 ~18 min tests/e2e 📄log
✔️ a8fb4e9 PR19616 2025-12-19 13:56:11 ~21 min tests/e2e-windows 📊rpt
✔️ 35c83029 #2 2025-12-20 05:30:47 ~12 min android/arm64 🤖apk 📲
✔️ fc0a06b7 #3 2025-12-22 05:30:51 ~12 min android/arm64 🤖apk 📲
✔️ 31efb610 #4 2025-12-23 05:31:30 ~13 min android/arm64 🤖apk 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
012bd133 #5 2025-12-24 05:28:01 ~9 min android/arm64 📄log
✔️ a49f05e4 #6 2025-12-25 05:31:12 ~12 min android/arm64 🤖apk 📲

Copy link
Member

@jrainville jrainville left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome job! It's looks very good

Layout.fillWidth: true

horizontalAlignment: Text.AlignHCenter
text: !root.newsEnabledViaRSS ? qsTr("Status News RSS are off") :
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it should be is off, since it's the setting that is off

Layout.fillWidth: true

horizontalAlignment: Text.AlignHCenter
text: !root.newsEnabledViaRSS ? qsTr("Turn them on to get updates about new features and announcements. You can also enable this anytime in Privacy & Security settings.") :
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then this would be:

Suggested change
text: !root.newsEnabledViaRSS ? qsTr("Turn them on to get updates about new features and announcements. You can also enable this anytime in Privacy & Security settings.") :
text: !root.newsEnabledViaRSS ? qsTr("Turn it on to get updates about new features and announcements. You can also enable this anytime in Privacy & Security settings.") :

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The name of the file doesn't look very kosher 😅 I feel like some OSes might dislike the spaces and/or commas

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants