-
Admin Panel
-
-
- People
- {data.user.username}
-
- Lookup Users
-
+
+
Admin Panel
+
+
+ People
+
+ {data.user.username}
+
+
+ Lookup Users
+
-
- Asset Queue
-
+
+ Asset Queue
+
- Forums
+ Forums
- Website
+ Website
-
- Set Banner
-
-
-
-{#if storeTab === "lookup"}
-
+
+ Set Banner
+
+
+ {#if storeTab === "lookup"}
+
+ {#if !lookupdata}
+
+ {/if}
- {#if !lookupdata}
-
- {/if}
+ {#if lookupdata}
+
+ {/if}
+
+ {/if}
- {#if lookupdata}
-
-
-
-{/if}
+ {#if storeTab === "queue"}
+
+ {/if}
+
-
-
-
-{/if}
-
-
-{#if storeTab === "queue"}
-
-{/if}
-
-
-
\ No newline at end of file
diff --git a/Front/src/routes/avatar/+page.svelte b/Front/src/routes/avatar/+page.svelte
index 4f35b5b..1b65f33 100644
--- a/Front/src/routes/avatar/+page.svelte
+++ b/Front/src/routes/avatar/+page.svelte
@@ -1,175 +1,281 @@
- }
- async function itemaction(action: any,itemid: Number){
- console.log(action)
- console.log(itemid)
- const itemactionresult = await fetch('/api/itemaction', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- 'Authorization': jwt,
- },
- body: JSON.stringify({
- action,
- itemid
- })
- })
- const itemaction = await itemactionresult.json()
- updateItems()
- console.log(itemaction)
+
+
+
+ {
+ updateBodyType("R15")
+ }}
+ value="R15">
+ R15
+
+ {
+ updateBodyType("R6")
+ }}
+ value="R6">
+ R6
+
+
+
+
+ {regeneratebtn}
+
+
- }
- $:{
- if (avatarfilter != "bodycolors"){
- updateItems()
- }else{
- // pop up modal
- const modalComponent: ModalComponent = {
- // Pass a reference to your custom component
- ref: Colorpicker,
- props: { jwt: data.jwt},
- };
- const d: ModalSettings = {
- type: 'component',
- // NOTE: title, body, response, etc are supported!
- component: modalComponent,
- modalClasses: 'w-full max-w-[700px] p-4'
- };
- modalStore.trigger(d);
- }
- }
- let regeneratebtn = "Regenerate"
- let regenerateimg: HTMLImageElement
-
- async function regenerate(){
- if (regenerating === false){
- regenerating = true
- regeneratebtn = "Regenerating..."
- await fetch(`/api/thumbnailrender/?id=${data.user.userid}&method=regenerate`, {
- headers: {'Authorization': jwt}
- })
- await fetch(`/api/thumbnailrender/?id=${data.user.userid}&type=headshot&method=regenerate`, {
- headers: {'Authorization': jwt}
- })
- avatarstore.update(n => n = "/api/thumbnailrender/?id="+data.user.userid+"&a="+Date.now())
- regeneratebtn = "Regenerate"
- regenerating = false
- }
- }
-
+
+
+
+ {
+ updateBodyType("R15")
+ }}
+ value="R15">
+ R15
+
+ {
+ updateBodyType("R6")
+ }}
+ value="R6">
+ R6
+
+
+
+
+ {regeneratebtn}
+
+
-
-
-
-
- {updateBodyType("R15")}} value="R15">R15
- {updateBodyType("R6")}} value="R6">R6
-
-
-
- {regeneratebtn}
-
-
-
-
-
-
-
- {updateBodyType("R15")}} value="R15">R15
- {updateBodyType("R6")}} value="R6">R6
-
-
-
- {regeneratebtn}
-
-
-
-
-
- Shirts
- Pants
- Hats
- Faces
- Packages
- Heads
- Gears
- Emotes
- 🖌️
-
-
- {#if currentItems && avatarfilter != "bodycolors"}
- {#each currentItems as {ItemName, ItemId, Hidden, Equipped}}
- {#if !Hidden}
-
-
-
-
-
{ItemName}
-
- {#if Equipped === true}
-
{itemaction('remove',parseFloat(ItemId))}} class="btn variant-filled-primary rounded-md btn-sm absolute right-0 top-5">Remove
- {:else}
-
{itemaction('wear',parseFloat(ItemId))}} class="btn variant-filled-primary rounded-md btn-sm absolute right-0 top-5">Wear
- {/if}
-
-
- {/if}
- {/each}
- {/if}
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+ Shirts
+
+
+ Pants
+
+
+ Hats
+
+
+ Faces
+
+
+ Packages
+
+
+ Heads
+
+
+ Gears
+
+
+ Emotes
+
+
+ 🖌️
+
+
+
+ {#if currentItems && avatarfilter != "bodycolors"}
+ {#each currentItems as { ItemName, ItemId, Hidden, Equipped }}
+ {#if !Hidden}
+
+
+
+
+
+
+
{ItemName}
+
+ {#if Equipped === true}
+
{
+ itemaction(
+ "remove",
+ parseFloat(ItemId),
+ )
+ }}
+ class="btn variant-filled-primary rounded-md btn-sm absolute right-0 top-5">
+ Remove
+
+ {:else}
+
{
+ itemaction(
+ "wear",
+ parseFloat(ItemId),
+ )
+ }}
+ class="btn variant-filled-primary rounded-md btn-sm absolute right-0 top-5">
+ Wear
+
+ {/if}
+
+ {/if}
+ {/each}
+ {/if}
+
+
+
+
diff --git a/Front/src/routes/catalog/+page.svelte b/Front/src/routes/catalog/+page.svelte
index f2e4e26..86bbbdf 100644
--- a/Front/src/routes/catalog/+page.svelte
+++ b/Front/src/routes/catalog/+page.svelte
@@ -1,152 +1,336 @@
+ $: currentPage = data.currentPage
+ $: currentFilter = data.currentFilter
+ $: currentCategory = data.currentCategory
+ $: items = data.items
+ function setPage(value: number) {
+ if (currentPage - value >= 1 && currentPage - value <= maxiumumPage) {
+ currentPage -= value
+ query.set("page", currentPage.toString())
+ goto(`?${query.toString()}`)
+ }
+ }
+ function setCategory(event: any) {
+ currentCategory = event.target.innerText
+ currentPage = 1
+ query.set("category", currentCategory.toString())
+ query.set("page", "1")
+ goto(`?${query.toString()}`)
+ }
+ function setFilter(event: any) {
+ currentFilter = event.target.innerText
+ currentPage = 1
+ query.set("filter", currentFilter.toString())
+ query.set("page", "1")
+ goto(`?${query.toString()}`)
+ }
+
-
-
-
Catalog
-
Category
-
{setFilter(event)}} class="btn hover:text-blue-300">Featured
-
{setFilter(event)}} class="btn hover:text-blue-300">Best Selling
-
{accessories = !accessories}} class="btn hover:text-blue-300">Accessories
- {#if accessories}
-
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Hats
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Shirts
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Pants
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Gears
-
-{/if}
-
{bodyparts = !bodyparts}} class="btn hover:text-blue-300">Body Parts
-{#if bodyparts}
-
-
{setCategory(event)}} class="btn !text-sm hover:text-blue-300">Faces
-
{setCategory(event)}} class="btn !text-sm hover:text-blue-300">Packages
-
{setCategory(event)}} class="btn !text-sm hover:text-blue-300">Heads
+
+
+
Catalog
+
Category
+
{
+ setFilter(event)
+ }}
+ class="btn hover:text-blue-300">
+ Featured
+
+
{
+ setFilter(event)
+ }}
+ class="btn hover:text-blue-300">
+ Best Selling
+
+
{
+ accessories = !accessories
+ }}
+ class="btn hover:text-blue-300">
+ Accessories
+
+ {#if accessories}
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Hats
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Shirts
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Pants
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Gears
+
+
+ {/if}
+
{
+ bodyparts = !bodyparts
+ }}
+ class="btn hover:text-blue-300">
+ Body Parts
+
+ {#if bodyparts}
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Faces
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Packages
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Heads
+
+
+ {/if}
+
{
+ animations = !animations
+ }}
+ class="btn hover:text-blue-300">
+ Animations
+
+ {#if animations}
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Emotes
+
+
+ {/if}
+
+
+
+
+
+
+
+
{
+ setFilter(event)
+ }}
+ class="btn hover:text-blue-300">
+ Featured
+
+
{
+ setFilter(event)
+ }}
+ class="btn hover:text-blue-300">
+ Best Selling
+
+
{
+ accessories = !accessories
+ }}
+ class="btn hover:text-blue-300 w-full">
+ Accessories
+
+ {#if accessories}
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Hats
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Shirts
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Pants
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Gears
+
+
+ {/if}
+
{
+ bodyparts = !bodyparts
+ }}
+ class="btn hover:text-blue-300 w-full">
+ Body Parts
+
+ {#if bodyparts}
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Faces
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Packages
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Heads
+
+
+ {/if}
+
{
+ animations = !animations
+ }}
+ class="btn hover:text-blue-300 w-full">
+ Animations
+
+ {#if animations}
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Emotes
+
+
+ {/if}
+
+
+
+
{currentFilter}
+
{currentCategory}
+
+
+ {
+ setPage(1)
+ }}
+ class="btn btn-sm bg-surface-600 rounded-md">
+ <
+
+
{currentPage} / {maxiumumPage}
+ {
+ setPage(-1)
+ }}
+ class="btn btn-sm bg-surface-600 rounded-md">
+ >
+
+
+
-{/if}
-
{animations = !animations}} class="btn hover:text-blue-300">Animations
-{#if animations}
-
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Emotes
-
-{/if}
-
-
-
-
-
-
-
-
{setFilter(event)}} class="btn hover:text-blue-300">Featured
-
{setFilter(event)}} class="btn hover:text-blue-300">Best Selling
-
{accessories = !accessories}} class="btn hover:text-blue-300 w-full">Accessories
- {#if accessories}
-
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Hats
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Shirts
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Pants
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Gears
-
- {/if}
-
{bodyparts = !bodyparts}} class="btn hover:text-blue-300 w-full">Body Parts
- {#if bodyparts}
-
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Faces
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Packages
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Heads
-
- {/if}
-
{animations = !animations}} class="btn hover:text-blue-300 w-full">Animations
- {#if animations}
-
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Emotes
-
- {/if}
-
-
-
-
-
-
{currentFilter}
-
{currentCategory}
-
-
- {setPage(1)}} class="btn btn-sm bg-surface-600 rounded-md"><
-
{currentPage} / {maxiumumPage}
- {setPage(-1)}} class="btn btn-sm bg-surface-600 rounded-md">>
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Front/src/routes/catalog/+page.ts b/Front/src/routes/catalog/+page.ts
index f253740..07fde49 100644
--- a/Front/src/routes/catalog/+page.ts
+++ b/Front/src/routes/catalog/+page.ts
@@ -1,25 +1,31 @@
-import { error } from '@sveltejs/kit';
-import type { PageLoad } from './$types';
-import { url as url2 } from '$lib/url';
+import { error } from "@sveltejs/kit"
+import type { PageLoad } from "./$types"
+import { url as url2 } from "$lib/url"
-
export const load = (async ({ fetch, url }) => {
- let items: [];
- const currentPage = Number(url.searchParams.get('page') ?? '1');
- const currentCategory = String(url.searchParams.get('category') ?? 'All');
- const currentFilter = String(url.searchParams.get('filter') ?? 'Featured');
+ let items: []
+ const currentPage = Number(url.searchParams.get("page") ?? "1")
+ const currentCategory = String(url.searchParams.get("category") ?? "All")
+ const currentFilter = String(url.searchParams.get("filter") ?? "Featured")
- const response = await fetch(url2+'/api/catalog/fetch',{method: "POST", body: JSON.stringify({filter: currentFilter,sort: currentCategory, page: currentPage}),headers: {"content-type": "application/json"}});
- const data = await response.json()
-
- if (!data.error){
- return {
- items: data.data,
- maxiumumPage: data.pages,
- currentPage,
- currentFilter,
- currentCategory
- }
- }
+ const response = await fetch(url2 + "/api/catalog/fetch", {
+ method: "POST",
+ body: JSON.stringify({
+ filter: currentFilter,
+ sort: currentCategory,
+ page: currentPage,
+ }),
+ headers: { "content-type": "application/json" },
+ })
+ const data = await response.json()
-}) satisfies PageLoad;
\ No newline at end of file
+ if (!data.error) {
+ return {
+ items: data.data,
+ maxiumumPage: data.pages,
+ currentPage,
+ currentFilter,
+ currentCategory,
+ }
+ }
+}) satisfies PageLoad
diff --git a/Front/src/routes/catalog/[slug]/+page.ts b/Front/src/routes/catalog/[slug]/+page.ts
index 129a2ec..90ee52a 100644
--- a/Front/src/routes/catalog/[slug]/+page.ts
+++ b/Front/src/routes/catalog/[slug]/+page.ts
@@ -1,11 +1,22 @@
-import { error, redirect } from '@sveltejs/kit';
-import type { PageLoad } from './$types';
-
+import { error, redirect } from "@sveltejs/kit"
+import type { PageLoad } from "./$types"
+
export const load = (async ({ fetch, params }) => {
- const res = await fetch(`http://mete0r.xyz/api/catalog/iteminfo/${params.slug}`)
- const data = await res.json()
- if (data.error === false){
- throw redirect(301,'/catalog/'+params.slug+'/'+data.iteminfo.Name.replace(/[^a-zA-Z ]/g, "").replaceAll(' ', '-'))
- }
- throw error(404, 'Not found');
-}) satisfies PageLoad;
\ No newline at end of file
+ const res = await fetch(
+ `http://mete0r.xyz/api/catalog/iteminfo/${params.slug}`,
+ )
+ const data = await res.json()
+ if (data.error === false) {
+ throw redirect(
+ 301,
+ "/catalog/" +
+ params.slug +
+ "/" +
+ data.iteminfo.Name.replace(/[^a-zA-Z ]/g, "").replaceAll(
+ " ",
+ "-",
+ ),
+ )
+ }
+ throw error(404, "Not found")
+}) satisfies PageLoad
diff --git a/Front/src/routes/catalog/[slug]/[name]/+page.svelte b/Front/src/routes/catalog/[slug]/[name]/+page.svelte
index e035f57..3403901 100644
--- a/Front/src/routes/catalog/[slug]/[name]/+page.svelte
+++ b/Front/src/routes/catalog/[slug]/[name]/+page.svelte
@@ -1,137 +1,150 @@
+ if (data.user.inventory) {
+ // check if user already owns item
+ for (let v of data.user.inventory) {
+ if (v.ItemId === data.item.ItemId) {
+ // they already own it
+ disabled = true
+ buyButton = "Owned"
+ }
+ }
+ }
+
- Meteorite - {data.item.Name}
+ Meteorite - {data.item.Name}
-
+
+
+
+ {#if data.user.admin === true}
+
+ Delete
+
+ {/if}
+
+
+
{data.item.Name}
-
-
- {#if data.user.admin === true}
-
Delete
- {/if}
-
-
+
-
{data.item.Name}
-
+
+
+
+
Price
+
+
+
{data.item.Price}
+
+
-
+
+ {buyButton}
+
-
+
+
Type
+
+
{data.item.Type}
+
+
+
Description
+
+
+ {data.item?.Description ?? ""}
+
+
+
+
+
+
+
+
-
-
+
Commentary
-
-
Price
-
-
-
{data.item.Price}
-
-
-
-
{buyButton}
-
-
-
Type
-
-
{data.item.Type}
-
-
-
Description
-
-
{data.item?.Description??""}
-
-
-
-
-
-
-
-
-
-
-
-
-
Commentary
-
-
\ No newline at end of file
+
diff --git a/Front/src/routes/catalog/[slug]/[name]/+page.ts b/Front/src/routes/catalog/[slug]/[name]/+page.ts
index 2b437a2..649f3d2 100644
--- a/Front/src/routes/catalog/[slug]/[name]/+page.ts
+++ b/Front/src/routes/catalog/[slug]/[name]/+page.ts
@@ -1,21 +1,37 @@
-import { error, redirect } from '@sveltejs/kit';
-import type { PageLoad } from './$types';
-
-export const load = (async ({ fetch, params }) => {
- const res = await fetch(`http://mete0r.xyz/api/catalog/iteminfo/${params.slug}`)
- const data = await res.json()
-
- if (params.name != data.iteminfo.Name.replace(/[^a-zA-Z ]/g, "").replaceAll(' ', '-')){
- throw redirect(301,'/catalog/'+params.slug+'/'+data.iteminfo.Name.replace(/[^a-zA-Z ]/g, "").replaceAll(' ', '-'))
- }
+import { error, redirect } from "@sveltejs/kit"
+import type { PageLoad } from "./$types"
- if (data.error === false){
- const creatorusernameresp = await fetch(`http://mete0r.xyz/api/userinfo/${data.iteminfo.Creator??"0"}`)
- const creatorusername = await creatorusernameresp.json()
- return {
- item: data.iteminfo,
- creatorusername: creatorusername.userinfo.username
- }
- }
- throw error(404, 'Not found');
-}) satisfies PageLoad;
\ No newline at end of file
+export const load = (async ({ fetch, params }) => {
+ const res = await fetch(
+ `http://mete0r.xyz/api/catalog/iteminfo/${params.slug}`,
+ )
+ const data = await res.json()
+
+ if (
+ params.name !=
+ data.iteminfo.Name.replace(/[^a-zA-Z ]/g, "").replaceAll(" ", "-")
+ ) {
+ throw redirect(
+ 301,
+ "/catalog/" +
+ params.slug +
+ "/" +
+ data.iteminfo.Name.replace(/[^a-zA-Z ]/g, "").replaceAll(
+ " ",
+ "-",
+ ),
+ )
+ }
+
+ if (data.error === false) {
+ const creatorusernameresp = await fetch(
+ `http://mete0r.xyz/api/userinfo/${data.iteminfo.Creator ?? "0"}`,
+ )
+ const creatorusername = await creatorusernameresp.json()
+ return {
+ item: data.iteminfo,
+ creatorusername: creatorusername.userinfo.username,
+ }
+ }
+ throw error(404, "Not found")
+}) satisfies PageLoad
diff --git a/Front/src/routes/catalog/search/[slug]/+page.svelte b/Front/src/routes/catalog/search/[slug]/+page.svelte
index 9a93c62..2ff8de2 100644
--- a/Front/src/routes/catalog/search/[slug]/+page.svelte
+++ b/Front/src/routes/catalog/search/[slug]/+page.svelte
@@ -1,150 +1,312 @@
-
+ import { json } from "@sveltejs/kit"
+ import { slide } from "svelte/transition"
+ import Itemcard from "../../../../components/itemcard.svelte"
+ import Rocks from "../../../../components/rocks.svelte"
+ import { Avatar } from "@skeletonlabs/skeleton"
+ import { url } from "$lib/url"
+ import type { PageData } from "./$types"
+ export let data: PageData
+ let search = data.slug
+ let accessories = false
+ let bodyparts = false
+ let currentFilter = "Featured"
+ let currentCategory = "All"
+ let currentPage = 1
+ let maxiumumPage = 1
+ $: {
+ search = data.slug
+ currentPage = 1
+ updateItems()
+ }
+ $: data, updateItems()
+ let items: any
+ async function updateItems() {
+ const response = await fetch(url + "/api/catalog/search", {
+ method: "POST",
+ body: JSON.stringify({
+ filter: currentFilter,
+ sort: currentCategory,
+ page: currentPage,
+ searchquery: search,
+ }),
+ headers: { "content-type": "application/json" },
+ })
+ const data = await response.json()
+ if (!data.error) {
+ if (items) {
+ items.length = 0
+ items = items
+ }
+ items = data.data
+ items = items
+ maxiumumPage = data.pages
+ }
+ }
+ function setPage(value: number) {
+ if (currentPage - value >= 1 && currentPage - value <= maxiumumPage) {
+ currentPage -= value
+ updateItems()
+ }
+ }
+ function setCategory(event: any) {
+ currentCategory = event.target.innerText
+ currentPage = 1
+ updateItems()
+ }
+ function setFilter(event: any) {
+ currentFilter = event.target.innerText
+ currentPage = 1
+ updateItems()
+ }
+ updateItems()
+
-
-
-
Catalog
-
Category
-
{setFilter(event)}} class="btn hover:text-blue-300">Featured
-
{setFilter(event)}} class="btn hover:text-blue-300">Best Selling
-
{accessories = !accessories}} class="btn hover:text-blue-300">Accessories
- {#if accessories}
-
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Hats
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Shirts
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Pants
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Gears
-
-{/if}
-
{bodyparts = !bodyparts}} class="btn hover:text-blue-300">Body Parts
-{#if bodyparts}
-
-
{setCategory(event)}} class="btn !text-sm hover:text-blue-300">Faces
-
{setCategory(event)}} class="btn !text-sm hover:text-blue-300">Packages
-
{setCategory(event)}} class="btn !text-sm hover:text-blue-300">Heads
+
+
+
Catalog
+
Category
+
{
+ setFilter(event)
+ }}
+ class="btn hover:text-blue-300">
+ Featured
+
+
{
+ setFilter(event)
+ }}
+ class="btn hover:text-blue-300">
+ Best Selling
+
+
{
+ accessories = !accessories
+ }}
+ class="btn hover:text-blue-300">
+ Accessories
+
+ {#if accessories}
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Hats
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Shirts
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Pants
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Gears
+
+
+ {/if}
+
{
+ bodyparts = !bodyparts
+ }}
+ class="btn hover:text-blue-300">
+ Body Parts
+
+ {#if bodyparts}
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Faces
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Packages
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Heads
+
+
+ {/if}
+
+
+
+
+
+
+
+
{
+ setFilter(event)
+ }}
+ class="btn hover:text-blue-300">
+ Featured
+
+
{
+ setFilter(event)
+ }}
+ class="btn hover:text-blue-300">
+ Best Selling
+
+
{
+ accessories = !accessories
+ }}
+ class="btn hover:text-blue-300 w-full">
+ Accessories
+
+ {#if accessories}
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Hats
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Shirts
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Pants
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Gears
+
+
+ {/if}
+
{
+ bodyparts = !bodyparts
+ }}
+ class="btn hover:text-blue-300 w-full">
+ Body Parts
+
+ {#if bodyparts}
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Faces
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Packages
+
+ {
+ setCategory(event)
+ }}
+ class="btn !text-sm hover:text-blue-300">
+ Heads
+
+
+ {/if}
+
+
+
+
{currentFilter}
+
{currentCategory}
+
+
+ {
+ setPage(1)
+ }}
+ class="btn btn-sm bg-surface-600 rounded-md">
+ <
+
+
{currentPage} / {maxiumumPage}
+ {
+ setPage(-1)
+ }}
+ class="btn btn-sm bg-surface-600 rounded-md">
+ >
+
+
+
-{/if}
-
-
-
-
-
-
-
-
{setFilter(event)}} class="btn hover:text-blue-300">Featured
-
{setFilter(event)}} class="btn hover:text-blue-300">Best Selling
-
{accessories = !accessories}} class="btn hover:text-blue-300 w-full">Accessories
- {#if accessories}
-
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Hats
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Shirts
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Pants
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Gears
-
- {/if}
-
{bodyparts = !bodyparts}} class="btn hover:text-blue-300 w-full">Body Parts
- {#if bodyparts}
-
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Faces
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Packages
- {setCategory(event)}} class="btn !text-sm hover:text-blue-300">Heads
-
- {/if}
-
-
-
-
-
-
{currentFilter}
-
{currentCategory}
-
-
- {setPage(1)}} class="btn btn-sm bg-surface-600 rounded-md"><
-
{currentPage} / {maxiumumPage}
- {setPage(-1)}} class="btn btn-sm bg-surface-600 rounded-md">>
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Front/src/routes/catalog/search/[slug]/+page.ts b/Front/src/routes/catalog/search/[slug]/+page.ts
index c068cfa..ca36b27 100644
--- a/Front/src/routes/catalog/search/[slug]/+page.ts
+++ b/Front/src/routes/catalog/search/[slug]/+page.ts
@@ -1,5 +1,5 @@
export const load = ({ params }) => {
- return {
- slug: params.slug
- }
-}
\ No newline at end of file
+ return {
+ slug: params.slug,
+ }
+}
diff --git a/Front/src/routes/develop/+page.svelte b/Front/src/routes/develop/+page.svelte
index 9307c84..fe137e1 100644
--- a/Front/src/routes/develop/+page.svelte
+++ b/Front/src/routes/develop/+page.svelte
@@ -1,142 +1,163 @@
-
-
+
+
+
Develop
-
Develop
+
+
{
+ openstudio = !openstudio
+ }}
+ class="btn hover:text-blue-300">
+ Open Studio
+
+ {#if openstudio}
+
+ {
+ launch("2016")
+ }}
+ class="btn !text-sm">
+ 2016
+
+ {
+ launch("2020")
+ }}
+ class="btn !text-sm">
+ 2020
+
+
+ {/if}
+
+
-
+
+
+ Shirts
+
+
+ Pants
+
+
+ Games
+
+
+ Audios
+
+
+ Badges
+
+
+ Meshes
+
+
+ User Ads
+
+
+ Videos
+
+
+ Game Passes
+
+
+
+ Developer Products
+
+
+ {#if data.user.admin === true || data.user.ugcpermission === true}
+ Admin
+
+ Hats
+
+
+ Gears
+
+
+ Faces
+
+
+ Packages
+
+
+
+ Animation Bundles
+
+
+
+ Emotes
+
+ {/if}
+
+ {#if storeTab === "Shirts" || storeTab === "Pants"}
+
+ {/if}
-
{openstudio = !openstudio}} class="btn hover:text-blue-300">Open Studio
-{#if openstudio}
-
-
{launch("2016")}} class="btn !text-sm">2016
-
{launch("2020")}} class="btn !text-sm">2020
+ {#if storeTab === "games"}
+
+ {/if}
+
+ {#if storeTab === "audios" || storeTab === "badges" || storeTab === "meshes" || storeTab === "userads" || storeTab === "gamepasses" || storeTab === "videos"}
+
+ {/if}
+
+ {#if storeTab === "Packagess"}
+
+ {/if}
+
+ {#if storeTab === "Hats" || storeTab === "Gears" || storeTab === "Faces" || storeTab === "Emotes"}
+
+ {/if}
+
+ {#if storeTab === "userads"}{/if}
-{/if}
-
-
-
-
-
-
-
- Shirts
-
-
- Pants
-
-
- Games
-
-
- Audios
-
-
- Badges
-
-
- Meshes
-
-
- User Ads
-
-
- Videos
-
-
- Game Passes
-
-
- Developer Products
-
- {#if data.user.admin === true || data.user.ugcpermission === true}
- Admin
-
- Hats
-
-
- Gears
-
-
- Faces
-
-
- Packages
-
-
- Animation Bundles
-
-
- Emotes
-
- {/if}
-
- {#if storeTab === "Shirts" || storeTab === "Pants"}
-
- {/if}
-
- {#if storeTab === "games"}
-
- {/if}
-
- {#if storeTab === "audios" || storeTab === "badges" || storeTab === "meshes" || storeTab === "userads" || storeTab === "gamepasses" || storeTab === "videos"}
-
- {/if}
-
- {#if storeTab === "Packagess"}
-
- {/if}
-
- {#if storeTab === "Hats" || storeTab === "Gears" || storeTab === "Faces" || storeTab === "Emotes"}
-
- {/if}
-
- {#if storeTab === "userads"}
-
- {/if}
-
-
-
\ No newline at end of file
diff --git a/Front/src/routes/friends/+page.svelte b/Front/src/routes/friends/+page.svelte
index 28bbb8b..bab6ecd 100644
--- a/Front/src/routes/friends/+page.svelte
+++ b/Front/src/routes/friends/+page.svelte
@@ -1,33 +1,40 @@
-
-
My Friend Requests
-
-
+
+
My Friend Requests
+
+
-
- {#if data.friendRequests}
- {#each data.friendRequests as {userid, username}}
-
- {/each}
- {/if}
+
+ {#if data.friendRequests}
+ {#each data.friendRequests as { userid, username }}
+
+ {/each}
+ {/if}
+
-
-
-
\ No newline at end of file
diff --git a/Front/src/routes/friends/+page.ts b/Front/src/routes/friends/+page.ts
index 07fcb40..179d279 100644
--- a/Front/src/routes/friends/+page.ts
+++ b/Front/src/routes/friends/+page.ts
@@ -1,14 +1,22 @@
-import { error } from '@sveltejs/kit';
-import type { PageLoad } from './$types';
-
+import { error } from "@sveltejs/kit"
+import type { PageLoad } from "./$types"
+
export const load = (async ({ fetch, parent }) => {
- let data = await parent()
+ let data = await parent()
- const response = await fetch('http://mete0r.xyz/api/friends/friend-requests',{method: "POST",headers: {"content-type": "application/json",'Authorization': data.jwt,}});
- const friendata = await response.json()
+ const response = await fetch(
+ "http://mete0r.xyz/api/friends/friend-requests",
+ {
+ method: "POST",
+ headers: {
+ "content-type": "application/json",
+ Authorization: data.jwt,
+ },
+ },
+ )
+ const friendata = await response.json()
- return {
- friendRequests: friendata.data
- }
-
-}) satisfies PageLoad;
\ No newline at end of file
+ return {
+ friendRequests: friendata.data,
+ }
+}) satisfies PageLoad
diff --git a/Front/src/routes/games/+page.svelte b/Front/src/routes/games/+page.svelte
index 75d6c4e..b910ab5 100644
--- a/Front/src/routes/games/+page.svelte
+++ b/Front/src/routes/games/+page.svelte
@@ -1,120 +1,195 @@
+
-
Popular
-
-
-
+ Popular
+
+
+
-
scrolled(e.target?.scrollLeft,e.target?.clientWidth,e.target?.scrollWidth,"Popular")} class="grid grid-flow-col grid-rows-none overflow-hidden auto-cols-max gap-4 snap-mandatory snap-x scroll-smooth h-40 sm:h-60">
- {#each gamearrays.Popular.array as {nameofgame, idofgame, version, visits, numberofplayers, useridofowner, owner}}
-
- {/each}
-
-
+
+ scrolled(
+ e.target?.scrollLeft,
+ e.target?.clientWidth,
+ e.target?.scrollWidth,
+ "Popular",
+ )}
+ class="grid grid-flow-col grid-rows-none overflow-hidden auto-cols-max gap-4 snap-mandatory snap-x scroll-smooth h-40 sm:h-60">
+ {#each gamearrays.Popular.array as { nameofgame, idofgame, version, visits, numberofplayers, useridofowner, owner }}
+
+ {/each}
+
+
+ Our Recommendations
+
+
+
-
- Our Recommendations
-
-
-
+
+ scrolled(
+ e.target?.scrollLeft,
+ e.target?.clientWidth,
+ e.target?.scrollWidth,
+ "OurRecommendations",
+ )}
+ class="grid grid-flow-col grid-rows-none overflow-hidden auto-cols-max gap-4 snap-mandatory snap-x scroll-smooth h-40 sm:h-60">
+ {#each gamearrays.OurRecommendations.array as { nameofgame, idofgame, version, visits, numberofplayers, useridofowner, owner }}
+
+ {/each}
+
+
+ Most Visited
+
+
+
-
scrolled(e.target?.scrollLeft,e.target?.clientWidth,e.target?.scrollWidth,"OurRecommendations")} class="grid grid-flow-col grid-rows-none overflow-hidden auto-cols-max gap-4 snap-mandatory snap-x scroll-smooth h-40 sm:h-60">
- {#each gamearrays.OurRecommendations.array as {nameofgame, idofgame, version, visits, numberofplayers, useridofowner, owner}}
-
- {/each}
-
-
+
+ scrolled(
+ e.target?.scrollLeft,
+ e.target?.clientWidth,
+ e.target?.scrollWidth,
+ "Visits",
+ )}
+ class="grid grid-flow-col grid-rows-none overflow-hidden auto-cols-max gap-4 snap-mandatory snap-x scroll-smooth h-40 sm:h-60">
+ {#each gamearrays.Visits.array as { nameofgame, idofgame, version, visits, numberofplayers, useridofowner, owner }}
+
+ {/each}
+
+
+ Newest Arrivals
+
+
+
-
- Most Visited
-
-
-
-
- scrolled(e.target?.scrollLeft,e.target?.clientWidth,e.target?.scrollWidth,"Visits")} class="grid grid-flow-col grid-rows-none overflow-hidden auto-cols-max gap-4 snap-mandatory snap-x scroll-smooth h-40 sm:h-60">
- {#each gamearrays.Visits.array as {nameofgame, idofgame, version, visits, numberofplayers, useridofowner, owner}}
-
- {/each}
-
-
-
-
- Newest Arrivals
-
-
-
-
- scrolled(e.target?.scrollLeft,e.target?.clientWidth,e.target?.scrollWidth,"NewestArrivals")} class="grid grid-flow-col grid-rows-none overflow-hidden auto-cols-max gap-4 snap-mandatory snap-x scroll-smooth h-40 sm:h-60">
- {#each gamearrays.NewestArrivals.array as {nameofgame, idofgame, version, visits, numberofplayers, useridofowner, owner}}
-
- {/each}
-
-
-
-
-
-
-
\ No newline at end of file
+
+ scrolled(
+ e.target?.scrollLeft,
+ e.target?.clientWidth,
+ e.target?.scrollWidth,
+ "NewestArrivals",
+ )}
+ class="grid grid-flow-col grid-rows-none overflow-hidden auto-cols-max gap-4 snap-mandatory snap-x scroll-smooth h-40 sm:h-60">
+ {#each gamearrays.NewestArrivals.array as { nameofgame, idofgame, version, visits, numberofplayers, useridofowner, owner }}
+
+ {/each}
+
+
+
diff --git a/Front/src/routes/games/+page.ts b/Front/src/routes/games/+page.ts
index 0bbb6cb..fd42376 100644
--- a/Front/src/routes/games/+page.ts
+++ b/Front/src/routes/games/+page.ts
@@ -1,21 +1,27 @@
-import type { PageLoad } from './$types';
+import type { PageLoad } from "./$types"
import { url } from "$lib/url"
-
+
export const load = (async ({ fetch }) => {
- let gamearrays:any = {Popular: {array: []},OurRecommendations: {array: []}, Visits: {array: []}, NewestArrivals: {array: []} }
+ let gamearrays: any = {
+ Popular: { array: [] },
+ OurRecommendations: { array: [] },
+ Visits: { array: [] },
+ NewestArrivals: { array: [] },
+ }
- async function addToArray(){
- const response = await fetch(url+'/games/firstpaint',{method: "POST",headers: {"content-type": "application/json"}});
- const data = await response.json()
- if (!data.error && data != "[]"){
- gamearrays = data
- }
+ async function addToArray() {
+ const response = await fetch(url + "/games/firstpaint", {
+ method: "POST",
+ headers: { "content-type": "application/json" },
+ })
+ const data = await response.json()
+ if (!data.error && data != "[]") {
+ gamearrays = data
+ }
+ }
+ await addToArray()
- }
- await addToArray()
-
- return {
- firstpaint: gamearrays
- }
-
-}) satisfies PageLoad;
\ No newline at end of file
+ return {
+ firstpaint: gamearrays,
+ }
+}) satisfies PageLoad
diff --git a/Front/src/routes/games/[slug]/+page.ts b/Front/src/routes/games/[slug]/+page.ts
index 2bd3dc8..abefe82 100644
--- a/Front/src/routes/games/[slug]/+page.ts
+++ b/Front/src/routes/games/[slug]/+page.ts
@@ -1,11 +1,19 @@
-import { error, redirect } from '@sveltejs/kit';
-import type { PageLoad } from './$types';
-
+import { error, redirect } from "@sveltejs/kit"
+import type { PageLoad } from "./$types"
+
export const load = (async ({ fetch, params }) => {
- const res = await fetch(`http://mete0r.xyz/games/gameinfo/${params.slug}`)
- const data = await res.json()
- if (data.error === false){
- throw redirect(301,'/games/'+params.slug+'/'+data.gameinfo.nameofgame.replace(/[^a-zA-Z ]/g, "").replaceAll(' ', '-'))
- }
- throw error(404, 'Not found');
-}) satisfies PageLoad;
\ No newline at end of file
+ const res = await fetch(`http://mete0r.xyz/games/gameinfo/${params.slug}`)
+ const data = await res.json()
+ if (data.error === false) {
+ throw redirect(
+ 301,
+ "/games/" +
+ params.slug +
+ "/" +
+ data.gameinfo.nameofgame
+ .replace(/[^a-zA-Z ]/g, "")
+ .replaceAll(" ", "-"),
+ )
+ }
+ throw error(404, "Not found")
+}) satisfies PageLoad
diff --git a/Front/src/routes/games/[slug]/[name]/+page.svelte b/Front/src/routes/games/[slug]/[name]/+page.svelte
index 2c35f96..5603991 100644
--- a/Front/src/routes/games/[slug]/[name]/+page.svelte
+++ b/Front/src/routes/games/[slug]/[name]/+page.svelte
@@ -1,248 +1,381 @@
+ $: if (storeTab === "Store" && gamepasses.length === 0) {
+ requestStore()
+ }
+
-
- Meteorite - {data.game.nameofgame}
-
-
-
-
+
+ Meteorite - {data.game.nameofgame}
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{data.game.nameofgame}
- {#if data?.user?.admin === true || data.game?.useridofowner === data?.user?.userid}
-
-
-
-
-
-
- Shut Down All Servers
- Advertise
-
-
-
- {/if}
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {data.game.nameofgame}
+
+ {#if data?.user?.admin === true || data.game?.useridofowner === data?.user?.userid}
+
+
+
+
+
+
+
+ Shut Down All Servers
+
+
+ Advertise
+
+
+
+
+ {/if}
+
-
-
- {#if data.user}
- {#if data.useragent.includes("Android") === true || data.useragent.includes("iPhone") === true && data.game.version != "2020"}
-
Play
- {:else if data.useragent.includes("Android") === true || data.useragent.includes("iPhone") === true}
-
Play
- {:else}
-
Play
- {/if}
+
+
+ {#if data.user}
+ {#if data.useragent.includes("Android") === true || (data.useragent.includes("iPhone") === true && data.game.version != "2020")}
+
+ Play
+
+ {:else if data.useragent.includes("Android") === true || data.useragent.includes("iPhone") === true}
+
+ Play
+
+ {:else}
+
+ Play
+
+ {/if}
+ {:else}
+
+ Register
+
+ {/if}
+
+
+
+
+ {
+ likefill = "lime"
+ }}
+ on:mouseleave={() => {
+ likefill = "none"
+ }}
+ xmlns="http://www.w3.org/2000/svg"
+ width="24"
+ height="24"
+ viewBox="0 0 24 24"
+ fill={likefill}
+ stroke="lime"
+ stroke-width="2"
+ stroke-linecap="round"
+ stroke-linejoin="round"
+ class="feather feather-thumbs-up">
+
+
+
+
+
0
+
+
+
+ {
+ dislikefill = "red"
+ }}
+ on:mouseleave={() => {
+ dislikefill = "none"
+ }}
+ xmlns="http://www.w3.org/2000/svg"
+ width="24"
+ height="24"
+ viewBox="0 0 24 24"
+ fill={dislikefill}
+ stroke="red"
+ stroke-width="2"
+ stroke-linecap="round"
+ stroke-linejoin="round"
+ class="feather feather-thumbs-up">
+
+
+
+
+
0
+
+
+
+
- {:else}
-
Register
+
+
+ About
+ Store
+ Players
+
+
+
{storeTab}
+ {#if storeTab === "About"}
+
+
+ {data.game?.descrption ?? "No Description"}
+
- {/if}
-
-
-
-
{likefill = "lime"}} on:mouseleave={() => {likefill = "none"}} xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill={likefill} stroke="lime" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-thumbs-up">
-
0
-
-
-
{dislikefill = "red"}} on:mouseleave={() => {dislikefill = "none"}} xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill={dislikefill} stroke="red" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-thumbs-up">
-
0
-
-
-
-
+
+
+
Playing
+
{data.game.numberofplayers}
+
-
-
- About
- Store
- Players
-
-
-
-
{storeTab}
-{#if storeTab === "About"}
+
+
Visits
+
{data.game?.visits ?? "0"}
+
-
-
{data.game?.descrption??"No Description"}
+
+
Created
+
{data.game.creationdate}
+
+
+
+
Commentary
+
+ {/if}
-
-
-
Playing
-
{data.game.numberofplayers}
-
-
-
-
Visits
-
{data.game?.visits??"0"}
-
+ {#if storeTab === "Players"}
+
+
+ {#if data.game.players}
+ {#each data.game.players as { userid, name }}
+
+ {#if data?.user?.admin === true || data.game?.useridofowner === data?.user?.userid}
+
{
+ evictplayer(userid)
+ }}
+ class="btn variant-filled-primary rounded-md btn-sm w-8 h-6 absolute right-0 top-0 z-10">
+ Kick
+
+ {/if}
+
+
+
+
+ {/each}
+ {/if}
+
+
+ {/if}
-
-
Created
-
{data.game.creationdate}
-
-
-
-
-
Commentary
-
-
- {/if}
-
- {#if storeTab === "Players"}
-
-
- {#if data.game.players}
- {#each data.game.players as {userid, name}}
-
- {#if data?.user?.admin === true || data.game?.useridofowner === data?.user?.userid}
-
{evictplayer(userid)}} class="btn variant-filled-primary rounded-md btn-sm w-8 h-6 absolute right-0 top-0 z-10">Kick
- {/if}
-
-
- {/each}
- {/if}
-
-
- {/if}
-
- {#if storeTab === "Store"}
-
-
- {#if gamepasses}
- {#each gamepasses as {Name, Price, ItemId, Hidden, Sales}}
-
- {/each}
- {/if}
-
-
- {/if}
-
\ No newline at end of file
+ {#if storeTab === "Store"}
+
+
+ {#if gamepasses}
+ {#each gamepasses as { Name, Price, ItemId, Hidden, Sales }}
+
+ {/each}
+ {/if}
+
+
+ {/if}
+
diff --git a/Front/src/routes/games/[slug]/[name]/+page.ts b/Front/src/routes/games/[slug]/[name]/+page.ts
index b63d415..6ce7942 100644
--- a/Front/src/routes/games/[slug]/[name]/+page.ts
+++ b/Front/src/routes/games/[slug]/[name]/+page.ts
@@ -1,19 +1,30 @@
-import { error, redirect } from '@sveltejs/kit';
-import type { PageLoad } from './$types';
-
+import { error, redirect } from "@sveltejs/kit"
+import type { PageLoad } from "./$types"
+
export const load = (async ({ fetch, params }) => {
- const res = await fetch(`http://mete0r.xyz/games/gameinfo/${params.slug}`)
- const data = await res.json()
+ const res = await fetch(`http://mete0r.xyz/games/gameinfo/${params.slug}`)
+ const data = await res.json()
- if (params.name != data.gameinfo.nameofgame.replace(/[^a-zA-Z ]/g, "").replaceAll(' ', '-')){
- throw redirect(301,'/games/'+params.slug+'/'+data.gameinfo.nameofgame.replace(/[^a-zA-Z ]/g, "").replaceAll(' ', '-'))
- }
+ if (
+ params.name !=
+ data.gameinfo.nameofgame.replace(/[^a-zA-Z ]/g, "").replaceAll(" ", "-")
+ ) {
+ throw redirect(
+ 301,
+ "/games/" +
+ params.slug +
+ "/" +
+ data.gameinfo.nameofgame
+ .replace(/[^a-zA-Z ]/g, "")
+ .replaceAll(" ", "-"),
+ )
+ }
- if (data.error === false){
- return {
- game: data.gameinfo,
- creatorusername: data.gameinfo.owner.username
- }
- }
- throw error(404, 'Not found');
-}) satisfies PageLoad;
\ No newline at end of file
+ if (data.error === false) {
+ return {
+ game: data.gameinfo,
+ creatorusername: data.gameinfo.owner.username,
+ }
+ }
+ throw error(404, "Not found")
+}) satisfies PageLoad
diff --git a/Front/src/routes/games/search/[slug]/+page.svelte b/Front/src/routes/games/search/[slug]/+page.svelte
index 2630528..eef7391 100644
--- a/Front/src/routes/games/search/[slug]/+page.svelte
+++ b/Front/src/routes/games/search/[slug]/+page.svelte
@@ -1,59 +1,74 @@
-
Results for {search}:
-
- {#each gamearray as {nameofgame, idofgame, version, visits, numberofplayers, useridofowner}}
-
- {/each}
-
-
-
-
-
\ No newline at end of file
+ Results for {search}:
+
+ {#each gamearray as { nameofgame, idofgame, version, visits, numberofplayers, useridofowner }}
+
+ {/each}
+
+
diff --git a/Front/src/routes/games/search/[slug]/+page.ts b/Front/src/routes/games/search/[slug]/+page.ts
index c068cfa..ca36b27 100644
--- a/Front/src/routes/games/search/[slug]/+page.ts
+++ b/Front/src/routes/games/search/[slug]/+page.ts
@@ -1,5 +1,5 @@
export const load = ({ params }) => {
- return {
- slug: params.slug
- }
-}
\ No newline at end of file
+ return {
+ slug: params.slug,
+ }
+}
diff --git a/Front/src/routes/groupss/+page.svelte b/Front/src/routes/groupss/+page.svelte
index 4ce42c9..17145f4 100644
--- a/Front/src/routes/groupss/+page.svelte
+++ b/Front/src/routes/groupss/+page.svelte
@@ -1,22 +1,15 @@
-
-
+ import type { PageData } from "../$types"
+ import Groupbar from "../../components/groups/groupbar.svelte"
+ let selectedgroup = "Lambda Media Group"
+ export let data: PageData
+
Having created or logged into an account. You agree to these terms.