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

Admin UI: Login page #584

Merged
merged 48 commits into from
Apr 3, 2024
Merged

Admin UI: Login page #584

merged 48 commits into from
Apr 3, 2024

Conversation

stamenione
Copy link
Contributor

@stamenione stamenione commented Apr 1, 2024

Readiness checklist

  • I added/updated unit tests.
  • I added/updated integration tests.
  • I ensured that the PR title is good enough for the changelog.
  • I labeled the PR.

Description

image

image

image

@stamenione stamenione added the enhancement New feature or request label Apr 1, 2024
@stamenione stamenione requested a review from jkoenig134 April 1, 2024 07:47
@stamenione stamenione self-assigned this Apr 1, 2024
@stamenione stamenione requested a review from tnotheis as a code owner April 1, 2024 07:47
Copy link

coderabbitai bot commented Apr 1, 2024

Important

Auto Review Skipped

Auto reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository.

To trigger a single review, invoke the @coderabbitai review command.

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share

Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Member

@tnotheis tnotheis left a comment

Choose a reason for hiding this comment

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

This is just a high-level review to save Julian's time. He will probably have some more comments.

In general, you should probably extract a lot more things into global styles/widgets to make them reusable. Because imagine we want to change the product name. With your current solution, we would have to go to each screen's AppBar and replace "Admin UI" with the new product name.
That's just one example. The same goes for things like styles for buttons or text fields, screen padding, colors ...

AdminUi/apps/admin_ui/lib/pages/login_page.dart Outdated Show resolved Hide resolved
AdminUi/apps/admin_ui/lib/pages/login_page.dart Outdated Show resolved Hide resolved
AdminUi/apps/admin_ui/lib/pages/login_page.dart Outdated Show resolved Hide resolved
AdminUi/apps/admin_ui/lib/pages/login_page.dart Outdated Show resolved Hide resolved
AdminUi/apps/admin_ui/lib/pages/login_page.dart Outdated Show resolved Hide resolved
AdminUi/apps/admin_ui/lib/pages/login_page.dart Outdated Show resolved Hide resolved
AdminUi/apps/admin_ui/lib/pages/login_page.dart Outdated Show resolved Hide resolved
AdminUi/apps/admin_ui/lib/pages/login_page.dart Outdated Show resolved Hide resolved
AdminUi/apps/admin_ui/lib/pages/login_page.dart Outdated Show resolved Hide resolved
AdminUi/apps/admin_ui/lib/pages/login_page.dart Outdated Show resolved Hide resolved
jkoenig134
jkoenig134 previously approved these changes Apr 3, 2024
…I-Login-Page' of github.com:nmshd/backbone into NMSHDB-97-Admin-UI-Login-Page
@tnotheis
Copy link
Member

tnotheis commented Apr 3, 2024

@stamenione Julian has authority to approve PRs that are solely related to the Admin UI. So you don't need to wait for my approval in such cases.

@stamenione stamenione merged commit a78c2d4 into main Apr 3, 2024
15 checks passed
@stamenione stamenione deleted the NMSHDB-97-Admin-UI-Login-Page branch April 3, 2024 09:26
tnotheis added a commit that referenced this pull request Apr 3, 2024
* chore: adapt the header appearance

* chore: add new design for login  box

* chore: adapt login position in padding widget  via screen size

* chore: logic for displaying the error message for attempted login

* chore: remove error message

* chore: add error message

* chore: change the button colors and add a text button

* chore: remove Visibility widget

* chore: add text style for text button

* chore: change todo comment according to the flutter style

* refactor: extract the app title to be a separate widget

* refactor: extract text field to be reusable

* chore: use new app title widget

* chore: use custom text field

* chore: make the text field fixed height

* chore: rename variables and make them private

* chore: update imports

* chore: use extracted app title widget

* chore: remove unnecessary widgets and center the card

* chore: add custom colors and move login button to the bottom

* chore: remove unused import

* refactor: rename folder and files appropriately

* refactor: extract sized box into a separate custom widget

* refactor: extract elevated button into a separate custom widget

* chore: make the variable private

* chore: local variable should not start with underscore

* chore: add DI for baseUrl

* fix: untangle coding

* fix: imports

* fix: make CustomColors easier accessible

* fix: make prettier

* feat: add gaps

* fix: rename file

* refactor: remove CustomX, make whole logic with one variable

