develop #3

Merged
kbe merged 227 commits from develop into main 2025-09-16 14:35:23 +00:00
3 changed files with 120 additions and 120 deletions
Showing only changes of commit 98efdb44ac - Show all commits

View File

@@ -1,118 +1,122 @@
<nav x-data="{ open: false }" class="border-b border-purple-700"> <header class="shadow-sm border-b border-neutral-200">
<!-- Primary Navigation Menu --> <div class="bg-gray-800">
<div class="container mx-auto px-4 sm:px-6 lg:px-8"> <nav x-data="{ open: false }" class="bg-blue border-b border-purple-700">
<div class="flex justify-between h-16"> <!-- Primary Navigation Menu -->
<div class="flex"> <div class="container mx-auto px-4 sm:px-6 lg:px-8">
<!-- Logo --> <div class="flex justify-between h-16">
<div class="shrink-0 flex items-center"> <div class="flex">
<%= link_to Rails.application.config.app_name, "/", class: "text-xl font-bold text-white" %> <!-- Logo -->
</div> <div class="shrink-0 flex items-center">
<%= link_to Rails.application.config.app_name, "/", class: "text-xl font-bold text-white" %>
<!-- Navigation Links --> </div>
<div class="hidden space-x-8 sm:-my-px sm:ms-10 sm:flex items-center">
<%= link_to "Soirées et afterworks", "#", class: "text-white hover:text-purple-200 px-3 py-2 rounded-md text-sm font-medium transition-colors duration-200" %> <!-- Navigation Links -->
<%= link_to "Concerts", "#", class: "text-white hover:text-purple-200 px-3 py-2 rounded-md text-sm font-medium transition-colors duration-200" %> <div class="hidden space-x-8 sm:-my-px sm:ms-10 sm:flex items-center">
</div> <%= link_to "Soirées et afterworks", "#", class: "text-white hover:text-purple-200 px-3 py-2 rounded-md text-sm font-medium transition-colors duration-200" %>
</div> <%= link_to "Concerts", "#", class: "text-white hover:text-purple-200 px-3 py-2 rounded-md text-sm font-medium transition-colors duration-200" %>
<!-- Authentication Links -->
<% if user_signed_in? %>
<!-- Settings Dropdown -->
<div class="hidden sm:flex sm:items-center sm:ms-6">
<div class="relative" x-data="{ open: false }" @click.outside="open = false" @close.stop="open = false">
<div @click="open = ! open">
<button class="bg-purple-700 text-white border border-purple-800 font-medium py-2 px-4 rounded-lg hover:bg-purple-800 transition-colors duration-200 focus-ring">
<div><%= current_user.email %></div>
<div class="ms-1">
<svg class="fill-current h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" />
</svg>
</div> </div>
</button>
</div> </div>
<div x-show="open" <!-- Authentication Links -->
x-transition:enter="transition ease-out duration-200" <% if user_signed_in? %>
x-transition:enter-start="opacity-0 scale-95" <!-- Settings Dropdown -->
x-transition:enter-end="opacity-100 scale-100" <div class="hidden sm:flex sm:items-center sm:ms-6">
x-transition:leave="transition ease-in duration-75" <div class="relative" x-data="{ open: false }" @click.outside="open = false" @close.stop="open = false">
x-transition:leave-start="opacity-100 scale-100" <div @click="open = ! open">
x-transition:leave-end="opacity-0 scale-95" <button class="bg-purple-700 text-white border border-purple-800 font-medium py-2 px-4 rounded-lg hover:bg-purple-800 transition-colors duration-200 focus-ring">
class="absolute z-50 mt-2 w-48 rounded-md shadow-lg origin-top-right right-0" <div><%= current_user.email %></div>
style="display: none;" <div class="ms-1">
@click="open = false"> <svg class="fill-current h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
<div class="rounded-md ring-1 ring-purple-700 py-1 bg-purple-600"> <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" />
<%= link_to "Mon profil", edit_user_registration_path, class: "block w-full px-4 py-2 text-start text-sm leading-5 text-white hover:bg-purple-700" %> </svg>
<%= link_to "Mes réservations", "#", class: "block w-full px-4 py-2 text-start text-sm leading-5 text-white hover:bg-purple-700" %> </div>
</button>
</div>
<div x-show="open"
x-transition:enter="transition ease-out duration-200"
x-transition:enter-start="opacity-0 scale-95"
x-transition:enter-end="opacity-100 scale-100"
x-transition:leave="transition ease-in duration-75"
x-transition:leave-start="opacity-100 scale-100"
x-transition:leave-end="opacity-0 scale-95"
class="absolute z-50 mt-2 w-48 rounded-md shadow-lg origin-top-right right-0"
style="display: none;"
@click="open = false">
<div class="rounded-md ring-1 ring-purple-700 py-1 bg-purple-600">
<%= link_to "Mon profil", edit_user_registration_path, class: "block w-full px-4 py-2 text-start text-sm leading-5 text-white hover:bg-purple-700" %>
<%= link_to "Mes réservations", "#", class: "block w-full px-4 py-2 text-start text-sm leading-5 text-white hover:bg-purple-700" %>
<%= link_to "Déconnexion", destroy_user_session_path,
data: {
controller: "logout",
action: "click->logout#signOut",
logout_url_value: destroy_user_session_path,
login_url_value: new_user_session_path,
turbo: false
},
class: "block w-full px-4 py-2 text-start text-sm leading-5 text-white hover:bg-purple-700" %>
</div>
</div>
</div>
</div>
<% else %>
<!-- Login/Register Links -->
<div class="hidden sm:flex sm:items-center sm:ms-6 space-x-4 items-center">
<%= link_to "S'inscrire", new_user_registration_path, class: "text-white hover:text-purple-200 px-3 py-2 rounded-md text-sm font-medium transition-colors duration-200" %>
<%= link_to "Se connecter", new_user_session_path, class: "bg-white text-purple-600 font-medium py-2 px-4 rounded-lg shadow-sm hover:bg-purple-100 transition-all duration-200" %>
</div>
<% end %>
<!-- Hamburger -->
<div class="-me-2 flex items-center sm:hidden">
<button @click="open = ! open" class="p-2 rounded-md text-purple-200 hover:text-white hover:bg-purple-700 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white">
<svg class="h-6 w-6" stroke="currentColor" fill="none" viewBox="0 0 24 24">
<path :class="{ 'hidden': open, 'inline-flex': !open }" class="inline-flex" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
<path :class="{ 'hidden': !open, 'inline-flex': open }" class="hidden" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</button>
</div>
</div>
</div>
<!-- Responsive Navigation Menu -->
<div :class="{ 'block': open, 'hidden': !open }" class="hidden sm:hidden">
<div class="pt-2 pb-3 space-y-1 bg-purple-600">
<%= link_to "Soirées et afterworks", "#", class: "block px-3 py-2 rounded-md text-base font-medium text-white hover:text-purple-200 hover:bg-purple-700" %>
<%= link_to "Concerts", "#", class: "block px-3 py-2 rounded-md text-base font-medium text-white hover:text-purple-200 hover:bg-purple-700" %>
</div>
<!-- Responsive Settings Options -->
<div class="pt-4 pb-1 border-t border-purple-700 bg-purple-600">
<% if user_signed_in? %>
<div class="px-4">
<div class="font-medium text-base text-white"><%= current_user.email %></div>
<div class="font-medium text-sm text-purple-200"><%= current_user.email %></div>
</div>
<div class="mt-3 space-y-1">
<%= link_to "Mon profil", edit_user_registration_path, class: "block px-3 py-2 rounded-md text-base font-medium text-white hover:text-purple-200 hover:bg-purple-700" %>
<%= link_to "Mes réservations", "#", class: "block px-3 py-2 rounded-md text-base font-medium text-white hover:text-purple-200 hover:bg-purple-700" %>
<%= link_to "Déconnexion", destroy_user_session_path, <%= link_to "Déconnexion", destroy_user_session_path,
data: { data: {
controller: "logout", controller: "logout",
action: "click->logout#signOut", action: "click->logout#signOut",
logout_url_value: destroy_user_session_path, logout_url_value: destroy_user_session_path,
login_url_value: new_user_session_path, login_url_value: new_user_session_path,
turbo: false turbo: false
}, },
class: "block w-full px-4 py-2 text-start text-sm leading-5 text-white hover:bg-purple-700" %> class: "block px-3 py-2 rounded-md text-base font-medium text-white hover:text-purple-200 hover:bg-purple-700" %>
</div> </div>
</div> <% else %>
<div class="mt-3 space-y-1">
<%= link_to "S'inscrire", new_user_registration_path, class: "block px-3 py-2 rounded-md text-base font-medium text-white hover:text-purple-200 hover:bg-purple-700" %>
<%= link_to "Se connecter", new_user_session_path, class: "block px-3 py-2 rounded-md text-base font-medium text-white hover:text-purple-200 hover:bg-purple-700" %>
</div>
<% end %>
</div> </div>
</div> </div>
<% else %> </nav>
<!-- Login/Register Links -->
<div class="hidden sm:flex sm:items-center sm:ms-6 space-x-4 items-center">
<%= link_to "S'inscrire", new_user_registration_path, class: "text-white hover:text-purple-200 px-3 py-2 rounded-md text-sm font-medium transition-colors duration-200" %>
<%= link_to "Se connecter", new_user_session_path, class: "bg-white text-purple-600 font-medium py-2 px-4 rounded-lg shadow-sm hover:bg-purple-100 transition-all duration-200" %>
</div>
<% end %>
<!-- Hamburger -->
<div class="-me-2 flex items-center sm:hidden">
<button @click="open = ! open" class="p-2 rounded-md text-purple-200 hover:text-white hover:bg-purple-700 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white">
<svg class="h-6 w-6" stroke="currentColor" fill="none" viewBox="0 0 24 24">
<path :class="{ 'hidden': open, 'inline-flex': !open }" class="inline-flex" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
<path :class="{ 'hidden': !open, 'inline-flex': open }" class="hidden" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</button>
</div>
</div> </div>
</div> </header>
<!-- Responsive Navigation Menu -->
<div :class="{ 'block': open, 'hidden': !open }" class="hidden sm:hidden">
<div class="pt-2 pb-3 space-y-1 bg-purple-600">
<%= link_to "Soirées et afterworks", "#", class: "block px-3 py-2 rounded-md text-base font-medium text-white hover:text-purple-200 hover:bg-purple-700" %>
<%= link_to "Concerts", "#", class: "block px-3 py-2 rounded-md text-base font-medium text-white hover:text-purple-200 hover:bg-purple-700" %>
</div>
<!-- Responsive Settings Options -->
<div class="pt-4 pb-1 border-t border-purple-700 bg-purple-600">
<% if user_signed_in? %>
<div class="px-4">
<div class="font-medium text-base text-white"><%= current_user.email %></div>
<div class="font-medium text-sm text-purple-200"><%= current_user.email %></div>
</div>
<div class="mt-3 space-y-1">
<%= link_to "Mon profil", edit_user_registration_path, class: "block px-3 py-2 rounded-md text-base font-medium text-white hover:text-purple-200 hover:bg-purple-700" %>
<%= link_to "Mes réservations", "#", class: "block px-3 py-2 rounded-md text-base font-medium text-white hover:text-purple-200 hover:bg-purple-700" %>
<%= link_to "Déconnexion", destroy_user_session_path,
data: {
controller: "logout",
action: "click->logout#signOut",
logout_url_value: destroy_user_session_path,
login_url_value: new_user_session_path,
turbo: false
},
class: "block px-3 py-2 rounded-md text-base font-medium text-white hover:text-purple-200 hover:bg-purple-700" %>
</div>
<% else %>
<div class="mt-3 space-y-1">
<%= link_to "S'inscrire", new_user_registration_path, class: "block px-3 py-2 rounded-md text-base font-medium text-white hover:text-purple-200 hover:bg-purple-700" %>
<%= link_to "Se connecter", new_user_session_path, class: "block px-3 py-2 rounded-md text-base font-medium text-white hover:text-purple-200 hover:bg-purple-700" %>
</div>
<% end %>
</div>
</div>
</nav>

