Skip to content

Commit e96b056

Browse files
Frasquito3github-actions[bot]NiconiKimgcarlex74LucaTvl
authored
Feat: primer paso a produccion (#160)
* Add workflow to automate Pull Requests * fix: Correct workflow directory name * fix: Add checkout code and change the creation pull request code * Boilerplate Creation (#8) Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * PR: Merge feature/login-register into develop (#9) * Folder structuring + creating login and register pages The project folders were structured and the Login and Register pages were successfully created (the focus was on functionality, but still nothing visually appealing). * Visually pleasing login and register The layouts folder was also added, where the MainLayout and AuthLayout were created. Based on that, the App.tsx and AppRoutes.tsx files were changed. --------- Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * Added Tailwind to the project. (#10) Modified LoginPage.tsx and RegisterPage.tsx to start using Tailwind, and began implementing reusable React components. Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * ref: update readme with git flow info (#11) * PR: Merge feature/landing-page into develop (#12) * wip: added landing page with minimal changes to Tailwind settings * wip: deleted unnecessary comments --------- Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * feat: Setup Code Quality Pipeline with CI workflow (#15) Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * fix(ci): Align CI workflow to use pnpm (#18) Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * fix(ci): Read pnpm version from package.json (#19) * ref:change-styles-from-login-and-register * feat(ui): Replace the Hero image with a 3d interactive model (#22) Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * fix: handling of tokens received from the backend (#25) Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * feat: navBar-Logged V1.0 * Refactor: Unify and Stabilize Authentication System (#29) * refactor(auth): implement token-only flow and unify session management * fix(auth): resolve user state update and unify response handling * chore(deps): remove unused fontawesome dependencies * feat: Professor Application Page * /feature/Course-List-Page-Prototype * Implentation of the appeal logic Co-authored-by: Nicolás Pedemonte <pedemontenicolas2004@gmail.com> * feat(ci): Add workflow to auto-add new issues to project (#36) * chore(workflow): add automated issue templates (#38) * feat: Update issue templates (#39) Creación de la plantilla de reporte bugs. * chore: Changed the Feature and Bug templates. (#40) Deleted the new bug report template and updated the previous to start working. * fix(layout): prevent auth form overlapping header on low-height viewports (#42) * feat(ui): implement responsive design for existing views (#44) * Fix/ci workflow and triggers (#46) * fix(deps): Remove unused package causing security vulnerability * chore(ci): Remove automatic pull request creation workflow * chore(workflow): Add automatic pull request template (#48) * fix: Update issue templates (#49) * feat(admin): implement complete admin panel UI (#52) * feat(admin): implement in-app document viewer for professor applications (#54) * Feature/Implementation of the professor dashboard (#58) * feat(ui): Implementación del dashboard del profesor * fix: fixed a problem with the versions of the dependencies in package.json * refactor: Unificar AdminLayout en NavBar para una Navegación Consistente (#59) * refactor(admin): Unify AdminLayout in the NavBar component * fix(admin): Remove bell in admin views * feat(admin): Allow management of Course Types from the admin panel * refactor: eliminate loguin requeriment on link course (#64) * feat: Mejorar la estructura del layout y el scroll de navegación (#66) * feat: add ScrollToTop component to improve navigation experience and relocated Footer to MainLayout * fix: Fixed the problems with the merge. --------- Co-authored-by: Nicolás Pedemonte <pedemontenicolas2004@gmail.com> * fix(admin): Mejorar la responsividad y consistencia visual del Panel de Admin y Layouts (#69) * fix(admin): Improve responsiveness of the Admin Panel and Layouts * fix(admin): Resolve modal stacking context issues with portals * Feature: Flujo de recuperacion de contraseña (#70) * feat: Initial version of the password recovery flow * fix: Changed the way to keep the user out of rest-password without the token * fix: Problems with GitHub Actions * fix: Add missing dependency to useEffect in ResetPasswordPage --------- Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * refactor(data): migrate server state management to TanStack Query Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * refactor(data): add @tanstack/react-query-devtools to test Also we added some time in the staleTime to see the state "fresh" Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * refactor(forms): Migrate all forms to React Hook Form and Valibot Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * refactor:button-ui (#76) * refactor:button-ui * chore(): install clsx and tailwind-merge for styles * feat(ui): create flexible and robust Button component * refactor(auth): standardize form buttons with new Button API * refactor(ui): apply Button standard to NavBar and HeroSection * fix(ui): correct Dialog close button and admin button sizes * refactor(ui): standardize miscellaneous remaining buttons * fix(ui): standardize password toggle botton usage * docs(): add button documentation JSDoc --------- Co-authored-by: LucaTvl <155491309+LucaTvl@users.noreply.github.com> Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * chore(project): standardize UI folder structure (#91) * Feat: Crear y Aplicar Utilidad 'cn' para Composición de Clases (#92) * feat(lib): create cn class composition utility * refactor(): apply cn class composition utility in Button component * refactor(ui): enhance Label component with cn and forwardRef (#93) * feat: Implementacion de API service, hooks y tipos para la gestión de Cursos (#100) * feat(types): align course entities with backend models Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * feat(api): create course service for CRUD operations Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * feat(hooks): implement TanStack Query hooks for courses Also changed de ProfessorCoursesPage to see the course of the professor insted of static courses Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> --------- Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * refactor:refactor navbar v1 (#94) * refactor:refactor navbar v1 * refactor: navbar itv1.1 * refactor: navBar it1v1.2 * reactor: navBarit1 v1.3 * feat:Star course creation page * feat: Finished the course creation structure * feat(professor): enable navigation to course creation pag Also fixed empty interface linting error in Switch component * feat: courseCreation-continue & start-unit-creation * feat: Modified ProfessorCourseEdition and implemented ProfessorCourseCreation vinculation Co-authored-by: Frasquito3 <Frasquito3@users.noreply.github.com> * feat(professor): Implements course creation from the professor view * fix(components): solved conflicts in some components * Feature/course content management (#102) * feat:initial config of editor * create-unit-service * feat:try-to-custom-side-menu * fix: Modals open correctly * feat: Added the upload for material and fixed the problem with the units Co-authored-by: Frasquito3 <Frasquito3@users.noreply.github.com> * feat: Course changes are applied to the database * feat:stanting-activity-edition * refactor: Added a general button to save changes in the Edit view. Changed data made in the configuration modal is no longer sent there, the general button is used instead. * refactor: Modified the material modal Now have the option to put individual names on each uploaded file * fix: Local data saving when canceling in the configuration modal * feat:adapt to send courses units * feat: Send everything to the back * feat: The ProfessorCourseEdition page fetchs all the data from the back * fix: Deleted unused entities and functions --------- Co-authored-by: carlex74 <r.icardogugliermino@gmail.com> Co-authored-by: Frasquito3 <Frasquito3@users.noreply.github.com> Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * refactor(ui): Refactor Badge component for reusability and variants (#106) * refactor(ui): Enhance Button component with professional JSDoc (#107) * refactor(ui): Refactor Input component with cn utility and JSDoc (#108) * refactor(ui): Refactor Textarea component for reusability and form integration (#109) * refactor(ui): Refactor Select component for consistency and form integration (#110) * refactor(ui): Standardize Card component system with cn, ref, and JSDoc * refactor(ui): Integrate CardList component with standard Card system * fix(vulnerabilities): Updated axios and vite * feat(profile): Add user profile view and edit functionality * feat: get-courses-from-db * Minor changues * Refactor: modulize editor course page (#125) * wip: reorder editor page componente * feat: add question crud service and hooks * feat: add question editor modal component * feat: add question list and crud actions to unit content * feat: replace edit button with view/edit mode switch * feat: integrate edit mode toggle and question management * feat: add dynamic course status badges and data * refactor: improve dialog styling and unit editor ui * refactor: update api services and auth context * style: update global styles * refactor: update course sidebar component * Feature/course detail page (#126) * add getById function and CourseDetail page * coding UI of courseDetails page * feat: add-course-details * Feature: sistema de evaluaciones (#127) * feat: add assessment type definitions and interfaces * feat: implement assessment API service layer * feat: add React Query hooks for assessment management * feat: add assessments listing page for professors * feat: add assessment editor for create and update * feat: add assessment attempts review page * feat: create unified QuestionForm component * feat: add QuestionSelector component with search and create * refactor: update QuestionEditor to use unified QuestionForm * feat: add assessment routes to app router * feat: add bidirectional navigation between courses and assessments * style: remove legacy commented code from course edition * feat: add general questions service and hooks * fix: support general questions in assessment selector * feat: add general questions manager component * feat: integrate general questions manager in course editor * fix: remove unnecessary unit validation in question form * feat: improve general questions UI with expandable design * feat: implement instructor profile institutional flow (UI) (#129) * Refactor: Stablished the appeals page to support pagination and filters (#123) * refactor: Stablished the appeals page to support pagination and filters * feat: enhance course search functionality with filters and pagination feat: add CoursePreviewCard component for course previews refactor: update CourseListPage to include search and filter options fix: improve search parameter handling in shared types * feat: Implement infinite scroll for courses and pagination for appeals --------- Co-authored-by: Franco Zariaga <francozariaga.zariaga@gmail.com> * Feature/course enroll button (#130) * initial enrrollment logic * feat: enrollment courses --------- Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> * refactor: appeal validation (#131) * refactor: Modified the landing page (#132) * refactor: Modified the landing page * refactor: Modified the landing page * Feature/assessment and learning system (#133) * feat: add assessment system pages * feat: add student learning components * feat: add my learning page * feat: add error boundary component * feat: update types for assessment system * feat: add assessment and question services * feat: add assessment hooks * feat: update enrollment service and hooks * feat: add routes for assessment and learning * feat: update navbar for professors * refactor: clean course details logic * feat: update course learn page * refactor: update ui components * feat: update professor and course pages * feat: implement full payment and post-payment user flow * fix: Resolve merge conflicts * fix: Resolve navigation problems * feat: Implement Full Assessment and Reporting System * fix: fixed bugs related to the course cards. Added vinculation with backend for ProfessorDashboard. Co-authored-by: Frasquito3 <Frasquito3@users.noreply.github.com> * fix: Delete some comments * refactor: course-institutions and description units (#138) * Refactor/improve payment uxui (#137) * refactor: improve some details in payment * feat: add HTTPS support to development server - Add vite-plugin-mkcert for automatic SSL certificate generation - Enable HTTPS on port 5173 - Configure development server with secure connections --------- Co-authored-by: Luca Trincavelli <155491309+LucaTvl@users.noreply.github.com> Co-authored-by: Luca Trincavelli <ltrincavell@frro.utn.edu.ar> * fix: fixes (#139) * fix: fixes * fix: fixes * Feature/analytics integration (#140) * feat: add admin analytics service and hook * feat: update professor analytics hook with backend structure * feat: integrate professor analytics page with backend data * feat: integrate admin dashboard with real-time analytics * feat: implement comprehensive analytics page with charts and rankings * feat: Added protection to the routes (#141) * feat: Implementacion de filtrado y paginacion de Appeals y CourseTypes (#142) * feat: Refactor Appeals page to use server-side filtering and pagination * fix: Prevent crash on professor courses page with undefined price * fix: fixed the modal for editing course (#143) * Feat/improve course filters (#144) * feat:improve filters options * feat: add professor-filters and Links with filters --------- Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * Refactor: visual details deadline (#145) * feat: add new basic pages, faq, about us and contact * fix: fixed the filter params --------- Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * bugfix: improve questions endpoints (#146) Co-authored-by: NiconiKimg <pedemontenicolas2004@gmail.com> * feat: Agregado la pestaña del historial de apelaciones de estudiantes al perfil y arreglar la barra de navegación móvil (#147) * feat: add student appeals history tab to profile and fix mobile navbar * bugfix: fix vulnerabilities * feat: Configuracion de vitest y cypress con pruebas unitarias y e2e iniciales (#148) * feat: Setup vitest and cypress with initial unit and e2e tests * bugfix: fix problems * feat: Implemented react-hot-toast (#149) * feat: Implemented react-hot-toast * feat: Implemented react-hot-toast * fix: fixed the failed test * feat: Implemented more notifications with react-hot-toast * feat: Implemented the remaining notifications (#150) * fix: Resolución de problemas de redirección de aplicaciones del profesor y de desbordamiento de texto modal (#151) * fix: resolve professor application redirection and modal text overflow issues * fix: Delete some comments * Feat: Implementar sistema de mails (#152) * feat: modificate pages * feat: complete modules * feat: Added feedback with react-hot-toast --------- Co-authored-by: LucaTvl <ltrincavell@frro.utn.edu.ar> * feat:install storybook and example (#153) * refactor: Implemented Lazy loading in AppRouter and HeroSection (#155) Co-authored-by: LucaTvl <lucatrincavell@frro.utn.edu.ar> * Feature/components doc (#154) * feat:documentation-badge-cardlist-documentpreviewer * feat:badgeDoc * feat:documentComponents * feat: Integración de refresh token y manejo de sesiones (#156) * feat: Implement silent refresh interceptor and fix course pricing * fix: Ngrok redirection problems * fix: Problems with refresh token * fix: Update error handling and improve course institution references (#157) Co-authored-by: LucaTvl <lucatrincavell@frro.utn.edu.ar> * fear:install knip and delete unused files (#158) Co-authored-by: carlex <ricardogugliermino@gmail.com> * refactor:delete unused exports (#159) Co-authored-by: carlex <ricardogugliermino@gmail.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Nicolás Pedemonte <pedemontenicolas2004@gmail.com> Co-authored-by: carlex74 <r.icardogugliermino@gmail.com> Co-authored-by: LucaTvl <155491309+LucaTvl@users.noreply.github.com> Co-authored-by: LucaTvl <ltrincavell@frro.utn.edu.ar> Co-authored-by: LucaTvl <LucaTvl@users.noreply.github.com> Co-authored-by: Frasquito3 <Frasquito3@users.noreply.github.com> Co-authored-by: LucaTvl <lucatrincavell@frro.utn.edu.ar> Co-authored-by: carlex <ricardogugliermino@gmail.com>
1 parent ce1523b commit e96b056

207 files changed

Lines changed: 28058 additions & 1 deletion

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# URL base de la API del backend
2+
VITE_API_BASE_URL=
3+
4+
# Hostname del túnel del frontend para la configuración de seguridad de Vite.
5+
# Es solo el dominio, sin https:// (ej. <nombre-aleatorio>.ngrok-free.dev)
6+
VITE_ALLOWED_HOST=
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
name: "\U0001F680 Nueva Funcionalidad"
3+
about: Crea una nueva funcionalidad para la aplicación.
4+
title: 'feat: [Título conciso de la funcionalidad]'
5+
labels: feature, needs-triage
6+
assignees: ''
7+
8+
---
9+
10+
### Descripción
11+
**User Story:** Como [tipo de usuario], quiero [acción] para poder [beneficio].
12+
13+
### Nombre de Rama Sugerido (Opcional)
14+
`feature/`
15+
16+
### Tareas Propuestas (Checklist)
17+
- [ ] Tarea técnica 1
18+
- [ ] Tarea técnica 2
19+
- [ ] Tarea técnica 3
20+
21+
### Definición de 'Hecho' (Definition of Done)
22+
- [ ] El código está cubierto por pruebas automatizadas.
23+
- [ ] La documentación relevante ha sido actualizada.
24+
- [ ] El Pull Request asociado ha sido revisado y aprobado.
25+
- [ ] La funcionalidad cumple con los requisitos descritos.
26+
27+
### Dependencias
28+
<!-- (Opcional) Si esta issue depende de otra, vincúlala aquí. -->
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
name: "\U0001F41E Reporte de Bug"
3+
about: Crea un reporte acerca del bug.
4+
title: 'fix: [Título conciso del bug]'
5+
labels: bug, needs-triage
6+
assignees: ''
7+
8+
---
9+
10+
### Describe el Bug
11+
Una descripción clara y concisa de cuál es el problema.
12+
13+
### Nombre de Rama Sugerido (Opcional)
14+
`bugfix/`
15+
16+
### Pasos para Reproducir
17+
1. Ir a '...'
18+
2. Hacer clic en '....'
19+
3. Ver el error
20+
21+
### Comportamiento Esperado
22+
Una descripción clara de lo que esperabas que sucediera.
23+
24+
### Contexto Adicional (Opcional)
25+
<!-- Añade capturas de pantalla, logs, o cualquier otro contexto sobre el problema aquí. -->

.github/pull_request_template.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<!--
2+
👋 ¡Gracias por tu contribución!
3+
Completa la siguiente información para agilizar el proceso de revisión.
4+
-->
5+
6+
### Issue Relacionada
7+
<!-- ¿Qué issue resuelve este PR? Utiliza "Closes" para que se cierre automáticamente. -->
8+
Closes #[NÚMERO_DE_LA_ISSUE]
9+
10+
---
11+
12+
### Resumen
13+
<!--
14+
Proporciona un resumen de 1-2 frases sobre el propósito principal de este Pull Request.
15+
Ejemplo: "Este PR refactoriza el módulo `student` para alinearlo con la arquitectura moderna del proyecto."
16+
-->
17+
18+
19+
### Cambios Técnicos Implementados
20+
<!--
21+
Describe en detalle los cambios que has realizado. Utiliza listas para una mayor claridad.
22+
- **Validación:** Se ha añadido validación de entrada para `x` usando `y`.
23+
- **Refactorización del Controlador:** Se ha aislado la lógica de negocio en el servicio, asegurando el uso de `await`.
24+
- **Seguridad:** Se ha aplicado el `authMiddleware` a las nuevas rutas.
25+
-->
26+
-
27+
-
28+
-
29+
30+
---
31+
32+
### Guía para Pruebas y Revisión
33+
<!--
34+
Describe los pasos exactos que el revisor debe seguir para verificar tus cambios. Incluye casos de éxito y de error.
35+
-->
36+
1. Iniciar el servidor.
37+
2. Obtener un token JWT válido.
38+
3. Probar el endpoint `GET /api/...` con un token válido.
39+
4. **Verificar Fallos:** Intentar acceder al mismo endpoint sin token (esperado: 401 Unauthorized).
40+
41+
### Screenshots (Opcional)
42+
<!-- Si tus cambios son visuales, añade capturas de pantalla del "antes" y el "después". -->
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: Add New Issues to Project
2+
3+
on:
4+
issues:
5+
types:
6+
- opened
7+
8+
jobs:
9+
add-to-project:
10+
name: Add issue to project
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Add issue to project board
14+
uses: actions/add-to-project@v0.5.0
15+
with:
16+
project-url: 'https://github.com/orgs/upskill-team/projects/4'
17+
github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}

.github/workflows/ci.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Code Quality Pipeline
2+
3+
on:
4+
pull_request:
5+
branches: ['develop']
6+
7+
jobs:
8+
quality-check:
9+
name: Code Quality & Security Check
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout Code
13+
uses: actions/checkout@v4
14+
15+
- name: Setup pnpm
16+
uses: pnpm/action-setup@v4
17+
18+
- name: Setup Node.js
19+
uses: actions/setup-node@v4
20+
with:
21+
node-version: '20.x'
22+
cache: 'pnpm'
23+
24+
- name: Install Dependencies
25+
run: pnpm install --frozen-lockfile
26+
27+
- name: Run Quality Checks
28+
run: pnpm test

.gitignore

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
.env
2+
3+
# Logs
4+
logs
5+
*.log
6+
npm-debug.log*
7+
yarn-debug.log*
8+
yarn-error.log*
9+
pnpm-debug.log*
10+
lerna-debug.log*
11+
12+
node_modules
13+
dist
14+
dist-ssr
15+
*.local
16+
17+
# Editor directories and files
18+
.vscode/*
19+
!.vscode/extensions.json
20+
.idea
21+
.DS_Store
22+
*.suo
23+
*.ntvs*
24+
*.njsproj
25+
*.sln
26+
*.sw?
27+
28+
*storybook.log
29+
storybook-static

.storybook/main.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import type { StorybookConfig } from '@storybook/react-vite';
2+
import { mergeConfig } from 'vite';
3+
4+
const config: StorybookConfig = {
5+
stories: [
6+
"../src/**/*.mdx",
7+
"../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"
8+
],
9+
addons: [
10+
"@chromatic-com/storybook",
11+
"@storybook/experimental-addon-test",
12+
"@storybook/addon-a11y",
13+
"@storybook/addon-docs"
14+
],
15+
framework: "@storybook/react-vite",
16+
17+
viteFinal: async (config) => {
18+
// 2. Retornar la fusión de la config original con la tuya
19+
return mergeConfig(config, {
20+
test: {
21+
globals: true,
22+
environment: "jsdom",
23+
setupFiles: "./.storybook/vitest.setup.ts",
24+
},
25+
});
26+
}
27+
};
28+
29+
export default config;