* fix: bool logic

* ci: add jkoenig134 as codeowner

* chore: remove accidentally committet code

* fix: undo change

* refactor: simplify login screen

* refactor: simplify app title

* refactor: PR comments

* chore: inline svg picture

* chore: make multi line params last

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Julian König <[email protected]>
Co-authored-by: Timo Notheisen <[email protected]>
MH321Productions added a commit that referenced this pull request Apr 3, 2024
* Create new project

* Set up basic structure

* Add ApiKeyValidation Endpoint

* Add Clients Endpoint

* Add Identities Endpoint

* Add Logs Endpoint

* Add Metrics Endpoint

* Add Relationships Endpoint

* Add Endpoints to client

* Add Tiers Endpoint

* Make Project buildable

* Make fields required

* Fix Formatting #1

* Fix Formatting #2

* Fix merge conflict (Consumer API SDK was contained twice)

* Add new common project

* Add common renamed types

* Add project file

* Remove common types from ConsumerApi

* Include common project in ConsumerApi

* Update Types, Methods and classes in ConsumerAPI

* Move Requests and Responses into own folders

* Remove validated request

* Add Enumerable Responses

* Add AdminAPI SDK project

* Rename StartDeletionProcess Method

* Remove signed challenge from Create identity request

* Make fields required

* Reference Tooling project for custom Json Converter

* Use Authenticator for Xsrf

* Fix Enumerable Response

* Fix Create Tier Request

* Fix Request

* Fix formatting

* Delete redundant classes

* Reference Common project

* chore: Reference common classes

* chore: Add patch method, remove unnecessary unauthenticated methods

* fix: Make EnumerableResponseBase an ICollection

* fix: Fix formatting

