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

New Web UI #1329

Merged
merged 6 commits into from
Mar 5, 2024
Merged

New Web UI #1329

merged 6 commits into from
Mar 5, 2024

Conversation

MatthewHana
Copy link
Contributor

@MatthewHana MatthewHana commented Aug 31, 2023

Updated web UI to a more modern interface while keeping the HTML structure as similar to the original as possible. Fewest possible modifications were made to fn.js and only in relation to UI enhancements.

This PR incorporates pull requests #1305 and #1306.

Updates include:
-Mobile view compatibility
-New light color scheme using primary colors based off Radicale's official colors
-Dialog theme for most sections
-Floating Action Buttons (FAB's) for creating and uploading a new collection
-Commands to edit/delete a collection have become buttons that only show on hover.
-Improved loading screen
-New loading circle with consistent color scheme
-More explanation for dialog text
-Added warning to delete screen
-Consistent capitalisation
-Moved styling from HTML to CSS
-Support for Webcal subscriptions (support added in PR #1229) (NEW)

@MatthewHana
Copy link
Contributor Author

Attached screenshots of new UI.

Login
new - login

Loading
new - loading

Collections
new - collections

Collections (when hovering)
new - collections hover

Create
new - create

Edit
new - edit

Delete
new - delete

Upload
new - upload

Mobile View
new - mobile

Loading spinner
loading

@MatthewHana MatthewHana mentioned this pull request Sep 3, 2023
samip5 added a commit to skyssolutions/Radicale that referenced this pull request Dec 17, 2023
* New Web UI

Updated web UI to a more modern interface while keeping the HTML structure as similar to the original as possible.

New features include:
-Mobile view compatibility
-New light color scheme using primary colors based off Radicale's official colors
-Dialog theme for most sections
-Floating Action Buttons (FAB's) for creating and uploading a new collection
-Commands to edit/delete a collection have become buttons that only show on hover.
-Improved loading screen
-New loading circle with consistent color scheme
-More explanation for dialog text
-Added warning to delete screen
---------

Co-authored-by: Matthew Hana <[email protected]>
@samip5
Copy link

samip5 commented Dec 17, 2023

I merged it into my fork, but it seems that the icons will not load. 🤔

@MatthewHana
Copy link
Contributor Author

I merged it into my fork, but it seems that the icons will not load. 🤔

Do they 404 or is it something else? The icons are SVG so they should render on all modern browsers. Which browser are you using?

@samip5
Copy link

samip5 commented Dec 23, 2023

I merged it into my fork, but it seems that the icons will not load. 🤔

Do they 404 or is it something else? The icons are SVG so they should render on all modern browsers. Which browser are you using?

404, and Opera.

@pbiering pbiering added this to the 3.2.x milestone Mar 1, 2024
@pbiering
Copy link
Collaborator

pbiering commented Mar 2, 2024

@MatthewHana : please rebase this to v3.2-devel branch

@pbiering pbiering added the need:reporter feedback feedback from reporter required label Mar 2, 2024
@pbiering pbiering self-assigned this Mar 2, 2024
@pbiering pbiering removed their assignment Mar 2, 2024
@MatthewHana
Copy link
Contributor Author

MatthewHana commented Mar 3, 2024

@MatthewHana : please rebase this to v3.2-devel branch

I will rebase this in a few days and also add support for PR #1229

@pbiering
Copy link
Collaborator

pbiering commented Mar 4, 2024

@MatthewHana : can you also work on optional CAPTCHA support like already discussed here: #1257 - best in an abstract way so at least the 4 known ones can be used + potential upcoming ones easily added.

If you need help, I can potentially support here as having implemented or extended CAPTCHA support in native Phyton / Python+Django / PHP / Perl already.

@MatthewHana
Copy link
Contributor Author

@MatthewHana : can you also work on optional CAPTCHA support like already discussed here: #1257 - best in an abstract way so at least the 4 known ones can be used + potential upcoming ones easily added.

If you need help, I can potentially support here as having implemented or extended CAPTCHA support in native Phyton / Python+Django / PHP / Perl already.

Sure, I'll have a look into it.

Updated web UI to a more modern interface while keeping the HTML structure as similar to the original as possible.

New features include:
-Mobile view compatibility
-New light color scheme using primary colors based off Radicale's official colors
-Dialog theme for most sections
-Floating Action Buttons (FAB's) for creating and uploading a new collection
-Commands to edit/delete a collection have become buttons that only show on hover.
-Improved loading screen
-New loading circle with consistent color scheme
-More explanation for dialog text
-Added warning to delete screen
Deleted duplicate file.
Delete duplicate file.
Incorporated pull requests Kozea#1305 and Kozea#1306.

Restored declaration of 'hidden' class to index file.

Restored h2 in sections for navigation purposes.

Cleaned up index.html.
@MatthewHana MatthewHana changed the base branch from master to v3.2-devel March 4, 2024 10:43
@MatthewHana
Copy link
Contributor Author

MatthewHana commented Mar 4, 2024

  • Rebased to v3.2-devel
  • Further UI improvements
  • Add Webcal subscriptions UI
  • Add CAPTCHA

@samip5
Copy link

samip5 commented Mar 4, 2024

While adding a captcha, please don't use Google's.

@return42
Copy link

return42 commented Mar 4, 2024

While adding a captcha, please don't use Google's.

There is a simple captcha solution available from pypi --> https://captcha.lepture.com/

@pbiering
Copy link
Collaborator

pbiering commented Mar 4, 2024

While adding a captcha, please don't use Google's.

I would suggest keeping it flexible and implement

  • hCaptcha
  • reCaptcha (at least v3)
  • FriendlyCaptcha
  • Cloudflare's Turnstile

I have implementations running supporting all 4 by simple toggles, would recommend having this also for "Radicale".

Only for hints:

python/Django: https://github.com/pbiering/mailman3-rpm/blob/main/django_multi_captcha_support.py

python(Mailman2/reCaptcha extension with FriendlyCaptcha+hCaptcha): https://launchpadlibrarian.net/596731924/mailman-2.1-hCaptcha-FriendyCaptcha-20220415.diff

@pbiering
Copy link
Collaborator

pbiering commented Mar 4, 2024

While adding a captcha, please don't use Google's.

There is a simple captcha solution available from pypi --> https://captcha.lepture.com/

They dropped support for Python 3.7 in latest release, this would lead to question which Python versions should be supported at all.

@return42
Copy link

return42 commented Mar 5, 2024

They dropped support for Python 3.7 in latest release, this would lead to question which Python versions should be supported at all.

This is what most of regularly updated packages do / Python EOL was in 2023-06-27 .. about vobject see comment from @da4089 --> py-vobject/vobject#1 (comment)

Added support to view, edit, and add Webcals in web UI to support functionality added in PR Kozea#1229.
@MatthewHana
Copy link
Contributor Author

Update: Added Webcal support in web UI ✔️
You can now add and edit Webcals in the web UI.
Webcal demo

@MatthewHana
Copy link
Contributor Author

Hi all, please see discussion #1402 regarding CAPTCHA. It unfortunately can not be handled in this PR.

@MatthewHana
Copy link
Contributor Author

I merged it into my fork, but it seems that the icons will not load. 🤔

Do they 404 or is it something else? The icons are SVG so they should render on all modern browsers. Which browser are you using?

404, and Opera.

Hi @samip5, I couldn't get it to 404. Any possibility of sharing your Devtools network log or anything that could help me to replicate? Is it a possibly a content security policy issue?

@pbiering pbiering self-requested a review March 5, 2024 19:18
Copy link
Collaborator

@pbiering pbiering left a comment

Choose a reason for hiding this comment

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

Only code review, functional tests will be done later

@pbiering pbiering removed the need:reporter feedback feedback from reporter required label Mar 5, 2024
@pbiering pbiering self-assigned this Mar 5, 2024
@pbiering
Copy link
Collaborator

pbiering commented Mar 5, 2024

Merged, please let test further

@pbiering pbiering merged commit 71fd916 into Kozea:v3.2-devel Mar 5, 2024
22 checks passed
@pbiering pbiering modified the milestones: 3.2.x, 3.2.0 Mar 18, 2024
@pbiering
Copy link
Collaborator

looks all fine now, minor candidates for improvement found:

  • "HREF" should have some explanation of it's meaning, the resulting directory name on server side.
  • "Copy URL to Clipboard" symbol/support on the URL box
  • "Mouseover" on the URL box displaying the whole URL

@MatthewHana
Copy link
Contributor Author

  • "HREF" should have some explanation of it's meaning, the resulting directory name on server side.
  • "Mouseover" on the URL box displaying the whole URL
    Could be implemented. Will do it in a few weeks when I have time.
  • "Copy URL to Clipboard" symbol/support on the URL box
    More complicated to implement and could only work on HTTPS. Would welcome community input on the demand for this feature.

What I would like to do next is a holistic refactoring of the web client JavaScript to make it easier to add functionality into the future. I also want to split it into multiple JS to make it easier to make and track changes to the code. Currently UI, DAV, and Helper functions are all in the same file- I would like to split them up and eventually implement JS testing.

@pbiering
Copy link
Collaborator

What I would like to do next is a holistic refactoring of the web client JavaScript

That is a very good idea, do you suggest starting 3.2.0 before or postpone until this is done? In principle, there is no hurry for 3.2.0 at the moment anyhow.

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.

4 participants