diff --git a/Gemfile b/Gemfile index 4b8a7337f..3bdf47e1a 100644 --- a/Gemfile +++ b/Gemfile @@ -92,7 +92,7 @@ group :development do gem "error_highlight", ">= 0.4.0", platforms: [:ruby] gem "ruby-lsp-rails", require: false - gem "standardrb", "~> 1.0", require: false + gem "standardrb", require: false gem "erb_lint", require: false gem "authentication-zero", require: false end diff --git a/Gemfile.lock b/Gemfile.lock index d9467e651..dfcb99420 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -675,7 +675,7 @@ DEPENDENCIES solid_queue sqlite3 (>= 2.1.0) stackprof - standardrb (~> 1.0) + standardrb thruster turbo-rails tzinfo-data diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 8b834dfdd..662aacc0e 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -1,22 +1,81 @@ -@import "tailwindcss/base"; -@import "tailwindcss/components"; -@import "tailwindcss/utilities"; - -@import "components/button.css"; -@import "components/diff.css"; -@import "components/dropdown.css"; -@import "components/form.css"; -@import "components/markdown.css"; -@import "components/modal.css"; -@import "components/nav.css"; -@import "components/pagination.css"; -@import "components/tabs.css"; -@import "components/skeleton.css"; -@import "components/spotlight.css"; -@import "components/transition.css"; -@import "components/typography.css"; -@import "components/video.css"; - -@import "vlitejs/vlite.css"; - -@import "bridge/components"; +@import "tailwindcss"; +@import "./bridge/components.css"; + +@plugin "daisyui" { + themes: light --default, dark --prefersdark; +} + +@plugin "daisyui/theme" { + name: "light"; + default: true; /* set as default */ + prefersdark: false; /* set as default dark mode (prefers-color-scheme:dark) */ + color-scheme: light; /* color of browser-provided UI */ + + --color-base-100: oklch(98.16% 0.0017 247.84); + --color-base-200: oklch(94.76% 0.0058 247.84); + --color-base-300: oklch(91.30% .001588 247.84); + --color-base-content: oklch(21% 0.006 285.885); + --color-primary: oklch(57.12% 0.2219 20.09); + --color-primary-content: oklch(98% 0.003 247.858); + --color-secondary: oklch(53.12% 0.1743 297.64); + --color-secondary-content: oklch(97% 0.014 254.604); + --color-accent: '#1DA1F2'; + --color-accent-content: '#ffffff'; + --color-neutral: '#261B23'; + --color-neutral-content: '#ffffff'; + + /* border radius */ + --radius-selector: 0.5rem; + --radius-field: 0.5rem; + --radius-box: 0.5rem; + + /* base sizes */ + --size-selector: 0.25rem; + --size-field: 0.25rem; + + /* border size */ + --border: 1px; + + /* effects */ + --depth: 0; + --noise: 1; + + --card-p: 1rem; +} + +@import './components/button.css'; +@import './components/diff.css'; +@import './components/dropdown.css'; +@import './components/form.css'; +@import './components/markdown.css'; +@import './components/modal.css'; +@import './components/nav.css'; +@import './components/pagination.css'; +@import './components/tabs.css'; +@import './components/skeleton.css'; +@import './components/spotlight.css'; +@import './components/transition.css'; +@import './components/typography.css' layer(utilities); +@import './components/video.css'; + +@import "../../../node_modules/vlitejs/dist/vlite.css"; + +@config '../../../tailwind.config.js'; + +/* + The default border color has changed to `currentColor` in Tailwind CSS v4, + so we've added these compatibility styles to make sure everything still + looks the same as it did with Tailwind CSS v3. + + If we ever want to remove these styles, we need to add an explicit border + color utility to any element that depends on these defaults. +*/ +@layer base { + *, + ::after, + ::before, + ::backdrop, + ::file-selector-button { + border-color: var(--color-base-300); + } +} diff --git a/app/assets/stylesheets/application.utilities.css b/app/assets/stylesheets/application.utilities.css new file mode 100644 index 000000000..9379ab62a --- /dev/null +++ b/app/assets/stylesheets/application.utilities.css @@ -0,0 +1 @@ +@import './components/typography.utilities.css' \ No newline at end of file diff --git a/app/assets/stylesheets/components/button.css b/app/assets/stylesheets/components/button.css index f4f2e34f3..2e6413b89 100644 --- a/app/assets/stylesheets/components/button.css +++ b/app/assets/stylesheets/components/button.css @@ -1,24 +1,47 @@ -@layer components { - .btn { - @apply fill-current; - } +@utility btn { + @apply fill-current; - .btn:not(.btn-sm) { + &:not(.btn-sm) { height: 2.5rem; min-height: 2.5rem; } - .btn-rounded { - @apply btn-outline rounded-full border border-gray-400 bg-white hover:border-gray-500 hover:bg-gray-100 hover:text-base-content/80; + /* for the toolbar buttons */ + &.btn-pill { + @apply btn-rounded btn-outline; + @apply flex-nowrap whitespace-nowrap; + + /* for the watched button */ + &.active { + @apply border-primary bg-primary text-primary-content; + } + + &.btn-sm { + @apply text-sm font-normal; + } + } + + &.btn-secondary { + @apply whitespace-nowrap border-primary bg-white fill-primary text-primary hover:bg-gray-100 hover:text-primary/90; } - .btn-circle { - @apply btn-rounded; - @apply h-10 w-10; + &.btn-neutral { + @apply bg-white hover:fill-neutral/80 hover:text-neutral/80; } +} +@utility btn-rounded { + @apply btn-outline rounded-full border border-gray-400 bg-white hover:border-gray-500 hover:bg-gray-100 text-base-content hover:text-base-content/80; +} + +@utility btn-circle { + @apply btn-rounded; + @apply h-10 w-10; +} + +@utility btn-pill { /* for the toolbar buttons */ - .btn.btn-pill { + &.btn { @apply btn-rounded btn-outline; @apply flex-nowrap whitespace-nowrap; @@ -31,12 +54,16 @@ @apply text-sm font-normal; } } +} - .btn.btn-secondary { +@utility btn-secondary { + &.btn { @apply whitespace-nowrap border-primary bg-white fill-primary text-primary hover:bg-gray-100 hover:text-primary/90; } +} - .btn.btn-neutral { +@utility btn-neutral { + &.btn { @apply bg-white hover:fill-neutral/80 hover:text-neutral/80; } } diff --git a/app/assets/stylesheets/components/diff.css b/app/assets/stylesheets/components/diff.css index 5ab8c1e59..029ea1da5 100644 --- a/app/assets/stylesheets/components/diff.css +++ b/app/assets/stylesheets/components/diff.css @@ -1,11 +1,9 @@ -@layer components { - .diff { - del { - @apply text-error; - } +@utility diff { + del { + @apply text-error; + } - ins { - @apply text-success; - } + ins { + @apply text-success; } } diff --git a/app/assets/stylesheets/components/dropdown.css b/app/assets/stylesheets/components/dropdown.css index f651f03a4..68d738660 100644 --- a/app/assets/stylesheets/components/dropdown.css +++ b/app/assets/stylesheets/components/dropdown.css @@ -1,20 +1,39 @@ -@layer components { - details > summary { - list-style: none; +@utility menu { + /* fix the dropdown button to links, by default daisyui adds padding to the form element */ + /* therefore the inner button does not fill the dropdown item */ + /* and only the text of the button is clickable */ + & li form.button_to { + padding: 0; + display: block; } + & li form.button_to button { + display: block; + width: 100%; + text-align: start; + padding: 0.5rem 1rem; + } +} + +@utility button_to { /* fix the dropdown button to links, by default daisyui adds padding to the form element */ /* therefore the inner button does not fill the dropdown item */ /* and only the text of the button is clickable */ - .menu li form.button_to { + .menu li &form { padding: 0; display: block; } - .menu li form.button_to button { + .menu li &form button { display: block; width: 100%; text-align: start; padding: 0.5rem 1rem; } } + +@layer components { + details > summary { + list-style: none; + } +} diff --git a/app/assets/stylesheets/components/form.css b/app/assets/stylesheets/components/form.css index 95ef49fbc..3d6db311f 100644 --- a/app/assets/stylesheets/components/form.css +++ b/app/assets/stylesheets/components/form.css @@ -1,12 +1,15 @@ +@utility input { + /* because setting --rounded-btn to 1.9rem makes also all input field fully rounded */ + /* we override this behaviour */ + @apply rounded-lg border border-gray-200 bg-white; +} + +@utility textarea { + @apply rounded-lg border border-gray-200 bg-white; +} + @layer components { label { @apply font-semibold; } - - /* because setting --rounded-btn to 1.9rem makes also all input field fully rounded */ - /* we override this behaviour */ - .input, - .textarea { - @apply rounded-lg border border-gray-200 bg-white; - } } diff --git a/app/assets/stylesheets/components/markdown.css b/app/assets/stylesheets/components/markdown.css index 5ea4e20a3..129073220 100644 --- a/app/assets/stylesheets/components/markdown.css +++ b/app/assets/stylesheets/components/markdown.css @@ -1,37 +1,35 @@ -@layer components { - .markdown { - p { - @apply mb-2; - } +@utility markdown { + p { + @apply mb-2; + } - h1, - h2, - h3, - h4, - h5, - h6 { - @apply mb-4 mt-8; - } + h1, + h2, + h3, + h4, + h5, + h6 { + @apply mb-4 mt-8; + } - h1, - h2, - h3 { - @apply text-primary; - } + h1, + h2, + h3 { + @apply text-primary; + } - ul { - @apply mb-4; - li { - @apply ml-6 list-disc; - } + ul { + @apply mb-4; + li { + @apply ml-6 list-disc; } + } - ol { - @apply mb-4; - } + ol { + @apply mb-4; + } - a { - @apply text-primary; - } + a { + @apply text-primary; } } diff --git a/app/assets/stylesheets/components/modal.css b/app/assets/stylesheets/components/modal.css index 3ecc76f6e..11d2cff4b 100644 --- a/app/assets/stylesheets/components/modal.css +++ b/app/assets/stylesheets/components/modal.css @@ -1,9 +1,17 @@ -@layer components { - .modal-box { - @apply bg-white; +@utility modal-box { + @apply bg-white; +} + +@utility modal-top { + &.spotlight { + .modal-box { + @apply absolute left-0 right-0 top-4 mx-4 w-auto rounded-lg lg:top-8 lg:mx-8; + } } +} - .modal-top.spotlight { +@utility spotlight { + &.modal-top { .modal-box { @apply absolute left-0 right-0 top-4 mx-4 w-auto rounded-lg lg:top-8 lg:mx-8; } diff --git a/app/assets/stylesheets/components/nav.css b/app/assets/stylesheets/components/nav.css index d57efb65b..fa0424363 100644 --- a/app/assets/stylesheets/components/nav.css +++ b/app/assets/stylesheets/components/nav.css @@ -1,24 +1,22 @@ -@layer components { - .desktop-menu { - @apply hidden gap-6 md:flex; +@utility desktop-menu { + @apply hidden gap-6 md:flex; - li, - title { - @apply m-0 inline-block; - div { - @apply invisible h-0.5 bg-primary; - } - &.active { - @apply relative; - & > div { - view-transition-name: navbar-active; - @apply visible absolute bottom-0 w-full font-bold; - } + li, + title { + @apply m-0 inline-block; + div { + @apply invisible h-0.5 bg-primary; + } + &.active { + @apply relative; + & > div { + view-transition-name: navbar-active; + @apply visible absolute bottom-0 w-full font-bold; } } } +} - .mobile-menu { - @apply flex md:hidden; - } +@utility mobile-menu { + @apply flex md:hidden; } diff --git a/app/assets/stylesheets/components/pagination.css b/app/assets/stylesheets/components/pagination.css index d130f0146..0a90fa47a 100644 --- a/app/assets/stylesheets/components/pagination.css +++ b/app/assets/stylesheets/components/pagination.css @@ -1,5 +1,19 @@ -@layer components { - nav.pagy.nav { +@utility pagy { + &nav.nav { + @apply mx-auto flex justify-normal gap-4 bg-transparent text-base-content sm:gap-8; + + .current { + @apply font-semibold text-primary; + } + + .page.disabled { + @apply text-base-300; + } + } +} + +@utility nav { + &nav.pagy { @apply mx-auto flex justify-normal gap-4 bg-transparent text-base-content sm:gap-8; .current { diff --git a/app/assets/stylesheets/components/skeleton.css b/app/assets/stylesheets/components/skeleton.css index c9b47991b..fb896413a 100644 --- a/app/assets/stylesheets/components/skeleton.css +++ b/app/assets/stylesheets/components/skeleton.css @@ -1,5 +1,3 @@ -@layer components { - .skeleton { - border-radius: inherit; - } +@utility skeleton { + border-radius: inherit; } diff --git a/app/assets/stylesheets/components/spotlight.css b/app/assets/stylesheets/components/spotlight.css index d2f49671a..a5f7a9e91 100644 --- a/app/assets/stylesheets/components/spotlight.css +++ b/app/assets/stylesheets/components/spotlight.css @@ -1,7 +1,16 @@ -@layer components { - .modal-box.spotlight { +@utility modal-box { + &.spotlight { + @apply max-w-full; + } +} + +@utility spotlight { + &.modal-box { @apply max-w-full; } +} + +@layer components { [role="option"][aria-selected="true"] { @apply font-bold; diff --git a/app/assets/stylesheets/components/tabs.css b/app/assets/stylesheets/components/tabs.css index 598ace83f..86d34db37 100644 --- a/app/assets/stylesheets/components/tabs.css +++ b/app/assets/stylesheets/components/tabs.css @@ -1,14 +1,14 @@ -@layer components { +@utility tabs { /* https://github.com/saadeghi/daisyui/issues/2988 */ - .tabs { - display: flex; - flex-wrap: wrap; - } - .tab { - order: 0; - } - .tab-content { - order: 1; - width: 100%; - } + display: flex; + flex-wrap: wrap; +} + +@utility tab { + order: 0; +} + +@utility tab-content { + order: 1; + width: 100%; } diff --git a/app/assets/stylesheets/components/transition.css b/app/assets/stylesheets/components/transition.css index 59bc4c80e..44301660d 100644 --- a/app/assets/stylesheets/components/transition.css +++ b/app/assets/stylesheets/components/transition.css @@ -1,25 +1,37 @@ -@layer components { - ::view-transition-group(root) { - animation: none; - mix-blend-mode: normal; - } +@utility navbar { + view-transition-name: navbar; + contain: layout; +} - .navbar { - view-transition-name: navbar; +@utility banner-img { + & .v-vlite { contain: layout; } +} - .banner-img .v-vlite { +@utility v-vlite { + .banner-img & { contain: layout; } +} - .card-horizontal-img img { +@utility card-horizontal-img { + & img { contain: layout; } +} - .gallery img { +@utility gallery { + & img { contain: layout; } +} + +@layer components { + ::view-transition-group(root) { + animation: none; + mix-blend-mode: normal; + } @keyframes fade-in { from { diff --git a/app/assets/stylesheets/components/typography.css b/app/assets/stylesheets/components/typography.css index de5076563..b0bf88fde 100644 --- a/app/assets/stylesheets/components/typography.css +++ b/app/assets/stylesheets/components/typography.css @@ -1,4 +1,4 @@ -@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@200..1000&display=swap"); +@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@200..1000&display=swap'); :root { font-family: Inter, sans-serif; @@ -15,25 +15,6 @@ @apply bg-base-100 leading-relaxed text-base-content; } - h1, - .h1 { - @apply font-serif text-3xl font-bold text-primary; - } - - h2, - .h2 { - @apply font-serif text-xl font-bold; - } - - p.secondary { - @apply text-neutral-content; - } - - a.link-ghost { - @apply hover:underline; - text-decoration: none; - } - mark { /* search results highlight */ background-color: rgb(242, 255, 140); diff --git a/app/assets/stylesheets/components/typography.utilities.css b/app/assets/stylesheets/components/typography.utilities.css new file mode 100644 index 000000000..3d6235ee3 --- /dev/null +++ b/app/assets/stylesheets/components/typography.utilities.css @@ -0,0 +1,20 @@ +@utility h1 { + @apply font-serif text-3xl font-bold text-primary; +} + +@utility h2 { + @apply font-serif text-xl font-bold; +} + +@utility secondary { + &p { + @apply text-neutral-content; + } +} + +@utility link-ghost { + &a { + @apply hover:underline; + text-decoration: none; + } +} \ No newline at end of file diff --git a/app/assets/stylesheets/components/video.css b/app/assets/stylesheets/components/video.css index c41009194..9344dbbe4 100644 --- a/app/assets/stylesheets/components/video.css +++ b/app/assets/stylesheets/components/video.css @@ -1,24 +1,48 @@ -@layer components { - .banner-img .v-vlite { +@utility banner-img { + & .v-vlite { --vlite-controlsColor: #dc143c; --vlite-controlsOpacity: 1; --vlite-controlBarBackground: linear-gradient(0deg, #000 -50%, #fff); } +} - .v-playbackRateSelect.v-controlButton { +@utility v-vlite { + .banner-img & { + --vlite-controlsColor: #dc143c; + --vlite-controlsOpacity: 1; + --vlite-controlBarBackground: linear-gradient(0deg, #000 -50%, #fff); + } +} + +@utility v-playbackRateSelect { + &.v-controlButton { color: var(--vlite-controlsColor); text-align: center; } +} - .v-loader { - display: none !important; +@utility v-controlButton { + &.v-playbackRateSelect { + color: var(--vlite-controlsColor); + text-align: center; } - .v-bigPlay { - opacity: 0.5 !important; + &.v-openInYouTube svg { + width: 65%; + fill: var(--vlite-controlsColor); } - - .v-openInYouTube.v-controlButton svg { +} + +@utility v-loader { + display: none !important; +} + +@utility v-bigPlay { + opacity: 0.5 !important; +} + +@utility v-openInYouTube { + &.v-controlButton svg { width: 65%; fill: var(--vlite-controlsColor); } diff --git a/app/components/ui/dropdown_component.rb b/app/components/ui/dropdown_component.rb index f34593b77..183575f27 100644 --- a/app/components/ui/dropdown_component.rb +++ b/app/components/ui/dropdown_component.rb @@ -5,13 +5,13 @@ class Ui::DropdownComponent < ApplicationComponent divider: lambda { render Ui::DividerComponent.new(class: "my-2") }, link_to: lambda { |*args, **attributes, &block| content_tag :li do - attributes[:class] = class_names("!whitespace-nowrap", attributes[:class]) + attributes[:class] = class_names("whitespace-nowrap!", attributes[:class]) concat link_to(*args, **attributes, &block) end }, button_to: lambda { |*args, **attributes| content_tag :li do - attributes[:class] = class_names("!whitespace-nowrap", attributes[:class]) + attributes[:class] = class_names("whitespace-nowrap!", attributes[:class]) concat button_to(*args, **attributes) end } @@ -57,6 +57,6 @@ def component_classes end def content_classes - class_names("dropdown-content menu menu-smp-2 mt-4 w-max z-[1] rounded-lg shadow-2xl bg-white text-neutral", attributes.delete(:content_classes)) + class_names("dropdown-content menu menu-smp-2 mt-4 w-max z-1 rounded-lg shadow-2xl bg-white text-neutral", attributes.delete(:content_classes)) end end diff --git a/app/components/ui/modal_component.rb b/app/components/ui/modal_component.rb index c34ee0164..c0efb9db2 100644 --- a/app/components/ui/modal_component.rb +++ b/app/components/ui/modal_component.rb @@ -10,7 +10,7 @@ class Ui::ModalComponent < ApplicationComponent SIZE_MAPPING = { md: "", - lg: "!max-w-[800px]" + lg: "max-w-[800px]!" } option :open, type: Dry::Types["strict.bool"], default: proc { false } @@ -48,6 +48,6 @@ def size_class end def content_classes - class_names("dropdown-content menu menu-sm p-2 mt-4 w-max z-[1] rounded-lg shadow-2xl bg-white text-neutral", attributes.delete(:content_classes)) + class_names("dropdown-content menu menu-sm p-2 mt-4 w-max z-1 rounded-lg shadow-2xl bg-white text-neutral", attributes.delete(:content_classes)) end end diff --git a/app/javascript/controllers/spotlight_search_controller.js b/app/javascript/controllers/spotlight_search_controller.js index 3d538b3fe..085ddcb0a 100644 --- a/app/javascript/controllers/spotlight_search_controller.js +++ b/app/javascript/controllers/spotlight_search_controller.js @@ -106,7 +106,10 @@ export default class extends Controller { // callbacks appear () { - this.searchInputTarget.focus() + console.log('appear', this.searchInputTarget) + requestAnimationFrame(() => { + this.searchInputTarget.focus() + }) } // private diff --git a/app/javascript/entrypoints/application.css b/app/javascript/entrypoints/application.css index 096565955..438f2de86 100644 --- a/app/javascript/entrypoints/application.css +++ b/app/javascript/entrypoints/application.css @@ -1 +1,2 @@ -@import "../../assets/stylesheets/application.css"; +@import '../../assets/stylesheets/application.css'; +@import '../../assets/stylesheets/application.utilities.css'; diff --git a/app/views/contributions/_events_without_dates.html.erb b/app/views/contributions/_events_without_dates.html.erb index ce5a40b17..042bd0ccd 100644 --- a/app/views/contributions/_events_without_dates.html.erb +++ b/app/views/contributions/_events_without_dates.html.erb @@ -5,7 +5,7 @@
<% @events_without_dates.each do |file_path, events| %> - <%= link_to "https://github.com/rubyevents/rubyevents/edit/main/#{file_path}", id: "event-#{file_path}", class: "hover:bg-gray-100 p-4 rounded-lg border bg-white", target: :_blank do %> + <%= link_to "https://github.com/rubyevents/rubyevents/edit/main/#{file_path}", id: "event-#{file_path}", class: "hover:bg-gray-100 p-4 rounded-lg border border-base-300 bg-white", target: :_blank do %>

Data File: <%= file_path %>

diff --git a/app/views/contributions/_events_without_location.html.erb b/app/views/contributions/_events_without_location.html.erb index 2590bbce7..e8ad5f844 100644 --- a/app/views/contributions/_events_without_location.html.erb +++ b/app/views/contributions/_events_without_location.html.erb @@ -5,7 +5,7 @@
<% @events_without_location.each do |file_path, events| %> - <%= link_to "https://github.com/rubyevents/rubyevents/edit/main/#{file_path}", id: "event-#{file_path}", class: "hover:bg-gray-100 p-4 rounded-lg border bg-white", target: :_blank do %> + <%= link_to "https://github.com/rubyevents/rubyevents/edit/main/#{file_path}", id: "event-#{file_path}", class: "hover:bg-gray-100 p-4 rounded-lg border border-base-300 bg-white", target: :_blank do %>

Data File: <%= file_path %>

diff --git a/app/views/contributions/_events_without_videos.html.erb b/app/views/contributions/_events_without_videos.html.erb index 3c500b467..e945cd6b3 100644 --- a/app/views/contributions/_events_without_videos.html.erb +++ b/app/views/contributions/_events_without_videos.html.erb @@ -5,7 +5,7 @@
<% @events_without_videos.each do |organisation, events| %> - <%= content_tag :div, id: dom_id(organisation, "without-videos"), class: "p-4 rounded-lg border bg-white", target: :_blank do %> + <%= content_tag :div, id: dom_id(organisation, "without-videos"), class: "p-4 rounded-lg border border-base-300 bg-white", target: :_blank do %>

Organisation: <%= link_to organisation.name, organisation, class: "hover:underline" %>

diff --git a/app/views/contributions/_missing_videos_cue.html.erb b/app/views/contributions/_missing_videos_cue.html.erb index a278b15bb..83679b6e5 100644 --- a/app/views/contributions/_missing_videos_cue.html.erb +++ b/app/views/contributions/_missing_videos_cue.html.erb @@ -7,7 +7,7 @@
<% @missing_videos_cue.each do |event, talks| %> - <%= content_tag :div, id: dom_id(event), class: "p-4 rounded-lg border bg-white", target: :_blank do %> + <%= content_tag :div, id: dom_id(event), class: "p-4 rounded-lg border border-base-300 bg-white", target: :_blank do %>

Event: <%= event.name %>

diff --git a/app/views/contributions/_speakers_without_github.html.erb b/app/views/contributions/_speakers_without_github.html.erb index f2e3d733d..26490d04d 100644 --- a/app/views/contributions/_speakers_without_github.html.erb +++ b/app/views/contributions/_speakers_without_github.html.erb @@ -5,7 +5,7 @@
<% @speakers_without_github.each do |speaker| %> - <%= content_tag :div, id: dom_id(speaker), class: "flex justify-between p-4 rounded-lg border bg-white" do %> + <%= content_tag :div, id: dom_id(speaker), class: "flex justify-between p-4 rounded-lg border border-base-300 bg-white" do %> <%= link_to speaker.name, edit_speaker_path(speaker), class: "underline link", data: {turbo_frame: "modal"} %> <%= link_to "https://github.com/search?q=#{speaker.name}&type=users", target: "_blank", class: "underline link" do %> @@ -18,7 +18,7 @@ <% remaining_speakers_count = (@speakers_without_github_count - @speakers_without_github.count) %> <% if remaining_speakers_count.positive? %> -
+
and <%= remaining_speakers_count %> more
<% end %> diff --git a/app/views/contributions/_talks_dates_out_of_bounds.html.erb b/app/views/contributions/_talks_dates_out_of_bounds.html.erb index aa4d38f20..f14f481bd 100644 --- a/app/views/contributions/_talks_dates_out_of_bounds.html.erb +++ b/app/views/contributions/_talks_dates_out_of_bounds.html.erb @@ -5,7 +5,7 @@
<% @out_of_bound_talks.select { |_event, talks| talks.any? }.each do |event, talks| %> - <%= content_tag :div, id: dom_id(event), class: "p-4 rounded-lg border bg-white", target: :_blank do %> + <%= content_tag :div, id: dom_id(event), class: "p-4 rounded-lg border border-base-300 bg-white", target: :_blank do %>

Event: <%= event.name %>

diff --git a/app/views/contributions/_talks_without_slides.html.erb b/app/views/contributions/_talks_without_slides.html.erb index 93eef9fec..72faa44f7 100644 --- a/app/views/contributions/_talks_without_slides.html.erb +++ b/app/views/contributions/_talks_without_slides.html.erb @@ -5,7 +5,7 @@
<% @talks_without_slides.each do |talk| %> - <%= link_to edit_talk_path(talk), id: dom_id(talk), class: "hover:bg-gray-100 p-4 rounded-lg border bg-white" do %> + <%= link_to edit_talk_path(talk), id: dom_id(talk), class: "hover:bg-gray-100 p-4 rounded-lg border border-base-300 bg-white" do %>
<%= talk.title %> <%= talk.speakers.first.name %> @@ -16,7 +16,7 @@ <% remaining_talks_count = (@talks_without_slides_count - @talks_without_slides.count) %> <% if remaining_talks_count.positive? %> -
+
and <%= remaining_talks_count %> more
<% end %> diff --git a/app/views/contributions/index.html.erb b/app/views/contributions/index.html.erb index 0d7912f61..93e139690 100644 --- a/app/views/contributions/index.html.erb +++ b/app/views/contributions/index.html.erb @@ -4,7 +4,7 @@ Getting Started: Ways to Contribute -
+
<%= render "contributions/introduction" %> @@ -63,7 +63,7 @@
<% @overdue_scheduled_talks.group_by(&:event).each do |event, talks| %> - <%= content_tag :div, id: dom_id(event), class: "p-4 rounded-lg border bg-white", target: :_blank do %> + <%= content_tag :div, id: dom_id(event), class: "p-4 rounded-lg border border-base-300 bg-white", target: :_blank do %>

Event: <%= event.name %>

@@ -91,7 +91,7 @@
<% @talks_without_speakers.group_by(&:event).sort_by { |_event, talks| talks.minimum(:date) }.each do |event, talks| %> - <%= content_tag :div, id: dom_id(event), class: "p-4 rounded-lg border bg-white", target: :_blank do %> + <%= content_tag :div, id: dom_id(event), class: "p-4 rounded-lg border border-base-300 bg-white", target: :_blank do %>

Event: <%= event.name %>

@@ -129,7 +129,7 @@
<% @not_published_talks.group_by(&:event).sort_by { |_event, talks| talks.minimum(:date) }.each do |event, talks| %> - <%= content_tag :div, id: dom_id(event), class: "p-4 rounded-lg border bg-white", target: :_blank do %> + <%= content_tag :div, id: dom_id(event), class: "p-4 rounded-lg border border-base-300 bg-white", target: :_blank do %>

Event: <%= event.name %>

@@ -169,7 +169,7 @@

Conferences from RubyConferences.org with a video link (<%= pluralize(@with_video_link.count, "event") %>)