View File

@@ -25,11 +25,7 @@
<body class="h-full font-sans text-neutral-900 antialiased"> <body class="h-full font-sans text-neutral-900 antialiased">
<div class="min-h-full"> <div class="min-h-full">
<header class="bg-purple shadow-sm border-b border-neutral-200"> <%= render "components/header" %>
<div class="container mx-auto px-4 sm:px-6 lg:px-8">
<%= render "components/header" %>
</div>
</header>
<main class="container mx-auto px-4 sm:px-6 lg:px-8 py-8"> <main class="container mx-auto px-4 sm:px-6 lg:px-8 py-8">
<%= yield %> <%= yield %>

View File

@@ -1,5 +1,5 @@
<!-- Hero Section --> <!-- Hero Section -->
<section class="relative bg-gradient-to-br from-purple-100 via-pink-50 to-indigo-100 min-h-[70vh] flex items-center"> <section class="relative bg-neutral-50 min-h-[70vh] flex items-center">
<div class="absolute inset-0 bg-white bg-opacity-60"></div> <div class="absolute inset-0 bg-white bg-opacity-60"></div>
<div class="relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center"> <div class="relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center">
<h1 class="text-5xl md:text-7xl font-bold text-neutral-900 mb-6 leading-tight"> <h1 class="text-5xl md:text-7xl font-bold text-neutral-900 mb-6 leading-tight">