zaviagodev / e_commerce_store

Other
2 stars 4 forks source link

Implement Dynamic Loading Skeleton for Storefront Dynamic Data #21

Open John-zaviago opened 9 months ago

John-zaviago commented 9 months ago

Issue Title: Implement Dynamic Loading Skeleton for Storefront Dynamic Data

Issue Description: To enhance the user experience on the storefront, we need to implement dynamic loading skeletons for all sections containing dynamic data. This includes but is not limited to the catalogue page, product detail page, cart slide-in, checkout, account page, and any other pages that fetch data from the database.

Enhancements:

  1. Dynamic Loading Skeletons:

    • Introduce dynamic loading skeletons for various sections, covering images, product names, and other dynamic data.
    • Ensure that the size and layout of the skeleton match the actual content to prevent layout shifts.
  2. Dynamic Release of Skeletons:

    • Implement a mechanism to dynamically release the skeletons when the corresponding data is loaded.
    • Avoid using a static timeout configuration for the skeletons, making the release dynamic based on data retrieval.

Implementation Steps:

  1. Identify Sections for Skeletons:

    • Determine the sections across the storefront that require dynamic loading skeletons.
  2. Create Dynamic Skeletons:

    • Develop dynamic loading skeletons for each identified section, considering the layout and size of the actual content.
  3. Integrate Dynamic Release Mechanism:

    • Implement logic to dynamically release skeletons as soon as the corresponding data is loaded.
    • Avoid setting a fixed timeout for skeleton removal.

Expected Outcome:

Additional Information:

Labels:


Action Plan:

  1. Assign the issue to a team member specializing in frontend development and user experience.
  2. Identify sections across the storefront that require dynamic loading skeletons.
  3. Develop dynamic loading skeletons for each identified section, ensuring they match the layout and size of actual content.
  4. Implement logic to dynamically release skeletons as soon as the corresponding data is loaded.
  5. Avoid setting a fixed timeout for skeleton removal to ensure dynamic responsiveness.
  6. Test the implementation across various scenarios to ensure reliability.
  7. Consider providing additional feedback or loading indicators during data retrieval.
  8. Update documentation to inform users about the enhanced storefront experience.
  9. Communicate updates to the team and stakeholders.
  10. Document the implementation details for future reference.

How to Test:

John-zaviago commented 9 months ago

@AnatholyB1 can you suggest a good skeleton package for this issue?

AnatholyB1 commented 9 months ago

Shadcn has a really good skeleton with function callback, don't need to install the whole package just skeleton files is enough.

John-zaviago commented 9 months ago

Shadcn has a really good skeleton with function callback, don't need to install the whole package just skeleton files is enough.

please make sure that @MarkSuttirak understand this.

primSirirnit commented 9 months ago

Update checklist in storefront

Design (Mark - CSS)

Fix Function

Header

Shop page

Single page

My Order

John-zaviago commented 9 months ago

@primSirirnit @chomchuen please follow up all tasks and close it with some report of comment kub