Skip to content

Complete Tailwind migration for landing experience and shared form styles#123

Open
algobasket wants to merge 1 commit into
rebuild-peatiofrom
codex/upgrade-project-to-latest-updates
Open

Complete Tailwind migration for landing experience and shared form styles#123
algobasket wants to merge 1 commit into
rebuild-peatiofrom
codex/upgrade-project-to-latest-updates

Conversation

@algobasket

Copy link
Copy Markdown
Owner

Motivation

  • Finish a practical Bootstrap→Tailwind migration so the app’s public landing and common form UI look modern and professional.
  • Remove visual/runtime dependencies on Bootstrap classes and JS while keeping form wrappers compatible with existing code.
  • Improve developer ergonomics by making Simple Form defaults output Tailwind-friendly utilities so new views need minimal manual adjustments.

Description

  • Rebuilt the landing page (app/views/welcome/index.html.slim) with a Tailwind-first hero, improved hierarchy, and clear CTAs for authenticated and anonymous users.
  • Converted shared UI partials (app/views/shared/_alert.html.slim, app/views/shared/_footer.html.slim) to Tailwind utility classes and replaced Bootstrap dismiss semantics with simple DOM removal controls.
  • Injected Tailwind CDN (https://cdn.tailwindcss.com) into main layouts (application, landing, admin, api_v2, funds) and removed Bootstrap asset imports and JS requires from several manifests/stylesheets (app/assets/javascripts/*, app/assets/stylesheets/*, admin.css.scss, application.css.scss, market.css.scss, api_v2.css.scss).
  • Migrated Simple Form configuration to Tailwind-friendly defaults and updated legacy wrappers (config/initializers/simple_form.rb, config/initializers/simple_form_bootstrap.rb) to emit utility classes and a space-y-5 form default while retaining compatibility wrapper names.
  • Added automated dependency maintenance metadata and docs updates: README.md note about Tailwind + Dependabot config (.github/dependabot.yml) and a Dependency Review workflow (.github/workflows/dependency-review.yml).

Testing

  • Ran a targeted search for Bootstrap-era classes with rg to confirm removed usage in the touched files and found no remaining references in those files (search passed).
  • Verified Ruby syntax for changed initializers with ruby -c config/initializers/simple_form.rb and ruby -c config/initializers/simple_form_bootstrap.rb (both returned Syntax OK).
  • Attempted to start the app with bundle exec rails server -p 3000, which failed due to missing bundled executables (bundler environment lacks installed gems), so runtime verification could not complete.
  • Attempted a Playwright screenshot of the landing at http://127.0.0.1:3000, which failed with net::ERR_EMPTY_RESPONSE because the Rails server was not running in this environment.

Codex Task

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ccded78442

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 8 to 9
#
#= require bootstrap
#= require bootstrap-switch.min
#

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Re-add bootstrap-switch to market asset bundle

Removing #= require bootstrap-switch.min from the market manifest breaks page initialization because market code still calls bootstrapSwitch in both app/assets/javascripts/lib/notifier.js.coffee (constructor) and app/assets/javascripts/component_ui/header.js.coffee (@after 'initialize'). Since new Notifier() runs immediately in market.js.coffee, market pages now raise $(...).bootstrapSwitch is not a function and stop attaching core trading components.

Useful? React with 👍 / 👎.

Comment on lines 2 to 4
//= require jquery_ujs
//= require bootstrap
//= require bootstrap-wysihtml5/b3
//= require bootstrap-datetimepicker
//= require ZeroClipboard

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restore wysihtml5 plugin include for admin document forms

The admin documents form still initializes a rich-text editor via $(elem).wysihtml5(...) in app/views/admin/documents/_form.html.slim, but this manifest change removed //= require bootstrap-wysihtml5/b3, so the jQuery plugin is no longer registered. On document create/edit pages this causes $(...).wysihtml5 is not a function, leaving the form with a runtime error instead of the expected editor.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant