diff --git a/app/controllers/locales_controller.rb b/app/controllers/locales_controller.rb
new file mode 100644
index 00000000..8e483eb8
--- /dev/null
+++ b/app/controllers/locales_controller.rb
@@ -0,0 +1,5 @@
+class LocalesController < ApplicationController
+ def update
+ redirect_back(fallback_location: root_path)
+ end
+end
diff --git a/app/views/application/_navbar.html.erb b/app/views/application/_navbar.html.erb
index d893a8b4..84f4978f 100644
--- a/app/views/application/_navbar.html.erb
+++ b/app/views/application/_navbar.html.erb
@@ -16,9 +16,9 @@
<%= link_to t("navbar.suggest_talk"),new_talk_path, class: "btn btn-primary hidden lg:flex" %>
- <%= link_to "FR", {locale: :fr}, class: class_names("link-neutral": current_locale == :en) %>
+ <%= button_to "FR", locale_path, id: "locale-fr", params: {locale: :fr}, method: :patch, class: class_names("link-neutral": current_locale == :en) %>
<%= lucide_icon "slash", class: "h-2 w-2" %>
- <%= link_to "EN", {locale: :en}, class: class_names("link-neutral": current_locale == :fr) %>
+ <%= button_to "EN", locale_path, id: "locale-en", params: {locale: :en}, method: :patch, class: class_names("link-neutral": current_locale == :fr) %>
@@ -41,9 +41,9 @@
- <%= link_to "FR", {locale: :fr}, class: class_names("link-neutral": current_locale == :en), "aria-label": "Site en Français" %>
+ <%= button_to "FR", locale_path, id: "dropdown-locale-fr", params: {locale: :fr}, method: :patch, class: class_names("link-neutral": current_locale == :en) %>
<%= lucide_icon "slash", class: "fill-black h-2 w-2" %>
- <%= link_to "EN", {locale: :en}, class: class_names("link-neutral": current_locale == :fr), "aria-label": "Website in English" %>
+ <%= button_to "EN", locale_path, id: "dropdown-locale-en", params: {locale: :en}, method: :patch, class: class_names("link-neutral": current_locale == :fr) %>
diff --git a/config/routes.rb b/config/routes.rb
index e3d6a5cb..7b241c33 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -11,6 +11,7 @@
resources :talks, only: [ :new, :index, :create ]
resource :lineup, only: [ :show ]
resources :sponsors, only: [ :index ]
+ resource :locale, only: [ :update ]
get "/communique_2022" => redirect("/communiques/thibault_assus_comdamnation", status: 301)