-
Notifications
You must be signed in to change notification settings - Fork 11
WIP: Implement BKND #41
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
base: main
Are you sure you want to change the base?
Conversation
- Modified the Astro configuration to enable experimental React children support. - Updated Vite settings to include 'lodash-es' and adjusted dependency resolution for 'react' and 'react-dom'. - Added 'lodash-es' as a new dependency in both package.json and package-lock.json to enhance utility functions. These changes improve the project's React integration and optimize dependency management.
- Refactored the admin page to improve structure by introducing a configuration object for the Admin component. - Updated the HTML structure to include proper language and meta tags for better accessibility and SEO. - Implemented global error and promise rejection handlers to improve error tracking and debugging. - Adjusted the Admin component to use the new configuration object, enhancing maintainability and readability. These changes enhance the overall functionality and user experience of the admin dashboard.
❌ Deploy Preview for freedom-stack failed.
|
- Introduced a new configuration object for the application, enhancing the setup process with a structured initial configuration that includes versioning and authentication settings. - Updated the serve function to utilize the new configuration, improving maintainability and clarity in the API setup. - Added logging for the created application configuration to facilitate debugging and verification of settings. These changes streamline the API configuration and improve the overall structure of the code.
- Modified the "dev" script in package.json to include the --remote flag for Astro development, enhancing the development experience by allowing remote server capabilities. - This change improves the flexibility of the development environment, facilitating better collaboration and testing scenarios.
- Introduced a new admin.astro file for the admin dashboard, including a configuration object and global error handling for improved user experience and debugging. - Added api.ts to handle API requests with a structured initial configuration, including authentication settings and connection details. - Created index.ts to set up the bknd integration with hooks for server and config setup, enabling routing for the admin dashboard and API endpoints. These changes enhance the overall functionality and maintainability of the bknd integration.
- Added support for initial configuration in bkndIntegration, allowing for dynamic configuration through appConfig. - Included a console log to confirm successful integration setup. - Added a TODO comment for future implementation of user addition to Astro.locals. These changes improve the configurability and usability of the bknd integration.
- Introduced BkndIntegrationOptions interface for improved configuration options, including adminRoute and debug flags. - Enhanced the astro:server:setup hook with detailed logging for initialization and error handling. - Updated the astro:config:setup hook to sanitize admin routes and include error handling. - Exported additional types for external use, improving type safety and usability. These changes significantly improve the configurability, error handling, and overall robustness of the bknd integration.
…on handling - Changed the default export of the bknd integration to a named export `addBknd`, enhancing clarity and usability. - Updated the astro.config.mjs file to reflect the new import structure for the bknd integration. - These changes streamline the integration process and improve the overall maintainability of the code.
src/integrations/bknd/admin.astro
Outdated
</head> | ||
<body> | ||
<div id="admin-root"> | ||
<BkndAdmin withProvider={{ user }} config={adminConfig} client:only="react" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it would probably be better to remove config={adminConfig}
as it always overrides the configurations for server.admin
coming from the database (you can see a hint if you navigate to /admin/settings/server at the top)
I should probably remove the quick theme switcher if the admin settings are overriden 🤔
…ting - Removed the adminConfig object from admin.astro, simplifying the component usage. - Updated api.ts to utilize a new getInitialConfig function for improved configuration handling. - Enhanced index.ts to set the initial configuration and adjust routing patterns for admin and API endpoints. - Introduced state.ts to manage the initial configuration state, ensuring better encapsulation and error handling. These changes improve the maintainability and clarity of the bknd integration, facilitating easier configuration and routing management.
…e file structure - Removed the existing api.ts file and implemented a dynamic generation of the API file within the integration process. - Added functionality to create a temporary directory for the generated API file, enhancing organization and maintainability. - Updated routing to reference the newly created API file, ensuring seamless integration with the bknd setup. These changes streamline the bknd integration, improve file management, and facilitate easier updates to the API configuration.
- Updated the bknd package version from 0.2.0 to 0.2.1 in both package.json and package-lock.json. - Removed unused dependencies related to reactflow and other packages from package-lock.json to streamline the project. These changes ensure the project uses the latest bknd version and improves dependency management.
…plifying configuration - Removed the state.ts file and its associated functions to streamline the integration. - Eliminated the import of global CSS in admin.astro, reducing unnecessary dependencies. - Enhanced index.ts to include a more structured initial configuration for data entities. These changes improve the maintainability and clarity of the bknd integration, ensuring a more efficient setup.
…ision and criteria for web and mobile apps. This update enhances project documentation and clarifies future development goals.
- Reintroduced the import of global CSS in admin.astro for consistent styling. - Simplified the admin.astro file by removing unnecessary global error handling scripts, enhancing readability. - Updated index.ts to delete the initial version from the configuration, streamlining the setup process. - Added a console log for appConfig to aid in debugging and configuration verification. These changes improve the maintainability and clarity of the bknd integration, ensuring a more efficient setup and user experience.
- Added `cross-env` as a dependency in both package.json and package-lock.json to facilitate environment variable management across different platforms. - Introduced a new script `db-seed.js` for seeding the database with initial data, including functions for initial setup and demo data population. - The script utilizes the `cleye` CLI for command-line interface functionality, allowing users to specify database URL and auth token as flags. These changes enhance the project's setup process and provide a streamlined way to initialize the database with necessary data.
…error handling - Updated the user registration and login handlers to use the context's URL for API requests, ensuring correct endpoint resolution. - Enhanced error handling by checking for user data in the response and returning appropriate success or error messages.
- Updated user authentication logic to utilize the bknd API for fetching user data. - Removed references to the previous auth library and streamlined the session handling process. - Ensured that user data is correctly assigned to context locals, improving overall middleware functionality.
- Updated components and pages to replace references from `Astro.locals.session` to `Astro.locals.user`, aligning with the new authentication structure. - Modified sign-in and sign-up actions to utilize the `bknd` API for handling user authentication. - Ensured proper redirection for authenticated users across various pages, enhancing user experience and security.
…essibility (#42) - Added title attributes to existing external links for improved accessibility and user experience. - Introduced a new link to "SaaS Boilerplates" with an accompanying SVG icon to enrich the resources section. - Updated existing links to include descriptive titles for "Uneed," "faith.tools," "Startup Fame," and "Astro Blog," enhancing clarity for users.
* Enhance form styling and validation in sign-up page (#43) - Added styles for password and email input fields in global.css to improve consistency across forms. - Updated the sign-up button to include a disabled state style for better user feedback when the form is invalid. * Refactor sign-in form for improved accessibility and user experience - Updated the sign-in page to enhance form structure with labeled inputs for email and password. - Added a "Forgot password?" link for better user navigation. - Changed input types to text for better compatibility with various devices, while maintaining styling consistency. * Update sign-in page to enhance user experience with tooltip for "Forgot password?" link - Replaced the "Forgot password?" link with a tooltip indicating that the feature needs to be implemented. - Improved visual feedback by adjusting the opacity and pointer events for better accessibility. * Refactor sign-up form for improved accessibility and user experience - Enhanced the sign-up form by adding labels for each input field (Name, Email, Password, Confirm Password) to improve accessibility. - Updated input placeholders for better user guidance. - Maintained existing validation logic for password confirmation error display. * Refactor sign-in form for improved accessibility and user experience - Updated input types for email and password fields to enhance compatibility and accessibility. - Added tabindex attributes to input fields and the sign-in button for better keyboard navigation. - Improved the "Forgot password?" link structure for clearer visibility and accessibility. * Made input fields have a white background * Add 'Forgot Password' page and enhance form styling - Introduced a new 'Forgot Password' page with a form for email input to facilitate password reset requests. - Updated the sign-in and sign-up pages to improve form styling, ensuring a consistent background and shadow effect for better user experience. - Enhanced accessibility by refining the structure of input fields and links, including the 'Forgot password?' link. - Added a disabled state style for the primary button in the 'Forgot Password' form to indicate unavailability when necessary. * Refactor form styling across authentication pages - Updated the 'Forgot Password', 'Sign In', and 'Sign Up' pages to replace shadow effects with a consistent border style for input containers, enhancing visual consistency. - Improved overall form aesthetics while maintaining accessibility standards across all authentication forms. * Add informational alert to 'Forgot Password' page</message> <message>Introduced an alert on the 'Forgot Password' page to inform users that the functionality is not yet implemented and encourages contributions to the project. This enhances user experience by providing clear communication about the current state of the feature. * Integrate Footer component into authentication pages - Added the Footer component to the 'Forgot Password', 'Sign In', and 'Sign Up' pages to provide consistent navigation and information across all authentication-related pages. - This enhancement improves the overall user experience by ensuring that users have access to footer links and information regardless of the authentication page they are on. * Update Shrek blog post content in seed file - Changed the title format from markdown to HTML for better rendering. - Added introductory and concluding paragraphs to enhance the narrative and engagement of the blog post. - Improved overall structure by including additional paragraph tags for clarity and readability. - This update enriches the content and presentation of the Shrek story, aligning with web standards. * Enhance Container component and update Dashboard layout - Added a new optional `className` prop to the Container component, allowing for more flexible styling. - Updated the Dashboard page to utilize the new `className` prop, setting a minimum height for the Container to improve layout consistency and user experience. - These changes enhance the reusability of the Container component and improve the visual structure of the Dashboard page. * Update package version to 1.0.5 in package.json and package-lock.json - Bumped the version of the 'create-freedom-stack' package from 1.0.4 to 1.0.5 in both package.json and package-lock.json files. - This change reflects the latest updates and improvements made to the project, ensuring that dependencies are properly managed and up-to-date.
* updated to Astro 5.0 * Added updated types * experimental features are now non-experimental * Remove Vite optimization configuration for Astro DB from astro.config.mjs. This change simplifies the configuration by eliminating the exclusion of the Astro DB dependency, aligning with recent updates and optimizations in the project. * Update dependencies in package.json and package-lock.json - Bumped versions for several packages including @alpinejs, astro, better-auth, better-sqlite3, isomorphic-dompurify, marked, ora, prettier, and others to their latest stable releases. - This update enhances overall functionality, security, and performance of the project by ensuring all dependencies are up-to-date. - Notable version changes include: - @alpinejs packages updated from 3.14.4 to 3.14.7 - better-auth updated from 1.0.6 to 1.0.13 - better-sqlite3 updated from 11.6.0 to 11.7.0 - isomorphic-dompurify updated from 2.17.0 to 2.18.0 - marked updated from 15.0.2 to 15.0.3 - prettier updated from 3.4.1 to 3.4.2 - tailwindcss updated from 3.4.15 to 3.4.16 - Updated netlify-cli from 17.37.2 to 17.38.0 for improved CLI experience. * Update package version to 1.0.6 in package.json and package-lock.json - Bumped the version of the 'create-freedom-stack' package from 1.0.5 to 1.0.6 in both package.json and package-lock.json files. - Adjusted dependency attributes in package-lock.json, changing 'devOptional' to 'optional' and adding 'peer' for better dependency management. - These updates ensure that the project reflects the latest versioning and dependency configurations, enhancing overall project stability and clarity.
* Update dependencies to latest versions in package.json and package-lock.json - Bumped Astro version from 5.0.3 to 5.0.4 for improved performance and features. - Updated @astrojs/markdown-remark and @shikijs packages to version 6.0.1 and 1.24.1 respectively, ensuring compatibility and access to the latest enhancements. - Adjusted several other dependencies to their latest stable releases, enhancing overall project stability and security. * Updated packages * bump version
Implement BKND
Bknd is a "Supabase/Firebase alternative that runs standalone or natively."
This is a work in progress.
Why?
To have my UI, db , auth, and media in one hosted codebase is a dream.
Things to know
lodash-es
, so check out the astro config to see what I did.