Skip to content
Open
Show file tree
Hide file tree
Changes from 59 commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
4f41a7d
Refactored Navbar to have same menu items as samf3 navbar. Styling no…
Madt2 Sep 11, 2025
c21fc98
Corrected vulunteer link
Madt2 Sep 18, 2025
9d5a519
Copied navbar items and css, and removed unused styling for samf 3 na…
Madt2 Sep 18, 2025
e257307
Renamed css to samf3 naming scheme, and updated navbar item ref to sa…
Madt2 Sep 18, 2025
f84d24e
Fixed unupdated navbar item ref
Madt2 Sep 18, 2025
e1e5499
Removed theme switch, samf 3 navbar does not have theme switch
Madt2 Sep 18, 2025
46df866
Removed transparancy check, samf3 navbar does not have transparancy
Madt2 Sep 18, 2025
5faaaca
Added missing recruitment button
Madt2 Sep 18, 2025
a51ec67
Added missing export for navbarItems for samf 3 navbar
Madt2 Sep 18, 2025
4a4a23d
Fixed missing translations
Madt2 Sep 18, 2025
8f36b3a
Merge branch 'master' into 1962-recreate-samf3-navbar-in-samf-4
Madt2 Sep 18, 2025
a619b0b
Fixed unsafe use of variables in route links
Madt2 Sep 18, 2025
31c4b25
Fixed suggested feedback from PR.
Madt2 Oct 16, 2025
2cf7df2
Updated comments
Madt2 Oct 16, 2025
a744f36
Merged master into branch
Madt2 Oct 16, 2025
104e469
Fixed biome errors
Madt2 Oct 16, 2025
7785d63
Merge branch 'master' into 1962-recreate-samf3-navbar-in-samf-4
Madt2 Oct 16, 2025
df965d9
Fixed navbar going over front page image.
Madt2 Nov 4, 2025
c4876ab
Fixed comments from pr
Madt2 Nov 6, 2025
4b8480e
Biome onclick issue solved, and navbar links are tabbable
Madt2 Nov 13, 2025
e29c0fb
Removed unused hook, and fixed biome feedback
Madt2 Nov 13, 2025
f020aa9
Add myself to the list of contributors for H25 (#1959)
StenOskar Oct 19, 2025
ea4eb08
Bump tmp from 0.2.3 to 0.2.4 in /frontend (#1916)
dependabot[bot] Oct 30, 2025
21a7f91
Add member button link to ITK Samf member site (#1983)
StenOskar Oct 30, 2025
527fc1b
Bump django-cors-headers from 4.7.0 to 4.9.0 in /backend (#1974)
dependabot[bot] Oct 30, 2025
26d0bbb
Bump djangorestframework from 3.16.0 to 3.16.1 in /backend (#1973)
dependabot[bot] Oct 30, 2025
dd0e759
Bump bandit from 1.8.3 to 1.8.6 in /backend (#1990)
dependabot[bot] Nov 4, 2025
ddc4c57
Add new font via adobe fonts (#1970)
robines Nov 5, 2025
378af87
Update contributors (#1992)
robines Nov 5, 2025
b57a160
Bump requests from 2.32.4 to 2.32.5 in /backend (#1988)
dependabot[bot] Nov 5, 2025
2ba0d5b
Bump js-yaml from 4.1.0 to 4.1.1 in /frontend (#1995)
dependabot[bot] Nov 15, 2025
5848d91
Add .sqlite3 files to .gitignore (#1997)
robines Nov 17, 2025
23397e5
Remove inactive codeowners, remove lockfile codeowners (#1999)
robines Nov 17, 2025
2bae28e
Bump django from 5.1.9 to 5.1.14 in /backend (#1996)
dependabot[bot] Nov 17, 2025
d7d2c02
Bump @tanstack/react-query from 5.69.0 to 5.84.0 in /frontend (#1912)
dependabot[bot] Nov 17, 2025
2bfdb33
Bump mypy from 1.15.0 to 1.17.1 in /backend (#1911)
dependabot[bot] Nov 17, 2025
76e83bf
Bump axios from 1.8.4 to 1.12.0 in /frontend (#1964)
dependabot[bot] Nov 17, 2025
a21d825
Bump axios from 1.8.4 to 1.12.2 in /frontend (#1975)
dependabot[bot] Nov 17, 2025
6075e85
Disable everything in control panel except for events, images and ope…
hei98 Nov 18, 2025
1f606ff
Upgrade to Vite 6 (#2001)
robines Nov 29, 2025
0a47717
Sass: migrate from JS API to Modern API (#2002)
robines Nov 29, 2025
fdb76c8
Refactor feature gate (#2004)
robines Nov 29, 2025
5383e38
Disable Sulten/Lyche frontend pages (#2003)
robines Nov 29, 2025
93ec561
Wrap (and disable some) public pages in SiteFeatureGate (#2005)
robines Nov 29, 2025
8b32382
Bump drf-spectacular from 0.28.0 to 0.29.0 in /backend (#2007)
dependabot[bot] Dec 1, 2025
4067d19
Bump debugpy from 1.8.14 to 1.8.17 in /backend (#2011)
dependabot[bot] Dec 1, 2025
150fa52
Add SCSS color palette from redesign (#2017)
robines Dec 7, 2025
2731984
Create NewBadge component (#2018)
robines Dec 7, 2025
1230003
Add santa hat to navbar logo during December (#2019)
robines Dec 14, 2025
0f52c30
Delete unused EventCard component (was replaced by ImageCard) (#2020)
robines Dec 14, 2025
9bba40a
Increase stylelint selector-max-type to 1 (#2022)
robines Dec 14, 2025
eb316b5
Create Block composite components (#2021)
robines Dec 14, 2025
38a06af
Remove confusing custom ReactNode Children alias (#2023)
robines Dec 14, 2025
56e8927
Add missing event categories from samf3, and add translations for all…
robines Dec 14, 2025
3cd3a14
Event: Make capacity optional (#2025)
robines Dec 17, 2025
78742b2
Create new EventCard component (#2000)
robines Dec 21, 2025
9470b60
Merge branch 'master' into 1962-recreate-samf3-navbar-in-samf-4
Madt2 Jan 15, 2026
eeb1185
Fixed Tsc error
Madt2 Jan 15, 2026
e72b543
biome fix
Madt2 Jan 15, 2026
fea7e5c
Added theme button to mobile navbar view, added membersbutton to navb…
Madt2 Jan 20, 2026
88bc505
removed unused function
Madt2 Jan 20, 2026
6e85b13
removed unnecessary const declaration
Madt2 Jan 29, 2026
267de9c
Merge branch 'master' into 1962-recreate-samf3-navbar-in-samf-4
Madt2 Jan 29, 2026
1933a9c
removed duplicate const
Madt2 Jan 29, 2026
b729597
Fixed routes_samf_tree const
Madt2 Jan 29, 2026
d13830d
Fixed samf-three-routes const
Madt2 Jan 29, 2026
3e58eb2
Reverted translations and reverted to "login" button instead of "inte…
Madt2 Jan 29, 2026
b165780
Clean up navbar styling comments in SCSS
Madt2 Jan 29, 2026
17361ec
Fix import path for NavbarSamfThree component
Madt2 Jan 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion frontend/.env.docker.example
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@
# 'backend' is the name of service container in docker-compose.
VITE_BACKEND_DOMAIN=http://localhost:8000
VITE_CYPRESS_BACKEND_DOMAIN=http://backend:8000
VITE_CYPRESS_BASE_URL=http://frontend:3000
VITE_CYPRESS_BASE_URL=http://frontend:3000
324 changes: 324 additions & 0 deletions frontend/src/Components/Navbar/NavbarSamfThree.module.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,324 @@
/* stylelint-disable function-comma-space-after */
/* stylelint-disable selector-max-compound-selectors */
/* stylelint-disable selector-max-class */
/* TODO: fix later */

@use 'src/mixins' as *;

@use 'src/constants' as *;

// Font
$navbar-font-family: 'futura-pt', 'Lato', sans-serif;

// Background
$navbar-bg: white;
$navbar-bg-transparent: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, transparent);
$navbar-bg-dark: black;
$navbar-bg-dark-transparent: $navbar-bg-transparent;
$navbar-dropdown-bg: rgba(255, 255, 255, 1);
$navbar-dropdown-bg-dark: rgba(0, 0, 0, 1);
$navbar-dropdown-border-radius: 0 0 0.5em 0.5em;

// Link
$navbar-link-blur-light-bg: rgba(255, 255, 255, 0.4);
$navbar-link-blur-dark-bg: rgba(0, 0, 0, 0.4);
$navbar-link-light-hover-gradient-top: #f4f4f4;
$navbar-dropdown-link-light-hover: #202020;
$navbar-dropdown-link-dark-hover: $red-samf;
$navbar-link-light-hover-gradient-bottom: #ffffff;
$navbar-link-dark-hover-gradient-top: #151515;
$navbar-link-dark-hover-gradient-bottom: #000000;
$navbar-link-transparent-hover-gradient-top: rgba(255, 255, 255, 0.1);
$navbar-link-transparent-hover-gradient-bottom: transparent;

/* Inner container with padding */
.navbar_outlet {
padding-top: $navbar-height;
}

/* Content padding */
.navbar_padding {
margin-top: $navbar-height;
}

/* Main navbar */
#navbar_container {
position: fixed;
top: 0;
width: 100%;
height: $navbar-height;
background: $navbar-bg-dark;
color: $white;
display: flex;
align-items: center;
justify-content: center;
z-index: 12;
white-space: nowrap;
box-shadow: 0 0 25px 5px rgba(0, 0, 0, 0);
}

.navbar_inner {
flex: 1;
max-width: 1200px;
display: flex;
justify-content: space-between;
align-items: center;
height: 100%;
}

.navbar_item {
display: flex;
flex: 1;
height: 100%;
position: relative;
}

.navbar_item_icon {
margin-right: 0.25rem;
}

.hidden {
display: none;
}

.navbar_mobile_item {
position: relative;
}

.mobile_dropdown_container {
width: 100%;
display: flex;
flex-direction: column;
}

.dropdown_container {
position: absolute;
pointer-events: none;
top: 100%;
min-width: 130%;
z-index: 1;
display: flex;
flex-direction: column;
background-color: $navbar-dropdown-bg-dark;
color: $white;
box-shadow: 0 0 25px 5px rgba(0, 0, 0, 0);
overflow: hidden;
transform: scaleY(0);
transform-origin: 50% 0%;
opacity: 0;
}

.dropdown_container_left .dropdown_container {
right: 0;
}

.dropdown_open {
pointer-events: all;
overflow: visible;
transform: scaleY(1);
opacity: 1;
}

.navbar_dropdown_link,
.navbar_logout_button {
padding: 0.5rem 1rem;
text-decoration: none;
color: $white;
cursor: pointer;
font-size: inherit;
display: flex;
align-items: center;
gap: 0.3rem;
background: none;
border: none;

@include theme-dark {
color: $white;
}

&:hover {
background: $navbar-dropdown-link-dark-hover;
text-decoration: none;
}
}

/* Desktop navigation items */
.navbar_main_links {
display: flex;
justify-content: space-between;
height: 100%;
margin-right: auto;
font-size: 16px;
font-family: $navbar-font-family;
text-transform: uppercase;
}

.navbar_main_links_mobile {
display: flex;
flex-direction: column;
align-items: center;
}

.navbar_link {
color: inherit;
display: flex;
align-items: center;
text-decoration: none;
padding: 0 1rem;
height: 100%;
cursor: pointer;
flex: 1;
text-align: center;
justify-content: center;
z-index: 2;
font-size: inherit;

&:hover {
text-decoration: none;
}

@include for-tablet-down {
display: none;
}

// This ensures navbar dropdown shadow does not lie
// on top of the navbar item
&.selected {
background-color: $navbar-bg-dark;
}

/* Link hover for regular navbar */
}

/* Samf logo */
.navbar_logo {
display: flex;
text-decoration: none;
margin: 0 1rem;
width: 250px;
cursor: pointer;
}

#navbar_logo_img {
width: 100%; // QUESTION: Why is this needed?
}
Comment on lines 202 to 204
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ser ikke behov for denne stylingen, logoen på samfundet.no er 250px wide, og med denne paddingen blir logen 224px istedenfor 250px. Ser ut som om dette er fra samf4 navbaren koden.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fjerna padding. Stylingen er kopiert og redigert fra samf 4 navbaren ja, siden det tar mye lengre tid å lage en ny fra scratch. Men fortsett å kommenter på kode som ikke brukes, jeg prøver å fjerne det jeg ser, men lett å overse noe :)


/* Widgets with language, theme, login */
.navbar_widgets {
display: flex;
align-items: center;
justify-content: space-evenly;
margin-right: 24px;
margin-left: 24px;
gap: 15px;
height: 100%;

@include for-tablet-down {
display: none;
}
}

/* Container for profile */
.navbar_profile_button {
display: flex;
flex-direction: row;
align-items: center;
white-space: nowrap;
cursor: pointer;
padding-left: 6px;
padding-right: 6px;
background-color: inherit;
gap: 5px;

@include for-desktop-up {
height: 100%;
}

.profile_icon {
width: 16px;
height: 16px;
}

.profile_text {
text-decoration: none;
color: inherit;
}

&:hover {
color: $red-samf;
}
}

/* Mobile popup navigation */
#mobile_popup_container {
position: fixed;
top: $navbar-height;
left: 0;
width: 100vw;
height: calc(100vh - $navbar-height);
min-height: 400px;
background: $navbar-bg-dark;
color: white;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
z-index: 100;
@include for-desktop-up {
display: none;
}
}
Comment on lines 252 to 270
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fint om du bruker $navbar-height-samf-three når du har spesifisert det tidligere. Er også forskjellig pixel fra $navbar-height-samf-three på 64px og her på 60px.

Suggested change
/* Mobile popup navigation */
#mobile_popup_container {
position: fixed;
top: 60px;
left: 0;
width: 100vw;
height: calc(100vh - 60px);
min-height: 400px;
background: $navbar-bg-dark;
color: white;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
z-index: 100;
@include for-desktop-up {
display: none;
}
}
/* Mobile popup navigation */
#mobile_popup_container {
position: fixed;
top: $navbar-height-samf-three;
left: 0;
width: 100vw;
height: calc(100vh - $navbar-height-samf-three);
min-height: 400px;
background: $navbar-bg-dark;
color: white;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
z-index: 100;
@include for-desktop-up {
display: none;
}
}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fiksa.


/* A way to make the "Information" text look more centered
offsets the text by 18px, the size of the chevron-icon */
#mobile_popup_container > .navbar_mobile_item:nth-child(2) {
margin-left: 18px;
}

/* Navbar link mobile */
.popup_link_mobile {
color: inherit;
font-size: 1.5em;
margin-bottom: 1em;
align-items: center;
text-decoration: none;
padding: 0 1rem;
cursor: pointer;
display: flex;
}

.mobile_widgets {
display: flex;
align-items: center;
margin-top: 5em;
gap: 1em;
}

.mobile_user {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 0.5em;
max-width: 150px;
overflow: visible;
white-space: nowrap;
}

.chevron.flip {
transform: scaleY(-1);
}

// When this dropdown menu item is open and navbar is transparent
// we add backdrop filter to the dropdown itself as well
.selected {
background: $navbar-bg-dark;
color: $white;
}

.active_recruitment {
font-weight: 500;
color: $white;
border-radius: 0.25rem;
padding: 0.5rem 0.75rem;
}
Loading