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: Dropbox quota #1432

Conversation

adrien-coye
Copy link
Contributor

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

Feature branch #1405

@adrien-coye adrien-coye changed the title feat(NewFolderTypeTableViewController): Dropbox quota feat: Dropbox quota Feb 13, 2025
@adrien-coye adrien-coye added this to the 5.2.0 milestone Feb 13, 2025
@adrien-coye adrien-coye marked this pull request as ready for review February 13, 2025 12:58
@adrien-coye adrien-coye merged commit 408d109 into converstion-quota-dropbox-view Feb 13, 2025
5 checks passed
@adrien-coye adrien-coye deleted the converstion-quota-dropbox-view-dropbox branch February 13, 2025 14:14
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