From 0134c81526b2d6f5dda133a15da9bc626c27923d Mon Sep 17 00:00:00 2001 From: rathi Date: Tue, 3 Dec 2024 23:23:10 -0500 Subject: [PATCH] added and improved literary analysis page --- TECHNICAL_DOCUMENTATION.md | 299 ++++++++++++++++++++++ public/images/vendors/barton.jpg | Bin 0 -> 25170 bytes public/images/vendors/mansfield.jpg | Bin 0 -> 57712 bytes src/App.tsx | 4 +- src/components/Navbar.tsx | 91 +++---- src/components/Routes.tsx | 4 +- src/components/layout/MainLayout.tsx | 22 +- src/data/literary-analysis.ts | 368 +++++++++++++++++++++++++++ src/data/vendors.ts | 135 ++++++++++ src/pages/Analysis.tsx | 214 ++++++++++++++++ src/pages/Home.tsx | 21 +- src/pages/MarketCalculator.tsx | 75 +++++- src/types/vendors.ts | 4 +- 13 files changed, 1136 insertions(+), 101 deletions(-) create mode 100644 TECHNICAL_DOCUMENTATION.md create mode 100644 public/images/vendors/barton.jpg create mode 100644 public/images/vendors/mansfield.jpg create mode 100644 src/data/literary-analysis.ts create mode 100644 src/pages/Analysis.tsx 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 0000000000000000000000000000000000000000..e6680f65abe49b80c94ccac76ec11bcd5f2a997f GIT binary patch literal 25170 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 A-T(jq literal 0 HcmV?d00001 diff --git a/public/images/vendors/mansfield.jpg b/public/images/vendors/mansfield.jpg new file mode 100644 index 0000000000000000000000000000000000000000..19ae4df07ca795262e355e895c7f5940ed3cabce GIT binary patch literal 57712 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 literal 0 HcmV?d00001 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 +

+
+
+ + + + Themes + Characters + Social Commentary + Literary Devices + + + + {analysis.mainThemes.map((theme, index) => ( + + + {theme.theme} + {theme.description} + + + +
+ {theme.examples.map((example, i) => ( +
+
+ "{example.quote}" +
+ - {example.source} +
+
+

{example.analysis}

+
+ ))} +
+

Significance

+

{theme.significance}

+
+
+
+
+
+ ))} +
+ + + {analysis.characterAnalysis.map((character, index) => ( + + + {character.character} + {character.role} + + + +
+
+

Character Development

+

{character.development}

+
+
+

Significance

+

{character.significance}

+
+
+

Key Quotes

+ {character.keyQuotes.map((quote, i) => ( +
+
+ "{quote.quote}" +
+ Context: {quote.context} +
+
+

{quote.analysis}

+
+ ))} +
+
+
+
+
+ ))} +
+ + + {analysis.socialCommentary.map((topic, index) => ( + + + {topic.topic} + + + +
+
+

Analysis

+

{topic.analysis}

+
+
+

Modern Relevance

+

{topic.modernRelevance}

+
+
+

Examples

+
    + {topic.examples.map((example, i) => ( +
  • {example}
  • + ))} +
+
+
+
+
+
+ ))} +
+ + + {analysis.literaryDevices.map((device, index) => ( + + + {device.device} + + + +
+
+

Usage

+

{device.usage}

+
+
+

Examples

+
    + {device.examples.map((example, i) => ( +
  • {example}
  • + ))} +
+
+
+

Effect

+

{device.effect}

+
+
+
+
+
+ ))} +
+
+
+ ); +}; + +export default Analysis; diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx index 08634c8..c713e2c 100644 --- a/src/pages/Home.tsx +++ b/src/pages/Home.tsx @@ -15,6 +15,16 @@ const Home = () => { {/* Featured Sections */}
+ {/* Literary Analysis */} + +
+

Literary Analysis

+

+ 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 = () => { />
+ {/* Location Selection */} +
+ + +
+ {/* Connections Input */}
diff --git a/src/types/vendors.ts b/src/types/vendors.ts index c721764..c267f8f 100644 --- a/src/types/vendors.ts +++ b/src/types/vendors.ts @@ -5,8 +5,8 @@ export type VendorCategory = | 'catering' | 'music' | 'flowers' - | 'transport' - | 'stationery'; + | 'matchmaking' + | 'modiste'; export type VendorRating = { reputation: number;