From 2a7994cf7a64ea9903ae8aa2022d2528bbc2a59d Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Sun, 28 Sep 2025 19:15:17 -0700 Subject: [PATCH] Clean up multiverse page styling with minimal hover effects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove elaborate animations and portal effects from universe cards - Simplify hover states to subtle translateY and shadow changes - Preserve active card styling on hover with purple border - Fix ERB syntax errors from nested tags - Add more writing quotes to quote of the day component 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../components/_quote_of_the_day.html.erb | 68 +++- app/views/universes/hub.html.erb | 327 ++++++------------ 2 files changed, 174 insertions(+), 221 deletions(-) diff --git a/app/views/main/components/_quote_of_the_day.html.erb b/app/views/main/components/_quote_of_the_day.html.erb index b516c74a..7fb68f8a 100644 --- a/app/views/main/components/_quote_of_the_day.html.erb +++ b/app/views/main/components/_quote_of_the_day.html.erb @@ -35,7 +35,73 @@ { text: "A writer is someone who has something to say and knows how to say it.", author: "William Zinsser" }, { text: "The best way to predict the future is to invent it.", author: "Alan Kay" }, { text: "Writing is a socially acceptable form of schizophrenia.", author: "E.L. Doctorow" }, - { text: "The only thing worse than starting something and failing is not starting something.", author: "Seth Godin" } + { text: "The only thing worse than starting something and failing is not starting something.", author: "Seth Godin" }, + { text: "The more you know about the kind of person you're writing for, the better you'll write.", author: "Rudolf Flesch" }, + { text: "The first rule for a good style is to have something to say; in fact, this in itself is almost enough.", author: "Arthur Schopenhauer" }, + { text: "In the beginning there was nothing, which exploded.", author: "Terry Pratchett" }, + { text: "Real stupidity beats artificial intelligence every time.", author: "Terry Pratchett" }, + { text: "There is no greater agony than bearing an untold story inside you.", author: "Maya Angelou" }, + { text: "If there's a book that you want to read, but it hasn't been written yet, then you must write it.", author: "Toni Morrison" }, + { text: "You have to write the book that wants to be written.", author: "Madeleine L'Engle" }, + { text: "Substitute 'damn' every time you're inclined to write 'very;' your editor will delete it and the writing will be just as it should be.", author: "Mark Twain" }, + { text: "One day I will find the right words, and they will be simple.", author: "Jack Kerouac" }, + { text: "And by the way, everything in life is writable about if you have the outgoing guts to do it, and the imagination to improvise. The worst enemy to creativity is self-doubt.", author: "Sylvia Plath" }, + { text: "You never have to change anything you got up in the middle of the night to write.", author: "Saul Bellow" }, + { text: "The only way to do great work is to love what you do.", author: "Steve Jobs" }, + { text: "No tears in the writer, no tears in the reader. No surprise in the writer, no surprise in the reader.", author: "Robert Frost" }, + { text: "Don't tell me the moon is shining; show me the glint of light on broken glass.", author: "Anton Chekhov" }, + { text: "Don't bend; don't water it down; don't try to make it logical; don't edit your own soul according to the fashion.", author: "Franz Kafka" }, + { text: "There is no real ending. It’s just the place where you stop the story.", author: "Frank Herbert" }, + { text: "Start writing, no matter what. The water does not flow until the faucet is turned on.", author: "Louis L'Amour" }, + { text: "Writing is a socially acceptable form of schizophrenia.", author: "E.L. Doctorow" }, + { text: "After nourishment, shelter and companionship, stories are the thing we need most in the world.", author: "Philip Pullman" }, + { text: "Stories may well be lies, but they are good lies that say true things, and which can sometimes pay the rent.", author: "Neil Gaiman" }, + { text: "There are three rules for writing a novel. Unfortunately, no one knows what they are.", author: "W. Somerset Maugham" }, + { text: "A writer is someone for whom writing is more difficult than it is for other people.", author: "Thomas Mann" }, + { text: "A word after a word after a word is power.", author: "Margaret Atwood"}, + { text: "There is something delicious about writing the first words of a story. You never quite know where they'll take you.", author: "Beatrix Potter" }, + { text: "Tears are words that need to be written.", author: "Paulo Coehlo" }, + { text: "Tomorrow may be hell, but today was a good writing day, and on the good writing days nothing else matters.", author: "Neil Gaiman" }, + { text: "You can make anything by writing.", author: "C. S. Lewis" }, + { text: "Always be a poet, even in prose.", author: "Charles Baudelaire" }, + { text: "This is how you do it: you sit down at the keyboard and you put one word after another until its done. It's that easy, and that hard.", author: "Neil Gaiman" }, + { text: "I write to give myself strength. I write to be the characters that I am not. I write to explore all the things I'm afraid of.", author: "Joss Whedon" }, + { text: "A well-composed book is a magic carpet on which we are wafted to a world that we cannot enter in any other way.", author: "Caroline Gordon" }, + { text: "If my doctor told me I had only six minutes to live, I wouldn't brood. I'd type a little faster.", author: "Isaac Asimov" }, + { text: "Write what you know. That should leave you with a lot of free time.", author: "Howard Nemerov" }, + { text: "The purpose of a writer is to keep civilization from destroying itself.", author: "Albert Camus" }, + { text: "The true alchemists do not change lead into gold; they change the world into words.", author: "William H. Gass" }, + { text: "Learn the rules like a pro, so you can break them like an artist.", author: "Pablo Picasso" }, + { text: "Write the kind of story you would like to read. People will give you all sorts of advice about writing, but if you are not writing something you like, no one else will like it either.", author: "Meg Cabot" }, + { text: "A little talent is a good thing to have if you want to be a writer. But the only real requirement is the ability to remember every scar.", author: "Stephen King" }, + { text: "I hate writing, I love having written.", author: "Dorothy Parker" }, + { text: "Easy reading is damn hard writing.", author: "Nathaniel Hawthorne" }, + { text: "I love writing. I love the swirl and swing of words as they tangle with human emotions.", author: "James Michener" }, + { text: "Writing is something you do alone. Its a profession for introverts who want to tell you a story but don't want to make eye contact while doing it.", author: "John Green" }, + { text: "Closed in a room, my imagination becomes the universe, and the rest of the world is missing out.", author: "Criss Jami" }, + { text: "Any word you have to hunt for in a thesaurus is the wrong word. There are no exceptions to this rule.", author: "Stephen King" }, + { text: "We can destroy what we have written, but we cannot unwrite it.", author: "Anthony Burgess" }, + { text: "The most valuable of all talents is that of never using two words when one will do.", author: "Thomas Jefferson" }, + { text: "Your intuition knows what to write, so get out of the way.", author: "Ray Bradbury" }, + { text: "No one says a novel has to be one thing. It can be anything it wants to be, a vaudeville show, the six o’clock news, the mumblings of wild men saddled by demons.", author: "Ishmael Reed" }, + { text: "So long as you write what you wish to write, that is all that matters; and whether it matters for ages or only for hours, nobody can say.", author: "Virginia Woolf" }, + { text: "Perhaps I write for no one. Perhaps for the same person children are writing for when they scrawl their names in the snow.", author: "Margaret Atwood" }, + { text: "I have only made this letter longer because I have not had the time to make it shorter.", author: "Blaise Pascal" }, + { text: "In the planning stage of a book, don't plan the ending. It has to be earned by all that will go before it.", author: "Rose Tremain" }, + { text: "Better to write for yourself and have no public, than to write for the public and have no self.", author: "Cyril Connolly" }, + { text: "Cram your head with characters and stories. Abuse your library privileges.", author: "Jennifer Weiner" }, + { text: "One should use common words to say uncommon things.", author: "Arthur Schopenhauer" }, + { text: "All that happens to us, including our humiliations, our misfortunes, our embarrassments, all is given to us as raw material, as clay, so that we may shape our art.", author: "Jorge Luis Borges" }, + { text: "You can fix anything but a blank page.", author: "Nora Roberts" }, + { text: "When I write, I feel like an armless, legless man with a crayon in his mouth.", author: "Kurt Vonnegut" }, + { text: "The hard part about writing a novel is finishing it.", author: "Ernest Hemingway" }, + { text: "The best time for planning a book is while you're doing the dishes.", author: "Agatha Chrstie" }, + { text: "It's none of their business that you have to learn how to write. Let them think you were born that way.", author: "Ernest Hemingway" }, + { text: "Everybody is talented because everybody who is human has something to express.", author: "Brenda Ueland" }, + { text: "First forget inspiration. Habit is more dependable. Habit will sustain you whether you're inspired or not.", author: "Octavia Butler" }, + { text: "A professional writer is an amateur who didn't quit.", author: "Richard Bach" }, + { text: "If a story is in you, it has to come out.", author: "William Faulkner" }, + { text: "Some writers enjoy writing, I am told. Not me. I enjoy having written.", author: "George R.R. Martin" } ] # Use day of year to ensure same quote per day diff --git a/app/views/universes/hub.html.erb b/app/views/universes/hub.html.erb index 9250df0e..508258fb 100644 --- a/app/views/universes/hub.html.erb +++ b/app/views/universes/hub.html.erb @@ -1,164 +1,47 @@
- <%= image_tag asset_path("card-headers/universes.webp"), class: 'w-full h-full object-cover breathing-header' %> + <%= image_tag asset_path("card-headers/universes.webp"), class: 'w-full h-full object-cover' %>
@@ -189,92 +72,86 @@
-
-
    -
  • - <% if @universe_scope.nil? %> -
    - - check_circle - Active - -
    - <% end %> -
    - <%= link_to dashboard_path(universe: 'all'), class: 'flex flex-col h-full p-8 relative bg-white rounded-lg', style: 'margin: 2px;' do %> -
    -
    -
    -
    -
    - <%= Universe.icon %> -
    -

    All Worlds

    -
    +
    +
      + +
    • + <% active_class = @universe_scope.nil? ? 'universe-active border-purple-500' : 'border-gray-200' %> + <%= link_to dashboard_path(universe: 'all'), class: "universe-card universe-card-link flex flex-col h-full bg-white rounded-lg border #{active_class} relative" do %> + <% if @universe_scope.nil? %> +
      + + Active +
      -

      View Everything

      -
      -
      See content from all your universes together in one place
      -
      -
      - - all_inclusive - No Filter Active + <% end %> +
      +
      + <%= Universe.icon %> +
      +

      View Everything

      +

      See content from all your universes together

      +
      + + No Filter
      <% end %>
    • + <% @universes.each do |universe| %> -
    • - <% if @universe_scope&.id == universe.id %> -
      - - check_circle - Active - -
      - <% end %> - <%= link_to dashboard_path(universe: universe.id), class: 'universe-card-link flex flex-col h-full' do %> -
      - <%= image_tag universe.random_image_including_private, class: 'w-48 h-48 flex-shrink-0 mx-auto rounded-full border-2 border-purple-800 universe-portal' %> -

      <%= universe.name %>

      -
      -
      <%= universe.description %>
      -
      - <% if universe.user_id == current_user.id %> - Owner - <% else %> - Collaborator - <% end %> -
      -
      +
    • + <% active_class = @universe_scope&.id == universe.id ? 'universe-active border-purple-500' : 'border-gray-200' %> + <%= link_to dashboard_path(universe: universe.id), class: "universe-card universe-card-link flex flex-col h-full bg-white rounded-lg border #{active_class} relative" do %> + <% if @universe_scope&.id == universe.id %> +
      + + Active + +
      + <% end %> +
      + <%= image_tag universe.random_image_including_private, class: 'universe-image w-32 h-32 flex-shrink-0 mx-auto rounded-full object-cover mb-4 border border-gray-200' %> +

      <%= universe.name %>

      +

      <%= universe.description %>

      +
      + <% if universe.user_id == current_user.id %> + + Owner + + <% else %> + + Collaborator + + <% end %> +
      <% end %>
    • <% end %>
    - +
    -
    -
    +
    +
    <% universe_count = @universes.size %> <% is_premium = current_user.on_premium_plan? %> - + <% if is_premium %>
    -
    - all_inclusive +
    + all_inclusive
    -

    +

    <%= universe_count %> <%= 'universe'.pluralize(universe_count) %>

    @@ -289,18 +166,12 @@

    - - - - - - -
    <%= universe_count %>/5 @@ -308,7 +179,7 @@
    -

    +

    <%= universe_count %> <%= 'universe'.pluralize(universe_count) %>

    @@ -322,35 +193,51 @@

    <% end %>
    - +
    <% if !is_premium && universe_count >= 5 %>

    Need more universes?

    - <%= link_to subscription_path, class: "inline-flex items-center px-4 py-2 border border-purple-200 text-sm font-medium rounded-md text-purple-700 bg-white hover:bg-purple-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-purple-500 transition-all duration-200" do %> + <%= link_to subscription_path, class: "inline-flex items-center px-4 py-2 border border-gray-300 text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-purple-500" do %> info View Plan Options <% end %>
    <% else %> - <%= link_to new_universe_path, class: "inline-flex items-center px-6 py-3 border border-transparent text-base font-medium rounded-md text-white bg-purple-600 hover:bg-purple-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-purple-500 transition-all duration-200 shadow-lg hover:shadow-xl" do %> - add_circle + <%= link_to new_universe_path, class: "inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md text-white bg-purple-600 hover:bg-purple-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-purple-500" do %> + add Create New Universe <% end %> <% end %>
    - + <% if !is_premium && universe_count >= 4 && universe_count < 5 %>
    - lightbulb + info
    -
    -

    - Tip: You're using <%= universe_count %> of your 5 Starter plan universes. Premium plans include unlimited universes plus many other features. <%= link_to "Learn more", subscription_path, class: "font-medium underline hover:no-underline" %> +

    +

    + You're approaching your universe limit. Consider upgrading to Premium for unlimited universes. +

    +
    +
    +
    + <% end %> + + <% if !is_premium && universe_count >= 5 %> + +
    +
    +
    + warning +
    +
    +

    + You've reached your universe limit. Upgrade to Premium to create more universes.