diff --git a/frontend/public/fonts/britti-sans-variable.woff2 b/frontend/public/fonts/britti-sans-variable.woff2 new file mode 100644 index 00000000..4313363f Binary files /dev/null and b/frontend/public/fonts/britti-sans-variable.woff2 differ diff --git a/frontend/src/app/[organisation]/kunder/page.tsx b/frontend/src/app/[organisation]/kunder/page.tsx index 9f108ced..8c7f4e18 100644 --- a/frontend/src/app/[organisation]/kunder/page.tsx +++ b/frontend/src/app/[organisation]/kunder/page.tsx @@ -76,7 +76,7 @@ export default async function Kunder({

{title}

-

+

{customers?.length}

diff --git a/frontend/src/app/globals.css b/frontend/src/app/globals.css index 84a86b6c..a5a0db79 100644 --- a/frontend/src/app/globals.css +++ b/frontend/src/app/globals.css @@ -22,6 +22,14 @@ src: url(../../public/fonts/Graphik-Bold-Web.woff2) format("truetype"); } +@font-face { + font-family: "BrittiSans"; + font-style: normal; + font-weight: 200 800; + font-display: swap; + src: url(../../public/fonts/britti-sans-variable.woff2) format("woff2"); +} + @layer base { input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { @@ -46,62 +54,72 @@ } h1 { - font-size: 1.625rem; - font-family: "Graphik-Regular", sans-serif; + font-size: 2rem; + font-family: "BrittiSans", sans-serif; + font-variation-settings: "wght" 500; line-height: 2.5rem; } h2 { - font-size: 1.25rem; - font-family: "Graphik-Regular", sans-serif; + font-size: 1.5rem; + font-family: "BrittiSans", sans-serif; + font-variation-settings: "wght" 400; line-height: 1.5rem; } .normal { font-size: 0.875rem; - font-family: "Graphik-Regular"; + font-family: "BrittiSans", sans-serif; + font-variation-settings: "wght" 400; line-height: 1rem; } .normal-medium { font-size: 0.875rem; - font-family: "Graphik-Medium"; + font-family: "BrittiSans", sans-serif; + font-variation-settings: "wght" 500; line-height: 1rem; } .normal-semibold { font-size: 0.875rem; - font-family: "Graphik-SemiBold"; + font-family: "BrittiSans", sans-serif; + font-variation-settings: "wght" 600; line-height: 1rem; } .small { font-size: 0.75rem; - font-family: "Graphik-Regular"; + font-family: "BrittiSans", sans-serif; + font-variation-settings: "wght" 400; line-height: 1rem; } .small-medium { font-size: 0.75rem; - font-family: "Graphik-Medium"; + font-family: "BrittiSans", sans-serif; + font-variation-settings: "wght" 500; line-height: 1rem; } .xsmall { font-size: 0.625rem; - font-family: "Graphik-Regular"; + font-family: "BrittiSans", sans-serif; + font-variation-settings: "wght" 400; line-height: 1rem; } .large { font-size: 1rem; - font-family: "Graphik-Regular"; + font-family: "BrittiSans", sans-serif; + font-variation-settings: "wght" 400; line-height: 1.25rem; } .large-medium { font-size: 1rem; - font-family: "Graphik-Medium"; + font-family: "BrittiSans", sans-serif; + font-variation-settings: "wght" 500; line-height: 1.25rem; } @@ -246,7 +264,7 @@ } .checkBoxWithCustomCheckmark:checked { - background-color: #423d89; + background-color: #242424; } .checkBoxWithCustomCheckmark:checked::before { @@ -267,6 +285,6 @@ color: white; border-radius: 5px; padding: 0.3rem 0.7rem; - background-color: #423d89; + background-color: #242424; } } diff --git a/frontend/src/app/layout.tsx b/frontend/src/app/layout.tsx index 219eaa40..61cb80c5 100644 --- a/frontend/src/app/layout.tsx +++ b/frontend/src/app/layout.tsx @@ -29,7 +29,12 @@ export default function RootLayout({ - + {children} diff --git a/frontend/src/components/ActiveFilters.tsx b/frontend/src/components/ActiveFilters.tsx index efcd2909..8625f318 100644 --- a/frontend/src/components/ActiveFilters.tsx +++ b/frontend/src/components/ActiveFilters.tsx @@ -51,7 +51,7 @@ export default function ActiveFilters() { return (
{filterSummaryText != "" && ( -

{filterSummaryText}

+

{filterSummaryText}

)}
); diff --git a/frontend/src/components/Agreement/components/EditInput.tsx b/frontend/src/components/Agreement/components/EditInput.tsx index 1ec5434b..5ae5006d 100644 --- a/frontend/src/components/Agreement/components/EditInput.tsx +++ b/frontend/src/components/Agreement/components/EditInput.tsx @@ -36,7 +36,7 @@ export function EditInput({ ) : ( <>

{value} diff --git a/frontend/src/components/Buttons/ActionButton.tsx b/frontend/src/components/Buttons/ActionButton.tsx index 967d3676..00a6b179 100644 --- a/frontend/src/components/Buttons/ActionButton.tsx +++ b/frontend/src/components/Buttons/ActionButton.tsx @@ -31,7 +31,7 @@ export default function ActionButton({ }: ActionButtonProps) { const variantClass = { - primary: `bg-primary text-white ${ + primary: `bg-primaryActionButton text-white ${ !disabled && "hover:bg-primary_darker" }`, secondary: `bg-white text-primary border border-primary/50 ${ diff --git a/frontend/src/components/ExperienceFilter.tsx b/frontend/src/components/ExperienceFilter.tsx index c20d1236..d1cbe59b 100644 --- a/frontend/src/components/ExperienceFilter.tsx +++ b/frontend/src/components/ExperienceFilter.tsx @@ -22,7 +22,7 @@ export default function ExperienceFilter() {

Fra

Til

Konsulenter

-

+

{filteredConsultants?.length}

diff --git a/frontend/src/components/SearchBarComponent.tsx b/frontend/src/components/SearchBarComponent.tsx index c17fe317..e6957635 100644 --- a/frontend/src/components/SearchBarComponent.tsx +++ b/frontend/src/components/SearchBarComponent.tsx @@ -51,7 +51,7 @@ export default function SearchBarComponent({

Søk

@@ -60,7 +60,7 @@ export default function SearchBarComponent({ setNameSearch(e.target.value)} ref={inputRef} value={activeNameSearch} diff --git a/frontend/src/components/Staffing/ConsultantRow.tsx b/frontend/src/components/Staffing/ConsultantRow.tsx index 57ad8237..c8926955 100644 --- a/frontend/src/components/Staffing/ConsultantRow.tsx +++ b/frontend/src/components/Staffing/ConsultantRow.tsx @@ -222,7 +222,7 @@ export default function ConsultantRows({ height={32} /> ) : ( -
+
)}
diff --git a/frontend/src/components/Staffing/DetailedBookingRows.tsx b/frontend/src/components/Staffing/DetailedBookingRows.tsx index cf832e56..d61608a8 100644 --- a/frontend/src/components/Staffing/DetailedBookingRows.tsx +++ b/frontend/src/components/Staffing/DetailedBookingRows.tsx @@ -145,10 +145,12 @@ export function DetailedBookingRows(props: {
{alert && } -
- {alert?.text} -
-
+ {alert?.text && ( +
+ {alert?.text} +
+
+ )}
diff --git a/frontend/src/components/StaffingSidebar.tsx b/frontend/src/components/StaffingSidebar.tsx index 32318e58..0388d156 100644 --- a/frontend/src/components/StaffingSidebar.tsx +++ b/frontend/src/components/StaffingSidebar.tsx @@ -20,7 +20,7 @@ export default function StaffingSidebar({ return ( <> {isSidebarOpen && ( -
+

Filter

+
diff --git a/frontend/src/components/consultants/FilteredConsultantsComp.tsx b/frontend/src/components/consultants/FilteredConsultantsComp.tsx index 716100df..3c664f43 100644 --- a/frontend/src/components/consultants/FilteredConsultantsComp.tsx +++ b/frontend/src/components/consultants/FilteredConsultantsComp.tsx @@ -32,6 +32,7 @@ export default function FilteredConsultantsComp({ const [selectedEditConsultant, setSelectedEditConsultant] = useState(null); + const [hoveredRowIndex, setHoveredRowIndex] = useState(null); const listRef = useRef(null); const { setIsDisabledHotkeys } = useContext(FilteredContext); @@ -99,7 +100,7 @@ export default function FilteredConsultantsComp({

Konsulenter

-

+

{editableConsultants.filter((e) => !e.endDate)?.length}

@@ -152,7 +153,7 @@ export default function FilteredConsultantsComp({ - + setHoveredRowIndex(null)}> {editableConsultants .filter( (e) => @@ -161,10 +162,10 @@ export default function FilteredConsultantsComp({ new Date().setHours(0, 0, 0, 0), ) .sort((a, b) => a.name.localeCompare(b.name)) - .map((consultant) => ( + .map((consultant, index) => ( { setSelectedEditConsultant(consultant); setIsDisabledHotkeys(true); @@ -179,8 +180,15 @@ export default function FilteredConsultantsComp({ setIsDisabledHotkeys(false); } }} + onMouseEnter={() => setHoveredRowIndex(index)} > - +
{consultant.imageThumbUrl ? ( ) : ( - + )} @@ -332,7 +347,7 @@ export default function FilteredConsultantsComp({

Inaktive konsulenter

-

+

{editableConsultants.filter((e) => e.endDate)?.length}

@@ -350,7 +365,7 @@ export default function FilteredConsultantsComp({ .map((consultant) => ( { setSelectedEditConsultant(consultant); setIsDisabledHotkeys(true); @@ -404,8 +419,8 @@ export default function FilteredConsultantsComp({ )}
{selectedEditConsultant?.id === consultant.id ? null : ( -

- Erfaring {consultant.yearsOfExperience} år +

+ {consultant.yearsOfExperience} års erfaring

)}
diff --git a/frontend/tailwind.config.ts b/frontend/tailwind.config.ts index 4c341579..8e11d5ac 100644 --- a/frontend/tailwind.config.ts +++ b/frontend/tailwind.config.ts @@ -8,23 +8,27 @@ export default { transparent: "transparent", black: "#333333", white: "#FFFFFF", - primary: "#423D89", - primary_darker: "#35316E", + primary: "#242424", + primary_darker: "#242424", primary_50: "#423D8980", - secondary: "#F076A6", - available: "#FFE5B5", - available_darker: "#573900", - offer: "#E4DBFB", - holiday: "#FAD2E2", - holiday_darker: "#6C002B", - vacation: "#C8EEFB", + secondary: "#FF87B7", + available: "#F6CC45", + available_darker: "#242424", + offer: "#DEC1F4", + holiday: "#FF87B7", + holiday_darker: "#242424", + vacation: "#B9ECFE", vacation_darker: "#00445B", - overbooked_darker: "#B91456", - absence: "#9FDFD9", - absence_darker: "#004C46", + overbooked_darker: "#242424", + absence: "#88E1D9", + absence_darker: "#242424", background_light_purple: "#423D8908", background_light_purple_hover: "#423D891A", + background_grey: "#F2F2F2", text_light_black: "#333333BF", + primaryActionButton: "#242424", + hoverBorder: "#636363", + error: "#B91456", }, fontSize: {