Index: components/AddComponentDialog.tsx
===================================================================
--- components/AddComponentDialog.tsx	(revision ff3a6146e85f77e90dc322a0ad0c9d9eb048c629)
+++ 	(revision )
@@ -1,361 +1,0 @@
-import React, { useState, useEffect } from 'react';
-import {
-    Dialog, DialogTitle, DialogContent, DialogActions, Button, TextField,
-    Grid, Box, Typography, MenuItem, IconButton, Avatar, Alert
-} from '@mui/material';
-import AddIcon from '@mui/icons-material/Add';
-import DeleteIcon from '@mui/icons-material/Delete';
-import CloseIcon from '@mui/icons-material/Close';
-import { onCreateNewComponent, onGetDetailsForNewComponent } from '../pages/dashboard/admin/adminDashboard.telefunc';
-
-const COMPONENT_TYPES = [
-    { value: 'cpu', label: 'CPU' },
-    { value: 'gpu', label: 'Graphics Card' },
-    { value: 'motherboard', label: 'Motherboard' },
-    { value: 'memory', label: 'Memory' },
-    { value: 'storage', label: 'Storage' },
-    { value: 'power_supply', label: 'Power Supply' },
-    { value: 'case', label: 'Case' },
-    { value: 'cooler', label: 'CPU Cooler' },
-];
-
-export default function AddComponentDialog({ open, onClose, onSuccess, prefillData }: {
-    open: boolean;
-    onClose: () => void;
-    onSuccess: () => void;
-    prefillData?: {
-        type?: string;
-        suggestionLink?: string;
-        suggestionDescription?: string;
-    };
-}) {
-    const [name, setName] = useState('');
-    const [brand, setBrand] = useState('');
-    const [price, setPrice] = useState('');
-    const [imgUrl, setImgUrl] = useState('');
-    const [type, setType] = useState('');
-
-    const [requiredFields, setRequiredFields] = useState<any[]>([]);
-    const [multiTables, setMultiTables] = useState<any>({});
-    const [specificData, setSpecificData] = useState<any>({});
-
-    const [loading, setLoading] = useState(false);
-    const [error, setError] = useState('');
-
-    useEffect(() => {
-        if (type) {
-            setLoading(true);
-            onGetDetailsForNewComponent({ type })
-                .then((details) => {
-                    console.log('Component details:', details);
-
-                    setRequiredFields(details.requiredFields || []);
-                    setMultiTables(details.multiTables || {});
-
-                    const initialData: any = {};
-
-                    (details.requiredFields || []).forEach((field: any) => {
-                        const fieldName = typeof field === 'string' ? field : field.name;
-                        initialData[fieldName] = '';
-                    });
-
-                    Object.keys(details.multiTables || {}).forEach((tableName) => {
-                        initialData[tableName] = [];
-                    });
-
-                    setSpecificData(initialData);
-                })
-                .catch((err) => {
-                    console.error('Field load error:', err);
-                    setError('Failed to load component fields');
-                })
-                .finally(() => setLoading(false));
-        }
-    }, [type]);
-
-    useEffect(() => {
-        if (open && prefillData) {
-            if (prefillData.type) setType(prefillData.type);
-        }
-    }, [open, prefillData]);
-
-    const handleFieldChange = (fieldName: string, value: any) => {
-        setSpecificData((prev: any) => ({
-            ...prev,
-            [fieldName]: value
-        }));
-    };
-
-    const handleAddMultiTableRow = (tableName: string) => {
-        const tableConfig = multiTables[tableName];
-        const newRow: any = {};
-
-        tableConfig.forEach((field: string) => {
-            newRow[field] = '';
-        });
-
-        setSpecificData((prev: any) => ({
-            ...prev,
-            [tableName]: [...(prev[tableName] || []), newRow]
-        }));
-    };
-
-    const handleRemoveMultiTableRow = (tableName: string, index: number) => {
-        setSpecificData((prev: any) => ({
-            ...prev,
-            [tableName]: prev[tableName].filter((_: any, i: number) => i !== index)
-        }));
-    };
-
-    const handleMultiTableFieldChange = (tableName: string, index: number, fieldName: string, value: any) => {
-        setSpecificData((prev: any) => {
-            const updated = [...prev[tableName]];
-            updated[index] = { ...updated[index], [fieldName]: value };
-            return { ...prev, [tableName]: updated };
-        });
-    };
-
-    const handleSubmit = async () => {
-        setError('');
-
-        if (!name.trim()) return setError('Name is required');
-        if (!brand.trim()) return setError('Brand is required');
-        if (!price || isNaN(Number(price)) || Number(price) <= 0) return setError('Valid price is required');
-        if (!imgUrl.trim()) return setError('Image URL is required');
-        if (!type) return setError('Component type is required');
-
-        setLoading(true);
-        try {
-            await onCreateNewComponent({
-                name: name.trim(),
-                brand: brand.trim(),
-                price: Number(price),
-                imgUrl: imgUrl.trim(),
-                type,
-                specificData
-            });
-
-            onSuccess();
-            handleClose();
-        } catch (err) {
-            setError('Failed to create component. Please check all fields.');
-        } finally {
-            setLoading(false);
-        }
-    };
-
-    const handleClose = () => {
-        setName('');
-        setBrand('');
-        setPrice('');
-        setImgUrl('');
-        setType('');
-        setSpecificData({});
-        setRequiredFields([]);
-        setMultiTables({});
-        setError('');
-        onClose();
-    };
-
-    const formatFieldLabel = (fieldName: string): string => {
-        return fieldName
-            .replace(/([A-Z])/g, ' $1')
-            .replace(/^./, (str: string) => str.toUpperCase());
-    };
-
-    const renderAllFields = () => {
-        const allFields = [...(requiredFields || []), ...(Object.values(multiTables).flat() || [])];
-
-        return (
-            <Box sx={{ display: 'flex', flexDirection: 'column', gap: 2 }}>
-                {allFields.map((field: any, index: number) => {
-                    const fieldName = typeof field === 'string' ? field : field.name;
-
-                    const isNumber = fieldName.includes('height') || fieldName.includes('length') ||
-                        fieldName.includes('wattage') || fieldName.includes('capacity') ||
-                        fieldName.includes('speed') || fieldName.includes('cores') ||
-                        fieldName.includes('threads') || fieldName.includes('vram') ||
-                        fieldName.includes('slots') || fieldName.includes('numSlots');
-
-                    return (
-                        <TextField
-                            key={`${fieldName}-${index}`}
-                            fullWidth
-                            label={formatFieldLabel(fieldName)}
-                            value={specificData[fieldName] || ''}
-                            onChange={(e) => handleFieldChange(fieldName, isNumber ? Number(e.target.value) : e.target.value)}
-                            type={isNumber ? 'number' : 'text'}
-                            required
-                            sx={{ mb: 2 }}
-                        />
-                    );
-                })}
-            </Box>
-        );
-    };
-
-    return (
-        <Dialog open={open} onClose={handleClose} maxWidth="md" fullWidth scroll="paper">
-            <DialogTitle sx={{ bgcolor: '#ff8201', color: 'white', display: 'flex', justifyContent: 'space-between', alignItems: 'column' }}>
-                <Typography variant="h6" fontWeight="bold">Add New Component</Typography>
-                <IconButton onClick={handleClose} sx={{ color: 'white' }}>
-                    <CloseIcon />
-                </IconButton>
-            </DialogTitle>
-
-            <DialogContent sx={{ p: 3 }}>
-                {error && <Alert severity="error" sx={{ mb: 2 }}>{error}</Alert>}
-
-                <Box sx={{ display: 'flex', flexDirection: 'column', gap: 2 }}>
-                    <Box>
-                        <Typography variant="subtitle1" fontWeight="bold" gutterBottom sx={{ mb: 2 }}>
-                            Basic Information
-                        </Typography>
-
-                        <TextField
-                            fullWidth
-                            select
-                            label="Component Type"
-                            value={type}
-                            onChange={(e) => setType(e.target.value)}
-                            required
-                            sx={{ mb: 2 }}
-                        >
-                            {COMPONENT_TYPES.map((option) => (
-                                <MenuItem key={option.value} value={option.value}>
-                                    {option.label}
-                                </MenuItem>
-                            ))}
-                        </TextField>
-
-                        <Grid container spacing={2} sx={{ mb: 2 }}>
-                            <Grid item xs={12} md={6}>
-                                <TextField
-                                    fullWidth
-                                    label="Brand"
-                                    value={brand}
-                                    onChange={(e) => setBrand(e.target.value)}
-                                    required
-                                />
-                            </Grid>
-                            <Grid item xs={12} md={6}>
-                                <TextField
-                                    fullWidth
-                                    label="Name"
-                                    value={name}
-                                    onChange={(e) => setName(e.target.value)}
-                                    required
-                                />
-                            </Grid>
-                        </Grid>
-
-                        <Grid container spacing={2}>
-                            <Grid item xs={12} md={6}>
-                                <TextField
-                                    fullWidth
-                                    label="Price (EUR)"
-                                    type="number"
-                                    value={price}
-                                    onChange={(e) => setPrice(e.target.value)}
-                                    required
-                                    inputProps={{ step: '0.01', min: '0' }}
-                                />
-                            </Grid>
-                            <Grid item xs={12} md={6}>
-                                <TextField
-                                    fullWidth
-                                    label="Image URL"
-                                    value={imgUrl}
-                                    onChange={(e) => setImgUrl(e.target.value)}
-                                    required
-                                />
-                            </Grid>
-                        </Grid>
-                    </Box>
-
-                    {imgUrl && (
-                        <Box sx={{ display: 'flex', justifyContent: 'center', mt: 1 }}>
-                            <Avatar
-                                src={imgUrl}
-                                variant="rounded"
-                                sx={{ width: 120, height: 120, bgcolor: '#f5f5f5' }}
-                            />
-                        </Box>
-                    )}
-
-                    {type && (requiredFields.length > 0 || Object.keys(multiTables).length > 0) && (
-                        <Box>
-                            <Typography variant="subtitle1" fontWeight="bold" gutterBottom sx={{ mb: 2 }}>
-                                {COMPONENT_TYPES.find(ct => ct.value === type)?.label} Specifications
-                            </Typography>
-                            {renderAllFields()}
-                        </Box>
-                    )}
-
-                    {Object.keys(multiTables).map((tableName) => (
-                        <Box key={tableName}>
-                            <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', mb: 2 }}>
-                                <Typography variant="subtitle1" fontWeight="bold">
-                                    {tableName.replace(/([A-Z])/g, ' $1').replace(/^./, str => str.toUpperCase())}
-                                </Typography>
-                                <Button
-                                    size="small"
-                                    startIcon={<AddIcon />}
-                                    onClick={() => handleAddMultiTableRow(tableName)}
-                                    variant="outlined"
-                                >
-                                    Add Row
-                                </Button>
-                            </Box>
-
-                            {(specificData[tableName] || []).map((row: any, index: number) => (
-                                <Box key={index} sx={{ p: 3, mb: 2, border: '1px solid #e0e0e0', borderRadius: 2, bgcolor: '#fafafa' }}>
-                                    <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', mb: 2 }}>
-                                        <Typography variant="subtitle2" fontWeight="medium">
-                                            Row {index + 1}
-                                        </Typography>
-                                        <IconButton
-                                            size="small"
-                                            color="error"
-                                            onClick={() => handleRemoveMultiTableRow(tableName, index)}
-                                        >
-                                            <DeleteIcon />
-                                        </IconButton>
-                                    </Box>
-
-                                    <Grid container spacing={2}>
-                                        {multiTables[tableName].map((fieldName: string) => (
-                                            <Grid item xs={12} sm={6} md={4} key={fieldName}>
-                                                <TextField
-                                                    fullWidth
-                                                    size="small"
-                                                    label={fieldName.replace(/([A-Z])/g, ' $1').replace(/^./, str => str.toUpperCase())}
-                                                    value={row[fieldName] || ''}
-                                                    onChange={(e) => handleMultiTableFieldChange(tableName, index, fieldName, e.target.value)}
-                                                />
-                                            </Grid>
-                                        ))}
-                                    </Grid>
-                                </Box>
-                            ))}
-                        </Box>
-                    ))}
-                </Box>
-            </DialogContent>
-
-            <DialogActions sx={{ p: 3 }}>
-                <Button onClick={handleClose} disabled={loading}>
-                    Cancel
-                </Button>
-                <Button
-                    variant="contained"
-                    color="primary"
-                    onClick={handleSubmit}
-                    disabled={loading || !type}
-                >
-                    {loading ? 'Creating...' : 'Create Component'}
-                </Button>
-            </DialogActions>
-        </Dialog>
-    );
-}
Index: components/BuildCard.tsx
===================================================================
--- components/BuildCard.tsx	(revision ff3a6146e85f77e90dc322a0ad0c9d9eb048c629)
+++ 	(revision )
@@ -1,115 +1,0 @@
-import React, {useEffect, useState} from 'react';
-import {Card, CardContent, CardMedia, Typography, Box, Chip, CircularProgress} from '@mui/material';
-import StarIcon from '@mui/icons-material/Star';
-import {onGetBuildDetails} from "../pages/+Layout.telefunc";
-
-export default function BuildCard({build, onClick}: { build: any, onClick?: () => void }) {
-    const [caseImage, setCaseImage] = useState<string>("https://placehold.co/600x400?text=PC+Build");
-    const [imageLoading, setImageLoading] = useState(true);
-    const [details, setDetails] = useState<any>(null);
-
-    const formattedPrice = new Intl.NumberFormat('en-US', {
-        style: 'currency',
-        currency: 'EUR'
-    }).format(build.total_price || 0);
-
-    useEffect(() => {
-        setImageLoading(true);
-        onGetBuildDetails({buildId: build.id})
-            .then(fullDetails => {
-                setDetails(fullDetails);
-
-                const caseComponent = fullDetails.components?.find((c: any) => c.type === 'case');
-                setCaseImage(
-                    caseComponent?.imgUrl ||
-                    "https://placehold.co/600x400?text=PC+Build"
-                );
-            })
-            .catch((error) => {
-                console.error("Failed to load build details:", error);
-                setDetails(null);
-            })
-            .finally(() => {
-                setImageLoading(false);
-            });
-    }, [build.id]);
-
-    if (imageLoading) {
-        return (
-            <Card sx={{width: '100%', height: '100%', display: 'flex', alignItems: 'center', justifyContent: 'center'}}>
-                <CircularProgress />
-            </Card>
-        );
-    }
-
-    return (
-        <Card
-            onClick={onClick}
-            sx={{
-                width: '100%',
-                height: '100%',
-                display: 'flex',
-                flexDirection: 'column',
-                cursor: onClick ? 'pointer' : 'default',
-                transition: 'transform 0.2s, box-shadow 0.2s',
-                '&:hover': onClick ? {
-                    transform: 'translateY(-4px)',
-                    boxShadow: 6
-                } : {},
-                position: 'relative'
-            }}
-        >
-            <Box sx={{position: 'relative', paddingTop: '75%'}}>
-                <CardMedia
-                    component="img"
-                    image={caseImage}
-                    alt={build.name}
-                    sx={{
-                        position: 'absolute',
-                        top: 0,
-                        left: 0,
-                        width: '100%',
-                        height: '100%',
-                        objectFit: 'contain',
-                        p: 2,
-                        bgcolor: '#f5f5f5'
-                    }}
-                />
-            </Box>
-
-            <CardContent sx={{flexGrow: 1, display: 'flex', flexDirection: 'column', justifyContent: 'space-between'}}>
-                <Box sx={{mb: 1}}>
-                    <Typography variant="h6" component="div" fontWeight="bold">
-                        {build.name}
-                    </Typography>
-                </Box>
-
-                <Box sx={{mb: 2}}>
-                    <Typography
-                        variant="body2"
-                        color="text.secondary"
-                        sx={{fontStyle: 'italic', fontSize: '0.875rem'}}
-                    >
-                        {details?.description || "No description provided."}
-                    </Typography>
-                </Box>
-
-                <Box sx={{display: 'flex', justifyContent: 'space-between', alignItems: 'center', mt: 'auto'}}>
-                    <Chip
-                        label={formattedPrice}
-                        color="primary"
-                        variant="outlined"
-                        size="small"
-                        sx={{fontWeight: 'bold'}}
-                    />
-                    <Box sx={{display: 'flex', alignItems: 'center'}}>
-                        <StarIcon sx={{color: '#faaf00', fontSize: 20, ml: 1}}/>
-                        <Typography variant="body2" fontWeight="bold">
-                            {Number(build.avgRating || 0).toFixed(1)}
-                        </Typography>
-                    </Box>
-                </Box>
-            </CardContent>
-        </Card>
-    );
-}
Index: components/BuildDetailsDialog.tsx
===================================================================
--- components/BuildDetailsDialog.tsx	(revision ff3a6146e85f77e90dc322a0ad0c9d9eb048c629)
+++ 	(revision )
@@ -1,405 +1,0 @@
-import React, {useEffect, useState} from 'react';
-import {
-    Dialog, DialogTitle, DialogContent, DialogActions, Button, Box, Typography,
-    IconButton, Tab, Tabs, Table, TableBody, TableCell, TableRow, Rating, TextField, Avatar, Chip, Alert, Snackbar
-} from '@mui/material';
-import CloseIcon from '@mui/icons-material/Close';
-import AutoFixHighIcon from '@mui/icons-material/AutoFixHigh';
-import FavoriteIcon from '@mui/icons-material/Favorite';
-import FavoriteBorderIcon from '@mui/icons-material/FavoriteBorder';
-import PersonIcon from "@mui/icons-material/Person";
-import {onGetBuildDetails, onSetReview, onToggleFavorite, onCloneBuild, onSetRating} from '../pages/+Layout.telefunc';
-import {onGetBuildState} from '../pages/forge/forge.telefunc';
-
-const formatPrice = (price: any) => new Intl.NumberFormat('en-US', {
-    style: 'currency',
-    currency: 'USD'
-}).format(Number(price) || 0);
-
-export default function BuildDetailsDialog({open, buildId, onClose, currentUser, isDashboardView = false}: {
-    open: boolean;
-    buildId: number | null;
-    onClose: () => void;
-    currentUser: any;
-    isDashboardView?: boolean;
-}) {
-    const [details, setDetails] = useState<any>(null);
-    const [loading, setLoading] = useState(false);
-    const [tabIndex, setTabIndex] = useState(0);
-    const [cloneDialogOpen, setCloneDialogOpen] = useState(false);
-    const [cloningBuildId, setCloningBuildId] = useState<number | null>(null);
-    const [isOwner, setIsOwner] = useState(false);
-
-    const [reviewText, setReviewText] = useState("");
-    const [ratingVal, setRatingVal] = useState(5);
-
-    const [snackbar, setSnackbar] = useState<{
-        open: boolean;
-        message: string;
-        severity: 'error' | 'warning' | 'info' | 'success';
-    }>({
-        open: false,
-        message: '',
-        severity: 'warning'
-    });
-
-    useEffect(() => {
-        if (open && buildId !== null) {
-            setLoading(true);
-            setReviewText("");
-            setRatingVal(5);
-
-            onGetBuildDetails({buildId})
-                .then(data => {
-                    setDetails(data);
-                    if (data.userRating) setRatingVal(data.userRating);
-                    if (data.userReview) setReviewText(data.userReview);
-                })
-                .finally(() => setLoading(false));
-        }
-    }, [open, buildId]);
-
-    useEffect(() => {
-        if (open && buildId !== null) {
-            onGetBuildState({buildId})
-                .then(state => {
-                    setIsOwner(!!state);
-                })
-                .catch(() => setIsOwner(false));
-        } else {
-            setIsOwner(false);
-        }
-    }, [open, buildId]);
-
-    useEffect(() => {
-        if (open) {
-            setTabIndex(0);
-        }
-    }, [open, buildId]);
-
-    const handleFavorite = async () => {
-        if (!currentUser || buildId === null) return alert("Please login to favorite builds.");
-        const res = await onToggleFavorite({buildId});
-        setDetails((prev: any) => ({...prev, isFavorite: res}));
-    };
-
-    const handleSubmitReview = async () => {
-        if (!currentUser || buildId === null) return alert("Please login to review.");
-
-        await onSetReview({
-            buildId,
-            content: reviewText,
-        });
-
-        await onSetRating({
-            buildId,
-            value: ratingVal
-        });
-
-        const refreshed = await onGetBuildDetails({buildId});
-        setDetails(refreshed);
-    };
-
-    const handleCloneConfirm = async () => {
-        if (!cloningBuildId) return;
-
-        if(!currentUser){
-            window.location.href="/auth/login";
-            return;
-        }
-
-        try {
-            const newBuildId = await onCloneBuild({buildId: cloningBuildId});
-            window.location.href = `/forge?buildId=${newBuildId}`;
-            setCloneDialogOpen(false);
-            setCloningBuildId(null);
-        } catch (e) {
-            // alert("Failed to clone build. Please try again.");
-            setCloneDialogOpen(false);
-            setSnackbar({
-                open: true,
-                message: 'Failed to clone build. Please try again!',
-                severity: 'error'
-            })
-        }
-    };
-
-    const isCreator = currentUser && details && details.userId === currentUser;
-
-    if (!open) return null;
-
-    return (
-        <>
-            <Dialog open={open} onClose={onClose} maxWidth="md" fullWidth scroll="body">
-                {loading || !details ? (
-                    <Box sx={{p: 5, textAlign: 'center'}}>Loading Forge Schematics...</Box>
-                ) : (
-                    <>
-                        <DialogTitle sx={{
-                            display: 'flex',
-                            justifyContent: 'space-between',
-                            alignItems: 'center',
-                            bgcolor: '#ff8201'
-                        }}>
-                            <Box>
-                                <Typography variant="h5" fontWeight="bold">{details.name}</Typography>
-                                <Box sx={{display: 'flex', alignItems: 'center', gap: 1}}>
-                                    <PersonIcon sx={{fontSize: 16}}/>
-                                    <Typography variant="subtitle2" color="text.secondary" fontWeight="bold">
-                                        by {details.creator}
-                                    </Typography>
-                                    <Chip label={formatPrice(details.totalPrice)} size="small" color="primary"
-                                          variant="outlined"/>
-                                </Box>
-                            </Box>
-                            <IconButton onClick={onClose}><CloseIcon/></IconButton>
-                        </DialogTitle>
-
-                        <DialogContent sx={{p: 0}}>
-                            <Box sx={{
-                                borderBottom: 1,
-                                borderColor: 'divider',
-                                px: 2,
-                                bgcolor: 'primary',
-                                position: 'sticky',
-                                top: 0,
-                                zIndex: 1
-                            }}>
-                                <Tabs value={tabIndex} onChange={(_, v) => setTabIndex(v)}>
-                                    <Tab label="Specs"/>
-                                    <Tab label={`Reviews (${details.ratingStatistics.ratingCount})`}/>
-                                </Tabs>
-                            </Box>
-
-                            <Box sx={{p: 3}}>
-                                {tabIndex === 0 && (
-                                    <Box
-                                        sx={{
-                                            display: 'grid',
-                                            gridTemplateColumns: {
-                                                xs: '1fr',
-                                                md: '2fr 1fr'
-                                            },
-                                            gap: 2,
-                                            width: '100%'
-                                        }}
-                                    >
-                                        <Box>
-                                            <Table size="small">
-                                                <TableBody>
-                                                    {details.components.map((comp: any) => (
-                                                        <TableRow key={comp.id}>
-                                                            <TableCell sx={{width: 50}}>
-                                                                <Avatar
-                                                                    src={comp.imgUrl || undefined}
-                                                                    variant="rounded"
-                                                                    sx={{width: 50, height: 50, bgcolor: '#ff8201'}}
-                                                                >
-                                                                    {comp.type?.substring(0, 3)?.toUpperCase()}
-                                                                </Avatar>
-                                                            </TableCell>
-                                                            <TableCell>
-                                                                <Typography variant="body2" color="text.secondary" sx={{
-                                                                    fontSize: '0.75rem',
-                                                                    textTransform: 'uppercase'
-                                                                }}>
-                                                                    {comp.type}
-                                                                </Typography>
-                                                                <Typography variant="body1" fontWeight="500">
-                                                                    {comp.brand} {comp.name}
-                                                                </Typography>
-                                                            </TableCell>
-                                                            <TableCell align="right"
-                                                                       sx={{fontWeight: 'bold', color: '#ff8201'}}>
-                                                                {formatPrice(comp.price)}
-                                                            </TableCell>
-                                                        </TableRow>
-                                                    ))}
-                                                    <TableRow sx={{bgcolor: '#424343'}}>
-                                                        <TableCell colSpan={2} sx={{
-                                                            fontWeight: 'bold',
-                                                            color: '#ff8201'
-                                                        }}>TOTAL</TableCell>
-                                                        <TableCell align="right" sx={{
-                                                            fontWeight: 'bold',
-                                                            fontSize: '1.1rem',
-                                                            color: 'primary.main'
-                                                        }}>
-                                                            {formatPrice(details.totalPrice)}
-                                                        </TableCell>
-                                                    </TableRow>
-                                                </TableBody>
-                                            </Table>
-                                        </Box>
-
-                                        <Box>
-                                            <Box sx={{bgcolor: '#424343', p: 2, borderRadius: 2, mb: 2}}>
-                                                <Typography color="primary.main" gutterBottom fontWeight="bold">
-                                                    Builder's Notes
-                                                </Typography>
-                                                <Typography color="primary.main" variant="body2"
-                                                            sx={{fontStyle: 'italic'}}>
-                                                    "{details.description || "No notes provided."}"
-                                                </Typography>
-                                            </Box>
-
-                                            {currentUser && (
-                                                <Box sx={{display: 'flex', flexDirection: 'column', gap: 1}}>
-                                                    {isDashboardView && isOwner ? (
-                                                        <Button
-                                                            variant="contained"
-                                                            color="primary"
-                                                            size="large"
-                                                            startIcon={<AutoFixHighIcon/>}
-                                                            onClick={() => {
-                                                                window.location.href = `/forge?buildId=${details.id}`;
-                                                                onClose();
-                                                            }}
-                                                        >
-                                                            Edit Build
-                                                        </Button>
-                                                    ) : (
-                                                        <Button
-                                                            variant="contained"
-                                                            color="primary"
-                                                            size="large"
-                                                            startIcon={<AutoFixHighIcon/>}
-                                                            onClick={() => {
-                                                                setCloningBuildId(details.id);
-                                                                setCloneDialogOpen(true);
-                                                            }}
-                                                        >
-                                                            Clone & Edit
-                                                        </Button>
-                                                    )}
-                                                    <Button
-                                                        variant={details.isFavorite ? "contained" : "outlined"}
-                                                        color={details.isFavorite ? "error" : "primary"}
-                                                        startIcon={details.isFavorite ? <FavoriteIcon/> : <FavoriteBorderIcon/>}
-                                                        onClick={handleFavorite}
-                                                    >
-                                                        {details.isFavorite ? "Favorited" : "Add to Favorites"}
-                                                    </Button>
-                                                </Box>
-                                            )}
-
-                                        </Box>
-                                    </Box>
-                                )}
-
-                                {tabIndex === 1 && (
-                                    <Box>
-                                        <Box sx={{
-                                            display: 'flex',
-                                            alignItems: 'center',
-                                            gap: 2,
-                                            mb: 4,
-                                            p: 2,
-                                            bgcolor: '#5e5e5e',
-                                            borderRadius: 2
-                                        }}>
-                                            <Typography variant="h3"
-                                                        fontWeight="bold">{details.ratingStatistics.averageRating.toFixed(1)}</Typography>
-                                            <Box>
-                                                <Rating value={details.ratingStatistics.averageRating} readOnly
-                                                        precision={0.5}/>
-                                                <Typography variant="body2"
-                                                            color="text.secondary">{details.ratingStatistics.ratingCount} ratings</Typography>
-                                            </Box>
-                                        </Box>
-
-                                        {currentUser && !isCreator && (
-                                            <Box sx={{mb: 4, p: 2, border: '1px solid #ddd', borderRadius: 2}}>
-                                                <Typography variant="subtitle2" gutterBottom>Your Review</Typography>
-                                                <Box sx={{display: 'flex', alignItems: 'center', mb: 1}}>
-                                                    <Rating value={ratingVal}
-                                                            onChange={(_, v) => setRatingVal(v || 5)}/>
-                                                </Box>
-                                                <TextField
-                                                    fullWidth
-                                                    multiline
-                                                    rows={2}
-                                                    placeholder="Share your thoughts on this build..."
-                                                    value={reviewText}
-                                                    onChange={(e) => setReviewText(e.target.value)}
-                                                    sx={{mb: 1}}
-                                                />
-                                                <Button size="small" variant="contained" onClick={handleSubmitReview}>
-                                                    Submit Review
-                                                </Button>
-                                            </Box>
-                                        )}
-
-                                        {currentUser && isCreator && (
-                                            <Alert severity="error" sx={{mb: 4}}>
-                                                You cannot rate your own builds.
-                                            </Alert>
-                                        )}
-
-                                        <Box sx={{display: 'flex', flexDirection: 'column', gap: 2}}>
-                                            {details.reviews.map((rev: any, i: number) => (
-                                                <Box key={i} sx={{pb: 2, borderBottom: '1px solid #eee'}}>
-                                                    <Box sx={{
-                                                        display: 'flex',
-                                                        justifyContent: 'space-between',
-                                                        mb: 0.5
-                                                    }}>
-                                                        <Typography fontWeight="bold"
-                                                                    variant="body2">{rev.username}</Typography>
-                                                        <Typography variant="caption"
-                                                                    color="text.secondary">{rev.createdAt}</Typography>
-                                                    </Box>
-                                                    <Typography variant="body2">{rev.content}</Typography>
-                                                </Box>
-                                            ))}
-                                            {details.reviews.length === 0 && (
-                                                <Typography color="text.secondary" align="center">
-                                                    No reviews yet. Be the first!
-                                                </Typography>
-                                            )}
-                                        </Box>
-                                    </Box>
-                                )}
-                            </Box>
-                        </DialogContent>
-                    </>
-                )}
-            </Dialog>
-
-            <Dialog open={cloneDialogOpen} onClose={() => setCloneDialogOpen(false)}>
-                <DialogTitle>Clone Build</DialogTitle>
-                <DialogContent>
-                    <Typography>
-                        This will create a copy of "{details?.name}" in your Forge so you can edit it.
-                        All components will be copied over.
-                    </Typography>
-                </DialogContent>
-                <DialogActions>
-                    <Button onClick={() => setCloneDialogOpen(false)}>Cancel</Button>
-                    <Button
-                        variant="contained"
-                        onClick={handleCloneConfirm}
-                        disabled={!cloningBuildId}
-                    >
-                        Clone Build
-                    </Button>
-                </DialogActions>
-            </Dialog>
-            <Snackbar
-                open={snackbar.open}
-                autoHideDuration={5000}
-                onClose={() => setSnackbar(prev => ({...prev, open: false}))}
-                anchorOrigin={{vertical: 'bottom', horizontal: 'center'}}
-            >
-                <Alert
-                    onClose={() => setSnackbar(prev => ({...prev, open: false}))}
-                    severity={snackbar.severity}
-                    variant="filled"
-                    sx={{width: '100%'}}
-                >
-                    {snackbar.message}
-                </Alert>
-            </Snackbar>
-        </>
-    );
-}
Index: components/ComponentDetailsDialog.tsx
===================================================================
--- components/ComponentDetailsDialog.tsx	(revision ff3a6146e85f77e90dc322a0ad0c9d9eb048c629)
+++ 	(revision )
@@ -1,276 +1,0 @@
-import React, {useEffect, useState} from 'react';
-import {
-    Dialog, DialogTitle, DialogContent, DialogActions, Button,
-    Typography, Box, Chip, CircularProgress, IconButton,
-    Table, TableBody, TableCell, TableContainer, TableRow, Paper
-} from '@mui/material';
-import CloseIcon from '@mui/icons-material/Close';
-import {onGetComponentDetails} from '../pages/+Layout.telefunc';
-
-export default function ComponentDetailsDialog({open, component, onClose}: any) {
-    const [fullData, setFullData] = useState<any>(null);
-    const [loading, setLoading] = useState(false);
-
-    useEffect(() => {
-        if (open && component) {
-            setLoading(true);
-            onGetComponentDetails({componentId: component.id})
-                .then(data => setFullData(data))
-                .catch(console.error)
-                .finally(() => setLoading(false));
-        } else {
-            setFullData(null);
-        }
-    }, [open, component]);
-
-    if (!open || !component) return null;
-
-    const displayData = fullData || component;
-    const specs = fullData?.details || {};
-
-    const formatMoney = (amount: number) => `$${Number(amount).toFixed(2)}`;
-
-    const renderValue = (key: string, val: any) => {
-        if (Array.isArray(val)) {
-            if (val.length === 0) return 'None';
-
-            if (typeof val[0] === 'string') {
-                return val.join(', ');
-            }
-
-            if (typeof val[0] === 'object') {
-                const parts = val
-                    .map((v: any) =>
-                        v.socket ||
-                        v.formFactor ||
-                        v.name ||
-                        v.type ||
-                        Object.values(v)[0]
-                    )
-                    .filter(Boolean);
-                return parts.length > 0 ? parts.join(', ') : 'None';
-            }
-
-            return val.join(', ');
-        }
-
-        const strVal = String(val);
-        const lowerKey = key.toLowerCase();
-
-        if (lowerKey.includes('capacity') || lowerKey.includes('vram') || lowerKey === 'memory') {
-            return `${strVal} GB`;
-        }
-
-        if (lowerKey.includes('tdp') || lowerKey.includes('wattage')) {
-            return `${strVal} W`;
-        }
-
-        if (lowerKey.includes('length') || lowerKey.includes('height') || lowerKey.includes('width')) {
-            return `${strVal} mm`;
-        }
-
-        if (lowerKey.includes('clock')) {
-            return `${strVal} GHz`;
-        }
-
-        if (lowerKey.includes('speed')) {
-            return `${strVal} MHz`;
-        }
-
-        return strVal;
-    };
-
-    const formatKey = (key: string) => {
-        return key
-            .replace(/([A-Z])/g, ' $1')
-            .replace(/_/g, ' ')
-            .replace(/\b\w/g, c => c.toUpperCase());
-    };
-
-    return (
-        <Dialog
-            open={open}
-            onClose={onClose}
-            maxWidth="md"
-            fullWidth
-            scroll="body"
-            sx={{zIndex: 1400}}
-        >
-            <DialogTitle sx={{
-                display: 'flex',
-                justifyContent: 'space-between',
-                alignItems: 'center',
-                bgcolor: '#333',
-                color: 'white'
-            }}>
-                <Box>
-                    <Typography variant="caption" sx={{textTransform: 'uppercase', opacity: 0.7}}>
-                        {displayData.brand}
-                    </Typography>
-                    <Typography variant="h6" fontWeight="bold">
-                        {displayData.name}
-                    </Typography>
-                </Box>
-                <IconButton onClick={onClose} sx={{color: 'white'}}>
-                    <CloseIcon/>
-                </IconButton>
-            </DialogTitle>
-
-            <DialogContent
-                sx={{
-                    p: 1,
-                    overflow: 'visible'
-                }}
-            >
-                {loading ? (
-                    <Box sx={{display: 'flex', justifyContent: 'center', p: 5}}>
-                        <CircularProgress/>
-                    </Box>
-                ) : (
-                    <Box
-                        sx={{
-                            display: 'grid',
-                            gridTemplateColumns: {
-                                xs: '1fr',
-                                md: '1fr 1fr'
-                            },
-                            gap: 4,
-                            width: '100%'
-                        }}
-                    >
-                        <Box sx={{display: 'flex', flexDirection: 'column', alignItems: 'center'}}>
-                            <Box
-                                component="img"
-                                src={displayData.imgUrl}
-                                alt={displayData.name}
-                                sx={{
-                                    width: '100%',
-                                    maxHeight: 300,
-                                    objectFit: 'contain',
-                                    mb: 1,
-                                    mt: 7,
-                                    p: 1
-                                }}
-                            />
-                            <Chip
-                                label={displayData.type?.toUpperCase()}
-                                color="primary"
-                                sx={{fontWeight: 'bold'}}
-                            />
-                        </Box>
-
-                        <Box sx={{
-                            display: 'flex',
-                            flexDirection: 'column',
-                            alignItems: 'center',
-                            width: '70%'
-                        }}>
-                            <Typography
-                                variant="subtitle1"
-                                fontWeight="bold"
-                                gutterBottom
-                                sx={{
-                                    borderBottom: '2px solid #ff8201',
-                                    mb: 1,
-                                    mt: 1,
-                                    textAlign: 'center',
-                                    width: '100%'
-                                }}
-                            >
-                                Technical Specifications
-                            </Typography>
-
-                            <TableContainer
-                                component={Paper}
-                                variant="outlined"
-                                sx={{
-                                    maxWidth: '100%',
-                                    width: '100%'
-                                }}
-                            >
-                                <Table size="medium">
-                                    <TableBody>
-                                        <TableRow>
-                                            <TableCell
-                                                component="th"
-                                                scope="row"
-                                                sx={{
-                                                    fontWeight: 'bold',
-                                                    width: '50%',
-                                                    bgcolor: '#1e1e1e',
-                                                    textAlign: 'center',
-                                                    px: 2
-                                                }}
-                                            >
-                                                Brand
-                                            </TableCell>
-                                            <TableCell sx={{
-                                                textAlign: 'center',
-                                                px: 2,
-                                                width: '50%'
-                                            }}>
-                                                {displayData.brand}
-                                            </TableCell>
-                                        </TableRow>
-
-                                        {Object.entries(specs).map(([key, val]) => {
-                                            if (key === 'componentId' || key === 'id') return null;
-
-                                            return (
-                                                <TableRow key={key}>
-                                                    <TableCell
-                                                        component="th"
-                                                        scope="row"
-                                                        sx={{
-                                                            fontWeight: 'bold',
-                                                            width: '50%',
-                                                            bgcolor: '#1e1e1e',
-                                                            textAlign: 'center',
-                                                            px: 2
-                                                        }}
-                                                    >
-                                                        {formatKey(key)}
-                                                    </TableCell>
-                                                    <TableCell sx={{
-                                                        textAlign: 'center',
-                                                        px: 2,
-                                                        width: '50%'
-                                                    }}>
-                                                        {renderValue(key, val)}
-                                                    </TableCell>
-                                                </TableRow>
-                                            );
-                                        })}
-                                    </TableBody>
-                                </Table>
-                            </TableContainer>
-
-                            <Box sx={{
-                                display: 'flex',
-                                justifyContent: 'center',
-                                alignItems: 'center',
-                                mt: 1,
-                                width: '100%'
-                            }}>
-                                <Typography variant="h4" color="primary.main" fontWeight="bold">
-                                    {formatMoney(displayData.price)}
-                                </Typography>
-                            </Box>
-                        </Box>
-                    </Box>
-                )}
-            </DialogContent>
-
-            <DialogActions sx={{p: 2}}>
-                <Button onClick={onClose} variant="contained"
-                        sx={{
-                            backgroundColor: '#ff8201',
-                            color: 'white',
-                            borderColor: '#ff8201',
-                            '&:hover': {backgroundColor: '#ba5d02', borderColor: '#ba5d02'}
-                        }}
-                >Close</Button>
-            </DialogActions>
-        </Dialog>
-    );
-}
Index: components/ComponentDialog.tsx
===================================================================
--- components/ComponentDialog.tsx	(revision ff3a6146e85f77e90dc322a0ad0c9d9eb048c629)
+++ 	(revision )
@@ -1,600 +1,0 @@
-import React, {useEffect, useState} from 'react';
-import {
-    Dialog, DialogContent, IconButton, Box, Typography,
-    Slider, FormControl, InputLabel, Select, MenuItem, Checkbox, ListItemText,
-    Card, CardContent, CardMedia, Button, CircularProgress, AppBar, Toolbar, InputAdornment, TextField,
-    TextField as MuiTextField, DialogTitle, DialogActions, Snackbar, Alert, Drawer, Badge
-} from '@mui/material';
-import CloseIcon from '@mui/icons-material/Close';
-import AddCircleIcon from '@mui/icons-material/AddCircle';
-import FilterListIcon from '@mui/icons-material/FilterList';
-import SearchIcon from "@mui/icons-material/Search";
-
-import {onGetAllComponents, onGetAuthState, onSuggestComponent} from '../pages/+Layout.telefunc'
-import {onGetCompatibleComponents} from '../pages/forge/forge.telefunc';
-import ComponentDetailsDialog from "./ComponentDetailsDialog";
-
-const formatMoney = (amount: number) => `$${Number(amount).toFixed(2)}`;
-
-export default function ComponentDialog({open, category, onClose, mode, onSelect, currentBuildId}: any) {
-    const [components, setComponents] = useState<any[]>([]);
-    const [loading, setLoading] = useState(false);
-    const [selectedComponent, setSelectedComponent] = useState<any>(null);
-    const [priceRange, setPriceRange] = useState<number[]>([0, 2000]);
-    const [selectedBrands, setSelectedBrands] = useState<string[]>([]);
-    const [availableBrands, setAvailableBrands] = useState<string[]>([]);
-    const [sortOrder, setSortOrder] = useState<string>('default');
-
-    const [tempSearchQuery, setTempSearchQuery] = useState("");
-    const [searchQuery, setSearchQuery] = useState("");
-
-    const [suggestOpen, setSuggestOpen] = useState(false);
-    const [suggestForm, setSuggestForm] = useState({
-        link: '',
-        description: '',
-        componentType: category || ''
-    });
-    const [suggestLoading, setSuggestLoading] = useState(false);
-    const [snackbarOpen, setSnackbarOpen] = useState(false);
-    const [snackbarMessage, setSnackbarMessage] = useState("");
-    const [userId, setUserId] = useState<number | null>(null);
-    const [mobileFiltersOpen, setMobileFiltersOpen] = useState(false);
-
-    useEffect(() => {
-        if (open && category) {
-            setSuggestForm({
-                link: '',
-                description: '',
-                componentType: category
-            });
-        }
-    }, [open, category]);
-
-    useEffect(() => {
-        const timeoutId = setTimeout(() => {
-            setSearchQuery(tempSearchQuery);
-        }, 300);
-        return () => clearTimeout(timeoutId);
-    }, [tempSearchQuery]);
-
-    useEffect(() => {
-        if (open && category) {
-            setSelectedBrands([]);
-            setSortOrder('price_desc');
-            setTempSearchQuery('');
-            setSearchQuery('');
-            setPriceRange([0, 2000]);
-        }
-    }, [open, category]);
-
-
-    useEffect(() => {
-        if (open) {
-            onGetAuthState().then(userData => {
-                setUserId(userData.userId);
-            });
-        }
-    }, [open]);
-
-    useEffect(() => {
-        if (open && category) {
-            setLoading(true);
-            setSortOrder('price_desc');
-
-            const shouldUseCompatibility = mode === 'forge' && currentBuildId;
-            const fetcher = shouldUseCompatibility
-                ? onGetCompatibleComponents({
-                    buildId: currentBuildId,
-                    componentType: category,
-                    limit: 100,
-                    sort: 'price_desc'
-                })
-                : onGetAllComponents({
-                    componentType: category,
-                    limit: 100,
-                    sort: 'price_desc'
-                });
-
-            fetcher
-                .then((data) => {
-                    const comps = data || [];
-                    setComponents(comps);
-
-                    const brands = Array.from(new Set(comps.map((c: any) => c.brand)));
-                    setAvailableBrands(brands as string[]);
-                    const maxPrice = comps.length > 0 ? Math.max(...comps.map((c: any) => Number(c.price))) : 2000;
-                    setPriceRange([0, Math.ceil(maxPrice)]);
-                })
-                .catch((err) => {
-                    console.error('[Dialog] fetch error:', err);
-                    setComponents([]);
-                })
-                .finally(() => setLoading(false));
-        }
-    }, [open, category, mode, currentBuildId]);
-
-    const handleSuggestChange = (e: React.ChangeEvent<HTMLInputElement>) => {
-        setSuggestForm({
-            ...suggestForm,
-            [e.target.name]: e.target.value
-        });
-    }
-
-    const submitSuggestion = async () => {
-        if (!userId) {
-            setSnackbarMessage("Please login to submit suggestions!");
-            setSnackbarOpen(true);
-            return;
-        }
-
-        if (!suggestForm.link || !suggestForm.description) {
-            setSnackbarMessage("Please fill in all fields!");
-            setSnackbarOpen(true);
-            return;
-        }
-
-        setSuggestLoading(true);
-        try {
-            const suggestionId = await onSuggestComponent({
-                link: suggestForm.link,
-                description: suggestForm.description,
-                componentType: suggestForm.componentType
-            });
-
-            setSnackbarMessage("Suggestion submitted! Admin will review it.");
-            setSnackbarOpen(true);
-            setSuggestOpen(false);
-            setSuggestForm({link: '', description: '', componentType: category || ''});
-        } catch (error) {
-            console.error('Suggestion error:', error);
-            setSnackbarMessage("Failed to submit suggestion. Try again.");
-            setSnackbarOpen(true);
-        } finally {
-            setSuggestLoading(false);
-        }
-    };
-
-    let processedComponents = components.filter(comp => {
-        const matchesBrand = selectedBrands.length === 0 || selectedBrands.includes(comp.brand);
-        const matchesPrice = Number(comp.price) >= priceRange[0] && Number(comp.price) <= priceRange[1];
-        const matchesSearch = searchQuery === "" ||
-            comp.name.toLowerCase().includes(searchQuery.toLowerCase()) ||
-            comp.brand.toLowerCase().includes(searchQuery.toLowerCase());
-
-        return matchesBrand && matchesPrice && matchesSearch;
-    });
-
-    if (sortOrder === 'price_asc') {
-        processedComponents.sort((a, b) => Number(a.price) - Number(b.price));
-    } else if (sortOrder === 'price_desc') {
-        processedComponents.sort((a, b) => Number(b.price) - Number(a.price));
-    }
-
-    const handleBrandChange = (event: any) => {
-        const value = event.target.value;
-        setSelectedBrands(typeof value === 'string' ? value.split(',') : value);
-    };
-
-    const activeFiltersCount = selectedBrands.length + (sortOrder !== 'default' ? 1 : 0);
-
-    const FilterContent = React.useMemo(() => (
-        <Box sx={{width: {xs: 280, md: 300}, p: 3, bgcolor: 'transparent'}}>
-            <TextField
-                fullWidth
-                size="small"
-                placeholder="Search components..."
-                value={tempSearchQuery}
-                onChange={(e) => setTempSearchQuery(e.target.value)}
-                sx={{mb: 2}}
-                InputProps={{
-                    startAdornment: <InputAdornment position="start"><SearchIcon/></InputAdornment>,
-                }}
-            />
-
-            <FormControl fullWidth size="small" sx={{mb: 2}}>
-                <InputLabel>Sort By</InputLabel>
-                <Select
-                    value={sortOrder}
-                    label="Sort By"
-                    onChange={(e) => setSortOrder(e.target.value)}
-                    MenuProps={{
-                        container: typeof window !== 'undefined' ? document.body : undefined,
-                        disablePortal: false,
-                        sx: {
-                            zIndex: 1500
-                        }
-                    }}
-                >
-                    <MenuItem value="price_asc">Price: Low to High</MenuItem>
-                    <MenuItem value="price_desc">Price: High to Low</MenuItem>
-                </Select>
-            </FormControl>
-
-            <FormControl fullWidth size="small" sx={{mb: 2}}>
-                <InputLabel>Brands</InputLabel>
-                <Select
-                    multiple
-                    value={selectedBrands}
-                    onChange={handleBrandChange}
-                    label="Brands"
-                    renderValue={(s) => s.join(', ')}
-                    MenuProps={{
-                        container: typeof window !== 'undefined' ? document.body : undefined,
-                        disablePortal: false,
-                        sx: {
-                            zIndex: 1500
-                        },
-                        PaperProps: {
-                            sx: {
-                                maxHeight: 300
-                            }
-                        }
-                    }}
-                >
-                    {availableBrands.map((brand) => (
-                        <MenuItem key={brand} value={brand}>
-                            <Checkbox checked={selectedBrands.indexOf(brand) > -1}/>
-                            <ListItemText primary={brand}/>
-                        </MenuItem>
-                    ))}
-                </Select>
-            </FormControl>
-
-            <Typography gutterBottom fontWeight="bold">Price Range</Typography>
-            <Slider value={priceRange} onChange={(_, v) => setPriceRange(v as number[])} min={0} max={2000}
-                    sx={{color: '#ff8201'}}/>
-            <Box sx={{display: 'flex', justifyContent: 'space-between', mt: 1}}>
-                <Typography variant="caption">${priceRange[0]}</Typography>
-                <Typography variant="caption">${priceRange[1]}+</Typography>
-            </Box>
-
-            {userId && (
-                <Button
-                    fullWidth
-                    variant="contained"
-                    startIcon={<AddCircleIcon/>}
-                    onClick={() => setSuggestOpen(true)}
-                    sx={{
-                        mt: 2,
-                        bgcolor: '#ff8201',
-                        fontWeight: 'bold',
-                        fontSize: '0.875rem',
-                        '&:hover': {bgcolor: '#e67300'}
-                    }}
-                >
-                    Suggest Component
-                </Button>
-            )}
-        </Box>
-    ), [tempSearchQuery, sortOrder, selectedBrands, availableBrands, priceRange, userId]);
-
-    if (!open) return null;
-
-    return (
-        <>
-            <Dialog
-                open={open}
-                onClose={onClose}
-                maxWidth="xl"
-                fullWidth
-                fullScreen
-                sx={{
-                    '& .MuiDialog-paper': {
-                        height: {xs: '100%', md: '90vh'},
-                        m: {xs: 0, md: 2}
-                    }
-                }}
-            >
-                <AppBar position="relative" sx={{bgcolor: '#ff8201'}}>
-                    <Toolbar>
-                        <IconButton
-                            edge="start"
-                            color="inherit"
-                            onClick={() => setMobileFiltersOpen(true)}
-                            sx={{
-                                display: {xs: 'flex', md: 'none'},
-                                mr: 2
-                            }}
-                        >
-                            <Badge badgeContent={activeFiltersCount} color="error">
-                                <FilterListIcon/>
-                            </Badge>
-                        </IconButton>
-
-                        <Typography
-                            sx={{ml: {xs: 0, md: 2}, flex: 1, fontSize: {xs: '1rem', sm: '1.25rem'}}}
-                            variant="h6"
-                            component="div"
-                        >
-                            <Box component="span" sx={{display: {xs: 'none', sm: 'inline'}}}>
-                                Browsing:
-                            </Box>
-                            <b> {
-                                category === 'gpu' ? 'GRAPHICS CARDS'
-                                    : category === 'memory_card' ? 'STORAGE EXPANSION CARDS'
-                                        : category === 'power_supply' ? 'POWER SUPPLIES'
-                                            : category === 'network_card' ? 'NETWORK CARDS'
-                                                : category === 'network_adapters' ? 'NETWORK ADAPTERS'
-                                                    : category === 'sound_card' ? 'SOUND CARDS'
-                                                        : category === 'optical_drive' ? 'OPTICAL DRIVES'
-                                                            : category?.toUpperCase()}</b>
-                            {mode === 'forge' && currentBuildId && (
-                                <Typography
-                                    variant="caption"
-                                    sx={{
-                                        ml: {xs: 1, sm: 2},
-                                        bgcolor: 'rgba(0,0,0,0.2)',
-                                        px: 1,
-                                        py: 0.5,
-                                        borderRadius: 1,
-                                        display: {xs: 'none', sm: 'inline-block'}
-                                    }}
-                                >
-                                    COMPATIBILITY MODE
-                                </Typography>
-                            )}
-                        </Typography>
-                        <IconButton edge="end" color="inherit" onClick={onClose}>
-                            <CloseIcon/>
-                        </IconButton>
-                    </Toolbar>
-                </AppBar>
-
-                <DialogContent sx={{p: 0, display: 'flex', height: '100%', overflow: 'hidden'}}>
-                    <Box sx={{
-                        display: {xs: 'none', md: 'block'},
-                        borderRight: '1px solid #ddd',
-                        overflowY: 'auto',
-                        bgcolor: '#1e1e1e'
-                    }}>
-                        {FilterContent}
-                    </Box>
-                    <Box sx={{flex: 1, p: {xs: 1.5, sm: 2, md: 3}, overflowY: 'auto', bgcolor: '#121212'}}>
-                        {loading ? (
-                            <Box sx={{display: 'flex', justifyContent: 'center', mt: 10}}>
-                                <CircularProgress sx={{color: '#ff8201'}}/>
-                            </Box>
-                        ) : (
-                            <Box sx={{
-                                display: 'grid',
-                                gridTemplateColumns: {
-                                    xs: '1fr',
-                                    sm: 'repeat(2, 1fr)',
-                                    md: 'repeat(2, 1fr)',
-                                    lg: 'repeat(3, 1fr)',
-                                    xl: 'repeat(4, 1fr)'
-                                },
-                                gap: {xs: 1.5, sm: 2, md: 3},
-                                width: '100%'
-                            }}>
-                                {processedComponents.map((comp) => (
-                                    <Box key={comp.id} sx={{width: '100%'}}>
-                                        <Card
-                                            elevation={3}
-                                            sx={{
-                                                width: '100%',
-                                                height: '100%',
-                                                display: 'flex',
-                                                flexDirection: 'column',
-                                                transition: 'transform 0.2s, box-shadow 0.2s',
-                                                '&:hover': {
-                                                    transform: 'translateY(-4px)',
-                                                    boxShadow: 6
-                                                }
-                                            }}
-                                        >
-                                            <Box sx={{position: 'relative', paddingTop: '75%', bgcolor: '#1e1e1e'}}>
-                                                <CardMedia
-                                                    component="img"
-                                                    image={comp.imgUrl || comp.img_url || `https://placehold.co/400x400?text=${comp.name}`}
-                                                    alt={comp.name}
-                                                    sx={{
-                                                        position: 'absolute',
-                                                        top: 0,
-                                                        left: 0,
-                                                        width: '100%',
-                                                        height: '100%',
-                                                        objectFit: 'contain',
-                                                        p: {xs: 1, sm: 2}
-                                                    }}
-                                                />
-                                            </Box>
-
-                                            <CardContent sx={{
-                                                flexGrow: 1,
-                                                display: 'flex',
-                                                flexDirection: 'column',
-                                                justifyContent: 'space-between',
-                                                p: {xs: 1.5, sm: 2}
-                                            }}>
-                                                <Box>
-                                                    <Typography
-                                                        variant="caption"
-                                                        color="text.secondary"
-                                                        sx={{
-                                                            textTransform: 'uppercase',
-                                                            letterSpacing: 0.5,
-                                                            fontSize: {xs: '0.65rem', sm: '0.75rem'}
-                                                        }}
-                                                    >
-                                                        {comp.brand}
-                                                    </Typography>
-                                                    <Typography
-                                                        variant="subtitle1"
-                                                        fontWeight="bold"
-                                                        sx={{
-                                                            lineHeight: 1.2,
-                                                            mt: 0.5,
-                                                            mb: 1,
-                                                            overflow: 'hidden',
-                                                            textOverflow: 'ellipsis',
-                                                            display: '-webkit-box',
-                                                            WebkitLineClamp: 2,
-                                                            WebkitBoxOrient: 'vertical',
-                                                            minHeight: '2.4em',
-                                                            fontSize: {xs: '0.875rem', sm: '1rem'}
-                                                        }}
-                                                    >
-                                                        {comp.name}
-                                                    </Typography>
-                                                </Box>
-                                                <Typography
-                                                    variant="h6"
-                                                    color="primary.main"
-                                                    fontWeight="bold"
-                                                    sx={{fontSize: {xs: '1rem', sm: '1.25rem'}}}
-                                                >
-                                                    {formatMoney(comp.price)}
-                                                </Typography>
-                                            </CardContent>
-
-                                            <Box sx={{
-                                                p: {xs: 1.5, sm: 2},
-                                                pt: 0,
-                                                display: 'flex',
-                                                flexDirection: 'column',
-                                                gap: 1
-                                            }}>
-                                                <Button
-                                                    fullWidth
-                                                    variant="contained"
-                                                    onClick={() => setSelectedComponent(comp)}
-                                                    size="small"
-                                                    sx={{
-                                                        bgcolor: '#ff8201',
-                                                        fontWeight: 'bold',
-                                                        fontSize: {xs: '0.75rem', sm: '0.875rem'},
-                                                        '&:hover': {bgcolor: '#e67300'}
-                                                    }}
-                                                >
-                                                    Details
-                                                </Button>
-                                                {mode === 'forge' && onSelect && (
-                                                    <Button
-                                                        fullWidth
-                                                        variant="contained"
-                                                        onClick={() => onSelect(comp)}
-                                                        size="small"
-                                                        sx={{
-                                                            bgcolor: '#4caf50',
-                                                            fontWeight: 'bold',
-                                                            fontSize: {xs: '0.75rem', sm: '0.875rem'},
-                                                            '&:hover': {bgcolor: '#388e3c'}
-                                                        }}
-                                                    >
-                                                        Add
-                                                    </Button>
-                                                )}
-                                            </Box>
-                                        </Card>
-                                    </Box>
-                                ))}
-                                {processedComponents.length === 0 && (
-                                    <Box sx={{gridColumn: '1 / -1', width: '100%', textAlign: 'center', mt: 5}}>
-                                        <Typography variant="h6" color="text.secondary"
-                                                    sx={{fontSize: {xs: '1rem', sm: '1.25rem'}}}>
-                                            No compatible components found.
-                                        </Typography>
-                                        {mode === 'forge' && (
-                                            <Typography variant="body2" color="error">
-                                                (Try removing incompatible parts)
-                                            </Typography>
-                                        )}
-                                    </Box>
-                                )}
-                            </Box>
-                        )}
-                    </Box>
-                </DialogContent>
-
-                <ComponentDetailsDialog
-                    open={!!selectedComponent}
-                    component={selectedComponent}
-                    onClose={() => setSelectedComponent(null)}
-                />
-            </Dialog>
-
-            <Drawer
-                anchor="left"
-                open={mobileFiltersOpen && open}
-                onClose={() => setMobileFiltersOpen(false)}
-                sx={{zIndex: 1400}}
-                PaperProps={{
-                    sx: {
-                        bgcolor: '#1e1e1e'
-                    }
-                }}
-                disableScrollLock={true}
-            >
-                <Box sx={{pt: 2, width: 280}}>
-                    <Box sx={{
-                        display: 'flex',
-                        justifyContent: 'space-between',
-                        alignItems: 'center',
-                        px: 3,
-                        pb: 2
-                    }}>
-                        <Typography variant="h6" fontWeight="bold">Filters</Typography>
-                        <IconButton onClick={() => setMobileFiltersOpen(false)}>
-                            <CloseIcon/>
-                        </IconButton>
-                    </Box>
-                    {FilterContent}
-                </Box>
-            </Drawer>
-
-            <Dialog open={suggestOpen} onClose={() => setSuggestOpen(false)} maxWidth="sm" fullWidth>
-                <DialogTitle>Suggest a New Component</DialogTitle>
-                <DialogContent>
-                    <MuiTextField
-                        fullWidth
-                        label="Product Link *"
-                        name="link"
-                        value={suggestForm.link}
-                        onChange={handleSuggestChange}
-                        placeholder="https://example.com/product"
-                        sx={{mt: 1}}
-                        size="small"
-                    />
-                    <MuiTextField
-                        fullWidth
-                        label="Description *"
-                        name="description"
-                        value={suggestForm.description}
-                        onChange={handleSuggestChange}
-                        multiline
-                        rows={3}
-                        placeholder="Why should we add this component? Any specs/details?"
-                        sx={{mt: 2}}
-                        size="small"
-                    />
-                    <Typography variant="caption" color="text.secondary" sx={{mt: 1, display: 'block'}}>
-                        Category: <b>{category?.toUpperCase()}</b>
-                    </Typography>
-                </DialogContent>
-                <DialogActions>
-                    <Button onClick={() => setSuggestOpen(false)}>Cancel</Button>
-                    <Button
-                        onClick={submitSuggestion}
-                        disabled={suggestLoading || !userId}
-                        variant="contained"
-                        startIcon={suggestLoading ? <CircularProgress size={20}/> : null}
-                    >
-                        {suggestLoading ? 'Submitting...' : 'Submit Suggestion'}
-                    </Button>
-                </DialogActions>
-            </Dialog>
-
-            <Snackbar
-                open={snackbarOpen}
-                autoHideDuration={4000}
-                onClose={() => setSnackbarOpen(false)}
-                anchorOrigin={{vertical: 'bottom', horizontal: 'right'}}
-            >
-                <Alert onClose={() => setSnackbarOpen(false)} sx={{width: '100%'}}>
-                    {snackbarMessage}
-                </Alert>
-            </Snackbar>
-        </>
-    );
-}
Index: components/Footer.tsx
===================================================================
--- components/Footer.tsx	(revision ff3a6146e85f77e90dc322a0ad0c9d9eb048c629)
+++ 	(revision )
@@ -1,41 +1,0 @@
-import React from 'react';
-import Box from '@mui/material/Box';
-import Typography from '@mui/material/Typography';
-import footerLogoUrl from '../assets/projectlogo.png';
-
-export default function Footer() {
-    return (
-        <Box
-            component="footer"
-            sx={{
-                py: 3,
-                px: 2,
-                mt: 'auto',
-                backgroundColor: (theme) =>
-                    theme.palette.mode === 'light'
-                        ? theme.palette.grey[200]
-                        : theme.palette.grey[800],
-            }}
-        >
-            <Box sx={{ display: 'flex', alignItems: 'center', justifyContent: 'flex-start' }}>
-
-                <Box
-                    component="img"
-                    src={footerLogoUrl}
-                    alt="Footer Logo"
-                    sx={{
-                        height: 30,
-                        mr: 2
-                    }}
-                />
-
-                <Typography variant="body2" color="text.secondary">
-                    {'© '}
-                    {new Date().getFullYear()}
-                    {' PC Forge. All rights reserved.'}
-                </Typography>
-
-            </Box>
-        </Box>
-    );
-}
Index: components/Navbar.tsx
===================================================================
--- components/Navbar.tsx	(revision ff3a6146e85f77e90dc322a0ad0c9d9eb048c629)
+++ 	(revision )
@@ -1,325 +1,0 @@
-import React, { useEffect, useState } from "react";
-import AppBar from "@mui/material/AppBar";
-import Toolbar from "@mui/material/Toolbar";
-import Typography from "@mui/material/Typography";
-import Button from "@mui/material/Button";
-import Box from "@mui/material/Box";
-import Menu from "@mui/material/Menu";
-import MenuItem from "@mui/material/MenuItem";
-import IconButton from "@mui/material/IconButton";
-import Drawer from "@mui/material/Drawer";
-import List from "@mui/material/List";
-import ListItem from "@mui/material/ListItem";
-import ListItemButton from "@mui/material/ListItemButton";
-import ListItemIcon from "@mui/material/ListItemIcon";
-import ListItemText from "@mui/material/ListItemText";
-import Divider from "@mui/material/Divider";
-import Collapse from "@mui/material/Collapse";
-
-import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';
-import MenuIcon from '@mui/icons-material/Menu';
-import CloseIcon from '@mui/icons-material/Close';
-import BuildIcon from '@mui/icons-material/Build';
-import ViewListIcon from '@mui/icons-material/ViewList';
-import ExpandLess from '@mui/icons-material/ExpandLess';
-import ExpandMore from '@mui/icons-material/ExpandMore';
-import PersonIcon from '@mui/icons-material/Person';
-import LogoutIcon from '@mui/icons-material/Logout';
-import LoginIcon from '@mui/icons-material/Login';
-import PersonAddIcon from '@mui/icons-material/PersonAdd';
-
-import {
-    Dialog, DialogTitle, DialogContent, DialogContentText, DialogActions
-} from "@mui/material";
-
-import MemoryIcon from '@mui/icons-material/Memory';
-import DeveloperBoardIcon from '@mui/icons-material/DeveloperBoard';
-import StorageIcon from '@mui/icons-material/Storage';
-import SdStorageIcon from '@mui/icons-material/SdStorage';
-import RouterIcon from '@mui/icons-material/Router';
-import LanIcon from '@mui/icons-material/Lan';
-import SpeakerIcon from '@mui/icons-material/Speaker';
-import AlbumIcon from '@mui/icons-material/Album';
-import SdCardIcon from '@mui/icons-material/SdCard';
-import CableIcon from '@mui/icons-material/Cable';
-
-import LogoUrl from '../assets/projectlogo.png';
-import { onGetAuthState } from "../pages/+Layout.telefunc";
-
-import ComponentDialog from "./ComponentDialog";
-
-type AuthState = { isLoggedIn: boolean; username: string | null; isAdmin?: boolean };
-
-const COMPONENT_CATEGORIES = [
-    { id: 'cpu', label: 'Processors', icon: <MemoryIcon fontSize="small" /> },
-    { id: 'gpu', label: 'Graphics Cards', icon: <DeveloperBoardIcon fontSize="small" /> },
-    { id: 'motherboard', label: 'Motherboards', icon: <DeveloperBoardIcon fontSize="small" /> },
-    { id: 'memory', label: 'Memory (RAM)', icon: <SdStorageIcon fontSize="small" /> },
-    { id: 'storage', label: 'Storage', icon: <StorageIcon fontSize="small" /> },
-    { id: 'case', label: 'Cases', icon: <StorageIcon fontSize="small" /> },
-    { id: 'power_supply', label: 'Power Supplies', icon: <StorageIcon fontSize="small" /> },
-    { id: 'cooler', label: 'Cooling', icon: <StorageIcon fontSize="small" /> },
-    { id: 'network_adapter', label: 'Network Adapters (WiFi)', icon: <RouterIcon fontSize="small" /> },
-    { id: 'network_card', label: 'Network Cards (Ethernet)', icon: <LanIcon fontSize="small" /> },
-    { id: 'sound_card', label: 'Sound Cards', icon: <SpeakerIcon fontSize="small" /> },
-    { id: 'optical_drive', label: 'Optical Drives', icon: <AlbumIcon fontSize="small" /> },
-    { id: 'memory_card', label: 'Storage Cards', icon: <SdCardIcon fontSize="small" /> },
-    { id: 'cables', label: 'Cables', icon: <CableIcon fontSize="small" /> },
-];
-
-export default function Navbar() {
-    const [auth, setAuth] = useState<AuthState | null>(null);
-    const [openLogoutDialog, setOpenLogoutDialog] = useState(false);
-    const [mobileDrawerOpen, setMobileDrawerOpen] = useState(false);
-    const [mobileComponentsOpen, setMobileComponentsOpen] = useState(false);
-
-    const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);
-    const openMenu = Boolean(anchorEl);
-
-    const [browserOpen, setBrowserOpen] = useState(false);
-    const [selectedCategory, setSelectedCategory] = useState<string | null>(null);
-
-    const handleComponentsClick = (event: React.MouseEvent<HTMLButtonElement>) => {
-        setAnchorEl(event.currentTarget);
-    };
-
-    const handleMenuClose = () => {
-        setAnchorEl(null);
-    };
-
-    const handleCategorySelect = (categoryId: string) => {
-        setSelectedCategory(categoryId);
-        setBrowserOpen(true);
-        handleMenuClose();
-        setMobileDrawerOpen(false);
-        setMobileComponentsOpen(false);
-    };
-
-    const handleLogoutClick = (e: React.MouseEvent) => {
-        e.preventDefault();
-        setOpenLogoutDialog(true);
-        setMobileDrawerOpen(false);
-    };
-
-    const confirmLogout = async () => {
-        setAuth({ isLoggedIn: false, username: null, isAdmin: false });
-        setOpenLogoutDialog(false);
-        const csrfRes = await fetch("/api/auth/csrf");
-        const { csrfToken } = await csrfRes.json();
-        await fetch("/api/auth/signout", {
-            method: "POST",
-            headers: { "Content-Type": "application/x-www-form-urlencoded" },
-            body: new URLSearchParams({ csrfToken: csrfToken, callbackUrl: "/" }),
-        });
-        window.location.href = "/";
-    };
-
-    useEffect(() => {
-        let active = true;
-        onGetAuthState()
-            .then((data) => active && setAuth({
-                isLoggedIn: data.isLoggedIn,
-                username: data.username,
-                isAdmin: data.isAdmin
-            }))
-            .catch(() => active && setAuth({ isLoggedIn: false, username: null, isAdmin: false }));
-        return () => { active = false; };
-    }, []);
-
-    const checkDashboardUrl = auth?.isAdmin ? '/dashboard/admin' : '/dashboard/user';
-    const onHoverNav = {
-        color: 'inherit',
-        '&:hover': { backgroundColor: '#ff8201', color: 'white', fontWeight: 'bold' }
-    };
-
-    return (
-        <>
-            <AppBar position="static" color="default" enableColorOnDark>
-                <Toolbar>
-                    <Box sx={{ display: 'flex', alignItems: 'center', mr: { xs: 1, md: 4 } }}>
-                        <Box
-                            component="img"
-                            src={LogoUrl}
-                            alt="PC Forge Logo"
-                            sx={{ height: 40, mr: { xs: 1, md: 2 }, cursor: 'pointer' }}
-                            onClick={() => window.location.href='/'}
-                        />
-                        <Typography
-                            variant="h6"
-                            component="a"
-                            href="/"
-                            sx={{
-                                textDecoration: "none",
-                                color: "inherit",
-                                fontWeight: "bold",
-                                display: { xs: 'none', sm: 'block' }
-                            }}
-                        >
-                            PC Forge
-                        </Typography>
-                    </Box>
-
-                    <Box sx={{ display: { xs: "none", md: "flex" }, gap: 2 }}>
-                        <Button color="inherit" href="/forge" sx={onHoverNav}>Forge</Button>
-
-                        <Button
-                            color="inherit"
-                            onClick={handleComponentsClick}
-                            endIcon={<KeyboardArrowDownIcon />}
-                            sx={onHoverNav}
-                        >
-                            Components
-                        </Button>
-                        <Menu
-                            anchorEl={anchorEl}
-                            open={openMenu}
-                            onClose={handleMenuClose}
-                            MenuListProps={{ 'aria-labelledby': 'basic-button' }}
-                        >
-                            {COMPONENT_CATEGORIES.map((cat) => (
-                                <MenuItem key={cat.id} onClick={() => handleCategorySelect(cat.id)}>
-                                    <ListItemIcon>{cat.icon}</ListItemIcon>
-                                    <ListItemText>{cat.label}</ListItemText>
-                                </MenuItem>
-                            ))}
-                        </Menu>
-
-                        <Button color="inherit" href="/completed-builds" sx={onHoverNav}>Completed Builds</Button>
-                    </Box>
-
-                    <Box sx={{ flexGrow: 1 }} />
-
-                    <Box sx={{ display: { xs: 'none', md: 'flex' }, gap: 1 }}>
-                        {auth?.isLoggedIn ? (
-                            <>
-                                <Button sx={onHoverNav} color="inherit" href={checkDashboardUrl}>{auth.username}</Button>
-                                <Button sx={onHoverNav} color="inherit" onClick={handleLogoutClick}>Logout</Button>
-                            </>
-                        ) : (
-                            <>
-                                <Button color="inherit" href="/auth/login" sx={onHoverNav}>Login</Button>
-                                <Button color="inherit" href="/auth/register" sx={onHoverNav}>Register</Button>
-                            </>
-                        )}
-                    </Box>
-
-                    <IconButton
-                        color="inherit"
-                        edge="end"
-                        onClick={() => setMobileDrawerOpen(true)}
-                        sx={{ display: { xs: 'block', md: 'none' } }}
-                    >
-                        <MenuIcon />
-                    </IconButton>
-                </Toolbar>
-            </AppBar>
-
-            <Drawer
-                anchor="right"
-                open={mobileDrawerOpen}
-                onClose={() => setMobileDrawerOpen(false)}
-                sx={{
-                    display: { xs: 'block', md: 'none' },
-                    '& .MuiDrawer-paper': { width: 280 , height: '60%'}
-                }}
-            >
-                <Box sx={{ p: 2, display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
-                    <Typography variant="h6" fontWeight="bold">Menu</Typography>
-                    <IconButton onClick={() => setMobileDrawerOpen(false)}>
-                        <CloseIcon />
-                    </IconButton>
-                </Box>
-                <Divider />
-
-                <List>
-                    <ListItem disablePadding>
-                        <ListItemButton onClick={() => { window.location.href = '/forge'; }}>
-                            <ListItemIcon><BuildIcon /></ListItemIcon>
-                            <ListItemText primary="Forge" />
-                        </ListItemButton>
-                    </ListItem>
-
-                    <ListItem disablePadding>
-                        <ListItemButton onClick={() => setMobileComponentsOpen(!mobileComponentsOpen)}>
-                            <ListItemIcon><ViewListIcon /></ListItemIcon>
-                            <ListItemText primary="Components" />
-                            {mobileComponentsOpen ? <ExpandLess /> : <ExpandMore />}
-                        </ListItemButton>
-                    </ListItem>
-                    <Collapse in={mobileComponentsOpen} timeout="auto" unmountOnExit>
-                        <List component="div" disablePadding>
-                            {COMPONENT_CATEGORIES.map((cat) => (
-                                <ListItemButton
-                                    key={cat.id}
-                                    sx={{ pl: 4 }}
-                                    onClick={() => handleCategorySelect(cat.id)}
-                                >
-                                    <ListItemIcon>{cat.icon}</ListItemIcon>
-                                    <ListItemText primary={cat.label} />
-                                </ListItemButton>
-                            ))}
-                        </List>
-                    </Collapse>
-
-                    <ListItem disablePadding>
-                        <ListItemButton onClick={() => { window.location.href = '/completed-builds'; }}>
-                            <ListItemIcon><ViewListIcon /></ListItemIcon>
-                            <ListItemText primary="Completed Builds" />
-                        </ListItemButton>
-                    </ListItem>
-
-                    <Divider sx={{ my: 1 }} />
-
-                    {auth?.isLoggedIn ? (
-                        <>
-                            <ListItem disablePadding>
-                                <ListItemButton onClick={() => { window.location.href = checkDashboardUrl; }}>
-                                    <ListItemIcon><PersonIcon /></ListItemIcon>
-                                    <ListItemText primary={"My Profile"} />
-                                </ListItemButton>
-                            </ListItem>
-                            <ListItem disablePadding>
-                                <ListItemButton onClick={handleLogoutClick}>
-                                    <ListItemIcon><LogoutIcon /></ListItemIcon>
-                                    <ListItemText primary="Logout" />
-                                </ListItemButton>
-                            </ListItem>
-                        </>
-                    ) : (
-                        <>
-                            <ListItem disablePadding>
-                                <ListItemButton onClick={() => { window.location.href = '/auth/login'; }}>
-                                    <ListItemIcon><LoginIcon /></ListItemIcon>
-                                    <ListItemText primary="Login" />
-                                </ListItemButton>
-                            </ListItem>
-                            <ListItem disablePadding>
-                                <ListItemButton onClick={() => { window.location.href = '/auth/register'; }}>
-                                    <ListItemIcon><PersonAddIcon /></ListItemIcon>
-                                    <ListItemText primary="Register" />
-                                </ListItemButton>
-                            </ListItem>
-                        </>
-                    )}
-                </List>
-            </Drawer>
-
-            <Dialog open={openLogoutDialog} onClose={() => setOpenLogoutDialog(false)}>
-                <DialogTitle>Confirm Logout</DialogTitle>
-                <DialogContent>
-                    <DialogContentText>Are you sure you want to leave the Forge?</DialogContentText>
-                </DialogContent>
-                <DialogActions>
-                    <Button onClick={() => setOpenLogoutDialog(false)}>Cancel</Button>
-                    <Button onClick={confirmLogout} color="error" variant="contained" autoFocus>Logout</Button>
-                </DialogActions>
-            </Dialog>
-
-            <ComponentDialog
-                open={browserOpen}
-                category={selectedCategory}
-                onClose={() => setBrowserOpen(false)}
-            />
-        </>
-    );
-}
