Skip to content
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

feat: MykSuite chip #1421

Merged

Conversation

adrien-coye
Copy link
Contributor

@adrien-coye adrien-coye commented Feb 4, 2025

Feature PR #1405

  • i18n

All chips clear :
Screenshot 2025-02-11 at 14 39 25
Screenshot 2025-02-11 at 14 38 49
Screenshot 2025-02-11 at 14 38 16
Screenshot 2025-02-11 at 14 37 53

All chips dark :
Screenshot 2025-02-11 at 14 39 08
Screenshot 2025-02-11 at 14 38 43
Screenshot 2025-02-11 at 14 38 09
Screenshot 2025-02-11 at 14 38 01

@adrien-coye adrien-coye changed the base branch from master to converstion-quota-dropbox-view February 4, 2025 15:04
@adrien-coye adrien-coye force-pushed the converstion-quota-dropbox-view-chip branch from 0d31caa to 4de4641 Compare February 4, 2025 15:05
@adrien-coye adrien-coye added this to the 5.2.0 milestone Feb 4, 2025
@adrien-coye adrien-coye changed the title feat: MykSuite chip feat: MykSuite chip Feb 4, 2025
@adrien-coye adrien-coye force-pushed the converstion-quota-dropbox-view branch from 4350f73 to 951b6ae Compare February 10, 2025 07:46
@adrien-coye adrien-coye force-pushed the converstion-quota-dropbox-view-chip branch from 0dcc54f to 08faf5b Compare February 11, 2025 13:03
Copy link
Contributor Author

@adrien-coye adrien-coye left a comment

Choose a reason for hiding this comment

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

Did a last self assesment, lgtm

@adrien-coye adrien-coye force-pushed the converstion-quota-dropbox-view-chip branch from af4d852 to a9271d8 Compare February 11, 2025 14:18
@adrien-coye adrien-coye force-pushed the converstion-quota-dropbox-view-chip branch from a9271d8 to 53592e8 Compare February 11, 2025 14:24
@adrien-coye adrien-coye force-pushed the converstion-quota-dropbox-view-chip branch from c39b8ed to bbcfce9 Compare February 11, 2025 14:35
@adrien-coye adrien-coye marked this pull request as ready for review February 11, 2025 14:50
Copy link
Member

@PhilippeWeidmann PhilippeWeidmann left a comment

Choose a reason for hiding this comment

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

Two quick fixes and we can merge

* feat(FloatingPanelActionCollectionViewCell): Chip capability

* feat: Enable chip for convertToDropbox action
* feat(MenuViewController): Hide upgrade cell that shows up on top of menu

* feat(ShareLinkSettingsViewController): Present upsale sheet instead of store

* feat(FileActionsFloatingPanelViewController): Present upsale sheet instead of store

* feat(HomeViewController): Present upsale sheet instead of store

* feat(NewFolderTypeTableViewController): Present upsale sheet instead of store

* feat(FileActionsHelper): Present upsale sheet instead of store
Copy link

@adrien-coye adrien-coye merged commit 2e9fd93 into converstion-quota-dropbox-view Feb 12, 2025
4 checks passed
@adrien-coye adrien-coye deleted the converstion-quota-dropbox-view-chip branch February 12, 2025 10:22
adrien-coye added a commit that referenced this pull request Feb 14, 2025
* feat: Present a sample SwiftUI View

* feat: Force ios-core-ui to mykSuite branch

* feat: Tuist project setup with external feature module

* chore: Bump coreUI

* feat(MyKSuiteFloatingPanelBridgeController): Display SwiftUI code in container view

* feat(MyKSuiteFloatingPanelBridgeController): Adjusted margins

* feat(MyKSuiteFloatingPanelBridgeController): New kDrive dedicated assets

* feat(Drive): Quota is now non nullable as discussed with backend

* feat: Bump UI with latest API

* feat(AppRouter): New explicit method presentUpSaleSheet

* chore(MyKSuiteFloatingPanelBridgeController): Clean code

* fix(AppRouter): Animate presentUpSaleSheet method

* fix(AppRouter): Animate MyKSuiteFloatingPanelBridgeController prensentation

* chore: Switched to ios-features

