Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

スケジュールページを実装 #262

Open
wants to merge 5 commits into
base: 2025
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 31 additions & 9 deletions app/views/components/_session.html.erb
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<div class="bg-gray-100 rounded-lg p-4 shadow-md border">
<%# トグルボタン %>
<button class="flex items-center justify-between w-full text-left font-bold text-lg py-2"
<div class="bg-gray-100 rounded-lg p-3 shadow-md border">
<div class="flex items-center justify-between">
<button id="toggle-button-<%= session_id %>" class="flex items-center text-left py-2 gap-1"
onclick="toggleSession('<%= session_id %>')">
<div class="flex items-center space-x-2">
<i id="icon-<%= session_id %>" class="fa-solid fa-angle-right"></i>
<span><%= start_end %></span>
</div>
<i id="icon-<%= session_id %>" class="fa-solid fa-angle-right md:hidden"></i>
<span class="font-bold text-lg"><%= start_end %></span>
</button>
<span class="hidden sm:inline font-bold text-lg"><%= start_end %></span>
<% if location.present? %>
<%= render 'components/badge', label: location %>
<% end %>
</button>
</div>
<%# セッションリスト (最初の1つはデフォルト表示) %>
<div id="<%= session_id %>" class="mt-2 flex flex-col gap-y-4">
<div id="<%= session_id %>" class="mt-2 flex flex-wrap flex-row gap-4">
<% sessions.each_with_index do |session, index| %>
<div class="session-item <%= index > 0 ? 'hidden' : '' %>">
<%= render 'components/session_card', schedule: session, attendees: attendees, scheduled: scheduled %>
Expand Down Expand Up @@ -40,4 +40,26 @@
iconElement.classList.toggle("fa-angle-down", !isExpanded);
}
}

// 画面に応じた処理
function handleResize() {
const toggleButtons = document.querySelectorAll('[id^="toggle-button-"]');
toggleButtons.forEach(button => {
if (window.innerWidth >= 640) {
button.classList.add('hidden');
} else {
button.classList.remove('hidden');
}
});

const sessionItems = document.querySelectorAll('.session-item');
if (window.innerWidth >= 640) {
sessionItems.forEach(item => {
item.classList.remove('hidden');
});
}
}

window.addEventListener('resize', handleResize);
document.addEventListener('DOMContentLoaded', handleResize);
</script>
14 changes: 5 additions & 9 deletions app/views/components/_timeline.html.erb
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
<% if false %>
必要なパラメータ:
- events: イベントの配列。各イベントは以下の構造:
必要なパラメータ:
- events: イベントの配列。各イベントは以下の構造:
{ start_time: "HH:MM", end_time: "HH:MM", participating: boolean }
- start_time: タイムラインの開始時刻(例: "09:00")
- end_time: タイムラインの終了時刻(例: "18:00")
- start_time: タイムラインの開始時刻(例: "09:00")
- end_time: タイムラインの終了時刻(例: "18:00")
<% end %>

<%
def hour_height
160 # 1時間あたりの高さ(px)
Expand Down Expand Up @@ -39,17 +38,15 @@
start_hour = parse_hour(start_time)
end_hour = parse_hour(end_time)
%>

<div class="overflow-y-auto relative">
<%# 時刻のブロック %>
<% (start_hour..end_hour).each do |hour| %>
<div class="relative" style="height: <%= hour_height %>px">
<div class="relative w-14" style="height: <%= hour_height %>px">
<div class="absolute left-0 top-0 w-12 p-1 text-left text-xs text-[#131416] bg-[#FCFCFD]/70 rounded-r-lg z-10">
<%= format_hour(hour) %>
</div>
</div>
<% end %>

<%# イベントブロック %>
<% events.each do |event| %>
<%
Expand All @@ -59,7 +56,6 @@
start_offset = minutes_to_height(start_minutes - time_to_minutes("#{start_hour}:00"))
height = minutes_to_height(duration_minutes)
%>

<div
class="absolute left-0 w-10 ml-4 rounded-lg <%= event[:participating] ? 'bg-[#5E626E]' : 'bg-[#E3E5E8] border-2 border-dashed border-[#5E626E]' %>"
style="top: <%= start_offset %>px; height: <%= height %>px;"
Expand Down
159 changes: 38 additions & 121 deletions app/views/layouts/_header.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -35,151 +35,68 @@
<span data-hamburger-target="x" class="relative z-20 hidden">
<i class="fa-solid fa-xmark fa-xl"></i>
</span>
<ul data-hamburger-target="sidebar" class="fixed z-10 h-full top-0 right-0 flex flex-col items-center justify-center w-3/4 bg-[var(--mainColor)] translate-x-full transition-all ease-linear">
<li class='w-full'>
<a
<ul data-hamburger-target="sidebar" class="fixed z-10 h-full top-0 right-0 flex flex-col items-center justify-center w-3/4 bg-[var(--mainColor)] translate-x-full transition-all ease-linear">
<li class='w-full'>
<a
href="<%= event_path %>"
class="flex items-center justify-center gap-2 h-max box-border m-0 boder-none bg-transparent px-2 py-3 <%= current_path?(event_path) ? 'nav-current' : '' %>"
<%= sanitize current_path?(event_path) ? 'aria-current="page"' : '' %>
>
<%= I18n.t('nav.root') %></a>
</li>
<li class='w-full'>
<a
<%= I18n.t('nav.root') %></a>
</li>
<li class='w-full'>
<a
href="<%= event_schedules_path %>"
class="flex items-center justify-center gap-2 h-max box-border m-0 boder-none bg-transparent px-2 py-3 <%= current_path?(event_schedules_path) ? 'nav-current' : '' %>"
<%= sanitize current_path?(event_schedules_path) ? 'aria-current="page"' : '' %>
>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 576 512" color="#706d65" class=""
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 576 512" color="#706d65" class=""
role="img" aria-hidden="true" focusable="false" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"
style="color: rgb(112, 109, 101);">
<path
<path
d="M576 240c0-23.63-12.95-44.04-32-55.12V32.01C544 23.26 537.02 0 512 0c-7.12 0-14.19 2.38-19.98 7.02l-85.03 68.03C364.28 109.19 310.66 128 256 128H64c-35.35 0-64 28.65-64 64v96c0 35.35 28.65 64 64 64h33.7c-1.39 10.48-2.18 21.14-2.18 32 0 39.77 9.26 77.35 25.56 110.94 5.19 10.69 16.52 17.06 28.4 17.06h74.28c26.05 0 41.69-29.84 25.9-50.56-16.4-21.52-26.15-48.36-26.15-77.44 0-11.11 1.62-21.79 4.41-32H256c54.66 0 108.28 18.81 150.98 52.95l85.03 68.03a32.023 32.023 0 0 0 19.98 7.02c24.92 0 32-22.78 32-32V295.13C563.05 284.04 576 263.63 576 240zm-96 141.42l-33.05-26.44C392.95 311.78 325.12 288 256 288v-96c69.12 0 136.95-23.78 190.95-66.98L480 98.58v282.84z">
</path>
</svg>
<%= I18n.t('nav.schedule') %></a>
</li>
<% unless @plan.new_record? %>
<li class='w-full'>
<a
</path>
</svg>
<%= I18n.t('nav.schedule') %></a>
</li>
<% unless @plan.new_record? %>
<li class='w-full'>
<a
href="<%= event_plan_path(@plan, event_name: @plan.event.name) %>"
class="flex items-center justify-center gap-2 h-max box-border m-0 boder-none bg-transparent px-2 py-3 <%= current_path?(event_plan_path(@plan, event_name: @plan.event.name)) ? 'nav-current' : '' %>"
<%= sanitize current_path?(event_plan_path(@plan, event_name: @plan.event.name)) ? 'aria-current="page"' : '' %>
>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" color="#706d65" class=""
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" color="#706d65" class=""
role="img" aria-hidden="true" focusable="false" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"
style="color: rgb(112, 109, 101);">
<path
<path
d="M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm320-196c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM192 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM64 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z">
</path>
</svg>
<%= I18n.t('nav.plan') %></a>
</li>
<% end %>
<li class='w-full'>
<a
</path>
</svg>
<%= I18n.t('nav.plan') %></a>
</li>
<% end %>
<li class='w-full'>
<a
href="<%= profile_path %>"
class="flex items-center justify-center gap-2 h-max box-border m-0 boder-none bg-transparent px-2 py-3 <%= current_path?(profile_path) ? 'nav-current' : '' %>"
<%= sanitize current_path?(event_path) ? 'aria-current="page"' : '' %>
>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 512 512" width="1em" height="1em" class="" role="img" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" style="color: rgb(112, 109, 101);"><path d="M256 288A144 144 0 1 0 256 0a144 144 0 1 0 0 288zm-94.7 32C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7H481.3c17 0 30.7-13.8 30.7-30.7C512 392.2 439.8 320 350.7 320H161.3z"></path></svg>
<%= I18n.t('nav.profile') %></a>
</li>
<% if @user&.profile&.belongs_to_any_team? %>
<li class='w-full'>
<a
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 512 512" width="1em" height="1em" class="" role="img" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" style="color: rgb(112, 109, 101);"><path d="M256 288A144 144 0 1 0 256 0a144 144 0 1 0 0 288zm-94.7 32C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7H481.3c17 0 30.7-13.8 30.7-30.7C512 392.2 439.8 320 350.7 320H161.3z"></path></svg>
<%= I18n.t('nav.profile') %></a>
</li>
<% if @user&.profile&.belongs_to_any_team? %>
<li class='w-full'>
<a
href="<%= team_path(@user.profile.current_team) %>"
class="flex items-center justify-center gap-2 h-max box-border m-0 boder-none bg-transparent px-2 py-3 <%= current_path?(team_path(@user.profile.current_team)) ? 'nav-current' : '' %>"
<%= sanitize current_path?(event_path) ? 'aria-current="page"' : '' %>
>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" width="1em" height="1em" class="" role="img" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" style="color: rgb(112, 109, 101);"><path d="M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H405.3zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352H378.7C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z"></path></svg>
<%= I18n.t('nav.team') %></a>
</li>
<% end %>
</ul>
</div>
</div>

