diff --git a/TECHNICAL_DOCUMENTATION.md b/TECHNICAL_DOCUMENTATION.md
new file mode 100644
index 0000000..47bcd77
--- /dev/null
+++ b/TECHNICAL_DOCUMENTATION.md
@@ -0,0 +1,299 @@
+# Technical Documentation - Austen's Wedding Guide
+
+## Project Overview
+
+A React-based web application that serves as a modern wedding guide themed around Jane Austen's works. The project combines literary analysis with interactive features, presenting Austen's insights in a contemporary context.
+
+## Tech Stack
+
+- **Framework**: React with TypeScript
+- **Build Tool**: Vite
+- **Styling**: Tailwind CSS
+- **UI Components**: Shadcn/UI
+- **Routing**: React Router
+- **Package Manager**: npm
+
+## Project Structure
+
+```
+src/
+├── components/
+│ ├── ui/ # Shadcn UI components
+│ ├── layout/ # Layout components
+│ ├── vendor/ # Vendor-specific components
+│ ├── BlogPost.tsx # Blog post component
+│ ├── CommentSection.tsx
+│ ├── ErrorBoundary.tsx
+│ ├── Footer.tsx
+│ ├── Layout.tsx
+│ ├── LoadingSpinner.tsx
+│ ├── Navbar.tsx
+│ ├── Pagination.tsx
+│ ├── QuoteDisplay.tsx
+│ ├── Routes.tsx
+│ ├── ShareButtons.tsx
+│ └── theme-provider.tsx
+│
+├── data/
+│ ├── blog-posts.ts # Character blog content
+│ ├── quotes.ts # Austen quotes
+│ ├── quiz.ts # Character quiz data
+│ ├── dear-jane.ts # Advice column content
+│ ├── success-stories.ts
+│ ├── literary-analysis.ts # Literary analysis data
+│ └── vendors.ts
+│
+├── pages/
+│ ├── BlogPost/
+│ ├── Advice.tsx
+│ ├── Analysis.tsx # Literary analysis page
+│ ├── Blogs.tsx
+│ ├── DearJane.tsx
+│ ├── Home.tsx
+│ ├── MarketCalculator.tsx
+│ ├── Quiz.tsx
+│ ├── Stories.tsx
+│ ├── SuccessStories.tsx
+│ └── Vendors.tsx
+```
+
+## Routing Structure
+
+The application uses React Router for navigation with the following route structure:
+
+```typescript
+
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+
+```
+
+### Navigation Updates
+
+- Main navigation in `Navbar.tsx` includes:
+ - Primary navigation links
+ - Literary Analysis link with distinct styling
+ - Responsive design for all screen sizes
+- Home page features:
+ - Literary Analysis card in featured sections
+ - Direct link to analysis content
+- Layout structure:
+ - MainLayout component wraps all pages
+ - Consistent header with navigation
+ - Footer with copyright and quote
+
+### Route Integration
+
+- Analysis page is directly accessible via `/analysis`
+- Integrated into main navigation flow
+- Maintains consistent layout and styling
+- Proper error handling and loading states
+
+## Key Features
+
+### 1. Content Management
+
+- Data is stored in TypeScript files with strong typing
+- Content is organized by characters and themes
+- Modular content structure for easy updates
+- **New: Comprehensive literary analysis data structure with detailed novel analysis**
+
+### 2. UI Components
+
+- Custom components built on Shadcn/UI
+- Responsive design using Tailwind CSS
+- Consistent theme using custom color palette:
+ - Sage
+ - Cream
+ - Rose
+- **New: Interactive novel selector and tabbed analysis interface**
+
+### 3. Interactive Features
+
+- Character quiz with result mapping
+- Blog comment system
+- Share functionality
+- Pagination for content lists
+- Market calculator
+- **New: Literary analysis with themed tabs and novel selection**
+
+### 4. Performance Considerations
+
+- Component-based architecture for better code splitting
+- Error boundaries for graceful error handling
+- Loading states for better UX
+- Client-side routing for smooth navigation
+
+## Styling
+
+The project uses a combination of:
+
+- Tailwind CSS for utility-first styling
+- Custom components from Shadcn/UI
+- Custom theme variables for consistent branding
+- Responsive design patterns
+- **New: Scrollable content areas with consistent styling**
+- **New: Themed cards and tabs for analysis content**
+
+## Typography
+
+- Headings: Cormorant font family
+- Body: Lato font family
+- Consistent text sizing using Tailwind's scale
+
+## Component Architecture
+
+### Layout Components
+
+- `Layout.tsx`: Main layout wrapper
+- `Navbar.tsx`: Navigation header
+- `Footer.tsx`: Site footer
+- `ErrorBoundary.tsx`: Error handling wrapper
+
+### Content Components
+
+- `BlogPost.tsx`: Blog post display
+- `QuoteDisplay.tsx`: Quote formatting
+- `CommentSection.tsx`: User comments
+- `ShareButtons.tsx`: Social sharing
+- **New: Analysis.tsx**: Literary analysis with novel selection and tabbed content
+
+### UI Components
+
+Extensive UI component library including:
+
+- Buttons
+- Cards
+- Forms
+- Modals
+- Navigation menus
+- Tables
+- Toast notifications
+- **New: Select dropdown for novel selection**
+- **New: Tabs for content organization**
+- **New: ScrollArea for content sections**
+
+## Data Structure
+
+### Blog Posts
+
+```typescript
+interface BlogPost {
+ id: string;
+ title: string;
+ author: string;
+ authorImage: string;
+ date: string;
+ content: string[];
+}
+```
+
+### Quiz System
+
+```typescript
+interface QuizQuestion {
+ id: string;
+ question: string;
+ options: QuizOption[];
+}
+
+interface QuizResult {
+ character: string;
+ quote: string;
+ description: string;
+ book: string;
+ matchAdvice: string;
+}
+```
+
+### Literary Analysis
+
+```typescript
+// Novel Analysis Structure
+interface NovelAnalysis {
+ title: string;
+ publicationYear: number;
+ mainThemes: ThematicElement[];
+ characterAnalysis: CharacterAnalysis[];
+ socialCommentary: SocialCommentary[];
+ literaryDevices: LiteraryDevice[];
+}
+
+// Theme Analysis
+interface ThematicElement {
+ theme: string;
+ description: string;
+ examples: {
+ quote: string;
+ source: string;
+ analysis: string;
+ }[];
+ significance: string;
+}
+
+// Available Novels
+const novelAnalyses = {
+ prideAndPrejudice: NovelAnalysis;
+ northangerAbbey: NovelAnalysis;
+ senseAndSensibility: NovelAnalysis;
+ mansfieldPark: NovelAnalysis;
+}
+```
+
+## Pages and Components
+
+### Analysis Page
+
+- Path: `/analysis`
+- Features:
+ - Novel selector dropdown
+ - Tabbed interface for different analysis aspects
+ - Scrollable content areas
+ - Themed styling
+- Content Sections:
+ - Themes
+ - Characters
+ - Social Commentary
+ - Literary Devices
+
+### Data Organization
+
+- `src/data/literary-analysis.ts`: Contains structured analysis data for all novels
+ - Pride and Prejudice
+ - Northanger Abbey
+ - Sense and Sensibility
+ - Mansfield Park
+- Each novel includes:
+ - Main themes with examples and significance
+ - Character analysis with development and key quotes
+ - Social commentary with modern relevance
+ - Literary devices with examples and effects
+
+## Best Practices
+
+1. TypeScript for type safety
+2. Component-based architecture
+3. Consistent file naming
+4. Modular CSS with Tailwind
+5. Error handling with boundaries
+6. Loading state management
+7. Responsive design patterns
+8. **New: Structured content organization**
+9. **New: Interactive content navigation**
+
+## Future Considerations
+
+1. Content expansion opportunities
+2. Performance optimization
+3. Accessibility improvements
+4. SEO optimization
+5. Content management system integration
+6. **New: Additional novel analysis features**
+7. **New: Comparative analysis tools**
diff --git a/public/images/vendors/barton.jpg b/public/images/vendors/barton.jpg
new file mode 100644
index 0000000..e6680f6
Binary files /dev/null and b/public/images/vendors/barton.jpg differ
diff --git a/public/images/vendors/mansfield.jpg b/public/images/vendors/mansfield.jpg
new file mode 100644
index 0000000..19ae4df
Binary files /dev/null and b/public/images/vendors/mansfield.jpg differ
diff --git a/src/App.tsx b/src/App.tsx
index bd3dd56..ed62950 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -6,6 +6,7 @@ import Blogs from './pages/Blogs';
import BlogPost from './pages/BlogPost/BlogPost';
import { ErrorBoundary } from './components/ErrorBoundary';
import SuccessStories from './pages/SuccessStories';
+import Analysis from './pages/Analysis';
// Lazy load other pages
const Quiz = React.lazy(() => import('./pages/Quiz'));
@@ -27,7 +28,8 @@ function App() {
} />
} />
} />
- } />
+ } />
+ } />
diff --git a/src/components/Navbar.tsx b/src/components/Navbar.tsx
index 9059d36..3cd7a02 100644
--- a/src/components/Navbar.tsx
+++ b/src/components/Navbar.tsx
@@ -1,62 +1,43 @@
import { Link } from 'react-router-dom';
-import { Feather, Heart, BookOpen, Mail, Users } from 'lucide-react';
-import { Button } from '@/components/ui/button';
-import {
- NavigationMenu,
- NavigationMenuContent,
- NavigationMenuItem,
- NavigationMenuLink,
- NavigationMenuList,
- NavigationMenuTrigger,
-} from '@/components/ui/navigation-menu';
+import { Feather } from 'lucide-react';
const Navbar = () => {
return (
-
-
-
-
- Austen's Wedding Guide
-
-
-
-
- Advice
-
-
-
-
-
- Character Blogs
-
-
-
-
-
- Dear Jane
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ Austen's Wedding Guide
+
+
+
+
);
diff --git a/src/components/Routes.tsx b/src/components/Routes.tsx
index fd2e6fa..5307d5a 100644
--- a/src/components/Routes.tsx
+++ b/src/components/Routes.tsx
@@ -4,6 +4,7 @@ import Blogs from '@/pages/Blogs';
import DearJane from '@/pages/DearJane';
import Quiz from '@/pages/Quiz';
import SuccessStories from '@/pages/SuccessStories';
+import Analysis from '@/pages/Analysis';
const Routes = () => {
return (
@@ -13,8 +14,9 @@ const Routes = () => {
} />
} />
} />
+ } />
);
}
-export default Routes;
\ No newline at end of file
+export default Routes;
diff --git a/src/components/layout/MainLayout.tsx b/src/components/layout/MainLayout.tsx
index f1b3ee0..244687e 100644
--- a/src/components/layout/MainLayout.tsx
+++ b/src/components/layout/MainLayout.tsx
@@ -1,28 +1,10 @@
-import { Link } from 'react-router-dom';
import { Toaster } from '@/components/ui/toaster';
+import Navbar from '../Navbar';
const MainLayout = ({ children }: { children: React.ReactNode }) => {
return (
-
+
{children}
diff --git a/src/data/literary-analysis.ts b/src/data/literary-analysis.ts
new file mode 100644
index 0000000..825ba0d
--- /dev/null
+++ b/src/data/literary-analysis.ts
@@ -0,0 +1,368 @@
+interface ThematicElement {
+ theme: string;
+ description: string;
+ examples: {
+ quote: string;
+ source: string;
+ analysis: string;
+ }[];
+ significance: string;
+}
+
+interface NovelAnalysis {
+ title: string;
+ publicationYear: number;
+ mainThemes: ThematicElement[];
+ characterAnalysis: {
+ character: string;
+ role: string;
+ development: string;
+ significance: string;
+ keyQuotes: {
+ quote: string;
+ context: string;
+ analysis: string;
+ }[];
+ }[];
+ socialCommentary: {
+ topic: string;
+ analysis: string;
+ modernRelevance: string;
+ examples: string[];
+ }[];
+ literaryDevices: {
+ device: string;
+ usage: string;
+ examples: string[];
+ effect: string;
+ }[];
+}
+
+export const prideAndPrejudiceAnalysis: NovelAnalysis = {
+ title: "Pride and Prejudice",
+ publicationYear: 1813,
+ mainThemes: [
+ {
+ theme: "Marriage and Economic Reality",
+ description: "Exploration of marriage as both a social and economic institution in Regency England",
+ examples: [
+ {
+ quote: "It is a truth universally acknowledged, that a single man in possession of a good fortune, must be in want of a wife.",
+ source: "Chapter 1",
+ analysis: "This iconic opening line establishes the novel's central premise: the interconnection between marriage and economics. The ironic tone suggests Austen's critique of viewing marriage purely as an economic transaction."
+ },
+ {
+ quote: "I am not romantic, you know. I never was. I ask only a comfortable home.",
+ source: "Charlotte Lucas to Elizabeth",
+ analysis: "Charlotte's practical view of marriage represents the economic reality many women faced, choosing financial security over romantic love."
+ }
+ ],
+ significance: "Through this theme, Austen critiques the marriage market while acknowledging the practical constraints women faced in Regency society."
+ },
+ {
+ theme: "Pride and Social Prejudice",
+ description: "Examination of how pride and prejudice affect social relationships and personal growth",
+ examples: [
+ {
+ quote: "I could easily forgive his pride, if he had not mortified mine.",
+ source: "Elizabeth about Darcy",
+ analysis: "This quote encapsulates how personal pride leads to prejudice, showing how both Elizabeth and Darcy must overcome their biases."
+ }
+ ],
+ significance: "The theme demonstrates how personal growth requires overcoming both social prejudices and individual pride."
+ }
+ ],
+ characterAnalysis: [
+ {
+ character: "Elizabeth Bennet",
+ role: "Protagonist",
+ development: "Elizabeth's journey from confident wit to self-awareness represents the novel's central character development",
+ significance: "Through Elizabeth, Austen explores the balance between individual judgment and societal expectations",
+ keyQuotes: [
+ {
+ quote: "Till this moment I never knew myself.",
+ context: "After reading Darcy's letter",
+ analysis: "This moment marks Elizabeth's recognition of her own prejudices and marks the beginning of her character transformation."
+ }
+ ]
+ },
+ {
+ character: "Mr. Darcy",
+ role: "Male Protagonist",
+ development: "Darcy's evolution from proud aristocrat to humble lover shows the possibility of personal growth",
+ significance: "His character arc demonstrates how true love requires overcoming class prejudice and personal pride",
+ keyQuotes: [
+ {
+ quote: "I have been a selfish being all my life, in practice, though not in principle.",
+ context: "Darcy's self-reflection to Elizabeth",
+ analysis: "This admission shows Darcy's growth and self-awareness, marking his character development."
+ }
+ ]
+ }
+ ],
+ socialCommentary: [
+ {
+ topic: "Class Mobility",
+ analysis: "Austen explores the rigidity and occasional permeability of class boundaries in Regency England",
+ modernRelevance: "The commentary on social mobility and class prejudice remains relevant to modern social inequalities",
+ examples: [
+ "The Bingley family's 'new money' status versus Darcy's established wealth",
+ "Elizabeth's ability to transcend class boundaries through marriage",
+ "Lady Catherine's attempts to maintain class distinctions"
+ ]
+ }
+ ],
+ literaryDevices: [
+ {
+ device: "Free Indirect Discourse",
+ usage: "Austen pioneered this technique to blend narrator and character perspectives",
+ examples: [
+ "The opening line's ironic tone",
+ "Elizabeth's internal reflections",
+ "Commentary on the Meryton assembly"
+ ],
+ effect: "Creates intimacy with characters while maintaining narrative distance for ironic commentary"
+ }
+ ]
+};
+
+export const northangerAbbeyAnalysis: NovelAnalysis = {
+ title: "Northanger Abbey",
+ publicationYear: 1818,
+ mainThemes: [
+ {
+ theme: "Gothic Literature Parody",
+ description: "A satirical take on Gothic fiction and its influence on young readers",
+ examples: [
+ {
+ quote: "The person, be it gentleman or lady, who has not pleasure in a good novel, must be intolerably stupid.",
+ source: "Chapter 5",
+ analysis: "Austen directly addresses the value of novel reading while simultaneously parodying Gothic literature's melodramatic tendencies."
+ },
+ {
+ quote: "Oh! I am delighted with the book! I should like to spend my whole life in reading it.",
+ source: "Catherine about 'The Mysteries of Udolpho'",
+ analysis: "Illustrates Catherine's naive enthusiasm for Gothic novels, which Austen uses to critique uncritical consumption of literature."
+ }
+ ],
+ significance: "Through parody, Austen critiques both Gothic conventions and the societal attitudes toward novel reading."
+ },
+ {
+ theme: "Reality vs. Imagination",
+ description: "The contrast between romantic imagination and everyday reality",
+ examples: [
+ {
+ quote: "She had yet to learn that the commonplace details of real life can be more affecting than the most dramatic of imagined horrors.",
+ source: "Narrator about Catherine",
+ analysis: "Shows Catherine's growth from Gothic fantasy to understanding real-world complexities."
+ }
+ ],
+ significance: "Demonstrates how imagination must be tempered with reality and experience."
+ }
+ ],
+ characterAnalysis: [
+ {
+ character: "Catherine Morland",
+ role: "Protagonist",
+ development: "Catherine's journey from naive Gothic romance enthusiast to mature observer of real human nature",
+ significance: "Represents the necessary maturation from adolescent fantasy to adult understanding",
+ keyQuotes: [
+ {
+ quote: "No one who had ever seen Catherine Morland in her infancy would have supposed her born to be an heroine.",
+ context: "Opening line",
+ analysis: "Sets up the novel's playful subversion of Gothic and romantic conventions."
+ }
+ ]
+ }
+ ],
+ socialCommentary: [
+ {
+ topic: "Novel Reading and Education",
+ analysis: "Austen examines the role of reading in young women's education and moral development",
+ modernRelevance: "Parallels contemporary debates about media influence on young minds",
+ examples: [
+ "Catherine's Gothic-influenced imagination",
+ "The defense of novel reading",
+ "The contrast between sensational fiction and reality"
+ ]
+ }
+ ],
+ literaryDevices: [
+ {
+ device: "Narrative Irony",
+ usage: "Austen uses ironic narration to comment on Gothic conventions and social expectations",
+ examples: [
+ "The opening description of Catherine as an unlikely heroine",
+ "Commentary on Catherine's Gothic fantasies",
+ "The narrator's knowing asides about romance conventions"
+ ],
+ effect: "Creates a meta-commentary on literary conventions while telling an engaging story"
+ }
+ ]
+};
+
+export const senseAndSensibilityAnalysis: NovelAnalysis = {
+ title: "Sense and Sensibility",
+ publicationYear: 1811,
+ mainThemes: [
+ {
+ theme: "Reason vs. Emotion",
+ description: "The balance between emotional expression and rational judgment",
+ examples: [
+ {
+ quote: "I will be calm. I will be mistress of myself.",
+ source: "Elinor Dashwood",
+ analysis: "Represents the struggle between emotional truth and social necessity."
+ },
+ {
+ quote: "The more I know of the world, the more I am convinced that I shall never see a man whom I can really love.",
+ source: "Marianne Dashwood",
+ analysis: "Illustrates the dangers of excessive romantic sensibility."
+ }
+ ],
+ significance: "Explores the necessity of balancing emotional authenticity with social pragmatism."
+ },
+ {
+ theme: "Financial Vulnerability",
+ description: "The economic precarity of women in Regency society",
+ examples: [
+ {
+ quote: "What have wealth or grandeur to do with happiness?",
+ source: "Marianne Dashwood",
+ analysis: "Highlights the tension between romantic ideals and economic reality."
+ }
+ ],
+ significance: "Demonstrates how economic circumstances shape women's choices and opportunities."
+ }
+ ],
+ characterAnalysis: [
+ {
+ character: "Elinor Dashwood",
+ role: "Protagonist - Sense",
+ development: "Maintains emotional control while navigating social and personal challenges",
+ significance: "Represents the value of emotional regulation and social awareness",
+ keyQuotes: [
+ {
+ quote: "I have suffered all the punishment of an attachment without enjoying any of its advantages.",
+ context: "Reflecting on Edward",
+ analysis: "Shows the cost of emotional restraint while highlighting its necessity."
+ }
+ ]
+ },
+ {
+ character: "Marianne Dashwood",
+ role: "Protagonist - Sensibility",
+ development: "Learns to temper excessive emotion with judgment",
+ significance: "Shows the maturation from pure emotional response to balanced understanding",
+ keyQuotes: [
+ {
+ quote: "My feelings shall be governed and my temper improved.",
+ context: "After her illness",
+ analysis: "Marks her growth toward emotional maturity."
+ }
+ ]
+ }
+ ],
+ socialCommentary: [
+ {
+ topic: "Women's Economic Dependence",
+ analysis: "Examines how financial constraints affect women's choices and behavior",
+ modernRelevance: "Relates to contemporary issues of economic inequality and gender",
+ examples: [
+ "The Dashwood women's reduced circumstances",
+ "Lucy Steele's strategic marriage choices",
+ "The power dynamics in courtship and marriage"
+ ]
+ }
+ ],
+ literaryDevices: [
+ {
+ device: "Parallel Characters",
+ usage: "Uses contrasting character pairs to explore different approaches to life",
+ examples: [
+ "Elinor and Marianne's different temperaments",
+ "Edward and Willoughby's different moral characters",
+ "Lucy and Elinor's different approaches to love"
+ ],
+ effect: "Creates a nuanced exploration of different philosophical approaches to life"
+ }
+ ]
+};
+
+export const mansfieldParkAnalysis: NovelAnalysis = {
+ title: "Mansfield Park",
+ publicationYear: 1814,
+ mainThemes: [
+ {
+ theme: "Morality and Social Values",
+ description: "The relationship between moral character and social behavior",
+ examples: [
+ {
+ quote: "We have all a better guide in ourselves, if we would attend to it, than any other person can be.",
+ source: "Fanny Price",
+ analysis: "Emphasizes the importance of individual moral judgment over social pressure."
+ }
+ ],
+ significance: "Explores how true morality must come from internal conviction rather than external rules."
+ },
+ {
+ theme: "Colonial Undertones",
+ description: "The presence of colonial wealth and its moral implications",
+ examples: [
+ {
+ quote: "But I do talk to him more than I used. I am sure I do. Did not you hear me ask him about the slave-trade last night?",
+ source: "Fanny about Sir Thomas",
+ analysis: "Highlights the novel's engagement with colonial issues and moral responsibility."
+ }
+ ],
+ significance: "Addresses the relationship between domestic English society and colonial exploitation."
+ }
+ ],
+ characterAnalysis: [
+ {
+ character: "Fanny Price",
+ role: "Protagonist",
+ development: "Maintains moral integrity while navigating social pressures",
+ significance: "Represents moral constancy in the face of social corruption",
+ keyQuotes: [
+ {
+ quote: "We have all a better guide in ourselves, if we would attend to it, than any other person can be.",
+ context: "Refusing Henry Crawford",
+ analysis: "Shows Fanny's commitment to internal moral guidance over external pressure."
+ }
+ ]
+ }
+ ],
+ socialCommentary: [
+ {
+ topic: "Class and Moral Character",
+ analysis: "Examines the relationship between social position and moral behavior",
+ modernRelevance: "Connects to contemporary discussions about privilege and responsibility",
+ examples: [
+ "The contrast between the Bertrams and the Crawfords",
+ "Fanny's position between social classes",
+ "The moral implications of wealth and privilege"
+ ]
+ }
+ ],
+ literaryDevices: [
+ {
+ device: "Moral Contrast",
+ usage: "Uses character contrasts to highlight moral choices",
+ examples: [
+ "Fanny's principles versus Mary's pragmatism",
+ "Edmund's sincerity versus Henry's performance",
+ "The stability of Mansfield versus the chaos of London"
+ ],
+ effect: "Creates a clear moral framework while exploring its complexities"
+ }
+ ]
+};
+
+// Export all analyses
+export const novelAnalyses = {
+ prideAndPrejudice: prideAndPrejudiceAnalysis,
+ northangerAbbey: northangerAbbeyAnalysis,
+ senseAndSensibility: senseAndSensibilityAnalysis,
+ mansfieldPark: mansfieldParkAnalysis
+};
diff --git a/src/data/vendors.ts b/src/data/vendors.ts
index 2c1110c..3f2bdd8 100644
--- a/src/data/vendors.ts
+++ b/src/data/vendors.ts
@@ -108,5 +108,140 @@ export const VENDOR_LISTINGS: VendorListing[] = [
text: 'The chapel holds such special memories, and the grounds are perfect for quiet moments of reflection.'
}
]
+ },
+ {
+ id: '5',
+ name: 'Longbourn Catering Services',
+ description: 'Exquisite dining experiences for your special day. Our skilled staff ensures every detail is perfect, from intimate family gatherings to grand celebrations.',
+ category: 'catering',
+ location: 'Hertfordshire',
+ imageUrl: '/images/vendors/catering.jpg',
+ priceRange: '£££',
+ rating: {
+ reputation: 5,
+ elegance: 4,
+ value: 5
+ },
+ features: [
+ 'Custom menu planning',
+ 'Local seasonal ingredients',
+ 'Formal dinner service',
+ 'Wedding breakfast',
+ 'Evening refreshments'
+ ],
+ testimonials: [
+ {
+ author: 'Charlotte Lucas',
+ text: 'The attention to detail was remarkable. Every dish was perfectly prepared and beautifully presented.'
+ }
+ ]
+ },
+ {
+ id: '6',
+ name: 'Devonshire Blooms',
+ description: 'Creating enchanting floral arrangements that capture the natural beauty of the English countryside. Specializing in seasonal flowers and romantic designs.',
+ category: 'flowers',
+ location: 'Devonshire',
+ imageUrl: '/images/vendors/flowers.jpg',
+ priceRange: '£££',
+ rating: {
+ reputation: 5,
+ elegance: 5,
+ value: 4
+ },
+ features: [
+ 'Bridal bouquets',
+ 'Church decorations',
+ 'Reception arrangements',
+ 'Seasonal flowers',
+ 'Garden-inspired designs'
+ ],
+ testimonials: [
+ {
+ author: 'Marianne Dashwood',
+ text: 'The wildflower arrangements perfectly captured the romantic spirit of our celebration.'
+ }
+ ]
+ },
+ {
+ id: '7',
+ name: 'Mrs. Bennet\'s Matchmaking Services',
+ description: 'With years of experience in bringing together the finest matches in society, we offer discrete and personalized matchmaking services for discerning clients.',
+ category: 'matchmaking',
+ location: 'Hertfordshire',
+ imageUrl: '/images/vendors/matchmaking.jpg',
+ priceRange: '££',
+ rating: {
+ reputation: 4,
+ elegance: 3,
+ value: 5
+ },
+ features: [
+ 'Personal introductions',
+ 'Society connections',
+ 'Discrete service',
+ 'County-wide network',
+ 'Pre-event consultations'
+ ],
+ testimonials: [
+ {
+ author: 'Jane Bennet',
+ text: 'A most fortuitous introduction that led to the happiest of outcomes.'
+ }
+ ]
+ },
+ {
+ id: '8',
+ name: 'Madame Laurent\'s Modiste',
+ description: 'Creating exquisite wedding attire that combines timeless elegance with the latest London fashions. Each piece is carefully crafted to ensure the perfect fit.',
+ category: 'modiste',
+ location: 'London',
+ imageUrl: '/images/vendors/modiste.jpg',
+ priceRange: '££££',
+ rating: {
+ reputation: 5,
+ elegance: 5,
+ value: 4
+ },
+ features: [
+ 'Custom designs',
+ 'Finest materials',
+ 'Multiple fittings',
+ 'Wedding party attire',
+ 'Accessories available'
+ ],
+ testimonials: [
+ {
+ author: 'Elizabeth Bennet',
+ text: 'My wedding dress exceeded all expectations. The attention to detail was remarkable.'
+ }
+ ]
+ },
+ {
+ id: '9',
+ name: 'The Tilney Quartet',
+ description: 'Providing elegant musical entertainment for your celebration. From classical pieces to country dances, we ensure your celebration is filled with perfect harmony.',
+ category: 'music',
+ location: 'Bath',
+ imageUrl: '/images/vendors/music.jpg',
+ priceRange: '£££',
+ rating: {
+ reputation: 5,
+ elegance: 5,
+ value: 4
+ },
+ features: [
+ 'String quartet',
+ 'Piano accompaniment',
+ 'Country dance music',
+ 'Ceremony music',
+ 'Evening entertainment'
+ ],
+ testimonials: [
+ {
+ author: 'Catherine Morland',
+ text: 'The music was absolutely enchanting, perfect for both the ceremony and dancing.'
+ }
+ ]
}
];
diff --git a/src/pages/Analysis.tsx b/src/pages/Analysis.tsx
new file mode 100644
index 0000000..b96274f
--- /dev/null
+++ b/src/pages/Analysis.tsx
@@ -0,0 +1,214 @@
+import { useState } from 'react';
+import { novelAnalyses } from '../data/literary-analysis';
+import {
+ Tabs,
+ TabsContent,
+ TabsList,
+ TabsTrigger,
+} from "../components/ui/tabs";
+import {
+ Card,
+ CardContent,
+ CardDescription,
+ CardHeader,
+ CardTitle,
+} from "../components/ui/card";
+import { ScrollArea } from "../components/ui/scroll-area";
+import {
+ Select,
+ SelectContent,
+ SelectItem,
+ SelectTrigger,
+ SelectValue,
+} from "../components/ui/select";
+
+const Analysis = () => {
+ const [selectedNovel, setSelectedNovel] = useState('prideAndPrejudice');
+ const analysis = novelAnalyses[selectedNovel];
+
+ if (!analysis) {
+ return (
+
+
Loading analysis...
+
+ );
+ }
+
+ return (
+
+
+
+ Literary Analysis
+
+
+
+
+
+
{analysis.title}
+
+ Published {analysis.publicationYear} - A Deep Dive into Themes, Characters, and Social Commentary
+
+ Explore themes, characters, and social commentary in Austen's timeless works
+
+
+
+
{/* Character Blogs */}
@@ -64,17 +74,6 @@ const Home = () => {
-
- {/* Featured Article */}
-
-
Latest from Charlotte
-
- "The Art of Practical Partnership: A Guide to Sensible Matches"
-
-
- Read More →
-
-
{/* Quote Section */}
diff --git a/src/pages/MarketCalculator.tsx b/src/pages/MarketCalculator.tsx
index a854eda..3e5f3ee 100644
--- a/src/pages/MarketCalculator.tsx
+++ b/src/pages/MarketCalculator.tsx
@@ -4,30 +4,49 @@ interface MarketValue {
income: number;
estate: string;
connections: string;
+ location: string;
accomplishments: string[];
personality: string[];
}
const ACCOMPLISHMENTS = [
'Playing the pianoforte',
+ 'Playing the harp',
'Drawing landscapes',
'Speaking French',
'Embroidery',
'Reading extensively',
+ 'Reading Gothic novels',
'Dancing gracefully',
- 'Writing poetry',
- 'Maintaining witty correspondence'
+ 'Singing',
+ 'Writing letters',
+ 'Moral improvement',
+ 'Walking great distances'
];
const PERSONALITY_TRAITS = [
'Wit and vivacity',
'Serene temperament',
'Excellent manners',
+ 'Strong principles',
'Proper reserve',
'Charming conversation',
'Filial devotion',
'Prudent judgment',
- 'Musical taste'
+ 'Romantic sensibility',
+ 'Quiet dignity',
+ 'Natural elegance',
+ 'Quick understanding'
+];
+
+const LOCATIONS = [
+ 'Derbyshire',
+ 'Devonshire',
+ 'Bath',
+ 'Northamptonshire',
+ 'Hertfordshire',
+ 'London',
+ 'Kent'
];
const MarketCalculator = () => {
@@ -35,6 +54,7 @@ const MarketCalculator = () => {
income: 0,
estate: '',
connections: '',
+ location: '',
accomplishments: [],
personality: []
});
@@ -49,14 +69,28 @@ const MarketCalculator = () => {
// Estate value
if (values.estate.toLowerCase().includes('pemberley')) score += 50;
+ if (values.estate.toLowerCase().includes('mansfield')) score += 45;
+ if (values.estate.toLowerCase().includes('northanger')) score += 40;
if (values.estate.toLowerCase().includes('estate')) score += 20;
if (values.estate.toLowerCase().includes('manor')) score += 15;
+ if (values.estate.toLowerCase().includes('parsonage')) score += 10;
if (values.estate.toLowerCase().includes('cottage')) score += 5;
+ // Location value
+ if (values.location === 'Derbyshire') score += 20;
+ if (values.location === 'London') score += 15;
+ if (values.location === 'Bath') score += 12;
+ if (values.location === 'Northamptonshire') score += 15;
+ if (values.location === 'Devonshire') score += 10;
+ if (values.location === 'Hertfordshire') score += 8;
+ if (values.location === 'Kent') score += 10;
+
// Social connections
if (values.connections.toLowerCase().includes('nobility')) score += 25;
if (values.connections.toLowerCase().includes('london')) score += 15;
- if (values.connections.toLowerCase().includes('bath')) score += 10;
+ if (values.connections.toLowerCase().includes('admiral')) score += 12;
+ if (values.connections.toLowerCase().includes('clergy')) score += 8;
+ if (values.connections.toLowerCase().includes('military')) score += 10;
// Accomplishments
score += values.accomplishments.length * 8;
@@ -64,18 +98,18 @@ const MarketCalculator = () => {
// Personality traits
score += values.personality.length * 6;
- // Calculate result
+ // Calculate result with references to the four novels
let result = '';
if (score >= 100) {
- result = "Most Eligible! You rival Mr. Darcy in desirability. Mrs. Bennet would faint from joy at the prospect of your acquaintance.";
+ result = "Most Eligible! Your prospects rival Mr. Darcy's, and even Lady Catherine de Bourgh would struggle to find fault with your situation.";
} else if (score >= 75) {
- result = "Highly Suitable! Like Mr. Bingley, you present an excellent prospect for any family's eldest daughter.";
+ result = "Highly Suitable! Like Colonel Brandon, you possess both the means and character to make an excellent match.";
} else if (score >= 50) {
- result = "Quite Promising! Colonel Brandon would consider you a worthy competitor in the marriage market.";
+ result = "Quite Promising! You stand with Edmund Bertram - respectable, principled, and possessed of good connections.";
} else if (score >= 25) {
- result = "Moderately Advantageous! You stand somewhere between a country parson and a militia officer in eligibility.";
+ result = "Moderately Advantageous! Like Henry Tilney, your situation is comfortable though not grand, with room for improvement.";
} else {
- result = "Rather Modest! Perhaps consider a position as a governess or companion while improving your prospects?";
+ result = "Rather Modest! You might find yourself in Fanny Price's position - dependent on the goodwill of others, but possessed of true worth.";
}
setResult(result);
@@ -122,6 +156,25 @@ const MarketCalculator = () => {
/>