# Workspace Rules ### Creating New Thymeleaf Pages When creating or scaffolding a new Thymeleaf template page in this project, you MUST use the `layout:decorate` mechanism to inherit the common layout, and you MUST pass the `bodyClass` variable to maintain consistent styling with the homepage. Use the following exact structure as a template: ```html Tiêu đề trang
``` ### Dynamic Theme Component Inclusion When writing or modifying Thymeleaf templates for the public frontend, NEVER hardcode paths for common layout components (such as header or footer) to a specific theme (e.g., `themes/umass/header`) or to the default fallback (e.g., `fragments/footer`) unless explicitly building an admin/manage page. Instead, ALWAYS use the `activeTheme` variable to dynamically load the active theme's component. **Correct Usage:** `
` `` **Incorrect Usage:** `
` `` ### Admin Panel UI Pattern: Lists When building admin panels to manage lists of items, DO NOT use inline `` fields for all rows by default. Instead, use a **read-only view** for the list items, providing explicit **"Edit"** and **"Delete"** buttons for each row. Clicking "Edit" should open a modal or expand the row to allow editing the fields.