diff --git a/app/controllers/my/menus_controller.rb b/app/controllers/my/menus_controller.rb
new file mode 100644
index 000000000..980578687
--- /dev/null
+++ b/app/controllers/my/menus_controller.rb
@@ -0,0 +1,6 @@
+class My::MenusController < ApplicationController
+ include FilterScoped
+
+ def show
+ end
+end
\ No newline at end of file
diff --git a/app/views/filters/_menu.html.erb b/app/views/filters/_menu.html.erb
index ec8920940..8c34c4841 100644
--- a/app/views/filters/_menu.html.erb
+++ b/app/views/filters/_menu.html.erb
@@ -1,43 +1,13 @@
-<% cache user_filtering do %>
-
diff --git a/app/views/my/menus/show.html.erb b/app/views/my/menus/show.html.erb
new file mode 100644
index 000000000..05a50c290
--- /dev/null
+++ b/app/views/my/menus/show.html.erb
@@ -0,0 +1,31 @@
+<%= turbo_frame_tag "my_menu", target: "_top" do %>
+
+ <%= text_field_tag :search, nil,
+ type: "search",
+ role: "combobox",
+ placeholder: "Filter…",
+ class: "input input--transparent txt-small",
+ autofocus: true,
+ autocorrect: "off",
+ autocomplete: "off",
+ aria: { activedescendant: "" },
+ data: {
+ "1p-ignore": "true",
+ filter_target: "input",
+ navigable_list_target: "input",
+ action: "input->filter#filter" } %>
+
+
+
+ <%= render "filters/menu/hotkeys" %>
+ <%= render "filters/menu/custom", user_filtering: @user_filtering %>
+ <%= render "filters/menu/collections", user_filtering: @user_filtering %>
+ <%= render "filters/menu/tags", user_filtering: @user_filtering %>
+ <%= render "filters/menu/users", user_filtering: @user_filtering %>
+ <%= render "filters/menu/places", user_filtering: @user_filtering %>
+
+ <%= render "filters/menu/shortcut_notice" %>
+<% end %>
diff --git a/config/routes.rb b/config/routes.rb
index 147027b82..505bcf240 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -124,6 +124,7 @@ Rails.application.routes.draw do
namespace :my do
resources :pins
resource :timezone
+ resource :menu
end
namespace :prompts do