From 8932165f7b31b244ee936df17e672ad3e6532c10 Mon Sep 17 00:00:00 2001 From: drake Date: Thu, 20 Mar 2025 21:30:54 -0500 Subject: [PATCH] changes --- src/app.css | 10 ++ src/lib/db/index.server.ts | 6 +- src/lib/index.server.ts | 21 ++- src/routes/+layout.svelte | 142 ++++++++++++------ src/routes/+page.svelte | 17 +-- src/routes/account/+page.svelte | 2 +- src/routes/admin/companies/+page.svelte | 6 +- src/routes/admin/postings/+page.server.ts | 2 +- src/routes/admin/postings/+page.svelte | 6 +- src/routes/admin/users/[user]/+page.svelte | 2 +- src/routes/admin/users/create/+page.server.ts | 12 +- src/routes/companies/+page.svelte | 2 +- src/routes/companies/[company]/+page.svelte | 4 +- .../companies/[company]/edit/+page.svelte | 2 +- .../[company]/edit/employers/+page.svelte | 2 +- src/routes/postings/+page.svelte | 6 +- src/routes/postings/[posting]/+page.svelte | 2 +- .../postings/[posting]/apply/+page.svelte | 2 +- 18 files changed, 162 insertions(+), 84 deletions(-) diff --git a/src/app.css b/src/app.css index b51136b..9b4ca0f 100644 --- a/src/app.css +++ b/src/app.css @@ -411,3 +411,13 @@ h2 { .top-with-navbar { top: 72px; } + +.footer { + position: relative; + bottom: 0; + /*width: 100%;*/ + /*position: absolute;*/ + /*bottom: 0;*/ + /*width: 100%;*/ +} + diff --git a/src/lib/db/index.server.ts b/src/lib/db/index.server.ts index 83acb91..103bf0e 100644 --- a/src/lib/db/index.server.ts +++ b/src/lib/db/index.server.ts @@ -1,7 +1,7 @@ import bcrypt from 'bcrypt'; import sql from '$lib/db/db.server'; import { error } from '@sveltejs/kit'; -import { saveAvatar, saveLogo } from '$lib/index.server'; +import { deleteLogo, saveAvatar, saveLogo } from '$lib/index.server'; import { EmploymentType, type User, @@ -295,6 +295,8 @@ export async function editCompany(company: Company): Promise { RETURNING id; `; + await saveLogo(company); + return response[0].id; } @@ -303,6 +305,8 @@ export async function deleteCompany(id: number): Promise { DELETE FROM companies WHERE id = ${id}; `; + + await deleteLogo({ id: id }); } export async function getCompany(id: number): Promise { diff --git a/src/lib/index.server.ts b/src/lib/index.server.ts index c6db7d2..0307d60 100644 --- a/src/lib/index.server.ts +++ b/src/lib/index.server.ts @@ -15,13 +15,26 @@ export async function saveAvatar(user: User): Promise { } export async function saveLogo(company: Company): Promise { - const url = `https://ui-avatars.com/api/?background=random&format=svg&name=${encodeURIComponent(company.name!)}`; - const response = await fetch(url, { headers: { accept: 'image/svg+xml' } }); - const avatar = await response.text(); - const filePath = path.join('static', 'uploads', 'logos', `${company.id}.svg`); + // const url = `https://ui-avatars.com/api/?background=random&format=svg&name=${encodeURIComponent(company.name!)}`; + // const response = await fetch(url, { headers: { accept: 'image/svg+xml' } }); + // const avatar = await response.text(); + // const filePath = path.join('static', 'uploads', 'logos', `${company.id}.svg`); + const url = `https://img.logo.dev/${new URL(company.website!).hostname}`; + console.log(url); + const response = await fetch(url, { headers: { accept: 'image/jpeg' } }); + const avatar = await response.buffer(); + const filePath = path.join('static', 'uploads', 'logos', `${company.id}.jpg`); fs.writeFileSync(filePath, avatar); } +export async function deleteLogo(company: Company): Promise { + // const url = `https://ui-avatars.com/api/?background=random&format=svg&name=${encodeURIComponent(company.name!)}`; + // const response = await fetch(url, { headers: { accept: 'image/svg+xml' } }); + // const avatar = await response.text(); + const filePath = path.join('static', 'uploads', 'logos', `${company.id}.jpg`); + fs.rmSync(filePath); +} + // TODO: change to return null instead of -1 export function getUserPerms(cookies: Cookies): number { if (process.env.JWT_SECRET === undefined) { diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index b3c9d77..46ff963 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -39,54 +39,104 @@ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..40,400,0,0&display=block&icon_names=account_circle,arrow_drop_down,arrow_drop_up,calendar_today,call,check,close,dark_mode,delete,description,edit,group,info,light_mode,login,mail,person,search,sell,store,visibility,visibility_off,work" /> -
- -
- - - - {userState.id !== null ? 'account_circle' : 'login'} - - + + {userState.id !== null ? 'account_circle' : 'login'} + + + {userState.id !== null ? 'Account' : 'Sign-in'} + + +
- -
- {@render children()} +
+ {@render children()} +
+ +
+ + + + + + + + + + + + + diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 42f47c3..a83a7b5 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -10,24 +10,13 @@
-

Welcome to CareerConnect!

+ MarinoDev Logo +

CareerConnect

+

Connecting Students with Opportunities

We are a platform that connects students with employers.

We provide an accessible way for students to find internships and co-op opportunities, and for employers to find students to fill their positions.

-

Contact Information:

-

Drake Marino:

- drake@marinodev.com -

Chetan Malkan:

- chetan@marinodev.com -

Source Code:

- https://git.marinodev.com/MarinoDev/FBLA25
diff --git a/src/routes/account/+page.svelte b/src/routes/account/+page.svelte index ad5b465..0b627e3 100644 --- a/src/routes/account/+page.svelte +++ b/src/routes/account/+page.svelte @@ -123,7 +123,7 @@ {company.id} {company.name} - {company.website} + {company.website} {company.createdAt?.toLocaleDateString('en-US', dateFormatOptions) || 'unknown'} { - const search = url.searchParams.get('searchUsers'); + const search = url.searchParams.get('searchPostings'); const perms = getUserPerms(cookies); if (perms >= 0 && (perms & PERMISSIONS.MANAGE_POSTINGS) > 0) { return { diff --git a/src/routes/admin/postings/+page.svelte b/src/routes/admin/postings/+page.svelte index e4a5aa8..31eb5eb 100644 --- a/src/routes/admin/postings/+page.svelte +++ b/src/routes/admin/postings/+page.svelte @@ -25,9 +25,9 @@