Compare commits

..

5 commits

Author SHA1 Message Date
Christophe Robillard
94b6ef89dd guess moods according to user pref
Some checks are pending
CI / scan_ruby (push) Waiting to run
CI / scan_js (push) Waiting to run
CI / lint (push) Waiting to run
CI / test (push) Waiting to run
2026-02-26 17:17:39 +01:00
Christophe Robillard
c5c70c91ba order user moods by recorded_at 2026-02-26 11:05:15 +01:00
Christophe Robillard
801b9332bd localize selected day title 2026-02-26 11:04:55 +01:00
Christophe Robillard
cc75be0a69 abbreviate month names 2026-02-26 11:04:01 +01:00
Christophe Robillard
e21ec8d1c8 display mode for today 2026-02-26 11:03:40 +01:00
5 changed files with 14 additions and 8 deletions

View file

@ -1,6 +1,6 @@
module MoodsHelper
def mode_for(mood)
if params[:guess] == "active"
def mode_for(mood, user)
if user.guess?
mood[:mode] || mood[:guess] || "unknown"
else
mood[:mode] || "unknown"

View file

@ -1,7 +1,7 @@
class User < ApplicationRecord
has_secure_password
has_many :sessions, dependent: :destroy
has_many :moods
has_many :moods, -> { order "recorded_at" }
normalizes :email_address, with: ->(e) { e.strip.downcase }

View file

@ -36,20 +36,20 @@
<div class="container mb-4 p-3 has-background-white day-info">
<div class="title is-4">
<span class="icon"><i class="fa-regular fa-calendar"></i></span>
<span data-mood-target="modeDay">Aujourd'hui</span>
<span data-mood-target="modeDay">Aujourd'hui : <%= @mode %></span>
</div>
</div>
<div class="logs">
<div class="is-flex is-flex-direction-row is-flex-wrap-wrap mb-3">
<% @history.each do |month| %>
<div class="mr-3">
<div> <%= I18n.l(month[:month], format: "%B %Y").capitalize %></div>
<div> <%= I18n.l(month[:month], format: "%b %y").capitalize %></div>
<div class="is-flex is-flex-wrap-wrap">
<% month[:weeks].each do |week| %>
<div class="is-flex is-flex-direction-column is-flex-wrap-wrap mb-3">
<% week.each do |mood| %>
<% mode = mode_for(mood) %>
<div data-image="<%= asset_path(mode + ".jpg") %>" data-mode="<%= mode %>" data-day="<%= l mood[:recorded_at].to_date %>" data-action="click->mood#updateDayInfo" title="<%= mood[:recorded_at] %> : <%= mode %>" class="day <%= mode %>"></div>
<% mode = mode_for(mood, Current.user) %>
<div data-image="<%= asset_path(mode + ".jpg") %>" data-mode="<%= mode %>" data-day="<%= l mood[:recorded_at].to_date %>" data-action="click->mood#updateDayInfo" title="<%= l(mood[:recorded_at].to_date) %> : <%= mode %>" class="day <%= mode %>"></div>
<% end %>
</div>
<% end %>

View file

@ -0,0 +1,5 @@
class AddGuessToUsers < ActiveRecord::Migration[8.0]
def change
add_column :users, :guess, :boolean, default: false
end
end

3
db/schema.rb generated
View file

@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[8.0].define(version: 2026_02_19_114040) do
ActiveRecord::Schema[8.0].define(version: 2026_02_26_101258) do
create_table "moods", force: :cascade do |t|
t.string "mode"
t.datetime "recorded_at"
@ -48,6 +48,7 @@ ActiveRecord::Schema[8.0].define(version: 2026_02_19_114040) do
t.datetime "invitation_accepted_at"
t.string "username", null: false
t.boolean "public", default: false
t.boolean "guess", default: false
t.index ["email_address"], name: "index_users_on_email_address", unique: true
end