diff --git a/theme-costume-app/src/App.js b/theme-costume-app/src/App.js
index f3a1ba18775e69afb29501093292da44346d7eea..25946b5a24f97a6ee5fc1c4199c8bfeffe45771e 100644
--- a/theme-costume-app/src/App.js
+++ b/theme-costume-app/src/App.js
@@ -1,31 +1,37 @@
-import React from 'react';
+import React, {useState} from 'react';
 import { BrowserRouter as Router, Route, Routes, Link } from 'react-router-dom';
 import Home from './Home';
 import About from './About';
+import Profile from './Profile'
 import ResponsiveAppBar from './components/ResponsiveAppBar';
 
 function App() {
+  const [user, setUser] = useState(null);
+
+  const handleSignup = (formData) => {
+    // Simulate user signup (for demo purposes)
+    setUser({
+      username: formData.username,
+      email: formData.email,
+      creditPoints: 0, // Set initial credit points for new user
+      avatarUrl: '', // You can provide a default avatar URL or leave it empty
+    });
+  };
+
   return (
     <Router>
       <div className="App">
         <ResponsiveAppBar />
-        <h1>Welcome to My React App</h1>
-        <nav>
-          <ul>
-            <li>
-              <Link to="/">Home</Link>
-            </li>
-            <li>
-              <Link to="/about">About</Link>
-            </li>
-          </ul>
-        </nav>
           {/* Route for Home page */}
         <Routes>
           <Route exact path="/" Component={Home} />
 
           {/* Route for About page */}
           <Route path="/about" Component={About} />
+          <Route path="/about" Component={Home} />
+          <Route path="/profile" element={<Profile user={user} onSignup={handleSignup}/>} />
+          <Route path="/about" Component={Home} />
+
         </Routes>  
       </div>
     </Router>
diff --git a/theme-costume-app/src/Home.js b/theme-costume-app/src/Home.js
index 552e76c4e6f70114363b6c2841fbff2bb661b6a8..dd7e7ef67beed4761ac11119146b899f50c45b05 100644
--- a/theme-costume-app/src/Home.js
+++ b/theme-costume-app/src/Home.js
@@ -1,9 +1,23 @@
 import React from 'react';
 import Carousel from './components/Carousel';
 import halloweenImg from './assets/Halloween.jpg'
-import footballImg from './assets/Halloween.jpg'
-import collegeImg from './assets/Halloween.jpg'
+import footballImg from './assets/christmas.jpg'
+import collegeImg from './assets/college.webp'
 import MyCarousel from './components/MyCarousel';
+import Product from './components/Product';
+import { Grid, ThemeProvider, Typography } from '@mui/material';
+
+import cheerleader from './assets/manlig-hejarklacksledare.jpg';
+import yellowSuit from './assets/suitmeister-gul-kostym.jpg';
+import glitterHatt from './assets/glitterhatt-guld.jpg';
+import bananaCostume from './assets/banan-maskeraddrakt.jpg'
+import grandma from './assets/grandma-maskeraddrakt.jpg'
+import cow from './assets/kossa-budget.jpg'
+import cheerleaderRed from './assets/manlig-hejarklacksledare-rod.jpg'
+import nun from './assets/manlig-nunna.jpg'
+import sjuksköterska from './assets/manlig-sjukskoterska.jpg'
+import tennisProf from './assets/tennisproffs-maskeraddrakt.jpg'
+import theme from './styles/theme.js'
 const themeCategoryImg = [
   {
     name: 'Halloween',
@@ -19,14 +33,45 @@ const themeCategoryImg = [
   }
 ]
 
+
 const Home = () => {
+  const products = [
+    { id: 1, imageUrl: cheerleader, price: 29.99 },
+    { id: 2, imageUrl: yellowSuit, price: 39.99 },
+    { id: 3, imageUrl: glitterHatt, price: 49.99 },
+    { id: 4, imageUrl: bananaCostume, price: 29.99 },
+    { id: 5, imageUrl: grandma, price: 39.99 },
+    { id: 6, imageUrl: cow, price: 49.99 },
+    { id: 7, imageUrl: cheerleaderRed, price: 49.99 },
+    { id: 8, imageUrl: nun, price: 29.99 },
+    { id: 9, imageUrl: sjuksköterska, price: 39.99 },
+    { id: 10, imageUrl: tennisProf, price: 49.99 },
+    // Add more products as needed
+  ];
+
   return (
+    <ThemeProvider theme={theme}>
+
     <div>
-      {/* <Carousel showingItems={1} items={themeCategoryImg}/> */}
-      <MyCarousel />
-      <h2>Home Page</h2>
-      <p>Welcome to the Home page!</p>
+      <Carousel showingItems={1} items={themeCategoryImg}/>
+      {/* <MyCarousel /> */}
+      <div style={{ padding: 16 }}>
+        <Typography 
+          variant='h3'
+          color='primary'
+          >
+          All products
+        </Typography>
+        <Grid container spacing={3}>
+          {products.map((product) => (
+            <Grid key={product.id} item xs={12} sm={6} md={4} lg={3}>
+              <Product imageUrl={product.imageUrl} price={product.price} />
+            </Grid>
+          ))}
+        </Grid>
+      </div>
     </div>
+    </ThemeProvider>
   );
 };
 
diff --git a/theme-costume-app/src/Profile.js b/theme-costume-app/src/Profile.js
new file mode 100644
index 0000000000000000000000000000000000000000..a5871c322e7b03f2c44e89dee4d162abdff40de4
--- /dev/null
+++ b/theme-costume-app/src/Profile.js
@@ -0,0 +1,36 @@
+// src/Profile.js
+
+import React from 'react';
+import { Avatar, Card, CardContent, Typography } from '@mui/material';
+import SignupForm from './components/SignupForm';
+
+const Profile = ({ user, onSignup }) => {
+  if (!user) {
+    // User is not logged in, display signup form
+    return <SignupForm onSignup={onSignup} />;
+  }
+
+  // User is logged in, display profile information
+  return (
+    <Card sx={{ maxWidth: 400, margin: 'auto', marginTop: 50 }}>
+      <CardContent>
+        <Avatar
+          sx={{ width: 100, height: 100, margin: 'auto', marginBottom: 20 }}
+          alt="User Avatar"
+          src={user.avatarUrl || 'https://via.placeholder.com/100'}
+        />
+        <Typography variant="h5" align="center" gutterBottom>
+          {user.username}
+        </Typography>
+        <Typography variant="body1" align="center" color="textsecondary" gutterBottom>
+          Email: {user.email}
+        </Typography>
+        <Typography variant="body2" align="center" color="textSecondary">
+          Credit Points: {user.creditPoints}
+        </Typography>
+      </CardContent>
+    </Card>
+  );
+};
+
+export default Profile;
diff --git a/theme-costume-app/src/assets/banan-maskeraddrakt.jpg b/theme-costume-app/src/assets/banan-maskeraddrakt.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..f7f0a6eaf1ca747a70ae2e8d44b2ace7daa840c5
Binary files /dev/null and b/theme-costume-app/src/assets/banan-maskeraddrakt.jpg differ
diff --git a/theme-costume-app/src/assets/christmas.jpg b/theme-costume-app/src/assets/christmas.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..6427f535709bee6d0becb4f03d96094bec0dab62
Binary files /dev/null and b/theme-costume-app/src/assets/christmas.jpg differ
diff --git a/theme-costume-app/src/assets/college.webp b/theme-costume-app/src/assets/college.webp
new file mode 100644
index 0000000000000000000000000000000000000000..c04538ef5907f48752b9def496c563f4ef527b49
Binary files /dev/null and b/theme-costume-app/src/assets/college.webp differ
diff --git a/theme-costume-app/src/assets/glitterhatt-guld.jpg b/theme-costume-app/src/assets/glitterhatt-guld.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d864706e0bde71d4317f1f6c529049b46da9a9d5
Binary files /dev/null and b/theme-costume-app/src/assets/glitterhatt-guld.jpg differ
diff --git a/theme-costume-app/src/assets/grandma-maskeraddrakt.jpg b/theme-costume-app/src/assets/grandma-maskeraddrakt.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..0ac83d33d4e2bb35b2214a61d90729faa84ad6d7
Binary files /dev/null and b/theme-costume-app/src/assets/grandma-maskeraddrakt.jpg differ
diff --git a/theme-costume-app/src/assets/kossa-budget.jpg b/theme-costume-app/src/assets/kossa-budget.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e62fd900c56c3bd5da4223fe420eebb53e5a9bd6
Binary files /dev/null and b/theme-costume-app/src/assets/kossa-budget.jpg differ
diff --git a/theme-costume-app/src/assets/manlig-hejarklacksledare-rod.jpg b/theme-costume-app/src/assets/manlig-hejarklacksledare-rod.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ffb41c038cc2c620e761c5bef524896fa09186ac
Binary files /dev/null and b/theme-costume-app/src/assets/manlig-hejarklacksledare-rod.jpg differ
diff --git a/theme-costume-app/src/assets/manlig-hejarklacksledare.jpg b/theme-costume-app/src/assets/manlig-hejarklacksledare.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9b339d38959f510eef5c698057301feed3744573
Binary files /dev/null and b/theme-costume-app/src/assets/manlig-hejarklacksledare.jpg differ
diff --git a/theme-costume-app/src/assets/manlig-nunna.jpg b/theme-costume-app/src/assets/manlig-nunna.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..7421337a5fdf02661ba5441ad066fb37062b3500
Binary files /dev/null and b/theme-costume-app/src/assets/manlig-nunna.jpg differ
diff --git a/theme-costume-app/src/assets/manlig-sjukskoterska.jpg b/theme-costume-app/src/assets/manlig-sjukskoterska.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5a04d62ca98527399862915bbe088e7d0c3df079
Binary files /dev/null and b/theme-costume-app/src/assets/manlig-sjukskoterska.jpg differ
diff --git a/theme-costume-app/src/assets/suitmeister-gul-kostym.jpg b/theme-costume-app/src/assets/suitmeister-gul-kostym.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..7cd82fce8d00bc175c443d1bcb2964adb7419e8c
Binary files /dev/null and b/theme-costume-app/src/assets/suitmeister-gul-kostym.jpg differ
diff --git a/theme-costume-app/src/assets/tennisproffs-maskeraddrakt.jpg b/theme-costume-app/src/assets/tennisproffs-maskeraddrakt.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..494f48bf5b5f58d05107f66bcf9d891eca64fad2
Binary files /dev/null and b/theme-costume-app/src/assets/tennisproffs-maskeraddrakt.jpg differ
diff --git a/theme-costume-app/src/components/Carousel.js b/theme-costume-app/src/components/Carousel.js
index 77ff0d15606ba462a5ef507b57a5b625acba677f..096b1052bbedc52484c60ac089bb2cec8d11605f 100644
--- a/theme-costume-app/src/components/Carousel.js
+++ b/theme-costume-app/src/components/Carousel.js
@@ -70,7 +70,7 @@ const Carousel = ({ showingItems, items }) => {
   return (
     <div style={styles.container}>
       <div style={styles.topRow}>
-        <h3>Recently Added</h3>
+        <h3>Teman</h3>
         <div style={{ display: 'flex', alignItems: 'center' }}>
           <NavigationComponent
             goToPreviousPage={previousPage}
diff --git a/theme-costume-app/src/components/Product.js b/theme-costume-app/src/components/Product.js
new file mode 100644
index 0000000000000000000000000000000000000000..6c00afb16c9b814d8fcff8f85d8de61d94b9f2e2
--- /dev/null
+++ b/theme-costume-app/src/components/Product.js
@@ -0,0 +1,50 @@
+// src/Product.js
+
+import React, {useState} from 'react';
+import { Card, CardContent, CardMedia, Typography, Dialog, DialogContent, Button } from '@mui/material';
+
+const Product = ({ imageUrl, price }) => {
+  const [open, setOpen] = useState(false);
+
+  const handleOpen = () => {
+    setOpen(true);
+  };
+
+  const handleClose = () => {
+    setOpen(false);
+  };
+
+  const handleAddToCart = () => {
+    // You can implement the add to cart functionality here
+    alert('Product added to cart');
+    handleClose(); // Close the dialog after adding to cart (optional)
+  };
+
+  return (
+    <>
+    <Card sx={{ maxWidth: 345, cursor: 'pointer' }} onClick={handleOpen}>
+      <CardMedia
+        component="img"
+        height="280"
+        image={imageUrl}
+        alt="Product Image"
+      />
+      <CardContent>
+        <Typography variant="h5" color='secondary' component="div">
+          Price: ${price}
+        </Typography>
+      </CardContent>
+    </Card>
+    <Dialog open={open} onClose={handleClose}>
+      <DialogContent>
+        <img src={imageUrl} alt="Product Image" style={{ maxWidth: '100%' }} />
+      </DialogContent>
+      <Button variant="contained" color="primary" onClick={handleAddToCart} style={{ marginTop: 16 }}>
+            Add to Cart
+      </Button>
+    </Dialog>
+    </>
+  );
+};
+
+export default Product;
diff --git a/theme-costume-app/src/components/ResponsiveAppBar.js b/theme-costume-app/src/components/ResponsiveAppBar.js
index 8c435ab912edc552db351c4fb9e219b647119f16..62d788da9eed1e7e2fe1a5d79d35643381c8d29d 100644
--- a/theme-costume-app/src/components/ResponsiveAppBar.js
+++ b/theme-costume-app/src/components/ResponsiveAppBar.js
@@ -13,7 +13,7 @@ import Tooltip from '@mui/material/Tooltip';
 import MenuItem from '@mui/material/MenuItem';
 import AdbIcon from '@mui/icons-material/Adb';
 
-const pages = ['Products', 'Pricing', 'Blog'];
+const pages = ['Kategorier', 'Nyheter', 'Topplistan'];
 const settings = ['Profile', 'Account', 'Dashboard', 'Logout'];
 
 function ResponsiveAppBar() {
diff --git a/theme-costume-app/src/components/Sidebar.js b/theme-costume-app/src/components/Sidebar.js
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/theme-costume-app/src/components/SignupForm.js b/theme-costume-app/src/components/SignupForm.js
new file mode 100644
index 0000000000000000000000000000000000000000..1abbdcb58b1a270a0edb15a653c60ba6a13354d8
--- /dev/null
+++ b/theme-costume-app/src/components/SignupForm.js
@@ -0,0 +1,53 @@
+// src/SignupForm.js
+
+import React, { useState } from 'react';
+import { TextField, Button, Typography } from '@mui/material';
+
+const SignupForm = ({ onSignup }) => {
+  const [email, setEmail] = useState('');
+  const [username, setUsername] = useState('');
+  const [password, setPassword] = useState('');
+
+  const handleSignup = () => {
+    // Perform signup logic (e.g., call an API to register the user)
+    // For demonstration, just log the form data
+    console.log({ email, username, password });
+    // Invoke parent callback with form data
+    onSignup({ email, username, password });
+  };
+
+  return (
+    <div>
+      <Typography variant="h4" gutterBottom>
+        Sign Up
+      </Typography>
+      <TextField
+        label="Email"
+        fullWidth
+        value={email}
+        onChange={(e) => setEmail(e.target.value)}
+        margin="normal"
+      />
+      <TextField
+        label="Username"
+        fullWidth
+        value={username}
+        onChange={(e) => setUsername(e.target.value)}
+        margin="normal"
+      />
+      <TextField
+        label="Password"
+        fullWidth
+        type="password"
+        value={password}
+        onChange={(e) => setPassword(e.target.value)}
+        margin="normal"
+      />
+      <Button variant="contained" color="primary" onClick={handleSignup}>
+        Sign Up
+      </Button>
+    </div>
+  );
+};
+
+export default SignupForm;
diff --git a/theme-costume-app/src/styles/theme.js b/theme-costume-app/src/styles/theme.js
new file mode 100644
index 0000000000000000000000000000000000000000..b2ffb2814d90b2cfbf3d39d530006ff69d104535
--- /dev/null
+++ b/theme-costume-app/src/styles/theme.js
@@ -0,0 +1,19 @@
+import { createTheme } from '@mui/material/styles';
+
+// Define your custom theme
+const theme = createTheme({
+  palette: {
+    primary: {
+      main: '#2ecc71',
+      secondary: '#2ecc71',
+    },
+    secondary: {
+      main: '#3498db',
+    },
+    text: {
+      primary: "#3498db",
+    }
+  },
+});
+
+export default theme;
diff --git a/theme-costume-app/src/theme.js b/theme-costume-app/src/theme.js
index 52293f62c497d5285b5b9372000118804b877a39..605aae5629e391e2335b35f0e05ff50468708b3e 100644
--- a/theme-costume-app/src/theme.js
+++ b/theme-costume-app/src/theme.js
@@ -4,14 +4,14 @@ import { createTheme } from '@mui/material/styles';
 const theme = createTheme({
   palette: {
     primary: {
-      main: '#cf32c1',
-      secondary: '#10e858',
+      main: '#2ecc71',
+      secondary: '#3498db',
     },
     secondary: {
-      main: '#f50057',
+      main: '#3498db',
     },
     text: {
-      primary: "#10e858",
+      primary: "#3498db",
     }
   },
 });