Skip to content
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

feat: implement responsive dashboard with accessibility improvements #83

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
68d00e0
chore: update dependencies for dashboard redesign
devin-ai-integration[bot] Nov 12, 2024
d6ffe2e
chore: create theme directory and file
devin-ai-integration[bot] Nov 12, 2024
e5fb114
feat: implement custom theme with brand colors and card styles
devin-ai-integration[bot] Nov 12, 2024
bb670ef
feat: integrate custom theme with brand colors and card styles
devin-ai-integration[bot] Nov 12, 2024
7f1716b
feat: add Card component for consistent styling
devin-ai-integration[bot] Nov 12, 2024
d44df6a
feat: update statistics section with new Card component and brand colors
devin-ai-integration[bot] Nov 12, 2024
e3600a0
feat: update upcoming interviews section with new Card component and …
devin-ai-integration[bot] Nov 12, 2024
52e0bc9
feat: refine sidebar navigation with collapsible functionality and co…
devin-ai-integration[bot] Nov 12, 2024
2246395
refactor: remove todo list section and clean up dashboard layout
devin-ai-integration[bot] Nov 12, 2024
5330e22
chore: remove duplicate Card component file to fix casing issues
devin-ai-integration[bot] Nov 12, 2024
221fb41
feat: implement responsive design for dashboard
devin-ai-integration[bot] Nov 12, 2024
9ffd84c
fix: add ChakraProvider to test setup for theme support
devin-ai-integration[bot] Nov 12, 2024
ad0be7f
test: add proper mocks for Chakra UI theme and browser APIs
devin-ai-integration[bot] Nov 12, 2024
eda781a
test: Add proper mocks for Chakra UI and Emotion to fix test failures
devin-ai-integration[bot] Nov 12, 2024
fc66de5
fix: update mock files to proper TypeScript modules
devin-ai-integration[bot] Nov 12, 2024
6c693a5
chore: add @emotion/cache as dev dependency for test mocks
devin-ai-integration[bot] Nov 12, 2024
1747b6b
fix: remove duplicate mock files and update mock implementations
devin-ai-integration[bot] Nov 12, 2024
9f41267
fix: add withEmotionCache mock implementation for Chakra UI tests
devin-ai-integration[bot] Nov 12, 2024
0c30a4a
fix: update EmotionCache mock with complete StyleSheet implementation
devin-ai-integration[bot] Nov 12, 2024
720a320
fix: revamp Chakra UI mock implementation with explicit exports and n…
devin-ai-integration[bot] Nov 12, 2024
24af0c3
fix: add comprehensive Chakra UI component mocks for testing
devin-ai-integration[bot] Nov 12, 2024
9881536
test: Update useLoading mock implementation and simplify test setup
devin-ai-integration[bot] Nov 12, 2024
5415196
test: Update useLoading mock to handle React lifecycle properly
devin-ai-integration[bot] Nov 12, 2024
d4cda4e
feat: Update dashboard layout to match reference design with dark sid…
devin-ai-integration[bot] Nov 12, 2024
6628af5
fix: Update App.test.tsx to properly handle React lifecycle and Chakr…
devin-ai-integration[bot] Nov 12, 2024
148a9c6
fix: Update EmotionCache mock and add @emotion/sheet dependency
devin-ai-integration[bot] Nov 12, 2024
afe4431
fix: Remove invalid insertStyles property from StyleSheet mock
devin-ai-integration[bot] Nov 12, 2024
0f4d282
fix: Remove invalid getIds property from StyleSheet mock
devin-ai-integration[bot] Nov 12, 2024
0f54393
test: Simplify useLoading mock implementation to reduce race conditions
devin-ai-integration[bot] Nov 12, 2024
db94e6d
fix: Add missing StyleSheet properties to Chakra UI mock
devin-ai-integration[bot] Nov 12, 2024
c813e0a
fix: Update RouterProvider test setup with proper routing context
devin-ai-integration[bot] Nov 12, 2024
3fa9753
fix: clean up App.tsx formatting and fix useColorMode context
devin-ai-integration[bot] Nov 12, 2024
97677fc
test: fix App.test.tsx with proper ColorModeScript setup
devin-ai-integration[bot] Nov 12, 2024
b7e9b28
fix: update test utilities with proper Chakra UI context and ColorMod…
devin-ai-integration[bot] Nov 12, 2024
e7e6f4f
test: Update App test with proper mocks and simplified setup
devin-ai-integration[bot] Nov 12, 2024
b7e7fb4
fix: clean up Dashboard.tsx file formatting and remove hidden characters
devin-ai-integration[bot] Nov 12, 2024
a01d149
test: update App test setup for dashboard component
devin-ai-integration[bot] Nov 12, 2024
75af1b6
fix: Clean up App.test.tsx encoding and structure
devin-ai-integration[bot] Nov 12, 2024
25ab6b9
fix: Update Dashboard layout with improved accessibility and responsi…
devin-ai-integration[bot] Nov 12, 2024
00078ed
fix: update dashboard layout and fix syntax issues
devin-ai-integration[bot] Nov 12, 2024
b57caec
chore: upgrade jest to v29 and related dependencies
devin-ai-integration[bot] Nov 12, 2024
fd33848
fix: add Jest configuration with proper test environment options
devin-ai-integration[bot] Nov 12, 2024
25ba057
fix: update Babel configuration for TypeScript and Jest compatibility
devin-ai-integration[bot] Nov 12, 2024
7fe1c49
fix: update Babel configuration and add transform-runtime plugin
devin-ai-integration[bot] Nov 12, 2024
ab45609
fix: resolve TypeScript errors and update dashboard layout to match r…
devin-ai-integration[bot] Nov 12, 2024
d8bd761
fix: resolve typescript errors in card components and chakra-ui mocks
devin-ai-integration[bot] Nov 12, 2024
059ff63
fix: update StyleSheet mock implementation with required methods
devin-ai-integration[bot] Nov 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 25 additions & 2 deletions frontend/.babelrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,27 @@
{
"presets": ["@babel/preset-env"],
"plugins": ["@babel/plugin-transform-modules-commonjs"]
"presets": [
["@babel/preset-env", {
"targets": {
"node": "current"
}
}],
["@babel/preset-typescript", {
"isTSX": true,
"allExtensions": true
}],
["@babel/preset-react", {
"runtime": "automatic"
}]
],
"plugins": [
"@babel/plugin-transform-modules-commonjs",
"@babel/plugin-transform-runtime"
],
"env": {
"test": {
"plugins": [
"@babel/plugin-transform-modules-commonjs"
]
}
}
}
29 changes: 28 additions & 1 deletion frontend/config-overrides.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
const { override, addBabelPlugin, disableEsLint } = require('customize-cra');
const { override, addBabelPlugin, disableEsLint, addBabelPreset } = require('customize-cra');