* fix(MCKRouter): Updated test mock

* fix(ios-features): Allow the project to build again with the new linked library

* chore(AppRouter): Removed iOS 15 conditional code

* chore(MyKSuiteFloatingPanelBridgeController): Removed iOS 15 conditional code

* fix(Package.swift): Added InfomaniakDI as a Framework to guarantee only one exists at any point

* feat: Trying to bridge a SwUI view in a scrollview in a presented sheet

* feat(MyKSuiteBridgeViewController): Modern sheet presentation

* feat(presentUpSaleSheet): Animate a dismiss before presenting

* chore: Upgrade tuist + Explicitly declare dependencies

Signed-off-by: Philippe Weidmann <[email protected]>

* fix: Remove target grouping

Signed-off-by: Philippe Weidmann <[email protected]>

* test: Shared Env

Signed-off-by: Philippe Weidmann <[email protected]>

* fix: Lottie needs to be dynamic

Signed-off-by: Philippe Weidmann <[email protected]>

* test: Remove old test + Stop testing DriveFileManager

Signed-off-by: Philippe Weidmann <[email protected]>

* test: Update some old tests

Signed-off-by: Philippe Weidmann <[email protected]>

* feat(ios-features): Added necessary libraries as a Framework

* chore: Bump core

Signed-off-by: Philippe Weidmann <[email protected]>

* feat(ios-features): Bump to 1.0.0

* chore: Tuist update

