diff --git a/Gemfile b/Gemfile index 64feb1bf..ba28ed55 100644 --- a/Gemfile +++ b/Gemfile @@ -103,3 +103,5 @@ gem "groupdate", "~> 6.5" gem "activeadmin", "~> 3.2" gem "sassc-rails", "~> 2.1" + +gem "cron2english", "~> 0.1.7" diff --git a/Gemfile.lock b/Gemfile.lock index 5410bf6b..ebd42a96 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -131,6 +131,7 @@ GEM concurrent-ruby (1.3.4) connection_pool (2.4.1) crass (1.0.6) + cron2english (0.1.7) cssbundling-rails (1.4.1) railties (>= 6.0.0) csv (3.3.0) @@ -592,6 +593,7 @@ DEPENDENCIES brakeman capybara chartkick (~> 5.1) + cron2english (~> 0.1.7) cssbundling-rails debug devise (~> 4.9) diff --git a/app/actions/projects/validate_github_repository.rb b/app/actions/projects/validate_github_repository.rb index 502bdb99..40513b51 100644 --- a/app/actions/projects/validate_github_repository.rb +++ b/app/actions/projects/validate_github_repository.rb @@ -11,7 +11,7 @@ class Projects::ValidateGithubRepository context.fail_and_return!('Repository does not exist') end rescue Octokit::Forbidden => e - context.project.errors.add(:repository_url, 'cannot be accessed') - context.fail_and_return!('Repository cannot be accessed, try logging out and in again') + context.project.errors.add(:repository_url, 'cannot be accessed, try logging out and in again') + context.fail_and_return!('Repository cannot be accessed') end end diff --git a/app/javascript/controllers/markdown_editor_controller.js b/app/javascript/controllers/markdown_editor_controller.js new file mode 100644 index 00000000..1668cee6 --- /dev/null +++ b/app/javascript/controllers/markdown_editor_controller.js @@ -0,0 +1,36 @@ +import { default as MarkdownIt } from "markdown-it" +import { Controller } from "@hotwired/stimulus" + +export default class extends Controller { + static targets = ["markdownTextarea", "previewContainer", "toggleButton"] + + connect() { + console.log("markdown editor connected") + // Sync the preview container with the markdown container + this.updatePreview() + this.toggleButtonTarget.innerHTML = "Edit" + } + + updatePreview() { + const markdown = this.markdownTextareaTarget.value + const html = MarkdownIt().render(markdown) + if (html.length) { + this.previewContainerTarget.innerHTML = html + } else { + this.previewContainerTarget.innerHTML = "Nothing here yet" + } + } + + // Add this method to handle input events + preview() { + this.updatePreview() + } + + toggle(event) { + event.preventDefault() + this.markdownTextareaTarget.classList.toggle("hidden") + this.previewContainerTarget.classList.toggle("hidden") + this.toggleButtonTarget.innerHTML = this.toggleButtonTarget.innerHTML === "Edit" ? "Preview" : "Edit" + this.markdownTextareaTarget.focus() + } +} diff --git a/app/models/service.rb b/app/models/service.rb index 9d80a529..56512978 100644 --- a/app/models/service.rb +++ b/app/models/service.rb @@ -65,6 +65,7 @@ class Service < ApplicationRecord :container_port, :healthcheck_url, :replicas, + :description, :allow_public_networking, ) end diff --git a/app/views/projects/_edit_form.html.erb b/app/views/projects/_edit_form.html.erb index 964d7846..db7638d4 100644 --- a/app/views/projects/_edit_form.html.erb +++ b/app/views/projects/_edit_form.html.erb @@ -1,5 +1,6 @@ <%= form_with(model: project) do |form| %> -