🔧 fix(ApplicationForm): change validation rule for reason to nullable string
📝 update(profile): simplify membership status messages and remove unnecessary fields
🎨 style(election): adjust import formatting for better readability
🎨 style(association): reduce icon sizes in association navigation links for consistency
🎨 style(app): reorder script includes for better organization in app layout
✨ feat(plebTable): implement confirmation dialogs for accepting and deleting entries in Pleb table
This commit introduces handling for logout events in nostr-login across various pages. When a user logs out, the current public key and other related information are reset to null. The nostrLogin.js file has also been updated to dispatch a 'nostrLoggedOut' event when this occurs. Additionally, the nostr-login package has been added to the project dependencies.
This commit fetches the callback URL dynamically instead of using a hardcoded value. This improves the flexibility of the system as the callback URL can now be changed without needing to modify the code.
Update the amountToPay in the profile.blade.php file for the association. In the production environment, the amount will be 21000 while in other environments it will be 1 for testing purposes. Also, format the printed amount with thousands separator for better readability.
This commit includes the addition of a 'boardVotes' functionality in the electionAdminCharts.js file, and a 'showLog' functionality in the nostrApp.js file. This update provides enhanced interactivity and data handling for the charts and logs respectively.
This commit adds a new feature to the election view which allows users to vote for the presidency. It also modifies the confirmation message for board member candidates.
This commit updates the value of `amountToPay` from 21 to 21000 in the `profile.blade.php` view. This change is applied to both the initial state setup and the condition where the current association status is active. The description for active members is also updated to reflect this change.
This commit introduces a change in the authorization mechanism for the admin sections of the association members and election pages. Instead of checking for a single allowed public key, the system now checks for an array of allowed public keys, enhancing the flexibility of the admin access control.
Updated the zapEndpoint URL in the nostrZap.js file to direct towards the updated URL. Additionally, removed an unused function from the profile.blade.php file for cleaner code.
Swapped the conditional check for association status and public key in both admin.blade.php and index.blade.php. This change ensures that the correct condition is evaluated in the respective files.
Added detailed information about passive and active membership on the profile view page. This includes information about rights, responsibilities, and annual fee.
Made several changes to the UI in the profile.blade.php file, including removing unnecessary comments, updating class attributes, and modifying the structure of certain divs and sections for improved readability and maintainability.
This commit introduces a new feature toggle 'voting' to enable/disable voting. It also includes minor formatting adjustments in election admin blade files.
- Added a new console command `nostr:profile` which fetches a Nostr profile given a public key.
- Updated the election admin view to fetch the profile if it doesn't exist in the database.
- Introduced a new state variable `isAllowed` to handle authorization in the election admin view.
- Redirect users with no admin access to the association profile page.
- Add permission checks to the election index and election year views.
- Show election views only to users with a certain association status.
- Update nostrApp.js to entangle the 'isAllowed' state.
Improve the UI by changing the user display from 'nip05' to 'display_name' and 'name'. Update the display of event IDs for payment to be more responsive. Add labels for satoshis and year on smaller screens. Make other minor adjustments for better responsiveness on different screen sizes.
- Refactored the layout of the profile page for better readability
- Updated the filters in the payment section to include 'currentPubkey' and 'content' fields
- Made minor changes to the styling and text content
- Improved the handling of payment-related information
- Fixed some indentation issues for better code readability.
Updated the way payment events are handled in the profile view. Now, the first payment event id is retrieved directly from the paymentEvents relationship instead of the payment_event attribute. Also, instead of refreshing the currentPleb model after creating a payment event, it is now loaded with the paymentEvents relationship.
Removed the 'paid' state and replaced its usage with 'currentYearIsPaid' state in profile view. This change improves the accuracy of payment status tracking. Also, added a line to refresh the 'currentPleb' object after creating a PaymentEvent and set 'qrCode' to null when the current year is paid.
- Added a check to update the 'paid' status of a user's paymentEvents if the current year's payment has been made
- Updated the user profile view to display past payments
- Added 'paymentEvents' to the query in EinundzwanzigPlebTable.php to fetch the current year's payments
- Added a 'payment' column to the table in EinundzwanzigPlebTable.php to display the amount of the user's current year's payment
- Added logic to handle multiple payment events in a user's profile
- Created a new PaymentEvent model and associated it with the EinundzwanzigPleb model
- Added a new migration for creating the payment_events table in the database
- Updated the profile.blade.php view to display all payment events for a user
This commit introduces a filter for payment tags in the association profile view. This filter ensures that only the payments with the current public key are shown. Minor adjustments are also made in the JSON_THROW_ON_ERROR and the comparison of year and amount in the currentYearIsPaid method.
- Added the `simplesoftwareio/simple-qrcode` package to the project
- Created a new JavaScript file `nostrZap.js` to handle Nostr events
- Added the `nostrZap` function to the Alpine.js data property in `app.js`
- Updated the `services.php` configuration file to include the `nostr` environment variable
- Created a new database migration to add a `payment_event` field to the `einundzwanzig_plebs` table
- Made adjustments in the `Election:year.blade.php` view file to handle potential null values
- Updated `composer.lock` and `package.json` with the new dependencies