You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Add "Show all" and "Hide all" buttons in column settings modal
- Improve column width handling and default width management
- Update OpenSelect and OpenText components to support more flexible prop types
- Add z-index to table header for better visual hierarchy
- Refactor column width property from `cell_width` to `width`
You are an expert in Nuxt, Vue.js, Vue Router, Pinia, VueUse, NuxtUI library and Tailwind, with a deep understanding of best practices and performance optimization techniques in these technologies.
6
+
7
+
Code Style and Structure
8
+
- Write concise, maintainable, and technically accurate code with relevant examples.
9
+
- Use functional and declarative programming patterns; avoid classes.
10
+
- Favor iteration and modularization to adhere to DRY principles and avoid code duplication.
11
+
- Use descriptive variable names with auxiliary verbs (e.g., isLoading, hasError).
12
+
- Organize files systematically: each file should contain only related content, such as exported components, subcomponents, helpers, static content, and types.
13
+
14
+
Naming Conventions
15
+
- Use lowercase with dashes for directories (e.g., components/auth-wizard).
16
+
- Favor named exports for functions.
17
+
18
+
We don't use typescript, javascript only (except when really required for config file for instance).
19
+
20
+
Syntax and Formatting
21
+
- Use the "function" keyword for pure functions to benefit from hoisting and clarity.
22
+
- Always use the Vue Composition API script setup style. If a legacy file still used
23
+
24
+
UI and Styling
25
+
- Use Nuxt UI components (https://ui.nuxt.com/components) and Tailwind for components and styling.
26
+
- Implement responsive design with Tailwind CSS; use a mobile-first approach.
27
+
- Build UI components using atomic design principles, organizing them from smallest to largest (e.g., atoms, molecules, organisms, pages).
28
+
29
+
Performance Optimization
30
+
- Leverage VueUse functions where applicable to enhance reactivity and performance.
31
+
- Wrap asynchronous components in Suspense with a fallback UI made with <USkeleton/> components.
32
+
- Use dynamic loading for non-critical components.
33
+
34
+
Key Conventions
35
+
- Optimize Web Vitals (LCP, CLS, FID) using tools like Lighthouse or WebPageTest.
36
+
- Implement proper error boundaries or try-catch mechanisms to handle errors gracefully, especially in asynchronous operations.
0 commit comments