Introduced a new 'footer_links' configuration option allowing users to specify custom links to display in the footer. Each link includes 'text' and 'url'. This enhances the flexibility of the footer content, making it adaptable to various use cases.
Updated the index.php to dynamically generate these footer links if they are set in the configuration, ensuring they are rendered appropriately along with existing links.
Refactored event listeners for XMR and fiat input fields, consolidating common logic and improving maintainability. Introduced explicit copy button IDs and enhanced their functionality by moving inline click handlers to addEventListener. These changes streamline form control interactions and ensure consistent behavior across different user inputs.
Additionally, removed redundant onchange handlers from the PHP file to simplify code and mitigate potential conflicts.
Introduced a new configuration file allowing optional attribution
content and conditional display of the "Servers Guru" attribution
link. This enhances customizability and control over displayed
attributions.
The changes include:
- Adding a config.dist.php for default configurations.
- Modifying index.php to load and utilize the new configuration
options.
- Updating multiple language files to support the new attribution
and link display.
These modifications will enable users to have a more tailored
display of attributions on the website.
- Switched to using cURL for fetching data from CoinGecko API, with added error handling for failed requests. This reduces the chances of runtime errors and ensures fallback to previous data.
- Implemented periodic updates to exchange rates every 5 seconds in `main.js` to keep the rates current.
- Added OpenGraph meta tags on `index.php` for better social media integration.
- Minor CSS adjustments for better table rendering.
- Moved `import` statements for Bootstrap CSS and JS to the top in `main.js`.
Updated the tooltip descriptions for currency links to display full currency names where available, improving user clarity and interface usability. If a full name is not available, the currency code is still shown. This enhances the experience by making the tooltips more informative.
Enhanced the currency drop-down to display localized names if available. This improves user experience by showing familiar names in their local language. Ensures the default language is used if localization isn't specified.
Eliminated the redundant stylesheet inclusion to reduce unnecessary HTTP requests and improve page load performance. No impact on visual styling as the content of custom.css was deprecated and merged into main.css.
Replaced button element with a hyperlink to improve accessibility, ensuring better navigation for screen readers and users. Also, formatted the inline script for clarity and consistency. These changes contribute to a more user-friendly interface and maintain clean, readable code.
- Moved currency data initialization to load dynamically from JSON.
- Removed static array of currencies, utilizing the JSON keys instead.
- Simplified exchange rate extraction to dynamically fetch values.
- Improved user language detection and selection process.
- Refactored HTML and PHP to dynamically generate language and currency options.
- Replaced various currency conversion logic with a dynamic implementation.
- Enhanced UI elements for better readability and maintainability.
- Consolidated inline JavaScript functions into external script for organization.
These changes reduce hardcoding, improve maintainability, and ensure that currency data is up-to-date and reflects user preferences more effectively.
Enhances code clarity by translating German comments to English and adding comments and TODOs for dynamic data loading
and generation of currencies, API data, language files, and HTML elements.
This will reduce hardcoded values and improve maintainability. Also, adds a
reminder to move scripts to separate files and add OpenGraph tags in the HTML.
No breaking changes, but dynamically loading these values will be essential
for improving the codebase in future iterations.