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

Implement essentials of the launcher #10

Open
13 of 20 tasks
alexrp opened this issue Dec 18, 2022 · 4 comments
Open
13 of 20 tasks

Implement essentials of the launcher #10

alexrp opened this issue Dec 18, 2022 · 4 comments
Assignees
Labels
area: client Issues related to the launcher and client integration. state: approved Enhancements and tasks that have been approved.
Milestone

Comments

@alexrp
Copy link
Member

alexrp commented Dec 18, 2022

  • Main window with
    • background image,
    • logo,
    • music,
    • and news articles.
  • Gateway and world server URI input (for non-vendored builds only).
  • Implement account flows:
    • authentication,
    • email change,
    • password change,
    • password recovery,
    • and deletion.
  • Account status display: (also show a popup when logging in)
    • unverified,
    • incomplete email change,
    • deletion countdown,
    • ban reason/countdown.
  • Installation, update, and repair flows for TERA.
  • Update and repair flows for TERA Arise.
  • Game launch flow.
@alexrp alexrp added state: approved Enhancements and tasks that have been approved. type: feature area: client Issues related to the launcher and client integration. labels Dec 18, 2022
@alexrp alexrp added this to the v1.0 milestone Dec 18, 2022
@alexrp alexrp self-assigned this Dec 18, 2022
@alexrp
Copy link
Member Author

alexrp commented Aug 25, 2023

Scaffolded the Avalonia project. Most of this work can be started now.

@foglio1024
Copy link
Member

foglio1024 commented Jan 16, 2024

Minor UI TODOs:

  • Find a main color (pink-purple from the Arise skill icon); current one is kinda dark
  • Find an accent color
  • Find a background/base color for dark theme (bluish-gray from the current background)
  • Fix pointerover color of the main Login button
  • Implement login form visibility logic (registration, password recovery, etc will probably be the same form with different modes)
  • Maybe add an opacity gradient to the background to fade into the title bar
  • Apply main color to checkboxes
  • Figure out what to do with the account button in the title bar
  • Add some artistic decoration to the login form
  • Figure out how to make custom fonts work with current application structure
  • Add a button to toggle music

@foglio1024
Copy link
Member

Added initial implementation if in-window modal visibility logic, but it appears to have bad performance on first display.

<!--this is slow on first display (even without transition)
need to figure out a way to fix it; maybe render
the form outside of the window (or under the background image)
as soon as the window is loaded, then hide it and bring it
in position for any following show requests-->
<!--https://github.com/AvaloniaUI/Avalonia/issues/1529-->
<Style Selector="Border#ModalDarkening">
<Setter Property="Opacity" Value="0"/>
</Style>
<Style Selector="Border#ModalDarkening.visible">
<Setter Property="Opacity" Value="1"/>
</Style>

Either figure out a way to render the form beforehand to have it ready when it's requested to become visible or maybe use an actual separate window for the form.

This might be related: AvaloniaUI/Avalonia#1529

@foglio1024
Copy link
Member

foglio1024 commented Feb 21, 2024

Next tasks:

  • Give some feedback to the user when re-sending verification email
  • Fix account creation failed text not fitting inside the button (maybe just show a popup instead)
  • Implement email change flow
  • Implement password change flow
  • Implement account deletion flow
  • Enhance modal container resize behavior by using this approach
  • Enable confirmation on enter key in forms
  • Focus the first textbox when opening/switching modals
    • (also when failing login, etc)
  • Save last used email if login was successful
  • ✨✨✨
  • Style the account button flyout
  • Maybe use a TransitioningContentControl instead of the current TabControl for main content
  • Use a different modal layout when user is already logged in (for email/password change, account deletion, etc)
  • Figure out why modal animations trigger layout updates on the whole container
  • Add confirmation messages after performing operations in modal (eg: display big red countdown after account deletion request)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: client Issues related to the launcher and client integration. state: approved Enhancements and tasks that have been approved.
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants