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 = () => {
))
)}
-
+
);
};