diff --git a/src/App.tsx b/src/App.tsx index 727a9f4..cb15496 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,27 +1,27 @@ import { BrowserRouter as Router, Routes, Route } from 'react-router-dom'; import { ThemeProvider } from '@mui/material/styles'; import CssBaseline from '@mui/material/CssBaseline'; -import { OnboardingProvider } from './context/OnboardingContext'; -import { DataProvider } from './providers/DataProvider'; -import { BrowserNGLdoProvider, useNextGraphAuth } from './lib/nextgraph'; -import type { NextGraphAuth } from './types/nextgraph'; -import DashboardLayout from './components/layout/DashboardLayout'; -import SocialContractPage from './pages/SocialContractPage'; -import GroupJoinPage from './pages/GroupJoinPage'; -import ImportPage from './pages/ImportPage'; -import ContactListPage from './pages/ContactListPage'; -import ContactViewPage from './pages/ContactViewPage'; -import GroupPage from './pages/GroupPage'; -import GroupDetailPage from './pages/GroupDetailPage'; -import GroupInfoPage from './pages/GroupInfoPage'; -import InvitationPage from './pages/InvitationPage'; -import OnboardingPage from './pages/OnboardingPage'; -import FeedPage from './pages/FeedPage'; -import PostsOffersPage from './pages/PostsOffersPage'; -import MessagesPage from './pages/MessagesPage'; -import AccountPage from './pages/AccountPage'; -import NotificationsPage from './pages/NotificationsPage'; -import { createAppTheme } from './theme/theme'; +import { OnboardingProvider } from '@/contexts/OnboardingContext'; +import { DataProvider } from '@/providers/DataProvider'; +import { BrowserNGLdoProvider, useNextGraphAuth } from '@/lib/nextgraph'; +import type { NextGraphAuth } from '@/types/nextgraph'; +import DashboardLayout from '@/components/layout/DashboardLayout'; +import SocialContractPage from '@/pages/SocialContractPage'; +import GroupJoinPage from '@/pages/GroupJoinPage'; +import ImportPage from '@/pages/ImportPage'; +import ContactListPage from '@/pages/ContactListPage'; +import ContactViewPage from '@/pages/ContactViewPage'; +import GroupPage from '@/pages/GroupPage'; +import GroupDetailPage from '@/pages/GroupDetailPage'; +import GroupInfoPage from '@/pages/GroupInfoPage'; +import InvitationPage from '@/pages/InvitationPage'; +import OnboardingPage from '@/pages/OnboardingPage'; +import FeedPage from '@/pages/FeedPage'; +import PostsOffersPage from '@/pages/PostsOffersPage'; +import MessagesPage from '@/pages/MessagesPage'; +import AccountPage from '@/pages/AccountPage'; +import NotificationsPage from '@/pages/NotificationsPage'; +import { createAppTheme } from '@/theme/theme'; import { Container } from '@mui/material'; const theme = createAppTheme('light'); diff --git a/src/components/NetworkGraph.tsx b/src/components/NetworkGraph.tsx index cdca81d..a72a6f4 100644 --- a/src/components/NetworkGraph.tsx +++ b/src/components/NetworkGraph.tsx @@ -1,8 +1,8 @@ import { useState, useEffect, useRef } from 'react'; import { Box, Typography, Card, CardContent } from '@mui/material'; import { alpha, useTheme } from '@mui/material/styles'; -import type { Contact } from '../types/contact'; -import { getContactPhotoStyles } from '../utils/photoStyles'; +import type { Contact } from '@/types/contact'; +import { getContactPhotoStyles } from '@/utils/photoStyles'; interface NetworkNode extends Contact { x: number; diff --git a/src/components/account/MyCollectionPage.tsx b/src/components/account/MyCollectionPage.tsx index 492bf16..c4fc96a 100644 --- a/src/components/account/MyCollectionPage.tsx +++ b/src/components/account/MyCollectionPage.tsx @@ -44,7 +44,7 @@ import { Send, AutoAwesome, } from '@mui/icons-material'; -import type { BookmarkedItem, Collection, CollectionFilter, CollectionStats } from '../../types/collection'; +import type { BookmarkedItem, Collection, CollectionFilter, CollectionStats } from '@/types/collection'; interface MyCollectionPageProps { // Props would come from parent component diff --git a/src/components/account/MyHomePage.tsx b/src/components/account/MyHomePage.tsx index 6a7f978..b337156 100644 --- a/src/components/account/MyHomePage.tsx +++ b/src/components/account/MyHomePage.tsx @@ -34,7 +34,7 @@ import { ShoppingCart, PostAdd, } from '@mui/icons-material'; -import type { UserContent, ContentFilter, ContentStats, ContentType } from '../../types/userContent'; +import type { UserContent, ContentFilter, ContentStats, ContentType } from '@/types/userContent'; interface MyHomePageProps { // Props would come from parent component diff --git a/src/components/account/PersonhoodCredentials.tsx b/src/components/account/PersonhoodCredentials.tsx index a945236..609a5f3 100644 --- a/src/components/account/PersonhoodCredentials.tsx +++ b/src/components/account/PersonhoodCredentials.tsx @@ -36,7 +36,7 @@ import { Close, } from '@mui/icons-material'; import { QRCodeSVG } from 'qrcode.react'; -import type { PersonhoodCredentials } from '../../types/personhood'; +import type { PersonhoodCredentials } from '@/types/personhood'; interface PersonhoodCredentialsProps { credentials: PersonhoodCredentials; diff --git a/src/components/account/RCardManagement.tsx b/src/components/account/RCardManagement.tsx index 3c52111..0c0722e 100644 --- a/src/components/account/RCardManagement.tsx +++ b/src/components/account/RCardManagement.tsx @@ -30,8 +30,8 @@ import { Edit, Delete, } from '@mui/icons-material'; -import type { RCardWithPrivacy } from '../../types/notification'; -import { DEFAULT_PRIVACY_SETTINGS } from '../../types/notification'; +import type { RCardWithPrivacy } from '@/types/notification'; +import { DEFAULT_PRIVACY_SETTINGS } from '@/types/notification'; interface RCardManagementProps { open: boolean; diff --git a/src/components/account/RCardPrivacySettings.tsx b/src/components/account/RCardPrivacySettings.tsx index 5081e8f..8010cfe 100644 --- a/src/components/account/RCardPrivacySettings.tsx +++ b/src/components/account/RCardPrivacySettings.tsx @@ -21,8 +21,8 @@ import { Refresh, VpnKey, } from '@mui/icons-material'; -import type { RCardWithPrivacy, PrivacyLevel, LocationSharingLevel } from '../../types/notification'; -import { DEFAULT_PRIVACY_SETTINGS } from '../../types/notification'; +import type { RCardWithPrivacy, PrivacyLevel, LocationSharingLevel } from '@/types/notification'; +import { DEFAULT_PRIVACY_SETTINGS } from '@/types/notification'; interface RCardPrivacySettingsProps { rCard: RCardWithPrivacy; diff --git a/src/components/invite/InviteForm.tsx b/src/components/invite/InviteForm.tsx index b72995d..546970d 100644 --- a/src/components/invite/InviteForm.tsx +++ b/src/components/invite/InviteForm.tsx @@ -15,8 +15,8 @@ import { PersonAdd, ContactPage, } from '@mui/icons-material'; -import { DEFAULT_RCARDS } from '../../types/notification'; -import type { Group } from '../../types/group'; +import { DEFAULT_RCARDS } from '@/types/notification'; +import type { Group } from '@/types/group'; interface InviteFormProps { open: boolean; diff --git a/src/components/layout/DashboardLayout.tsx b/src/components/layout/DashboardLayout.tsx index 5ac5d6b..113f787 100644 --- a/src/components/layout/DashboardLayout.tsx +++ b/src/components/layout/DashboardLayout.tsx @@ -37,9 +37,9 @@ import { LocationOn, Public, } from '@mui/icons-material'; -import BottomNavigation from '../navigation/BottomNavigation'; -import { notificationService } from '../../services/notificationService'; -import type { NotificationSummary } from '../../types/notification'; +import BottomNavigation from '@/components/navigation/BottomNavigation'; +import { notificationService } from '@/services/notificationService'; +import type { NotificationSummary } from '@/types/notification'; const drawerWidth = 280; diff --git a/src/components/notifications/NotificationDropdown.tsx b/src/components/notifications/NotificationDropdown.tsx index b0af35d..6e917b2 100644 --- a/src/components/notifications/NotificationDropdown.tsx +++ b/src/components/notifications/NotificationDropdown.tsx @@ -15,8 +15,8 @@ import { Notifications, MarkEmailRead, } from '@mui/icons-material'; -import type { Notification, NotificationSummary } from '../../types/notification'; -import NotificationItem from './NotificationItem'; +import type { Notification, NotificationSummary } from '@/types/notification'; +import NotificationItem from '@/components/notifications/NotificationItem'; interface NotificationDropdownProps { notifications: Notification[]; diff --git a/src/components/notifications/NotificationItem.tsx b/src/components/notifications/NotificationItem.tsx index af3d394..f5ab3a8 100644 --- a/src/components/notifications/NotificationItem.tsx +++ b/src/components/notifications/NotificationItem.tsx @@ -35,8 +35,8 @@ import { LocationOn, Public, } from '@mui/icons-material'; -import type { Notification } from '../../types/notification'; -import { DEFAULT_RCARDS } from '../../types/notification'; +import type { Notification } from '@/types/notification'; +import { DEFAULT_RCARDS } from '@/types/notification'; interface NotificationItemProps { notification: Notification; diff --git a/src/components/onboarding/BasicInfoStep.tsx b/src/components/onboarding/BasicInfoStep.tsx index 947ab4b..f4cfcb2 100644 --- a/src/components/onboarding/BasicInfoStep.tsx +++ b/src/components/onboarding/BasicInfoStep.tsx @@ -10,7 +10,7 @@ import { InputAdornment } from '@mui/material'; import { Person, Email, Phone, Business, Work, PhotoCamera } from '@mui/icons-material'; -import { useOnboarding } from '../../context/OnboardingContext'; +import { useOnboarding } from '@/contexts/OnboardingContext'; const BasicInfoStep = () => { const { state, updateProfile } = useOnboarding(); diff --git a/src/components/onboarding/ConnectAccountsStep.tsx b/src/components/onboarding/ConnectAccountsStep.tsx index df8f2be..d92dfea 100644 --- a/src/components/onboarding/ConnectAccountsStep.tsx +++ b/src/components/onboarding/ConnectAccountsStep.tsx @@ -27,7 +27,7 @@ import { Cloud, Security } from '@mui/icons-material'; -import { useOnboarding } from '../../context/OnboardingContext'; +import { useOnboarding } from '@/contexts/OnboardingContext'; const ConnectAccountsStep = () => { const { state, connectAccount, disconnectAccount } = useOnboarding(); diff --git a/src/components/tour/GroupTour.tsx b/src/components/tour/GroupTour.tsx index a741914..6b052b5 100644 --- a/src/components/tour/GroupTour.tsx +++ b/src/components/tour/GroupTour.tsx @@ -29,7 +29,7 @@ import { QuestionAnswer, CheckCircle, } from '@mui/icons-material'; -import type { Group } from '../../types/group'; +import type { Group } from '@/types/group'; interface GroupTourProps { open: boolean; diff --git a/src/context/OnboardingContext.tsx b/src/contexts/OnboardingContext.tsx similarity index 99% rename from src/context/OnboardingContext.tsx rename to src/contexts/OnboardingContext.tsx index 81e342c..9d57855 100644 --- a/src/context/OnboardingContext.tsx +++ b/src/contexts/OnboardingContext.tsx @@ -1,6 +1,6 @@ import { createContext, useContext, useReducer } from 'react'; import type { ReactNode } from 'react'; -import type { OnboardingState, OnboardingContextType, UserProfile } from '../types/onboarding'; +import type { OnboardingState, OnboardingContextType, UserProfile } from '@/types/onboarding'; const initialState: OnboardingState = { currentStep: 0, diff --git a/src/main.tsx b/src/main.tsx index bef5202..e6fca42 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,7 +1,7 @@ import { StrictMode } from 'react' import { createRoot } from 'react-dom/client' import './index.css' -import App from './App.tsx' +import App from '@/App.tsx' createRoot(document.getElementById('root')!).render( diff --git a/src/pages/AccountPage.tsx b/src/pages/AccountPage.tsx index 0139cc6..a0d4319 100644 --- a/src/pages/AccountPage.tsx +++ b/src/pages/AccountPage.tsx @@ -33,14 +33,14 @@ import { LocationOn, Public, } from '@mui/icons-material'; -import { DEFAULT_RCARDS, DEFAULT_PRIVACY_SETTINGS } from '../types/notification'; -import type { RCardWithPrivacy } from '../types/notification'; -import RCardPrivacySettings from '../components/account/RCardPrivacySettings'; -import RCardManagement from '../components/account/RCardManagement'; -import MyHomePage from '../components/account/MyHomePage'; -import MyCollectionPage from '../components/account/MyCollectionPage'; -import PersonhoodCredentialsComponent from '../components/account/PersonhoodCredentials'; -import type { PersonhoodCredentials } from '../types/personhood'; +import { DEFAULT_RCARDS, DEFAULT_PRIVACY_SETTINGS } from '@/types/notification'; +import type { RCardWithPrivacy } from '@/types/notification'; +import RCardPrivacySettings from '@/components/account/RCardPrivacySettings'; +import RCardManagement from '@/components/account/RCardManagement'; +import MyHomePage from '@/components/account/MyHomePage'; +import MyCollectionPage from '@/components/account/MyCollectionPage'; +import PersonhoodCredentialsComponent from '@/components/account/PersonhoodCredentials'; +import type { PersonhoodCredentials } from '@/types/personhood'; interface TabPanelProps { children?: React.ReactNode; diff --git a/src/pages/ContactListPage.tsx b/src/pages/ContactListPage.tsx index a8d4fa1..80dc0bb 100644 --- a/src/pages/ContactListPage.tsx +++ b/src/pages/ContactListPage.tsx @@ -23,7 +23,7 @@ import { ListItemIcon, ListItemText } from '@mui/material'; -import NetworkGraph from '../components/NetworkGraph'; +import NetworkGraph from '@/components/NetworkGraph'; import { List as ListIcon, Hub, @@ -47,9 +47,9 @@ import { People, DragIndicator } from '@mui/icons-material'; -import { dataService } from '../services/dataService'; -import type { Contact } from '../types/contact'; -import { getContactPhotoStyles } from '../utils/photoStyles'; +import { dataService } from '@/services/dataService'; +import type { Contact } from '@/types/contact'; +import { getContactPhotoStyles } from '@/utils/photoStyles'; const ContactListPage = () => { const [contacts, setContacts] = useState([]); diff --git a/src/pages/ContactViewPage.tsx b/src/pages/ContactViewPage.tsx index 6b3041e..e312d24 100644 --- a/src/pages/ContactViewPage.tsx +++ b/src/pages/ContactViewPage.tsx @@ -32,9 +32,9 @@ import { CheckCircle, PersonOutline } from '@mui/icons-material'; -import { dataService } from '../services/dataService'; -import type { Contact } from '../types/contact'; -import type { Group as GroupType } from '../types/group'; +import { dataService } from '@/services/dataService'; +import type { Contact } from '@/types/contact'; +import type { Group as GroupType } from '@/types/group'; const ContactViewPage = () => { const { id } = useParams<{ id: string }>(); diff --git a/src/pages/GroupDetailPage.tsx b/src/pages/GroupDetailPage.tsx index a994572..9931214 100644 --- a/src/pages/GroupDetailPage.tsx +++ b/src/pages/GroupDetailPage.tsx @@ -1,6 +1,6 @@ import { useState, useEffect } from 'react'; import { useParams, useNavigate, useSearchParams } from 'react-router-dom'; -import { getContactPhotoStyles } from '../utils/photoStyles'; +import { getContactPhotoStyles } from '@/utils/photoStyles'; import { Typography, Box, @@ -43,12 +43,12 @@ import { Fullscreen, FullscreenExit, } from '@mui/icons-material'; -import { dataService } from '../services/dataService'; -import type { Group, GroupPost, GroupLink } from '../types/group'; -import PostCreateButton from '../components/PostCreateButton'; -import GroupTour from '../components/tour/GroupTour'; -import AIResponseRatingComponent, { type AIResponseRating } from '../components/ai/AIResponseRating'; -import InviteForm, { type InviteFormData } from '../components/invite/InviteForm'; +import { dataService } from '@/services/dataService'; +import type { Group, GroupPost, GroupLink } from '@/types/group'; +import PostCreateButton from '@/components/PostCreateButton'; +import GroupTour from '@/components/tour/GroupTour'; +import AIResponseRatingComponent, { type AIResponseRating } from '@/components/ai/AIResponseRating'; +import InviteForm, { type InviteFormData } from '@/components/invite/InviteForm'; // Keyframes for pulse animation const pulse = keyframes` diff --git a/src/pages/GroupInfoPage.tsx b/src/pages/GroupInfoPage.tsx index c83b4da..c3323e7 100644 --- a/src/pages/GroupInfoPage.tsx +++ b/src/pages/GroupInfoPage.tsx @@ -1,6 +1,6 @@ import { useState, useEffect } from 'react'; import { useParams, useNavigate, useSearchParams } from 'react-router-dom'; -import { getContactPhotoStyles } from '../utils/photoStyles'; +import { getContactPhotoStyles } from '@/utils/photoStyles'; import { Typography, Box, @@ -23,9 +23,9 @@ import { Public, Lock, } from '@mui/icons-material'; -import { dataService } from '../services/dataService'; -import type { Group } from '../types/group'; -import InviteForm, { type InviteFormData } from '../components/invite/InviteForm'; +import { dataService } from '@/services/dataService'; +import type { Group } from '@/types/group'; +import InviteForm, { type InviteFormData } from '@/components/invite/InviteForm'; // Real NAO member data const getMockMembers = () => [ diff --git a/src/pages/GroupJoinPage.tsx b/src/pages/GroupJoinPage.tsx index 54dd419..f49c6f4 100644 --- a/src/pages/GroupJoinPage.tsx +++ b/src/pages/GroupJoinPage.tsx @@ -27,9 +27,9 @@ import { Public, Settings } from '@mui/icons-material'; -import { dataService } from '../services/dataService'; -import { DEFAULT_RCARDS } from '../types/notification'; -import type { Group } from '../types/group'; +import { dataService } from '@/services/dataService'; +import { DEFAULT_RCARDS } from '@/types/notification'; +import type { Group } from '@/types/group'; const GroupJoinPage = () => { const [group, setGroup] = useState(null); diff --git a/src/pages/GroupPage.tsx b/src/pages/GroupPage.tsx index b31913a..09e0391 100644 --- a/src/pages/GroupPage.tsx +++ b/src/pages/GroupPage.tsx @@ -23,8 +23,8 @@ import { Lock, People } from '@mui/icons-material'; -import { dataService } from '../services/dataService'; -import type { Group as GroupType } from '../types/group'; +import { dataService } from '@/services/dataService'; +import type { Group as GroupType } from '@/types/group'; const GroupPage = () => { const [groups, setGroups] = useState([]); diff --git a/src/pages/ImportPage.tsx b/src/pages/ImportPage.tsx index 97c33f1..8dcca7d 100644 --- a/src/pages/ImportPage.tsx +++ b/src/pages/ImportPage.tsx @@ -16,8 +16,8 @@ import { Alert, } from '@mui/material'; import { LinkedIn, Contacts, CloudDownload, MailOutline } from '@mui/icons-material'; -import { dataService } from '../services/dataService'; -import type { ImportSource } from '../types/contact'; +import { dataService } from '@/services/dataService'; +import type { ImportSource } from '@/types/contact'; const ImportPage = () => { const [importSources, setImportSources] = useState([]); diff --git a/src/pages/InvitationPage.tsx b/src/pages/InvitationPage.tsx index a491a5b..b78f709 100644 --- a/src/pages/InvitationPage.tsx +++ b/src/pages/InvitationPage.tsx @@ -28,9 +28,9 @@ import { Groups } from '@mui/icons-material'; import { QRCodeSVG } from 'qrcode.react'; -import { dataService } from '../services/dataService'; -import type { Group } from '../types/group'; -import type { Contact } from '../types/contact'; +import { dataService } from '@/services/dataService'; +import type { Group } from '@/types/group'; +import type { Contact } from '@/types/contact'; const InvitationPage = () => { const [invitationUrl, setInvitationUrl] = useState(''); diff --git a/src/pages/NotificationsPage.tsx b/src/pages/NotificationsPage.tsx index 03534ba..29f16b4 100644 --- a/src/pages/NotificationsPage.tsx +++ b/src/pages/NotificationsPage.tsx @@ -22,8 +22,8 @@ import { Close, MarkEmailRead } from '@mui/icons-material'; -import { notificationService } from '../services/notificationService'; -import type { Notification, NotificationSummary } from '../types/notification'; +import { notificationService } from '@/services/notificationService'; +import type { Notification, NotificationSummary } from '@/types/notification'; const NotificationsPage = () => { const theme = useTheme(); diff --git a/src/pages/OnboardingPage.tsx b/src/pages/OnboardingPage.tsx index 7426ec1..e6a07dd 100644 --- a/src/pages/OnboardingPage.tsx +++ b/src/pages/OnboardingPage.tsx @@ -11,11 +11,11 @@ import { LinearProgress } from '@mui/material'; import { ArrowBack, ArrowForward } from '@mui/icons-material'; -import { useOnboarding } from '../context/OnboardingContext'; -import BasicInfoStep from '../components/onboarding/BasicInfoStep'; -import ConnectAccountsStep from '../components/onboarding/ConnectAccountsStep'; -import { dataService } from '../services/dataService'; -import type { Group } from '../types/group'; +import { useOnboarding } from '@/contexts/OnboardingContext'; +import BasicInfoStep from '@/components/onboarding/BasicInfoStep'; +import ConnectAccountsStep from '@/components/onboarding/ConnectAccountsStep'; +import { dataService } from '@/services/dataService'; +import type { Group } from '@/types/group'; const OnboardingPage = () => { const { state, nextStep, prevStep, completeOnboarding } = useOnboarding(); diff --git a/src/pages/SocialContractPage.tsx b/src/pages/SocialContractPage.tsx index c999065..0b1bd88 100644 --- a/src/pages/SocialContractPage.tsx +++ b/src/pages/SocialContractPage.tsx @@ -28,8 +28,8 @@ import { Close, CheckCircle } from '@mui/icons-material'; -import { dataService } from '../services/dataService'; -import type { Group } from '../types/group'; +import { dataService } from '@/services/dataService'; +import type { Group } from '@/types/group'; const SocialContractPage = () => { const [group, setGroup] = useState(null); diff --git a/src/services/dataService.ts b/src/services/dataService.ts index 8bef7f0..35b3f7c 100644 --- a/src/services/dataService.ts +++ b/src/services/dataService.ts @@ -1,5 +1,5 @@ -import type { Contact, ImportSource } from '../types/contact'; -import type { Group } from '../types/group'; +import type { Contact, ImportSource } from '@/types/contact'; +import type { Group } from '@/types/group'; export const dataService = { async getContacts(): Promise { diff --git a/src/services/notificationService.ts b/src/services/notificationService.ts index 9a33a80..705945e 100644 --- a/src/services/notificationService.ts +++ b/src/services/notificationService.ts @@ -3,7 +3,7 @@ import type { NotificationSummary, Vouch, Praise -} from '../types/notification'; +} from '@/types/notification'; // Mock data for development const mockNotifications: Notification[] = [ diff --git a/tsconfig.app.json b/tsconfig.app.json index bf65d82..a30a0cd 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -1,42 +1,44 @@ { - "compilerOptions": { - "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", - "target": "ES2022", - "useDefineForClassFields": true, - "lib": ["ES2022", "DOM", "DOM.Iterable"], - "module": "ESNext", - "skipLibCheck": true, + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2022", + "useDefineForClassFields": true, + "lib": ["ES2022", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "moduleDetection": "force", - "noEmit": true, - "jsx": "react-jsx", + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", - /* Path aliases */ - "baseUrl": ".", - "paths": { - "@/*": ["src/*"], - "@/assets/*": ["src/assets/*"], - "@/components/*": ["src/components/*"], - "@/context/*": ["src/context/*"], - "@/hooks/*": ["src/hooks/*"], - "@/lib/*": ["src/lib/*"], - "@/providers/*": ["src/providers/*"], - "@/services/*": ["src/services/*"], - "@/stores/*": ["src/stores/*"], - "@/types/*": ["src/types/*"], - }, + /* Path aliases */ + "baseUrl": ".", + "paths": { + "@/*": ["src/*"], + "@/assets/*": ["src/assets/*"], + "@/components/*": ["src/components/*"], + "@/contexts/*": ["src/contexts/*"], + "@/hooks/*": ["src/hooks/*"], + "@/lib/*": ["src/lib/*"], + "@/pages/*": ["src/pages/*"], + "@/providers/*": ["src/providers/*"], + "@/services/*": ["src/services/*"], + "@/stores/*": ["src/stores/*"], + "@/types/*": ["src/types/*"], + "@/utils/*": ["src/utils/*"] + }, - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "erasableSyntaxOnly": true, - "noFallthroughCasesInSwitch": true, - "noUncheckedSideEffectImports": true, - "resolveJsonModule": true - }, - "include": ["src", "data"] + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true, + "resolveJsonModule": true + }, + "include": ["src", "data"] } diff --git a/vite.config.ts b/vite.config.ts index 8ad81dd..ef75324 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -10,13 +10,15 @@ export default defineConfig({ "@": resolve(__dirname, "src"), "@/assets": resolve(__dirname, "src/assets"), "@/components": resolve(__dirname, "src/components"), - "@/context": resolve(__dirname, "src/context"), + "@/contexts": resolve(__dirname, "src/contexts"), "@/hooks": resolve(__dirname, "src/hooks"), "@/lib": resolve(__dirname, "src/lib"), + "@/pages": resolve(__dirname, "src/pages"), "@/providers": resolve(__dirname, "src/providers"), "@/services": resolve(__dirname, "src/services"), "@/stores": resolve(__dirname, "src/stores"), "@/types": resolve(__dirname, "src/types"), + "@/utils": resolve(__dirname, "src/utils"), }, }, assetsInclude: ['**/*.json'],