shared flash notifications

This commit is contained in:
2026-01-31 15:50:31 +01:00
parent 227ab744b5
commit 9c6714e97c
8 changed files with 13 additions and 51 deletions
+2
View File
@@ -3,6 +3,8 @@
<div class="min-h-screen flex flex-col"> <div class="min-h-screen flex flex-col">
<%= render "shared/header", show_request_button: false, show_browse_button: true %> <%= render "shared/header", show_request_button: false, show_browse_button: true %>
<%= render "shared/notifications" %>
<div class="flex-1 bg-gradient-to-br from-indigo-50 via-white to-purple-50 flex items-center justify-center px-4 py-12"> <div class="flex-1 bg-gradient-to-br from-indigo-50 via-white to-purple-50 flex items-center justify-center px-4 py-12">
<div class="max-w-2xl w-full"> <div class="max-w-2xl w-full">
<div class="bg-white rounded-2xl shadow-xl p-8"> <div class="bg-white rounded-2xl shadow-xl p-8">
+1 -15
View File
@@ -3,21 +3,7 @@
<div class="min-h-screen flex flex-col"> <div class="min-h-screen flex flex-col">
<%= render "shared/header" %> <%= render "shared/header" %>
<!-- Flash messages --> <%= render "shared/notifications" %>
<% if flash.any? %>
<div class="max-w-7xl mx-auto px-4 mt-4 w-full">
<% flash.each do |type, message| %>
<div class="<%= type == 'notice' ? 'bg-green-50 border border-green-200 text-green-700' : 'bg-red-50 border border-red-200 text-red-700' %> px-4 py-3 rounded-lg mb-4 relative" role="alert">
<span class="block sm:inline pr-8"><%= message %></span>
<button type="button" class="absolute top-0 right-0 mt-3 mr-3 text-current opacity-50 hover:opacity-100 transition" onclick="this.parentElement.remove()">
<svg class="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
</svg>
</button>
</div>
<% end %>
</div>
<% end %>
<div class="flex-1 flex flex-col"> <div class="flex-1 flex flex-col">
<section id="search"> <section id="search">
+1 -1
View File
@@ -158,7 +158,7 @@
</p> </p>
<% else %> <% else %>
<p> <p>
The <strong>Sanasto Wiki</strong> let you search and compare, or download, translations across languages used all over the living Christianity. The <strong>Sanasto Wiki</strong> let you search words and expressions you might need for interpretation work in the living Christianity.
</p> </p>
<p>With a login account, you can contribute to this work.</p> <p>With a login account, you can contribute to this work.</p>
+1 -15
View File
@@ -118,21 +118,7 @@
document.addEventListener('turbo:load', setupAdminMobileMenu); document.addEventListener('turbo:load', setupAdminMobileMenu);
</script> </script>
<!-- Flash messages --> <%= render "shared/notifications" %>
<% if flash.any? %>
<div class="max-w-7xl mx-auto px-4 mt-4">
<% flash.each do |type, message| %>
<div class="<%= type == 'notice' ? 'bg-green-50 border border-green-200 text-green-700' : 'bg-red-50 border border-red-200 text-red-700' %> px-4 py-3 rounded-lg mb-4 relative" role="alert">
<span class="block sm:inline pr-8"><%= message %></span>
<button type="button" class="absolute top-0 right-0 mt-3 mr-3 text-current opacity-50 hover:opacity-100 transition" onclick="this.parentElement.remove()">
<svg class="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
</svg>
</button>
</div>
<% end %>
</div>
<% end %>
<!-- Main content --> <!-- Main content -->
<main class="flex-1 max-w-7xl w-full mx-auto px-4 py-8"> <main class="flex-1 max-w-7xl w-full mx-auto px-4 py-8">
+2 -5
View File
@@ -12,6 +12,8 @@
</div> </div>
</header> </header>
<%= render "shared/notifications" %>
<div class="flex-1 flex items-center justify-center px-4 py-12 bg-slate-50"> <div class="flex-1 flex items-center justify-center px-4 py-12 bg-slate-50">
<div class="w-full max-w-md"> <div class="w-full max-w-md">
<div class="bg-white rounded-2xl shadow-sm border border-slate-200 p-8"> <div class="bg-white rounded-2xl shadow-sm border border-slate-200 p-8">
@@ -20,11 +22,6 @@
<p class="text-sm text-slate-600">Enter your new password below.</p> <p class="text-sm text-slate-600">Enter your new password below.</p>
</div> </div>
<% if flash[:alert] %>
<div class="bg-red-50 border border-red-200 text-red-700 px-4 py-3 rounded-lg mb-6" role="alert">
<%= flash[:alert] %>
</div>
<% end %>
<%= form_with url: password_reset_path(params[:token]), method: :patch, local: true, data: { turbo: false }, class: "space-y-5" do |form| %> <%= form_with url: password_reset_path(params[:token]), method: :patch, local: true, data: { turbo: false }, class: "space-y-5" do |form| %>
<div> <div>
+2 -5
View File
@@ -12,6 +12,8 @@
</div> </div>
</header> </header>
<%= render "shared/notifications" %>
<div class="flex-1 flex items-center justify-center px-4 py-12 bg-slate-50"> <div class="flex-1 flex items-center justify-center px-4 py-12 bg-slate-50">
<div class="w-full max-w-md"> <div class="w-full max-w-md">
<div class="bg-white rounded-2xl shadow-sm border border-slate-200 p-8"> <div class="bg-white rounded-2xl shadow-sm border border-slate-200 p-8">
@@ -20,11 +22,6 @@
<p class="text-sm text-slate-600">Enter your email address and we'll send you a link to reset your password.</p> <p class="text-sm text-slate-600">Enter your email address and we'll send you a link to reset your password.</p>
</div> </div>
<% if flash[:alert] %>
<div class="bg-red-50 border border-red-200 text-red-700 px-4 py-3 rounded-lg mb-6" role="alert">
<%= flash[:alert] %>
</div>
<% end %>
<%= form_with url: password_resets_path, method: :post, local: true, data: { turbo: false }, class: "space-y-5" do |form| %> <%= form_with url: password_resets_path, method: :post, local: true, data: { turbo: false }, class: "space-y-5" do |form| %>
<div> <div>
+2 -5
View File
@@ -3,6 +3,8 @@
<div class="min-h-screen flex flex-col"> <div class="min-h-screen flex flex-col">
<%= render "shared/header", show_request_button: false %> <%= render "shared/header", show_request_button: false %>
<%= render "shared/notifications" %>
<div class="flex-1 bg-gradient-to-br from-indigo-50 via-white to-purple-50 flex items-center justify-center px-4 py-12"> <div class="flex-1 bg-gradient-to-br from-indigo-50 via-white to-purple-50 flex items-center justify-center px-4 py-12">
<div class="max-w-2xl w-full"> <div class="max-w-2xl w-full">
<div class="bg-white rounded-2xl shadow-xl p-8"> <div class="bg-white rounded-2xl shadow-xl p-8">
@@ -11,11 +13,6 @@
<p class="text-gray-600">Is there a word you would like to see in this glossary?</p> <p class="text-gray-600">Is there a word you would like to see in this glossary?</p>
</div> </div>
<% if flash[:alert] %>
<div class="mb-6 p-4 bg-red-50 border border-red-200 rounded-lg text-red-800">
<%= flash[:alert] %>
</div>
<% end %>
<% if @pending_count && @pending_count > 0 %> <% if @pending_count && @pending_count > 0 %>
<div class="mb-6 p-4 bg-blue-50 border border-blue-200 rounded-lg text-blue-800"> <div class="mb-6 p-4 bg-blue-50 border border-blue-200 rounded-lg text-blue-800">
+2 -5
View File
@@ -12,6 +12,8 @@
</div> </div>
</header> </header>
<%= render "shared/notifications" %>
<div class="flex-1 flex items-center justify-center px-4 py-12 bg-slate-50"> <div class="flex-1 flex items-center justify-center px-4 py-12 bg-slate-50">
<div class="w-full max-w-md"> <div class="w-full max-w-md">
<div class="bg-white rounded-2xl shadow-sm border border-slate-200 p-8"> <div class="bg-white rounded-2xl shadow-sm border border-slate-200 p-8">
@@ -20,11 +22,6 @@
<p class="text-sm text-slate-600">Enter your credentials to continue</p> <p class="text-sm text-slate-600">Enter your credentials to continue</p>
</div> </div>
<% if flash[:alert] %>
<div class="bg-red-50 border border-red-200 text-red-700 px-4 py-3 rounded-lg mb-6" role="alert">
<%= flash[:alert] %>
</div>
<% end %>
<%= form_with url: login_path, method: :post, local: true, data: { turbo: false }, class: "space-y-5" do |form| %> <%= form_with url: login_path, method: :post, local: true, data: { turbo: false }, class: "space-y-5" do |form| %>
<div> <div>