* Admin UI: Login page (#584)

* chore: adapt the header appearance

* chore: add new design for login  box

* chore: adapt login position in padding widget  via screen size

* chore: logic for displaying the error message for attempted login

* chore: remove error message

* chore: add error message

* chore: change the button colors and add a text button

* chore: remove Visibility widget

* chore: add text style for text button

* chore: change todo comment according to the flutter style

* refactor: extract the app title to be a separate widget

* refactor: extract text field to be reusable

* chore: use new app title widget

* chore: use custom text field

* chore: make the text field fixed height

* chore: rename variables and make them private

* chore: update imports

* chore: use extracted app title widget

* chore: remove unnecessary widgets and center the card

* chore: add custom colors and move login button to the bottom

* chore: remove unused import

* refactor: rename folder and files appropriately

* refactor: extract sized box into a separate custom widget

* refactor: extract elevated button into a separate custom widget

* chore: make the variable private

* chore: local variable should not start with underscore

* chore: add DI for baseUrl

* fix: untangle coding

* fix: imports

* fix: make CustomColors easier accessible

* fix: make prettier

* feat: add gaps

* fix: rename file

* refactor: remove CustomX, make whole logic with one variable

* fix: bool logic

* ci: add jkoenig134 as codeowner

* chore: remove accidentally committet code

* fix: undo change

* refactor: simplify login screen

* refactor: simplify app title

* refactor: PR comments

* chore: inline svg picture

* chore: make multi line params last

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Julian König <[email protected]>
Co-authored-by: Timo Notheisen <[email protected]>

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Vladimir Vuckovic <[email protected]>
Co-authored-by: Julian König <[email protected]>
Co-authored-by: Timo Notheisen <[email protected]>
Co-authored-by: Timo Notheisen <[email protected]>
Dannyps added a commit that referenced this pull request Apr 8, 2024
* refactor: remove unused method

* fix: bad file names

* fix: query was named as a command

* fix: bad previous fixes

* refactor: extract DbOptions

* Revert "refactor: extract DbOptions"

This reverts commit 7694b5e.

* feat: create NoActiveDeletionProcessFound Domain Error

* fix: bad catch for newly created NoActiveDeletionProcessFound Domain Error

* fix: only Identities with status ToBeDeleted should be selected for deletion

* fix: bad test

* chore: delete compiled models

* Revert "ci: make tests have retries"

This reverts commit ad32bba.

* Waiting for approval (#449)

* feat: add handler for deletion process waiting for approval reminder

* refactor: change messages in audit log and change validation when sending reminders

* test: add more unit test cases for identity deletion process approval reminders after fixing the methods

* refactor: restructure handler to account for scenarios where multiple reminders would be sent and only one should be

* test: update unit tests after refactoring

* chore: add reminders migrations

* refactor: rename notification message

* refactor: combine FindAllWithApprovedDeletionProcess and FindAllWithDeletionProcessWaitingForApproval

* chore: reorder properties

* refactor: make command name plural

* chore: rename folders of SendDeletionProcessGracePeriodRemindersCommand

* test: simplify mock assertions

* chore: delete compiled models

* chore: formatting

* feat: add logging to reminder commands (approval and grace period)

* refactor: end of approval period should be domain logic

* refactor: add generic method for ensuring deletion process in given status

* test: update unit tests after latest changes

* refactor: rename test cases

* test: add unit test for GetEndOfApprovalPeriod

* refactor: change setting of system time during unit tests

---------

Co-authored-by: Daniel Silva <[email protected]>
Co-authored-by: Timo Notheisen <[email protected]>

* refactor: remove named params for cancellationtoken

* refactor: minor fixes

* refactor: fix formatting

* refactor: remove command to delete devices
they're deleted via FK cascade from the identities

* refactor: remove null ch3eck where not required
(.+\..+) != null && \1

* refactor: remove usages of AddSingleton. Move registrations to job

* refactor: remove needless null check

* refactor: rename lambda param

* refactor: rename WebApplication1 → Challenges.Application.Test

* fix: null identityAddresses not caught when running Devices.Jobs.IdentityDeletion

* test: fix naming

* chore: remove unused IdentityStatuses

- Cancelled is not implemented yet, therefore it shouldn't exist in the enum
- Completed will never be used, because as soon as a deletion process is completed, it is deleted

* chore: remove unused SqlDatabase property from the job's configuration

* refactor: expect only one recipient with given address in Message.ReplaceIdentityAddress

* refactor: several small refactorings

* fix: set Status after possible exception is thrown to avoid inconsistency

* chore: log generic message instead of a specific one that could be wrong

* chore: use DeviceId.New() to create a DeviceId

* refactor: use value object (IdentityAddress) instead of string

* test: assert that the correct relationship is returned

* refactor: extract method in order to reduce the noise in test
refactor: clean up code warnings

* fix: save blob storage alongside db context

* test: assert on exact identity used in deletion process

* test: use DeviceId.New() to create DeviceId

* refactor: replace parameters by a tuple as suggested in the MessagesTests
refactor: add method that takes in only from IdentityAddress parameter

* refactor: update method calls to pass tuplets

* refactor: change delete method so that it uses a predicate

* refactor: re-implement delete method so that it uses a predicate

* feat: add static method that returns identity with the address passed in

* refactor: use refactored delete method in the handler

* refactor: create overload method with only two parameters

* refactor: simplify test

* test: use comile to simplify test
refactor: improve readability of RelationshipTests

* feat: introduce check for delition process approved before DeletionStarted()

* fix: make setter private instead of internal

* chore: remove unnecessary line from test, it has nothing to do with what is being asserted

* chore: remove unnecessary null check

* refactor: use CreateIdentity insted of CreateIdentityWithTier

* chore: fix line endigns and formatting

* chore: remove line

* chore: rename test

* chore: rename IdentityAddresses to DeletedIdentityAddresses

* chore: add meaningful default value to Message property

* chore: rename

* feat: add generic Find() that accepts an expression to interface
chore: remove FindAllToBeDeletedWithPastDeletionGracePeriod()

* feat: implement Find() from IIdentitiesRepository

* feat: add IsReadyForDeletion() to Idnetity

* feat: update handler with Find()

* test: use Find() to test TriggerRipeDeletionProcesses handler

* chore: fix formating issue

* test: remove assertion that leads to overspecification

* chore: rename test

* feat: add WasCreatedBy() to Files

* refactor: use Expression in DeleteFilesOfIdentity()

* refactor: use tuple in CreateMessage()
chore: remove unused var

* chore: fix formatting issue

* fix: implement interface

* test: assert that the correct identity address is passed

* chore: fix merge defects

* chore: fix formatting

* fix: unit test Deletion_process_started_successfully

* fix: DeletionGracePeriodEndsAt repeatd on migrations

* fix: duplicated columns

* chore: remove further duplicate migrations

* fix: duplicated migrations

* fix: missing DeletionGracePeriodEndsAt for SqlServer

* feat: rely on RelationshipTemplateAllocation being a part of a RelationshipTemplate for their deletion via cascade instead of explicit deletion.

* chore: unused using

* chore: remove unused event

* refactor: remove usage of primary constructor

* chore: remove missleading comment

* refactor: remove class-wide side-effects from private field

* chore: load Job and Job tests into solution

* chore: remove overspecified test

* chore: move job to top level

* chore: load DeletionStartsNotification text from static config

* chore: use specific handler for deleting external events

* chore: no need for !

* chore: remove message from DeletionStartsNotification ctor

* refactor: move Job projetcs to proper folders

* chore: fix bad namespaces

* chore: rename DeletionStartedTests

* chore: remove file that should not be tracked

* fix: missing cascade on migrations

* refactor: make use of CollectionResponseBase for TriggerRipeDeletionProcessesResponse

* fix: do not cascade delete IdentityDeletionProcessAuditLogEntries when deleting the respective IdentityDeletionProcess

* chore: fix tests

* chore: remove redundant using directives

* feat: add DeletionProcessStatus.Deleting

* chore: add line comment to pragma

* fix: compiler error in DevicesDbContextModelSnapshot.cs

* chore: remove redundant AssemblyInfo.cs

* chore: add GitHubActionsTestLogger to IdentityDeletion Tests Job

* chore: fix UpdateDeletionProcesses.HandlerTests tests

* chore: fix DeletionGracePeriodReminder Tests

* chore: remove unnecessary usings

* chore: move jobs to right directory

* chore: add missing reference

* chore: use clearer message

Co-authored-by: Timo Notheisen <[email protected]>

* chore: replace configuration files for job

* chore: add missing GitHubActionsTestLogger ref to job test

* chore: rename deletedIdentityAddresses variable

* chore: code review

* chore: remove unused method

* chore: remove unused method

* chore: code review

* test: Sends_PushNotification_For_Each_Relationship_In_Each_Identity

* refactor: HasAddress

* fix: remove unnecessary class

* refactor: HasAddress receives IdentityAddress instead of string

* refactor: change TriggerRipeDeletionProcessesResponse to contain a Dictionary<IdentityAddress, UnitResult<DomainError>>

* chore: fix build

* chore: set dbsets to null

* chore: set dbsets to null

* refactor: simplify method names

* chore: more descriptive DeletionStartsNotification message

* chore: rename variables

* fix: deletion of Identity not checking Grace Period first

* refactor: further renaming of repo method names

* chore: fix test

* chore: reformat

* chore: merge deletion workers into one single job

* chore: fix namespaces

* chore: move deletionProcess.IsReadyToStartDeletion check call to DeletionProcess domain logic

* test: DeletionStarted fails when no DeletionProcess exists

* chore: add missing project to sln

* chore: use expressions for messages

* chore: strong type IdentityAddress

* cxhore: rename vars

* chore: add missing project

* chore: add CreateIdentityWithApprovedDeletionProcess method

* fix: identity deletion always failed

* test: deletion fails if missing approval

* chore: minor fixes

* chore: missing packageref

* chore: missing packageref

* refactor: extract code of ActualIdentityDeletionWorker into smaller methods

* chore: remove duplicated reference to GitHubActionsTestLogger

* chore: rename solution folder "Job" to "Jobs"

* chore: restore try-catch for Job Program.cs

* refactor: improve TriggerRipeDeletionProcessesResponse

* chore: remove redundant Nullable annotation in Job.IdentityDeletion.Tests.csproj

* chore: fix formatting

* refactor: use top level statements in Program.cs

* chore: remove DeletionProcess.Status from error code

* feat: Anonymize RelationshipTemplateAllocations instead of deleting them

* chore: fix formatting

* chore: move files as per merge

* chore: fix merge

* fix: IdentityCannotBeDeleted error message

* chore: make IsReadyToStartDeletion private

* fix: method renamed

* test: Calls_BlobStorage_Remove_with_correct_FileIds
this is a proposal to address https://github.com/nmshd/backbone/pull/498/files/73d8d353fa38637f111390abba85c6a5f169cb99#r1530125490

* refactor:simplify test

* chore: restore missing IdentityDeletionProcess property DeletionStartedAt

* chore: fix test

* chore: fix test

* chore: change DeletionStartsNotification

* chore: formatting/naming

* fix: use correct error codes

* refactor: introduce HasGracePeriodExpired property

* test: use hardcoded error code

* refactor: rename repo method and remove unused method

* refactor: move AnonymizeRelationshipTemplateAllocationsAllocatedByIdentityCommand specific files to correct folder

* chore: fix nullability warning

* feat: reduce number of db queries for AnonymizeRelationshipTemplateAllocationsAllocatedByIdentity

* fix: re-add accidentally removed method to repo

* chore: fix nullability warnings

* Admin UI: Login page (#584)

* chore: adapt the header appearance

* chore: add new design for login  box

* chore: adapt login position in padding widget  via screen size

* chore: logic for displaying the error message for attempted login

* chore: remove error message

* chore: add error message

* chore: change the button colors and add a text button

* chore: remove Visibility widget

* chore: add text style for text button

* chore: change todo comment according to the flutter style

* refactor: extract the app title to be a separate widget

* refactor: extract text field to be reusable

* chore: use new app title widget

* chore: use custom text field

* chore: make the text field fixed height

* chore: rename variables and make them private

* chore: update imports

* chore: use extracted app title widget

* chore: remove unnecessary widgets and center the card

* chore: add custom colors and move login button to the bottom

* chore: remove unused import

* refactor: rename folder and files appropriately

* refactor: extract sized box into a separate custom widget

* refactor: extract elevated button into a separate custom widget

* chore: make the variable private

* chore: local variable should not start with underscore

* chore: add DI for baseUrl

* fix: untangle coding

* fix: imports

* fix: make CustomColors easier accessible

* fix: make prettier

* feat: add gaps

* fix: rename file

* refactor: remove CustomX, make whole logic with one variable

* fix: bool logic

* ci: add jkoenig134 as codeowner

* chore: remove accidentally committet code

* fix: undo change

* refactor: simplify login screen

* refactor: simplify app title

* refactor: PR comments

* chore: inline svg picture

* chore: make multi line params last

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Julian König <[email protected]>
Co-authored-by: Timo Notheisen <[email protected]>

* refactor: remove regions for repo

* chore: ensure cascading for RelationshipTemplate -> Allocations

* chore: restore migrations and DbContextModelSnapshot from main

* chore: add new migrations specifically for actual deletion

* fix: tests not calling correct repo method

* chore: fix formatting

* fix: duplicate config block

* chore: filters must cast IdentityAddress to string to enable db evaluation

* feat: allow selection of worker to run on Job.IdentityDeletion

* chore: add missing cascade deletion for SyncRun -> ExternalEvents

* Revert "chore: add missing cascade deletion for SyncRun -> ExternalEvents"

This reverts commit 3f75f67.

* fix: must delete ExternalEvents before SyncRuns

* chore: fix formatting

* fix: admin check task

* chore: ingore Vite's `server.fs.deny` did not deny requests for patterns with directories. vulnerability
We do not make use of vite server

* chore: exlude fix

* fix: dependency vulnerability

* chore: use reflection to load worker

* feat: ensure TierIdBeforeDeletion is not null when cancelling the deletion

* chore: remove empty migrations

* chore: remove empty migrations

* chore: fix typo

* chore: set worker to null!

* refactor: formatting

* refactor: fix formatting

* chore: revert changes to codeowners

---------

Co-authored-by: Daniel Almeida <[email protected]>
Co-authored-by: Timo Notheisen <[email protected]>
Co-authored-by: Nikola Dmitrasinovic <[email protected]>
Co-authored-by: Nikola Vetnić <[email protected]>
Co-authored-by: Hunor Tot-Bagi <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timo Notheisen <[email protected]>
Co-authored-by: Vladimir Vuckovic <[email protected]>
Co-authored-by: Julian König <[email protected]>
stamenione added a commit that referenced this pull request Apr 26, 2024
* feat: add data table 2

* Admin UI: Login page (#584)

* chore: adapt the header appearance

* chore: add new design for login  box

* chore: adapt login position in padding widget  via screen size

* chore: logic for displaying the error message for attempted login

* chore: remove error message

* chore: add error message

* chore: change the button colors and add a text button

* chore: remove Visibility widget

* chore: add text style for text button

* chore: change todo comment according to the flutter style

* refactor: extract the app title to be a separate widget

* refactor: extract text field to be reusable

* chore: use new app title widget

* chore: use custom text field

* chore: make the text field fixed height

* chore: rename variables and make them private

* chore: update imports

* chore: use extracted app title widget

* chore: remove unnecessary widgets and center the card

* chore: add custom colors and move login button to the bottom

* chore: remove unused import

* refactor: rename folder and files appropriately

* refactor: extract sized box into a separate custom widget

* refactor: extract elevated button into a separate custom widget

* chore: make the variable private

* chore: local variable should not start with underscore

* chore: add DI for baseUrl

* fix: untangle coding

* fix: imports

* fix: make CustomColors easier accessible

* fix: make prettier

* feat: add gaps

* fix: rename file

* refactor: remove CustomX, make whole logic with one variable

* fix: bool logic

* ci: add jkoenig134 as codeowner

* chore: remove accidentally committet code

* fix: undo change

* refactor: simplify login screen

* refactor: simplify app title

* refactor: PR comments

* chore: inline svg picture

* chore: make multi line params last

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Julian König <[email protected]>
Co-authored-by: Timo Notheisen <[email protected]>

* feat: add multiselect

* feat: add data table 2 and multi dropdown

* fix: remove dependencies from wrong pubspec

* fix: remove filter when there are no filters applied

* chore: add builders

* chore: display the IdentityOverview

* fix: change the widget

* feat: add identity overview

* feat: add components

* feat: add shared filter fields

* chore: tier overview (wip)

* chore: identity details (wip)

* chore: pagination (wip)

* chore: update rowCount

* fix: pagination

* fix: pagination

* chore: remove comment and print

* chore: remove comments

* fix: revert created files

* chore: use switch expression

* chore: use gaps 16 and enlarge the textfield to 120

* chore: remove unused controller

* chore: use async paginated data table 2

* chore: rename variables and add this.*

* chore: change the named parameter

* chore: change the color depending of a theme mode

* chore: rename a label

* chore: remove comment

* chore: move files into a new folder

* chore: remove components.dart and change the import

* chore: move the file in the new folder and implement async data table source

* chore: add trailing commas

* refactor: change code structure / remove empty widget

* chore: add logger

* fix: data loading

* chore: make selected date nullable and remove isDateSelected

* chore: make variables private and remove late

* fix: overhaul sorting and filtering

* fix: add empty hint

* fix: remove dynamic

* chore: add set state

* chore: remove onDateSelected from setState

* chore: pageNumber should start from 0

* chore: trigger order by from odata request

* chore: remove required

* chore: make constructor inline

* chore: remove unnecessary setState

* chore: rename the method

* chore: add onOptionRemoved and make the dropdown wider

* fix: revert remove the onOptionRemoved

* fix: remove comments

* fix: use map instead of List<_Operator>

* fix: remove unused scrollController

* feat: add intl dependency

* chore: add optional and remove unnecessary variables and method

* chore: use absent method

* fix: change substring to date format

* fix: use lastLoginAt

* fix: add a statement to check whether the lastLoginAt is null or not

* refactor: simplify

* chore: remove unused field

* chore: remove the unused from method

* fix: make method inline

* fix: change to named parameter

* fix: make field private

* fix: undo the change

* fix: make method inline

* fix: use record

* fix: rename variables

* fix: use setter

* fix: resolve ! for newValue

* fix: move callback outside of setState

* fix: rename a method

* fix: maximum date that can be picked is "tomorrow"

* fix: make an early return

* fix: move callback outside of setState and make setState inline

* fix: trigger onFilterSelected when operator changes

* chore: make an early return

* fix: use DateFormat

* fix: replace variable with null

* fix: return picked instead of _selectedDate

* chore: make early return, rename variable and make statement inline

* fix: remove setState and rename variable

* fix: swap places of helper method with main method

* fix: revert make method more readable

* fix: move the setter's position

* fix: remove setState

* refactor: cleanup / make more readable

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Julian König <[email protected]>
Co-authored-by: Timo Notheisen <[email protected]>
jkoenig134 added a commit that referenced this pull request May 3, 2024
* feat: add data table 2

* Admin UI: Login page (#584)

* chore: adapt the header appearance

* chore: add new design for login  box

* chore: adapt login position in padding widget  via screen size

* chore: logic for displaying the error message for attempted login

* chore: remove error message

* chore: add error message

* chore: change the button colors and add a text button

* chore: remove Visibility widget

* chore: add text style for text button

* chore: change todo comment according to the flutter style

* refactor: extract the app title to be a separate widget

* refactor: extract text field to be reusable

* chore: use new app title widget

* chore: use custom text field

* chore: make the text field fixed height

* chore: rename variables and make them private

* chore: update imports

* chore: use extracted app title widget

* chore: remove unnecessary widgets and center the card

* chore: add custom colors and move login button to the bottom

* chore: remove unused import

* refactor: rename folder and files appropriately

* refactor: extract sized box into a separate custom widget

* refactor: extract elevated button into a separate custom widget

* chore: make the variable private

* chore: local variable should not start with underscore

* chore: add DI for baseUrl

* fix: untangle coding

* fix: imports

* fix: make CustomColors easier accessible

* fix: make prettier

* feat: add gaps

* fix: rename file

* refactor: remove CustomX, make whole logic with one variable

* fix: bool logic

* ci: add jkoenig134 as codeowner

* chore: remove accidentally committet code

* fix: undo change

* refactor: simplify login screen

* refactor: simplify app title

* refactor: PR comments

* chore: inline svg picture

* chore: make multi line params last

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Julian König <[email protected]>
Co-authored-by: Timo Notheisen <[email protected]>

* feat: add multiselect

* feat: add data table 2 and multi dropdown

* fix: remove dependencies from wrong pubspec

* fix: remove filter when there are no filters applied

* chore: add builders

* chore: display the IdentityOverview

* fix: change the widget

* feat: add identity overview

* feat: add components

* feat: add shared filter fields

* chore: tier overview (wip)

* chore: identity details (wip)

* chore: pagination (wip)

* chore: update rowCount

* fix: pagination

* fix: pagination

* chore: remove comment and print

* chore: remove comments

* fix: revert created files

* feat: add clients overview dialogs

* chore: update types

* feat: add clients overview

* chore: replace placeholder width clients overview widget

* feat: add client filters

* chore: add barrel exports

* chore: use switch expression

* chore: use gaps 16 and enlarge the textfield to 120

* chore: remove unused controller

* chore: use async paginated data table 2

* chore: rename variables and add this.*

* chore: change the named parameter

* chore: change the color depending of a theme mode

* chore: rename a label

* chore: remove comment

* chore: move files into a new folder

* chore: remove components.dart and change the import

* chore: move the file in the new folder and implement async data table source

* chore: add trailing commas

* refactor: change code structure / remove empty widget

* chore: add logger

* fix: data loading

* chore: remove unnecessary barrel export

* chore: remove unnecessary widget

* chore: make selected date nullable and remove isDateSelected

* chore: make variables private and remove late

* fix: overhaul sorting and filtering

* fix: add empty hint

* fix: remove dynamic

* chore: add set state

* chore: remove onDateSelected from setState

* chore: change title to label

* chore: remove unnecessary if statement

* chore: pageNumber should start from 0

* chore: trigger order by from odata request

* chore: remove required

* chore: make constructor inline

* chore: remove unnecessary setState

* chore: rename the method

* chore: add onOptionRemoved and make the dropdown wider

* fix: revert remove the onOptionRemoved

* fix: remove comments

* fix: use map instead of List<_Operator>

* fix: remove unused scrollController

* chore: add MultiSelectFilter widget

* fix: widget parameter error

* fix: build error

* fix: center text

* fix: remove custom onTap to restore selection rows

* fix: use fixed labels

* fix: update button style

* chore: naming

* chore: move optional to utils

* fix: make createdAt a dateTime

* refactor: simplify everything

* fix: remove text size

* fix: use TextField for dates

* fix: avoid mem leak

* chore: 8er padding

* refactor: styling and codestyle in change client secret

* fix: request focus on open dialog

* chore: show close button in snack bars

* refactor: direct feedback in list after creating client

* fix: use pop scope to not cancel during delete / save

* chore: naming

* refactor: use titles, show loading

* fix: error handing

* chore: wording & buggy behaviour

* refactor: align clients and identities

* chore: PR comments

* chore: move texts

* chore: inline code

* refactor: use buttons inside the field

* fix: date filters lastDate

* chore: add Backbone to title

* feat: properly format dates

* refactor: local imports

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Julian König <[email protected]>
Co-authored-by: Timo Notheisen <[email protected]>
@stamenione stamenione mentioned this pull request Jul 5, 2024
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants