diff --git a/src/main/java/com/ericbouchut/learndev/common/config/SecurityConfig.java b/src/main/java/com/ericbouchut/learndev/common/config/SecurityConfig.java index 4320970..deca634 100644 --- a/src/main/java/com/ericbouchut/learndev/common/config/SecurityConfig.java +++ b/src/main/java/com/ericbouchut/learndev/common/config/SecurityConfig.java @@ -29,6 +29,9 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { // response already authorized (or denied) on its way in. .dispatcherTypeMatchers(DispatcherType.ERROR).permitAll() .requestMatchers("/", "/privacy", "/auth/**", "/css/**", "/js/**", "/fonts/**").permitAll() + // Root-level icons: browsers fetch these outside any page + // context (tab icon, home-screen bookmark), often anonymously. + .requestMatchers("/favicon.svg", "/favicon.ico", "/apple-touch-icon.png").permitAll() .requestMatchers("/instructor/**").hasRole("INSTRUCTOR") .requestMatchers("/admin/**").hasRole("ADMIN") .requestMatchers("/courses/**").authenticated() diff --git a/src/main/resources/static/apple-touch-icon.png b/src/main/resources/static/apple-touch-icon.png new file mode 100644 index 0000000..679237d Binary files /dev/null and b/src/main/resources/static/apple-touch-icon.png differ diff --git a/src/main/resources/static/css/base.css b/src/main/resources/static/css/base.css index 4e016a5..d233f1b 100644 --- a/src/main/resources/static/css/base.css +++ b/src/main/resources/static/css/base.css @@ -160,6 +160,8 @@ main:focus { } .site-header__brand { + display: inline-flex; + align-items: center; font-family: var(--font-display); font-weight: 700; font-size: var(--font-size-lg); @@ -167,6 +169,13 @@ main:focus { text-decoration: none; } +.site-header__logo { + width: 1.35em; + height: 1.35em; + margin-right: var(--space-2); + color: var(--color-primary); +} + .site-header__brand-mark { color: var(--color-primary); } diff --git a/src/main/resources/static/favicon.ico b/src/main/resources/static/favicon.ico new file mode 100644 index 0000000..6a2b35f Binary files /dev/null and b/src/main/resources/static/favicon.ico differ diff --git a/src/main/resources/static/favicon.svg b/src/main/resources/static/favicon.svg new file mode 100644 index 0000000..356b400 --- /dev/null +++ b/src/main/resources/static/favicon.svg @@ -0,0 +1,10 @@ + diff --git a/src/main/resources/templates/fragments/layout.html b/src/main/resources/templates/fragments/layout.html index 56af4b5..eaeecad 100644 --- a/src/main/resources/templates/fragments/layout.html +++ b/src/main/resources/templates/fragments/layout.html @@ -15,6 +15,11 @@