module.exports = override(
disableEsLint(),
addBabelPreset('@babel/preset-typescript'),
addBabelPreset('@babel/preset-react'),
(config) => {
config.resolve.modules.push(process.cwd() + '/node_modules');

Expand All @@ -10,6 +12,31 @@ module.exports = override(
(plugin) => plugin.constructor.name !== 'ModuleScopePlugin'
);

// Configure Jest
if (process.env.NODE_ENV === 'test') {
config.transform = {
'^.+\\.(ts|tsx)$': 'ts-jest',
'^.+\\.(js|jsx)$': 'babel-jest'
};
// Add Jest configuration
config.jest = {
...config.jest,
testEnvironment: 'jsdom',
testEnvironmentOptions: {
url: 'http://localhost',
features: {
FetchAPI: true,
ProcessExternalResources: true,
SkipExternalResources: false
}
},
setupFilesAfterEnv: ['<rootDir>/src/setupTests.ts'],
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1'
}
};
}

return config;
}
);
16 changes: 12 additions & 4 deletions frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@
"@chakra-ui/utils": "^2.2.1",
"@emotion/react": "^11.13.3",
"@emotion/styled": "^11.13.0",
"@testing-library/react": "^14.1.2",
"@testing-library/user-event": "^14.5.2",
"@types/react-router-dom": "^5.3.3",
"axios": "^1.7.7",
"framer-motion": "^11.11.1",
Expand Down Expand Up @@ -63,19 +61,26 @@
"@babel/plugin-transform-optional-chaining": "^7.25.7",
"@babel/plugin-transform-private-methods": "^7.25.7",
"@babel/plugin-transform-private-property-in-object": "^7.23.4",
"@babel/plugin-transform-runtime": "^7.25.9",
"@babel/preset-env": "^7.23.8",
"@babel/preset-react": "^7.23.3",
"@babel/preset-react": "^7.25.9",
"@babel/preset-typescript": "^7.26.0",
"@emotion/cache": "^11.13.1",
"@emotion/sheet": "^1.4.0",
"@eslint/js": "^8.56.0",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.15",
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-switch": "^1.0.3",
"@svgr/webpack": "^8.1.0",
"@testing-library/dom": "^9.3.4",
"@testing-library/jest-dom": "^5.17.0",
"@types/jest": "^29.5.13",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"@types/jest": "^29.5.14",
"@types/node": "^22.7.4",
"@types/react": "^18.3.11",
"@types/react-dom": "^18.3.0",
"@types/styled-components": "^5.1.34",
"@typescript-eslint/eslint-plugin": "^8.8.0",
"@typescript-eslint/parser": "^8.8.0",
"ansi-styles": "^6.2.1",
Expand All @@ -96,6 +101,8 @@
"eslint-plugin-react-hooks": "^4.6.2",
"express": "^4.21.0",
"has-flag": "^5.0.1",
"jest": "29",
"jest-environment-jsdom": "29",
"nth-check": "^2.1.1",
"postcss": "^8.4.47",
"postcss-flexbugs-fixes": "^5.0.2",
Expand All @@ -114,6 +121,7 @@
"tailwind-merge": "^2.5.4",
"terser": "^5.36.0",
"tough-cookie": "^4.1.3",
"ts-jest": "^29.2.5",
"type-fest": "^0.17.0",
"typescript": "^4.9.5",
"webpack": "^5.89.0",
Expand Down
Loading
Loading