* wip - Got logo upload working * Now have the logo rendering in the header and in the admin image config section. * Small layout tweak for admin -> config -> images -> logo. * feat: create a logo uploader with some tests * feat: use the logoUploader instead of the ArticleImageUploader * feat: return early because svg's do not contain exif or gps data * chore: we can move the raise outside the transaction as the rest of the transaction won't execute if we raise an error * feat: add a size range * WIP: resize an image to a random number for now * hid the logo behind a feature flag and kept logo_svg as is in the site header. * Added the jpe file type to the logo uploader. * Skipped the resizing of an image if it's an SVG in the logo uploader. * Added content types to the content type logo uploader allow list. * Synced logo validation with frontend and backend. * Removed unnecessary ALLOWED_PARAMS elements. * feat: update the logo upoader and tests * chore: remove comments * chore: remove comments * feat: update the resizing for the images + add the correct content type * spec: test the versions * fix: update the Constant * feat: add the versions of the logo * feat: populate the settings correctly and consistently * feat: add an random string to the file name to avoid caching issues * feat: amend the logo layout * chore: remove comments * spec: update * feat: image type whitelist * feat: update the logo css and also just use resized_logo and remove mobile resize * feat: add a max-height * only add site-logo if the feature flag is off * Renamed IMAGE_TYPE_WHITELIST to IMAGE_TYPE_ALLOWLIST * Update app/controllers/admin/creator_settings_controller.rb Co-authored-by: Michael Kohl <citizen428@forem.com> * Update app/uploaders/logo_uploader.rb Co-authored-by: Michael Kohl <citizen428@forem.com> * Update app/uploaders/logo_uploader.rb Co-authored-by: Michael Kohl <citizen428@forem.com> * Update app/uploaders/logo_uploader.rb Co-authored-by: Michael Kohl <citizen428@forem.com> * Update spec/uploaders/logo_uploader_spec.rb Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com> * Update spec/uploaders/logo_uploader_spec.rb Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com> * chore: revert admin change * refactor: use a static value for directory * feat: freeze constants * feat: remove the logo requirement * chore: spacing * remove logo requirement Co-authored-by: Ridhwana <ridhwana.khan16@gmail.com> Co-authored-by: Michael Kohl <citizen428@forem.com> Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
102 lines
5.2 KiB
Text
102 lines
5.2 KiB
Text
<div class="crayons-field mt-6 align-left">
|
|
<%= label_tag :community_name, class: "crayons-field__label" do %>
|
|
Community name
|
|
<span class="crayons-field__required crayons-tooltip" data-tooltip="This will set the primary name for your Forem" aria-describedby="community-name-subtitle"></span>
|
|
<p id="community-name-subtitle" class="crayons-field__description">Used as the primary name for your Forem.</p>
|
|
<% end %>
|
|
<%= text_field_tag :community_name, "", placeholder: "Climbing Life", class: "crayons-textfield", required: true %>
|
|
</div>
|
|
|
|
<div class="crayons-field mt-6 align-left">
|
|
<%= label_tag :logo, class: "crayons-field__label" do %>
|
|
Logo
|
|
<span class="crayons-field__required crayons-tooltip" data-tooltip="This will set the logo for your Forem" aria-describedby="logo-subtitle"></span>
|
|
<p id="logo-subtitle" class="crayons-field__description">Ideally SVG, but PNG or JPEG will work, too.</p>
|
|
<% end %>
|
|
<div class="flex flex-1 gap-4">
|
|
<%= file_field_tag :logo, accept: @logo_allowed_types.to_s, data: { "max-file-size-mb": @max_file_size.to_s, action: "change->creator-settings#previewLogo" }, aria: { describedby: "logo-subtitle" } %>
|
|
<div data-creator-settings-target="previewLogo">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="crayons-field mt-6 align-left">
|
|
<%= label_tag :primary_brand_color_hex, class: "crayons-field__label" do %>
|
|
Brand color
|
|
<span class="crayons-field__required crayons-tooltip" data-tooltip="This will set the accent color for buttons, links, etc. on your Forem" aria-describedby="color-selector-subtitle"></span>
|
|
<p id="color-selector-subtitle" class="crayons-field__description">This will be the "accent" color used for buttons, links, etc.</p>
|
|
<% end %>
|
|
|
|
<div class="flex w-100 m:w-50 crayons-field">
|
|
<div class="flex">
|
|
<%= text_field_tag :primary_brand_color_hex,
|
|
::Settings::UserExperience.primary_brand_color_hex,
|
|
pattern: "^#+([a-fA-F0-9]{6})$",
|
|
title: "Provide a valid HEX Color or pick your color from the color picker.",
|
|
placeholder: ::Settings::UserExperience.primary_brand_color_hex,
|
|
class: "crayons-textfield js-color-field",
|
|
"data-action": "change->creator-settings#handleValidationsAndUpdates",
|
|
"data-creator-settings-target": "brandColor",
|
|
"aria-describedby": "color-contrast-error" %>
|
|
<%= color_field_tag :primary_brand_color_hex,
|
|
::Settings::UserExperience.primary_brand_color_hex,
|
|
pattern: "^#+([a-fA-F0-9]{6})$",
|
|
placeholder: ::Settings::UserExperience.primary_brand_color_hex,
|
|
class: "crayons-color-selector js-color-field ml-2",
|
|
required: true,
|
|
"data-action": "change->creator-settings#handleValidationsAndUpdates" %>
|
|
</div>
|
|
</div>
|
|
<div id="color-contrast-error" data-creator-settings-target="colorContrastError" aria-live="polite" class="mt-1 color-accent-danger"></div>
|
|
</div>
|
|
|
|
<div class="crayons-field mt-6 align-left">
|
|
<fieldset aria-describedby="section-description">
|
|
<legend class="crayons-field__label mb-2">Who can join this community?</legend>
|
|
<div class="flex gap-3">
|
|
<div>
|
|
<%= radio_button_tag :invite_only_mode, "0", false, class: "crayons-radio" %>
|
|
<label for="invite_only_mode_0">Everyone</label>
|
|
</div>
|
|
<div>
|
|
<%= radio_button_tag :invite_only_mode, "1", true, class: "crayons-radio" %>
|
|
<label for="invite_only_mode_1">Invite only</label>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="crayons-field mt-6 align-left">
|
|
<fieldset aria-describedby="section-description">
|
|
<legend class="crayons-field__label mb-2">Who can view content in this community?</legend>
|
|
<div class="flex gap-3">
|
|
<div>
|
|
<%= radio_button_tag :public, "1", true, class: "crayons-radio" %>
|
|
<label for="public_0">Everyone</label>
|
|
</div>
|
|
<div>
|
|
<%= radio_button_tag :public, "0", false, class: "crayons-radio" %>
|
|
<label for="public_1">Members only</label>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="crayons-field mt-6 align-left">
|
|
<fieldset aria-describedby="section-description">
|
|
<legend class="crayons-field__label">Finally, please agree to the following:</legend>
|
|
<div>
|
|
<p class="crayons-field__description">You will have the opportunity to establish the Code of Conduct and Terms and Conditions for the users of your Forem during the setup process.</p>
|
|
<div class="mb-2">
|
|
<%= hidden_field_tag :checked_code_of_conduct, "0" %>
|
|
<%= check_box_tag :checked_code_of_conduct, "1", false, class: "crayons-checkbox", required: true %>
|
|
<label for="checked_code_of_conduct">I agree to uphold our <a href="/code-of-conduct">Code of Conduct</a>.</label>
|
|
</div>
|
|
<div>
|
|
<%= hidden_field_tag :checked_terms_and_conditions, "0" %>
|
|
<%= check_box_tag :checked_terms_and_conditions, "1", false, class: "crayons-checkbox", required: true %>
|
|
<label for="checked_terms_and_conditions">I agree to our <a href="/terms">Terms and Conditions</a>.</label>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|