.storybook/preview.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import type { Preview } from '@storybook/react-vite'
2+
import '../src/index.css'; // o donde tengas tu tailwind.css
3+
4+
5+
const portalId = 'modal-portal';
6+
if (!document.getElementById(portalId)) {
7+
const portalDiv = document.createElement('div');
8+
portalDiv.id = portalId;
9+
document.body.appendChild(portalDiv);
10+
}
11+
12+
const preview: Preview = {
13+
tags: ['autodocs'],
14+
parameters: {
15+
layout: 'centered',
16+
controls: {
17+
matchers: {
18+
color: /(background|color)$/i,
19+
date: /Date$/i,
20+
},
21+
},
22+
23+
a11y: {
24+
// 'todo' - show a11y violations in the test UI only
25+
// 'error' - fail CI on a11y violations
26+
// 'off' - skip a11y checks entirely
27+
test: 'todo'
28+
}
29+
},
30+
31+
32+
};
33+
34+
export default preview;

.storybook/vitest.setup.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import * as a11yAddonAnnotations from "@storybook/addon-a11y/preview";
2+
import { setProjectAnnotations } from '@storybook/react-vite';
3+
import * as projectAnnotations from './preview';
4+
5+
// This is an important step to apply the right configuration when testing your stories.
6+
// More info at: https://storybook.js.org/docs/api/portable-stories/portable-stories-vitest#setprojectannotations
7+
setProjectAnnotations([a11yAddonAnnotations, projectAnnotations]);

0 commit comments

Comments
 (0)