diff --git a/.changeset/loud-parents-press.md b/.changeset/loud-parents-press.md new file mode 100644 index 00000000..5f1ceea5 --- /dev/null +++ b/.changeset/loud-parents-press.md @@ -0,0 +1,8 @@ +--- +"@quassel/frontend": patch +"@quassel/backend": patch +"@quassel/mockup": patch +"@quassel/ui": patch +--- + +Rebrand quassel to LEMON diff --git a/apps/backend/db/seeds/DatabaseSeeder.ts b/apps/backend/db/seeds/DatabaseSeeder.ts index 084442c7..582d8510 100644 --- a/apps/backend/db/seeds/DatabaseSeeder.ts +++ b/apps/backend/db/seeds/DatabaseSeeder.ts @@ -18,12 +18,12 @@ export class DatabaseSeeder extends Seeder { { role: UserRole.ADMIN, email: "admin@example.com", - password: await getPasswordHash("Quassel*1234"), + password: await getPasswordHash("Lemon*1234"), }, { role: UserRole.ASSISTANT, email: "assistant@example.com", - password: await getPasswordHash("Quassel*1234"), + password: await getPasswordHash("Lemon*1234"), }, ]; diff --git a/apps/frontend/index.html b/apps/frontend/index.html index 42d36768..aab16dad 100644 --- a/apps/frontend/index.html +++ b/apps/frontend/index.html @@ -1,33 +1,36 @@ - - - - Quassel - - - - - -
- - - + body { + margin: 0; + padding: 0; + min-height: 100%; + } + + #root { + min-height: 100%; + } + + + + + +
+ + + + \ No newline at end of file diff --git a/apps/frontend/src/routes/__root.tsx b/apps/frontend/src/routes/__root.tsx index ade77966..4ae24c64 100644 --- a/apps/frontend/src/routes/__root.tsx +++ b/apps/frontend/src/routes/__root.tsx @@ -15,6 +15,7 @@ import { IconCalendarWeek, IconMapSearch, Divider, + FooterLogos, } from "@quassel/ui"; import { createRootRouteWithContext, Link, Outlet, useNavigate } from "@tanstack/react-router"; import { TanStackRouterDevtools } from "@tanstack/router-devtools"; @@ -49,7 +50,7 @@ function Root() { return ( <> {sessionStore.email} - @@ -91,10 +92,16 @@ function Root() { } label="Users" /> )} + - Version {version} + + + + Version {version} + + diff --git a/apps/frontend/src/sections/HeroSection.module.css b/apps/frontend/src/sections/HeroSection.module.css index bdb70016..41609da0 100644 --- a/apps/frontend/src/sections/HeroSection.module.css +++ b/apps/frontend/src/sections/HeroSection.module.css @@ -15,15 +15,11 @@ font-size: rem(44px); line-height: 1.2; font-weight: 900; - -} - -.control { } .highlight { position: relative; - background-color: var(--mantine-color-blue-light); + background-color: var(--mantine-primary-color-light); border-radius: var(--mantine-radius-sm); padding: rem(4px) rem(12px); } diff --git a/apps/frontend/src/sections/HeroSection.svg b/apps/frontend/src/sections/HeroSection.svg index 1cab75f4..6cddcfcb 100644 --- a/apps/frontend/src/sections/HeroSection.svg +++ b/apps/frontend/src/sections/HeroSection.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/apps/frontend/src/sections/HeroSection.tsx b/apps/frontend/src/sections/HeroSection.tsx index 09948e91..46fde987 100644 --- a/apps/frontend/src/sections/HeroSection.tsx +++ b/apps/frontend/src/sections/HeroSection.tsx @@ -6,7 +6,7 @@ import { useStore } from "@nanostores/react"; import { Link } from "@tanstack/react-router"; const messages = i18n("heroSection", { - title: "Quassel", + title: "LEMON", subtitle: "Gather language exposure", toFormAction: "Questionnaire", toAdminAction: "Administration", @@ -22,7 +22,7 @@ export function HeroSection() { {t.title} - {t.subtitle} + Language Exposure questionnaire for Multilinguals Online @@ -34,7 +34,7 @@ export function HeroSection() { - Quassel family + Lemon family ); diff --git a/libs/ui/src/assets/KleineWeltentdeckerLogo.png b/libs/ui/src/assets/KleineWeltentdeckerLogo.png new file mode 100644 index 00000000..e3384caa Binary files /dev/null and b/libs/ui/src/assets/KleineWeltentdeckerLogo.png differ diff --git a/libs/ui/src/assets/Logo.svg b/libs/ui/src/assets/Logo.svg new file mode 100644 index 00000000..4650acc1 --- /dev/null +++ b/libs/ui/src/assets/Logo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/libs/ui/src/components/Logo.svg b/libs/ui/src/assets/UZHLogo.svg similarity index 100% rename from libs/ui/src/components/Logo.svg rename to libs/ui/src/assets/UZHLogo.svg diff --git a/libs/ui/src/components/Brand.tsx b/libs/ui/src/components/Brand.tsx index f70ebc20..f5774af6 100644 --- a/libs/ui/src/components/Brand.tsx +++ b/libs/ui/src/components/Brand.tsx @@ -1,14 +1,15 @@ -import { Divider, Group, Text } from "@mantine/core"; -import Logo from "./Logo.svg?react"; +import { Group, Stack, Title } from "@mantine/core"; +import Logo from "../assets/Logo.svg?react"; export function Brand() { return ( - + - - - Quassel - + + + LEMON + + ); } diff --git a/libs/ui/src/components/FooterLogos.tsx b/libs/ui/src/components/FooterLogos.tsx new file mode 100644 index 00000000..ee7f8b53 --- /dev/null +++ b/libs/ui/src/components/FooterLogos.tsx @@ -0,0 +1,16 @@ +import { Group } from "@mantine/core"; +import UZHLogo from "../assets/UZHLogo.svg?react"; +import KleineWeltentdeckerLogo from "../assets/KleineWeltentdeckerLogo.png"; + +export function FooterLogos() { + return ( + + + + + + + + + ); +} diff --git a/libs/ui/src/index.ts b/libs/ui/src/index.ts index 500ed03e..8226bad0 100644 --- a/libs/ui/src/index.ts +++ b/libs/ui/src/index.ts @@ -41,6 +41,7 @@ export { formatDate, getTime, getDateFromTimeAndWeekday, getNext, isSameOrAfter, // custom components export { Brand } from "./components/Brand"; +export { FooterLogos } from "./components/FooterLogos"; export { ImportInput } from "./components/ImportInput"; export { ImportPreview } from "./components/ImportPreview"; export { MonthPicker } from "./components/MonthPicker"; diff --git a/libs/ui/src/theme/Theme.css b/libs/ui/src/theme/Theme.css index 142d427a..c098c467 100644 --- a/libs/ui/src/theme/Theme.css +++ b/libs/ui/src/theme/Theme.css @@ -7,19 +7,25 @@ --fc-border-color: var(--mantine-color-default-border); } -/* Page layout */ +.quassel-Logo { + max-height: 4rem; + width: auto; +} +/* Page layout */ .mantine-AppShell-header, .mantine-AppShell-footer { - padding: var(--mantine-spacing-xl) var(--quassel-padding-x); -} + display: flex; + align-items: center; + padding-inline: var(--quassel-padding-x); -[data-admin] :is(.mantine-AppShell-header, .mantine-AppShell-footer) { - padding: var(--mantine-spacing-xl) var(--mantine-spacing-sm); + >* { + flex: 1; + } } -[data-admin] .mantine-AppShell-header .quassel-Logo { - width: calc(var(--app-shell-navbar-width) - var(--mantine-spacing-sm) - var(--group-gap)); +[data-admin] :is(.mantine-AppShell-header, .mantine-AppShell-footer) { + padding-inline: var(--mantine-spacing-xl); } /* Components overrides */ @@ -35,4 +41,4 @@ .mantine-AppShell-footer { background-color: var(--quassel-color-light-gray); -} \ No newline at end of file +} diff --git a/libs/ui/src/theme/ThemeProvider.tsx b/libs/ui/src/theme/ThemeProvider.tsx index ef174de9..af43306d 100644 --- a/libs/ui/src/theme/ThemeProvider.tsx +++ b/libs/ui/src/theme/ThemeProvider.tsx @@ -34,7 +34,7 @@ export const theme: MantineThemeOverride = { uzhBlack: convertUZHColorsToMantine(uzhColors.uzhBlack), uzhWhite: convertUZHColorsToMantine(uzhColors.uzhWhite), }, - primaryColor: "uzhBlue", + primaryColor: "uzhGold", }; export function ThemeProvider({ children, ...args }: ThemeProviderProps) {