Commit Graph

415 Commits

Author SHA1 Message Date
Alex Lion
16eb172a92 refactor: update chat and anonymous message toggle rows in event management options 2026-04-08 17:51:43 +02:00
Alex Lion
ca55665265 refactor: update card shadow styles across admin UI components 2026-04-08 17:41:56 +02:00
Alex Lion
8a9e31f68b Add audit logs table for user admin view 2026-04-08 17:36:15 +02:00
Alex Lion
f03e57a236 refactor: simplify percentage calculation in get_dashboard_stats function 2026-04-08 17:34:48 +02:00
Alex Lion
35a359b659 refactor: update event, user, provider, and audit log tables to use links for navigation 2026-04-06 16:53:29 +02:00
Alex Lion
8ce74c06a2 Add pagination tests for users and events in Admin module 2026-04-06 16:48:46 +02:00
Alex Lion
3fc4213b7c Merge branch 'dev' into feature/event-list-ui-rework
# Conflicts:
#	lib/claper_web/live/event_live/manage.ex
#	lib/claper_web/live/event_live/manage.html.heex
#	priv/gettext/de/LC_MESSAGES/default.po
#	priv/gettext/default.pot
#	priv/gettext/en/LC_MESSAGES/default.po
#	priv/gettext/es/LC_MESSAGES/default.po
#	priv/gettext/fr/LC_MESSAGES/default.po
#	priv/gettext/hu/LC_MESSAGES/default.po
#	priv/gettext/it/LC_MESSAGES/default.po
#	priv/gettext/lv/LC_MESSAGES/default.po
#	priv/gettext/nl/LC_MESSAGES/default.po
2026-04-06 15:14:03 +02:00
Alex Lion
c4303d0de2 Add event-scoped retrieval functions for embeds, forms, polls, posts, and quizzes 2026-04-06 15:08:20 +02:00
Alex Lion
efe6d6de51 Fix test fixtures for seeded roles 2026-04-06 14:04:15 +02:00
Alex Lion
b7548ec6f2 refactor: simplify button classes for presenter and event links in event management UI 2026-04-06 13:45:21 +02:00
Alex Lion
17fc962a2b feat: implement search functionality for users and adjust UI spacing across admin pages 2026-04-03 18:29:00 +02:00
Alex Lion
090d424131 feat: add AGENTS.md for repository guidance and development practices 2026-04-03 18:18:13 +02:00
Alex Lion
970ec0bb29 feat: polish event list UI 2026-04-03 18:17:22 +02:00
alxlion
0bc2b9239b Add audit log feature 2026-03-19 17:31:46 +00:00
Raúl R Pearson
4bbf9742c5 Add audit log (#214)
* Add audit log

* Update translation files

* Improve Audit queries

* Improve Audit.Log schema

* Make user auth audit logs async

* Relax Flop and Flop Phoenix dep specs

* Make Flop.validate!/2 call more robust

* Improve a11y and UI for audit log live view

* Improve audit_logs indexes

* Fix formatting

* Fix async_log_action and tests

* Add remote_ip

* Update translation files
2026-03-19 18:29:09 +01:00
Alex Lion
e5ea4090e1 refactor: clean up HTML structure and improve test selectors for event components 2026-03-13 20:09:42 +01:00
Alex Lion
92f77b844f feat: rework event list UI with drawer integration and improved action buttons 2026-03-13 18:54:17 +01:00
Alex Lion
6c2e3ed8ea feat: enhance user experience with avatar customization and modal improvements 2026-03-13 18:37:13 +01:00
Alex Lion
4a1af7d341 Update changelog with oidc fix 2026-03-05 18:40:01 +01:00
Alexandre Lion
60821dccd8 Fix/OIDC authelia compatibility (#216)
* Fix OIDC compatibility with self-hosted providers like Authelia

* Refactor OIDC authentication to enhance compatibility with Authelia and Entra ID

* Improve logging format and enhance code readability in OIDC authentication
2026-03-05 18:36:12 +01:00
Alex Lion
3df8d5c3dd Fix crash when broadcasting events to leaders with unregistered emails 2026-03-05 18:34:28 +01:00
Alex Lion
ff62056842 Rework event management UI by removing the floating action bar and adding action buttons for polls, forms, quizzes, and embeds 2026-02-26 19:16:57 +01:00
Alex Lion
e42989cf72 Merge branch 'dev' into feature/event-list-ui-rework 2026-02-26 18:48:35 +01:00
Alex Lion
f2fd8e7535 Fix quiz submission to handle duplicate options and update average score in real-time 2026-02-25 10:22:20 +01:00
Alex Lion
1f052c274d Fix date picker destroy crash when pickr is uninitialized 2026-02-24 10:41:31 +01:00
Alex Lion
0382d2c2f3 Fix date picker crash for unsupported browser locales 2026-02-24 10:38:42 +01:00
Alex Lion
f5537223d7 Remove tour guide and preview popup 2026-02-17 17:20:38 +01:00
Alex Lion
1598025496 Merge branch 'dev' into feature/event-list-ui-rework 2026-02-17 17:00:51 +01:00
Alex Lion
5ea07f077d Refactor code structure for improved readability and maintainability 2026-02-17 16:54:41 +01:00
Alex Lion
71f5542dcb Refactor ManagerSettingsComponent to use separate components for interaction, presentation, and attendee options 2026-02-17 14:54:09 +01:00
Alex Lion
2a1d990ad0 Improve interaction and attendees submissions panes 2026-02-13 18:42:09 +01:00
Alex Lion
d0e88e136b Improve preview section 2026-02-12 14:38:57 +01:00
Alex Lion
d328ea1b0e Refactor ManageSlideSidebarComponent and update header styles for improved UI consistency 2026-02-10 17:22:35 +01:00
Alex Lion
b96b7dd68d Bump version to 2.5.0 in CHANGELOG and mix.exs 2026-02-10 09:34:49 +01:00
Alex Lion
c00958e97e Add ManageSlideSidebarComponent and refactor ManagerSettingsComponent
- Introduced ManageSlideSidebarComponent for displaying slide thumbnails with click functionality to navigate to the current page.
- Refactored ManagerSettingsComponent to improve layout and organization, including:
  - Consolidated toggle options into a reusable toggle_row component for better maintainability.
  - Enhanced the presentation and attendees settings sections with clearer labels and improved styling.
  - Removed redundant code and improved readability.
2026-02-09 19:20:08 +01:00
Alexandre Lion
910627f4ba Fix form submission crash for anonymous attendees (#210)
The FormSubmit changeset required user_id, but anonymous attendees only
have attendee_identifier. This caused a CaseClauseError since the error
tuple was unhandled. Now the changeset accepts either user_id or
attendee_identifier, and error cases are properly handled.
2026-02-09 19:19:05 +01:00
Alexandre Lion
8f46837900 Fix critical security vulnerabilities (#211)
* Fix critical security vulnerabilities

Address 5 critical findings from security audit:
- Sanitize custom embed HTML to prevent stored XSS (strip all non-iframe content)
- Escape URLs in format_body/1 to prevent reflected XSS via post messages
- Add authorization check to form export endpoint (IDOR fix)
- Replace String.to_atom/1 on user input with explicit whitelists (8 locations)
- Add IP-based rate limiting on authentication endpoints via Hammer

* Start rate limiter before endpoint in supervision tree

* Update CHANGELOG
2026-02-09 19:18:14 +01:00
Alex Lion
b5d875ac90 Add processing overlay and enhance event card UI with improved status indicators 2026-02-04 15:32:00 +01:00
Alex Lion
fe5ae576a0 Revamp event join page with gradient background, floating shapes, and enhanced UI elements for improved user experience 2026-02-02 20:00:59 +01:00
Alex Lion
8ace57d2a8 Refactor buttons to use DaisyUI system and add gradient style
- Add custom btn-gradient utility for cyan-to-purple gradient buttons
- Update all buttons to use DaisyUI classes (btn-primary, btn-outline, btn-secondary, etc.)
- Apply gradient style to "Create an event" and "Join" buttons only
- Increase grid card height to h-96 and adjust panel position for better content visibility

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 18:30:58 +00:00
Alex Lion
2d680f0838 Update event list IDs for active tab and add phx-update for dynamic rendering 2026-02-01 19:25:37 +01:00
Alex Lion
e30948e064 Enhance event card UI with dropdown menu and status badges for better user interaction 2026-02-01 19:13:07 +01:00
Alex Lion
eb5f3fb18f Refactor event card component to support mobile view and improve rendering logic 2026-01-24 17:15:57 +01:00
Alex Lion
46971719d6 Implement view mode persistence with localStorage and update event handling 2026-01-24 16:24:58 +01:00
Alex Lion
0d8d563282 Refactor styles and components for consistency
- Updated background styles in event join page to a solid color.
- Simplified button styles across various components, replacing complex gradient backgrounds with utility classes.
- Adjusted layout and spacing in profile dropdown and user menu for improved accessibility and readability.
- Enhanced alert and badge components with new styling classes for better visual consistency.
- Refined tab component styles for better alignment and spacing.
- Cleaned up button component attributes for clarity and maintainability.
- Improved test readability by formatting multiline statements.
2026-01-23 23:45:16 +01:00
Alex Lion
ce6db03065 Use Tabs component in event list with disabled state support
- Add gray color palette to theme.css
- Add disabled attribute support to Tabs component
- Refactor event list filter tabs to use the Tabs component

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 11:40:35 +00:00
Alex Lion
7d98198ae5 Update CHANGELOG for v.2.4.1: add fixes and improvements 2026-01-23 12:35:51 +01:00
Raúl R Pearson
767f0ddfd5 Handle slides for empty presentation (#200) 2026-01-23 12:11:09 +01:00
Raúl R Pearson
93229e8fbd Improve SMTP config (#197)
Drops Mua in favour of the SMTP Swoosh adapter and adjusts the config
accordingly. The lock file has also been cleaned up by running
`mix deps.unlock --unused`.
2026-01-23 12:08:30 +01:00
Alex Lion
97292775e4 Add DaisyUI-inspired Tabs component
Create tabs component based on DaisyUI design system:

- Styles: bordered (underline), lifted (raised active), boxed (pill)
- Support for slot-based tab items with active state
- Individual tab_item component for more control
- Accessible with role="tablist" and aria-selected
- Support for phx-click handlers on tabs

Import component globally in claper_web.ex.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 23:10:52 +00:00