diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 27af35e..99ea315 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -7,7 +7,6 @@ import { Toolbar, Typography, Button, - Container, Box, IconButton, Menu, @@ -300,7 +299,7 @@ const App: React.FC = () => { {drawer} - + } /> } /> @@ -310,7 +309,7 @@ const App: React.FC = () => { } /> } /> - + ); diff --git a/frontend/src/pages/CategoryList.tsx b/frontend/src/pages/CategoryList.tsx index fd8e52c..a55754d 100644 --- a/frontend/src/pages/CategoryList.tsx +++ b/frontend/src/pages/CategoryList.tsx @@ -9,7 +9,8 @@ import { Avatar, Rating as MuiRating, Paper, - Chip + Chip, + Container } from '@mui/material'; import { Link, useLocation } from 'react-router-dom'; import StarIcon from '@mui/icons-material/Star'; @@ -93,7 +94,7 @@ const CategoryList: React.FC = () => { ); return ( - + Search Results for "{query}" Found {filteredFlavors.length} items @@ -129,29 +130,30 @@ const CategoryList: React.FC = () => { ))} - + ); } // --- HOME VIEW --- return ( - - {/* Hero Section */} + + {/* Hero Section - True Full Width */} theme.palette.mode === 'dark' - ? 'linear-gradient(45deg, #1a1a2e 30%, #16213e 90%)' - : 'linear-gradient(45deg, #fdf6f7 30%, #f8e1e5 90%)', + ? 'linear-gradient(135deg, #1a1a2e 0%, #16213e 100%)' + : 'linear-gradient(135deg, #fdf6f7 0%, #f8e1e5 100%)', textAlign: 'center', borderBottom: '1px solid rgba(255,255,255,0.1)', width: '100%', + mt: -4 // Counter the parent Box mt }} > - + The Ultimate Holy Archive @@ -163,17 +165,18 @@ const CategoryList: React.FC = () => { - + {/* Main Content inside Container */} + {/* Top Rated Flavors */} {topFlavors.length > 0 && ( - + Hall of Fame @@ -205,11 +208,11 @@ const CategoryList: React.FC = () => { )} {/* Categories Grid */} - + Browse by Category {categories.map(category => ( - + { )} + - -); + ); }; export default CategoryList; diff --git a/frontend/src/pages/Dashboard.tsx b/frontend/src/pages/Dashboard.tsx index 11986e9..f118855 100644 --- a/frontend/src/pages/Dashboard.tsx +++ b/frontend/src/pages/Dashboard.tsx @@ -1,5 +1,5 @@ import React, { useEffect, useState } from 'react'; -import { Typography, Card, CardContent, Box, Rating as MuiRating, Button, TextField } from '@mui/material'; +import { Typography, Card, CardContent, Box, Rating as MuiRating, Button, TextField, Container, CircularProgress } from '@mui/material'; import ContentCopyIcon from '@mui/icons-material/ContentCopy'; import api from '../api'; import { useTitle } from '../hooks/useTitle'; @@ -38,11 +38,11 @@ const Dashboard: React.FC = () => { fetchData(); }, []); - if (loading) return Loading...; + if (loading) return ; if (!data) return Please login to view dashboard.; return ( - + Personal Dashboard @@ -125,7 +125,7 @@ const Dashboard: React.FC = () => { - + ); }; diff --git a/frontend/src/pages/Login.tsx b/frontend/src/pages/Login.tsx index 59fe5c2..242d297 100644 --- a/frontend/src/pages/Login.tsx +++ b/frontend/src/pages/Login.tsx @@ -1,5 +1,5 @@ import React, { useState } from 'react'; -import { Typography, TextField, Button, Box, Paper, Tab, Tabs, Alert } from '@mui/material'; +import { Typography, TextField, Button, Box, Paper, Tab, Tabs, Alert, Container } from '@mui/material'; import api from '../api'; import { useTitle } from '../hooks/useTitle'; @@ -217,7 +217,7 @@ const Login: React.FC = () => { }; return ( - + {message && {message.text}} {renderContent()} @@ -227,7 +227,7 @@ const Login: React.FC = () => { Admin? Use Django Admin - + ); }; diff --git a/frontend/src/pages/PublicProfile.tsx b/frontend/src/pages/PublicProfile.tsx index 1169530..6e7f703 100644 --- a/frontend/src/pages/PublicProfile.tsx +++ b/frontend/src/pages/PublicProfile.tsx @@ -7,7 +7,9 @@ import { CardContent, Rating as MuiRating, Avatar, - Chip + Chip, + Container, + CircularProgress } from '@mui/material'; import api from '../api'; import { useTitle } from '../hooks/useTitle'; @@ -48,14 +50,14 @@ const PublicProfile: React.FC = () => { useTitle(data ? `${data.username}'s Ratings` : 'Profile'); - if (loading) return Loading Profile...; + if (loading) return ; if (!data) return Profile not found.; const favorites = data.ratings.filter(r => r.score >= 8); const others = data.ratings.filter(r => r.score < 8); return ( - + {data.username.charAt(0).toUpperCase()} @@ -75,7 +77,7 @@ const PublicProfile: React.FC = () => { {favorites.map(rating => ( - + {rating.flavor_image && ( @@ -102,7 +104,7 @@ const PublicProfile: React.FC = () => { Other Ratings {others.map(rating => ( - + {rating.flavor_name} @@ -120,7 +122,7 @@ const PublicProfile: React.FC = () => { )} - + ); }; diff --git a/frontend/src/pages/Settings.tsx b/frontend/src/pages/Settings.tsx index e73d00c..177bec3 100644 --- a/frontend/src/pages/Settings.tsx +++ b/frontend/src/pages/Settings.tsx @@ -5,7 +5,8 @@ import { TextField, Button, Paper, - Alert + Alert, + Container } from '@mui/material'; import api from '../api'; import { useTitle } from '../hooks/useTitle'; @@ -77,8 +78,8 @@ const Settings: React.FC = () => { }; return ( - - Account Settings + + Account Settings {message && ( setMessage(null)}> @@ -153,7 +154,7 @@ const Settings: React.FC = () => { - + ); }; diff --git a/frontend/src/pages/categories/CategoryFlavors.tsx b/frontend/src/pages/categories/CategoryFlavors.tsx index 988439d..c8522a7 100644 --- a/frontend/src/pages/categories/CategoryFlavors.tsx +++ b/frontend/src/pages/categories/CategoryFlavors.tsx @@ -6,7 +6,8 @@ import { Card, CardContent, Rating as MuiRating, - CircularProgress + CircularProgress, + Container } from '@mui/material'; import api from '../../api'; import { useTitle } from '../../hooks/useTitle'; @@ -62,7 +63,7 @@ const CategoryFlavors: React.FC = () => { if (loading) return ; return ( - + {categoryName || 'Flavors'} @@ -101,7 +102,7 @@ const CategoryFlavors: React.FC = () => { ))} - + ); }; diff --git a/frontend/src/pages/flavors/FlavorDetail.tsx b/frontend/src/pages/flavors/FlavorDetail.tsx index b81ae3f..3be2f6a 100644 --- a/frontend/src/pages/flavors/FlavorDetail.tsx +++ b/frontend/src/pages/flavors/FlavorDetail.tsx @@ -11,7 +11,8 @@ import { Avatar, Alert, Paper, - CircularProgress + CircularProgress, + Container } from '@mui/material'; import api from '../../api'; import { useTitle } from '../../hooks/useTitle'; @@ -145,7 +146,7 @@ const FlavorDetail: React.FC = () => { if (!flavor) return Flavor not found; return ( - + @@ -262,7 +263,7 @@ const FlavorDetail: React.FC = () => { )) )} - + ); };