<div data-controller="navigation" class="hidden sm:flex items-center min-w-max bg-white pr-6 pl-6 shadow-[rgba(3,3,2,0.3)_0_1px_2px_0] px-6">
<ul class="self-stretch flex items-stretch gap-4 m-0 p-0">
<li>
<a
href="<%= event_path %>"
class="flex items-center gap-2 h-max box-border m-0 boder-none bg-transparent px-2 py-3 <%= current_path?(event_path) ? 'nav-current' : '' %>"
<%= sanitize current_path?(event_path) ? 'aria-current="page"' : '' %>
>
<%= I18n.t('nav.root') %></a>
</li>
<li>
<a
href="<%= event_schedules_path %>"
class="flex items-center gap-2 h-max box-border m-0 boder-none bg-transparent px-2 py-3 <%= current_path?(event_schedules_path) ? 'nav-current' : '' %>"
<%= sanitize current_path?(event_schedules_path) ? 'aria-current="page"' : '' %>
>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 576 512" color="#706d65" class=""
role="img" aria-hidden="true" focusable="false" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"
style="color: rgb(112, 109, 101);">
<path
d="M576 240c0-23.63-12.95-44.04-32-55.12V32.01C544 23.26 537.02 0 512 0c-7.12 0-14.19 2.38-19.98 7.02l-85.03 68.03C364.28 109.19 310.66 128 256 128H64c-35.35 0-64 28.65-64 64v96c0 35.35 28.65 64 64 64h33.7c-1.39 10.48-2.18 21.14-2.18 32 0 39.77 9.26 77.35 25.56 110.94 5.19 10.69 16.52 17.06 28.4 17.06h74.28c26.05 0 41.69-29.84 25.9-50.56-16.4-21.52-26.15-48.36-26.15-77.44 0-11.11 1.62-21.79 4.41-32H256c54.66 0 108.28 18.81 150.98 52.95l85.03 68.03a32.023 32.023 0 0 0 19.98 7.02c24.92 0 32-22.78 32-32V295.13C563.05 284.04 576 263.63 576 240zm-96 141.42l-33.05-26.44C392.95 311.78 325.12 288 256 288v-96c69.12 0 136.95-23.78 190.95-66.98L480 98.58v282.84z">
</path>
</svg>
<%= I18n.t('nav.schedule') %></a>
</li>
<% unless @plan.new_record? %>
<li>
<a
href="<%= event_plan_path(@plan, event_name: @plan.event.name) %>"
class="flex items-center gap-2 h-max box-border m-0 boder-none bg-transparent px-2 py-3 <%= current_path?(event_plan_path(@plan, event_name: @plan.event.name)) ? 'nav-current' : '' %>"
<%= sanitize current_path?(event_plan_path(@plan, event_name: @plan.event.name)) ? 'aria-current="page"' : '' %>
>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" color="#706d65" class=""
role="img" aria-hidden="true" focusable="false" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"
style="color: rgb(112, 109, 101);">
<path
d="M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm320-196c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM192 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM64 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z">
</path>
</svg>
<%= I18n.t('nav.plan') %></a>
</li>
<% end %>
<li>
<a
href="<%= profile_path %>"
class="flex items-center gap-2 h-max box-border m-0 boder-none bg-transparent px-2 py-3 <%= current_path?(profile_path) ? 'nav-current' : '' %>"
<%= sanitize current_path?(event_path) ? 'aria-current="page"' : '' %>
>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 512 512" width="1em" height="1em" class="" role="img" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" style="color: rgb(112, 109, 101);"><path d="M256 288A144 144 0 1 0 256 0a144 144 0 1 0 0 288zm-94.7 32C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7H481.3c17 0 30.7-13.8 30.7-30.7C512 392.2 439.8 320 350.7 320H161.3z"></path></svg>
<%= I18n.t('nav.profile') %></a>
</li>
<% if @user&.profile&.belongs_to_any_team? %>
<li>
<a
href="<%= team_path(@user.profile.current_team) %>"
class="flex items-center gap-2 h-max box-border m-0 boder-none bg-transparent px-2 py-3 <%= current_path?(team_path(@user.profile.current_team)) ? 'nav-current' : '' %>"
<%= sanitize current_path?(event_path) ? 'aria-current="page"' : '' %>
>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" width="1em" height="1em" class="" role="img" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" style="color: rgb(112, 109, 101);"><path d="M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H405.3zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352H378.7C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z"></path></svg>
<%= I18n.t('nav.team') %></a>
</li>
<% end %>
</ul>
<div class="ml-auto">
<label class="flex items-center justify-start gap-2">
<span class="text-sm font-bold text-[rgb(112,109,101)]">
<%= I18n.t('nav.select_locale') %>
</span>
<div class="relative box-border w-[16.25em]" data-controller="locale" data-locale-current-value="<%= session[:locale] %>">
<select data-action="change->locale#change" class="py-[3px] px-2 min-h-[30px] appearance-none cursor-pointer outline-none rounded-md border border-solid border-[rgb(214,211,208)] bg-white ps-2 pe-8 text-sm text-[rgb(35,34,30)] w-full align-middle">
<% grouped_timezones.map do |k, v| %>
<optgroup label="<%= k %>">
<% v.map do |locale| %>
<option label="<%= locale %>" value="<%= locale %>" <%= locale == session[:locale] ? "selected" : nil %>><%= locale %></option>
<% end %>
</optgroup>
<% end %>
</select>
</div>
</label>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" width="1em" height="1em" class="" role="img" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" style="color: rgb(112, 109, 101);"><path d="M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H405.3zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352H378.7C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z"></path></svg>
<%= I18n.t('nav.team') %></a>
</li>
<% end %>
</ul>
</div>
</div>
</div>
</nav>
</nav>
4 changes: 1 addition & 3 deletions app/views/layouts/application.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,6 @@
<header>
<%= render 'components/app_header' %>
</header>
<div class="p-4 sm:p-8">
<%= yield %>
</div>
<%= yield %>
</body>
</html>
Loading
Loading