* feat: MykSuite chip (#1421)

* feat(FolderTypeTableViewCell): MykSuite chip

* feat(NewFolderTypeTableViewController): Present upsale sheet when needed

* feat(NewFolderTypeTableViewController): Explicit present call

* refactor(FolderTypeTableViewCell): Remove comment

* feat(ShareAndRightsViewController): Present upsale on myKSuite

* feat(ShareLinkTableViewCell): Display MykSuiteChip

* refactor(FolderTypeTableViewCell): Renamed to chipContainerView

* feat(FilesHeaderView): Display the trash header view that matches the design

* feat(FilesHeaderView): Show trash header view only when needed

* feat: Clear color for chip container view

* chore(FileListViewController): Force display chip for now

* feat(MyKSuiteChip): Proper chip design with correct background color

* fix(FilesHeaderView): Correct margin for chip view

* fix(FolderTypeTableViewCell): Correct chip constraint

* chore(FileListViewController): Better temporary display logic

* feat(FilesHeaderView): Present upsale sheet on tap

* feat(ShareLinkTableViewCell): Handle extra actions for mykSuite

* feat(MyKSuiteBridgeViewController): Modern sheet presentation

* feat(presentUpSaleSheet): Animate a dismiss before presenting

* chore: Upgrade tuist + Explicitly declare dependencies

Signed-off-by: Philippe Weidmann <[email protected]>

* fix: Remove target grouping

Signed-off-by: Philippe Weidmann <[email protected]>

* test: Shared Env

Signed-off-by: Philippe Weidmann <[email protected]>

* fix: Lottie needs to be dynamic

Signed-off-by: Philippe Weidmann <[email protected]>

* test: Remove old test + Stop testing DriveFileManager

Signed-off-by: Philippe Weidmann <[email protected]>

* test: Update some old tests

Signed-off-by: Philippe Weidmann <[email protected]>

* feat(ios-features): Added necessary libraries as a Framework

* chore: Bump core

Signed-off-by: Philippe Weidmann <[email protected]>

* feat(FolderTypeTableViewCell): Changed space between title and subtitle to 8pt

* feat(FilesHeaderView): Bump margin between title and subtitle to 8pt

* feat(myKSuitePlus.logo): Dark mode

* chore: Upgrade tuist + Explicitly declare dependencies

Signed-off-by: Philippe Weidmann <[email protected]>

* fix: Remove target grouping

Signed-off-by: Philippe Weidmann <[email protected]>

* test: Update some old tests

Signed-off-by: Philippe Weidmann <[email protected]>

* feat(ios-features): Added necessary libraries as a Framework

* feat(myKSuitePlus.logo): Dark mode background color

* feat(greyBackgroundChipColor): Changed darkmode background color

* feat(Drive+Quota): If Quota is not present we do not enforce limitations app side

* feat(Drive): Method isFreePack return true when pack is myKSuite

* feat(LocalizedFilenameFormatter): Use drive.isFreePack for correctness

* chore: Update to latest version os i18n

* feat(FileListViewController): Correct check for trash folder

* feat(FilesHeaderView): Translations for mykSuite trash header view

* refactor: PR self feedback

* refactor: Chore typo

* feat(ShareAndRightsViewController): Removed force display chip

* feat(ShareLinkTableViewCell): Removed force display chip

* feat(NewFolderTypeTableViewController): Enable pack check

* chore: Clean dead comment

* feat(FileListViewController): Enable actual mykSuite logic check

* fix: Make the branch build great again

* refactor(ShareLinkTableViewCell): Make sure the cell loads great

* chore: Update project post rebase to work on ios-features 1.0.0

* chore: Project setup

* chore: Remove trash asset and substitute it for delete

* feat(FilesHeaderView): Using TextStyle with IKLabel

* chore: Remove duplicated color

* feat(FilesHeaderView): Using existing color

* feat(FloatingPanelActionCollectionViewCell): Chip capability (#1429)

* feat(FloatingPanelActionCollectionViewCell): Chip capability

* feat: Enable chip for convertToDropbox action

* feat: Rework existing limitations (#1428)

* feat(MenuViewController): Hide upgrade cell that shows up on top of menu

* feat(ShareLinkSettingsViewController): Present upsale sheet instead of store

* feat(FileActionsFloatingPanelViewController): Present upsale sheet instead of store

* feat(HomeViewController): Present upsale sheet instead of store

* feat(NewFolderTypeTableViewController): Present upsale sheet instead of store

* feat(FileActionsHelper): Present upsale sheet instead of store

---------

Signed-off-by: Philippe Weidmann <[email protected]>
Co-authored-by: Philippe Weidmann <[email protected]>

* feat: Dropbox quota (#1432)

* feat(NewFolderTypeTableViewController): Dropbox quota

* fix: Create dropbox navigation fix

* feat(FileActionsFloatingPanelViewController): Quota implementation

* chore(router): Removed .askToUpSaleIfQuotaReached method

* feat: Public share quota, advanced settings chip (#1430)

* feat(ShareLinkSettingTableViewCell): Chip displayed in advanced screen

* feat(ShareLinkSettingsViewController): Switch to new modal screen

* feat(ShareAndRightsViewController): Add quota check and present modal if required

* feat(ShareAndRightsViewController): Check shareLinkQuota before performing actions

* feat: Share cell state advanced logic quota

* feat(MykSuiteRestrictions): Factorized code

* feat(ShareAndRightsViewController): Use guard

* feat(MykSuiteRestrictions): More factorized code

* feat(ShareLinkSettingTableViewCell): Set button insets to zero

* feat: MykSuite dashboard (#1419)

* chore: Switch to dashboard branch

* feat: New account cell in parameters to display MyKSuiteStore view

* feat(MyKSuiteStore): Add type to DI

* feat(MyKSuiteDashboardViewBridgeController): Reworked presentation

* feat(AccountManager): Refresh myKSuiteStore on login

* feat(ParameterTableViewController): Grouped cell UI update

* chore: Removed iOS 15 conditional code

* feat(): Modern sheet presentation for MyKSuiteBridgeViewController

* feat(presentUpSaleSheet): Animate a dismiss before presenting

* feat(ios-features): Added necessary libraries as a Framework

* chore(MyKSuiteDashboardViewBridgeController): Bumped to lattest ios-features API

* feat(ParameterTableViewController): Some i18n

* chore: PR Feedback

* chore: Remove conditional ios version dependent code

* feat(ParameterTableViewController): Dynamic sections if mykSuite enabled

* fix(ParameterTableViewCell): Proper prepare for reuse implementation

* feat(ParameterTableViewController): Inter18n general section

* fix: New ios-features build

* chore: Bump core-ui

* feat(AsyncImageView): A sample swUI view to display account image still requires fine tuning

* feat(AccountManager): Call to updateMyKSuite is no longer breaking authentification if broken

* fix(ParameterTableViewController): Correct rounded corner on cell

* feat(ParameterTableViewCell): Cell has support for other fonts and can display the current mykSuite account

* chore: Bump to ios-features 1.0.2

* chore: Branding my kSuite plus with a plus logo not a plus plus

* feat(ParameterTableViewController): Custom design table view section

* chore: Remove force display of myksuite

* feat(AsyncImageView): Loading view with default color

* feat: Check for mykSuite availlable for a user

* chore: Bump ios-features

* refactor(ParameterTableViewController): Better async loading

* fix(ParameterTableViewController): Section title is now correct without a mykSuite

* chore: Sonar

* refactor(ParameterTableViewController): Use a font with correct color directly

* refactor(MyKSuiteDashboardViewBridgeController): Simplify constructor

* feat(AccountManager): Update mykSuite on updateUser

* refactor(ParameterTableViewController): Remove extraneous lazy DI for direct resolution call

* refactor(MenuViewController): Remove extraneous import

* refactor(MyKSuiteFloatingPanelBridgeController): Instantiate pattern

---------

Signed-off-by: Philippe Weidmann <[email protected]>
Co-authored-by: Philippe Weidmann <[email protected]>
adrien-coye added a commit that referenced this pull request Feb 14, 2025
* feat(Drive): Sample quota implementation for testing

* feat(DriveInitWith): Added with=quota to drive init route

* feat(DriveInitWith): Init with parameter has changed therefore I updated it

* feat(Drive): Quota is now non nullable as discussed with backend

* feat(Quota): Parsing quota like discussed with API

* feat(Quota): Parsing working

* feat(Drive+Quota): If Quota is not present we do not enforce limitations app side

* feat(Drive): Method isFreePack return true when pack is myKSuite

* feat(LocalizedFilenameFormatter): Use drive.isFreePack for correctness

* chore: Removed comment

* fix: No need for explicit snake case as converted by network stack

* refactor: Quota check is public

* feat: MyKSuite UI (#1409)

* feat: Present a sample SwiftUI View

* feat: Force ios-core-ui to mykSuite branch

* feat: Tuist project setup with external feature module

* chore: Bump coreUI

* feat(MyKSuiteFloatingPanelBridgeController): Display SwiftUI code in container view

* feat(MyKSuiteFloatingPanelBridgeController): Adjusted margins

* feat(MyKSuiteFloatingPanelBridgeController): New kDrive dedicated assets

* feat(Drive): Quota is now non nullable as discussed with backend

* feat: Bump UI with latest API

* feat(AppRouter): New explicit method presentUpSaleSheet

* chore(MyKSuiteFloatingPanelBridgeController): Clean code

* fix(AppRouter): Animate presentUpSaleSheet method

* fix(AppRouter): Animate MyKSuiteFloatingPanelBridgeController prensentation

* chore: Switched to ios-features

* fix(MCKRouter): Updated test mock

* fix(ios-features): Allow the project to build again with the new linked library

* chore(AppRouter): Removed iOS 15 conditional code

* chore(MyKSuiteFloatingPanelBridgeController): Removed iOS 15 conditional code

* fix(Package.swift): Added InfomaniakDI as a Framework to guarantee only one exists at any point

* feat: Trying to bridge a SwUI view in a scrollview in a presented sheet

* feat(MyKSuiteBridgeViewController): Modern sheet presentation

* feat(presentUpSaleSheet): Animate a dismiss before presenting

* chore: Upgrade tuist + Explicitly declare dependencies

Signed-off-by: Philippe Weidmann <[email protected]>

* fix: Remove target grouping

Signed-off-by: Philippe Weidmann <[email protected]>

* test: Shared Env

Signed-off-by: Philippe Weidmann <[email protected]>

* fix: Lottie needs to be dynamic

Signed-off-by: Philippe Weidmann <[email protected]>

* test: Remove old test + Stop testing DriveFileManager

Signed-off-by: Philippe Weidmann <[email protected]>

* test: Update some old tests

Signed-off-by: Philippe Weidmann <[email protected]>

* feat(ios-features): Added necessary libraries as a Framework

* chore: Bump core

Signed-off-by: Philippe Weidmann <[email protected]>

* feat(ios-features): Bump to 1.0.0

* chore: Tuist update

* feat: MykSuite chip (#1421)

* feat(FolderTypeTableViewCell): MykSuite chip

* feat(NewFolderTypeTableViewController): Present upsale sheet when needed

* feat(NewFolderTypeTableViewController): Explicit present call

* refactor(FolderTypeTableViewCell): Remove comment

* feat(ShareAndRightsViewController): Present upsale on myKSuite

* feat(ShareLinkTableViewCell): Display MykSuiteChip

* refactor(FolderTypeTableViewCell): Renamed to chipContainerView

* feat(FilesHeaderView): Display the trash header view that matches the design

* feat(FilesHeaderView): Show trash header view only when needed

* feat: Clear color for chip container view

* chore(FileListViewController): Force display chip for now

* feat(MyKSuiteChip): Proper chip design with correct background color

* fix(FilesHeaderView): Correct margin for chip view

* fix(FolderTypeTableViewCell): Correct chip constraint

* chore(FileListViewController): Better temporary display logic

* feat(FilesHeaderView): Present upsale sheet on tap

* feat(ShareLinkTableViewCell): Handle extra actions for mykSuite

* feat(MyKSuiteBridgeViewController): Modern sheet presentation

* feat(presentUpSaleSheet): Animate a dismiss before presenting

* chore: Upgrade tuist + Explicitly declare dependencies

Signed-off-by: Philippe Weidmann <[email protected]>

* fix: Remove target grouping

Signed-off-by: Philippe Weidmann <[email protected]>

* test: Shared Env

Signed-off-by: Philippe Weidmann <[email protected]>

* fix: Lottie needs to be dynamic

Signed-off-by: Philippe Weidmann <[email protected]>

* test: Remove old test + Stop testing DriveFileManager

Signed-off-by: Philippe Weidmann <[email protected]>

* test: Update some old tests

Signed-off-by: Philippe Weidmann <[email protected]>

* feat(ios-features): Added necessary libraries as a Framework

* chore: Bump core

Signed-off-by: Philippe Weidmann <[email protected]>

* feat(FolderTypeTableViewCell): Changed space between title and subtitle to 8pt

* feat(FilesHeaderView): Bump margin between title and subtitle to 8pt

* feat(myKSuitePlus.logo): Dark mode

* chore: Upgrade tuist + Explicitly declare dependencies

Signed-off-by: Philippe Weidmann <[email protected]>

* fix: Remove target grouping

Signed-off-by: Philippe Weidmann <[email protected]>

* test: Update some old tests

Signed-off-by: Philippe Weidmann <[email protected]>

* feat(ios-features): Added necessary libraries as a Framework

* feat(myKSuitePlus.logo): Dark mode background color

* feat(greyBackgroundChipColor): Changed darkmode background color

* feat(Drive+Quota): If Quota is not present we do not enforce limitations app side

* feat(Drive): Method isFreePack return true when pack is myKSuite

* feat(LocalizedFilenameFormatter): Use drive.isFreePack for correctness

* chore: Update to latest version os i18n

* feat(FileListViewController): Correct check for trash folder

* feat(FilesHeaderView): Translations for mykSuite trash header view

* refactor: PR self feedback

* refactor: Chore typo

* feat(ShareAndRightsViewController): Removed force display chip

* feat(ShareLinkTableViewCell): Removed force display chip

* feat(NewFolderTypeTableViewController): Enable pack check

* chore: Clean dead comment

* feat(FileListViewController): Enable actual mykSuite logic check

* fix: Make the branch build great again

* refactor(ShareLinkTableViewCell): Make sure the cell loads great

* chore: Update project post rebase to work on ios-features 1.0.0

* chore: Project setup

* chore: Remove trash asset and substitute it for delete

* feat(FilesHeaderView): Using TextStyle with IKLabel

* chore: Remove duplicated color

* feat(FilesHeaderView): Using existing color

* feat(FloatingPanelActionCollectionViewCell): Chip capability (#1429)

* feat(FloatingPanelActionCollectionViewCell): Chip capability

* feat: Enable chip for convertToDropbox action

* feat: Rework existing limitations (#1428)

* feat(MenuViewController): Hide upgrade cell that shows up on top of menu

* feat(ShareLinkSettingsViewController): Present upsale sheet instead of store

* feat(FileActionsFloatingPanelViewController): Present upsale sheet instead of store

* feat(HomeViewController): Present upsale sheet instead of store

* feat(NewFolderTypeTableViewController): Present upsale sheet instead of store

* feat(FileActionsHelper): Present upsale sheet instead of store

---------

Signed-off-by: Philippe Weidmann <[email protected]>
Co-authored-by: Philippe Weidmann <[email protected]>

* feat: Dropbox quota (#1432)

* feat(NewFolderTypeTableViewController): Dropbox quota

* fix: Create dropbox navigation fix

* feat(FileActionsFloatingPanelViewController): Quota implementation

* chore(router): Removed .askToUpSaleIfQuotaReached method

* feat: Public share quota, advanced settings chip (#1430)

* feat(ShareLinkSettingTableViewCell): Chip displayed in advanced screen

* feat(ShareLinkSettingsViewController): Switch to new modal screen

* feat(ShareAndRightsViewController): Add quota check and present modal if required

* feat(ShareAndRightsViewController): Check shareLinkQuota before performing actions

* feat: Share cell state advanced logic quota

* feat(MykSuiteRestrictions): Factorized code

* feat(ShareAndRightsViewController): Use guard

* feat(MykSuiteRestrictions): More factorized code

* feat(ShareLinkSettingTableViewCell): Set button insets to zero

* feat: MykSuite dashboard (#1419)

* chore: Switch to dashboard branch

* feat: New account cell in parameters to display MyKSuiteStore view

* feat(MyKSuiteStore): Add type to DI

* feat(MyKSuiteDashboardViewBridgeController): Reworked presentation

* feat(AccountManager): Refresh myKSuiteStore on login

* feat(ParameterTableViewController): Grouped cell UI update

* chore: Removed iOS 15 conditional code

* feat(): Modern sheet presentation for MyKSuiteBridgeViewController

* feat(presentUpSaleSheet): Animate a dismiss before presenting

* feat(ios-features): Added necessary libraries as a Framework

* chore(MyKSuiteDashboardViewBridgeController): Bumped to lattest ios-features API

* feat(ParameterTableViewController): Some i18n

* chore: PR Feedback

* chore: Remove conditional ios version dependent code

* feat(ParameterTableViewController): Dynamic sections if mykSuite enabled

* fix(ParameterTableViewCell): Proper prepare for reuse implementation

* feat(ParameterTableViewController): Inter18n general section

* fix: New ios-features build

* chore: Bump core-ui

* feat(AsyncImageView): A sample swUI view to display account image still requires fine tuning

* feat(AccountManager): Call to updateMyKSuite is no longer breaking authentification if broken

* fix(ParameterTableViewController): Correct rounded corner on cell

* feat(ParameterTableViewCell): Cell has support for other fonts and can display the current mykSuite account

* chore: Bump to ios-features 1.0.2

* chore: Branding my kSuite plus with a plus logo not a plus plus

* feat(ParameterTableViewController): Custom design table view section

* chore: Remove force display of myksuite

* feat(AsyncImageView): Loading view with default color

* feat: Check for mykSuite availlable for a user

* chore: Bump ios-features

* refactor(ParameterTableViewController): Better async loading

* fix(ParameterTableViewController): Section title is now correct without a mykSuite

* chore: Sonar

* refactor(ParameterTableViewController): Use a font with correct color directly

* refactor(MyKSuiteDashboardViewBridgeController): Simplify constructor

* feat(AccountManager): Update mykSuite on updateUser

* refactor(ParameterTableViewController): Remove extraneous lazy DI for direct resolution call

* refactor(MenuViewController): Remove extraneous import

* refactor(MyKSuiteFloatingPanelBridgeController): Instantiate pattern

---------

Signed-off-by: Philippe Weidmann <[email protected]>
Co-authored-by: Philippe Weidmann <[email protected]>

* chore(ios-features): Bump to 1.0.4

* fix(ParameterTableViewController): Linter error

* fix(upsaleFolderColor): Removed unused parameters

---------

Signed-off-by: Philippe Weidmann <[email protected]>
Co-authored-by: Philippe Weidmann <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants