Skip to content

feat: Adding basic main portrait layout #18012

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: feat/bump-ssl
Choose a base branch
from

Conversation

alexjba
Copy link
Contributor

@alexjba alexjba commented May 29, 2025

What does the PR do

Introducing LayoutChooser component from qml tests: https://codereview.qt-project.org/c/qt/qtdeclarative/+/456325/54/tests/manual/quicklayouts/layoutItemProxy/LayoutChooser.qml

The LayoutChooser is used to change the "StatusSectionLayout" from a SplitView to a SwipeView in portrait mode whenever the width is less than the implicitWidth.

Other changes:
Maintain compoatibility with qt5
Basic navigastion on item selection (channels, contacts, settings, accounts)

Affected areas

App layout, navBar

Architecture compliance

Screenshot of functionality (including design for comparison)

Screen.Recording.2025-05-29.at.12.41.40.mov

@alexjba alexjba requested review from micieslak, a team, caybro and noeliaSD as code owners May 29, 2025 09:43
@alexjba alexjba requested review from dlipicar and Cuteivist and removed request for a team May 29, 2025 09:43
@status-im-auto
Copy link
Member

status-im-auto commented May 29, 2025

Jenkins Builds

Click to see older builds (24)
Commit #️⃣ Finished (UTC) Duration Platform Result
8d6b4e9 #1 2025-05-29 09:52:53 ~9 min tests/ui 📄log
✔️ 8d6b4e9 #1 2025-05-29 09:53:01 ~9 min macos/aarch64 🍎dmg
✔️ 8d6b4e9 #1 2025-05-29 09:53:39 ~10 min tests/nim 📄log
✔️ 8d6b4e9 #1 2025-05-29 09:58:45 ~15 min macos/x86_64 🍎dmg
✔️ 8d6b4e9 #1 2025-05-29 10:05:19 ~21 min windows/x86_64 💿exe
✔️ 8d6b4e9 #1 2025-05-29 10:07:17 ~23 min linux-nix/x86_64 📦tgz
✔️ 8d6b4e9 #1 2025-05-29 10:07:43 ~24 min linux/x86_64 📦tgz
✔️ ebbaec6 #2 2025-05-30 06:59:19 ~6 min tests/nim 📄log
ebbaec6 #2 2025-05-30 07:00:30 ~7 min tests/ui 📄log
✔️ ebbaec6 #2 2025-05-30 07:00:50 ~7 min macos/aarch64 🍎dmg
✔️ ebbaec6 #2 2025-05-30 07:06:00 ~13 min macos/x86_64 🍎dmg
✔️ ebbaec6 #2 2025-05-30 07:06:24 ~13 min linux-nix/x86_64 📦tgz
✔️ ebbaec6 #2 2025-05-30 07:07:02 ~14 min linux/x86_64 📦tgz
✔️ ebbaec6 #2 2025-05-30 07:13:04 ~20 min windows/x86_64 💿exe
✔️ ba99866 #4 2025-06-06 12:45:44 ~7 min tests/nim 📄log
ba99866 #4 2025-06-06 12:50:15 ~11 min tests/ui 📄log
✔️ ba99866 #4 2025-06-06 12:54:24 ~15 min linux/x86_64 📦tgz
✔️ ba99866 #4 2025-06-06 13:01:15 ~22 min macos/x86_64 🍎dmg
✔️ ba99866 #4 2025-06-06 13:04:08 ~25 min windows/x86_64 💿exe
✔️ 1ef2ab5 #5 2025-06-09 08:33:55 ~6 min tests/nim 📄log
1ef2ab5 #5 2025-06-09 08:38:55 ~11 min tests/ui 📄log
✔️ 1ef2ab5 #5 2025-06-09 08:40:02 ~12 min linux/x86_64 📦tgz
✔️ 1ef2ab5 #5 2025-06-09 08:43:46 ~15 min macos/x86_64 🍎dmg
✔️ 1ef2ab5 #5 2025-06-09 08:50:33 ~22 min windows/x86_64 💿exe
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 2e142ce #6 2025-06-09 12:30:50 ~8 min tests/nim 📄log
2e142ce #6 2025-06-09 12:35:36 ~12 min tests/ui 📄log
✔️ 2e142ce #6 2025-06-09 12:37:27 ~14 min linux/x86_64 📦tgz
✔️ 2e142ce #6 2025-06-09 12:38:41 ~15 min macos/x86_64 🍎dmg
✔️ 2e142ce #6 2025-06-09 12:47:39 ~24 min windows/x86_64 💿exe
✔️ 4aef81d #7 2025-06-09 13:43:32 ~7 min tests/nim 📄log
✔️ 4aef81d #7 2025-06-09 13:48:52 ~12 min tests/ui 📄log
✔️ 4aef81d #7 2025-06-09 13:50:59 ~14 min linux/x86_64 📦tgz
✔️ 4aef81d #7 2025-06-09 13:52:16 ~15 min macos/x86_64 🍎dmg
✔️ 4aef81d #7 2025-06-09 14:02:09 ~25 min windows/x86_64 💿exe

Copy link
Member

@caybro caybro left a comment

Choose a reason for hiding this comment

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

The new component is probably not working with Qt5, as the failing ui-tests suggest:

[2025-05-29T09:52:51.451Z] Running: StatusQ SanityChecker
[2025-05-29T09:52:51.817Z] (file:///home/jenkins/workspace/s_linux_x86_64_tests-ui_PR-18012/ui/StatusQ/src/StatusQ/Layout/StatusSectionLayoutPortrait.qml:150:37: Expected token `numeric literal'
[2025-05-29T09:52:51.817Z]             property list<Item> items: []
[2025-05-29T09:52:51.817Z]                                         ^)
[2025-05-29T09:52:51.817Z] (file:///home/jenkins/workspace/s_linux_x86_64_tests-ui_PR-18012/ui/StatusQ/src/StatusQ/Layout/LayoutChooser.qml:11:36: Unexpected token `]'
[2025-05-29T09:52:51.817Z]         property list<bool> criteria: []
[2025-05-29T09:52:51.818Z]                                        ^, file:///home/jenkins/workspace/s_linux_x86_64_tests-ui_PR-18012/ui/StatusQ/src/StatusQ/Layout/LayoutChooser.qml:12:14: Syntax error
[2025-05-29T09:52:51.818Z]         property list<var> layoutChoices: []
[2025-05-29T09:52:51.818Z]                  ^)
[2025-05-29T09:52:51.818Z] (file:///home/jenkins/workspace/s_linux_x86_64_tests-ui_PR-18012/ui/StatusQ/src/StatusQ/Layout/StatusSectionLayoutLandscape.qml: Library import requires a version)

@alexjba alexjba marked this pull request as draft May 30, 2025 06:23
@alexjba alexjba force-pushed the feat/basic-portrait-layout branch from 8d6b4e9 to ebbaec6 Compare May 30, 2025 06:52
@alexjba alexjba force-pushed the feat/basic-portrait-layout branch from ebbaec6 to ba99866 Compare June 6, 2025 12:37
@alexjba alexjba changed the base branch from master to feat/bump-ssl June 6, 2025 12:38
Copy link
Member

@caybro caybro left a comment

Choose a reason for hiding this comment

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

LGTM, very nice work for a first iteration!

alexjba added 2 commits June 9, 2025 15:21
Introducing `LayoutChooser` component from qml tests: https://codereview.qt-project.org/c/qt/qtdeclarative/+/456325/54/tests/manual/quicklayouts/layoutItemProxy/LayoutChooser.qml

The LayoutChooser is used to change the "StatusSectionLayout" from a SplitView to a SwipeView in portrait mode whenever the width is less than the implicitWidth.

Other changes:
Maintain compoatibility with qt5
Basic navigastion on item selection (channels, contacts, settings, accounts)
@alexjba alexjba force-pushed the feat/basic-portrait-layout branch from 1ef2ab5 to 2e142ce Compare June 9, 2025 12:22
The app goes into portrait mode the height is higher than the width and the width is smaller than the window minimum width
@alexjba alexjba force-pushed the feat/basic-portrait-layout branch from 2e142ce to 4aef81d Compare June 9, 2025 13:36
@alexjba
Copy link
Contributor Author

alexjba commented Jun 9, 2025

@caybro please have another look. Had to resolve quite a few conflicts with the Shell

@alexjba alexjba marked this pull request as ready for review June 9, 2025 13:36
@caybro
Copy link
Member

caybro commented Jun 9, 2025

@caybro please have another look. Had to resolve quite a few conflicts with the Shell

Looks good, although I can only see one line touched in AppMain.qml that mentions shell?

@alexjba
Copy link
Contributor Author

alexjba commented Jun 9, 2025

@caybro please have another look. Had to resolve quite a few conflicts with the Shell

Looks good, although I can only see one line touched in AppMain.qml that mentions shell?

Got me worried for a second! But yeah, you're right. Ignoring the whitespace it's only a line. 😄

The main change is that the shell bar (along with the app nav bar) now lives in AppMain and is shared in between StatusSectionLayouts. It's no longer in the StatusMainLayout

@alexjba
Copy link
Contributor Author

alexjba commented Jun 9, 2025

@status-im/devops any idea what could be wrong with the aarch64 build?

This PR is on top of #18066 that adds openssl as a vendor. But here it seems the openssl submodule can't be initialized.

@caybro
Copy link
Member

caybro commented Jun 9, 2025

@caybro please have another look. Had to resolve quite a few conflicts with the Shell

Looks good, although I can only see one line touched in AppMain.qml that mentions shell?

Got me worried for a second! But yeah, you're right. Ignoring the whitespace it's only a line. 😄

The main change is that the shell bar (along with the app nav bar) now lives in AppMain and is shared in between StatusSectionLayouts. It's no longer in the StatusMainLayout

Yeah and I think that's gonna conflict a bit with one of @jrainville PRs where he made the Shell a section on its own

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants