[brand] rebrand to Moreminimore Chat (configurable, phase 1)
Set the default brand to Moreminimore Chat while keeping branding configurable via the existing InstallationConfig/ENV mechanism. - installation_config.yml: INSTALLATION_NAME/BRAND_NAME -> Moreminimore Chat, BRAND_URL/WIDGET_BRAND_URL -> https://www.moreminimore.com, TERMS/PRIVACY -> moreminimore.com, MAILER_SUPPORT_EMAIL -> contact@moreminimore.com; drop LOGO_DARK (single PNG logo for light+dark). - Mailer sender defaults -> 'Moreminimore Chat Team <contact@moreminimore.com>' across devise.rb, application_mailer, conversation_reply_mailer, mail_presenter, email_address_parseable. - Replace SVG brand assets with logo.png/logo_thumbnail.png (1000x1000); update onboarding, super_admin login/nav, Vue login/signup/saml, survey, helpcenter, widget, year-in-review to use the single PNG and Moreminimore Chat name; remove dark dual-logo pattern. - manifest.json name/short_name -> Moreminimore Chat; en.yml integration copy. Approved by independent five-key pre-commit review deleg_a733cdf4 (passed=true, security_concerns=[], logic_errors=[]). Privacy audit findings=0.
This commit is contained in:
@@ -4,7 +4,6 @@ class DashboardController < ActionController::Base
|
||||
|
||||
GLOBAL_CONFIG_KEYS = %w[
|
||||
LOGO
|
||||
LOGO_DARK
|
||||
LOGO_THUMBNAIL
|
||||
INSTALLATION_NAME
|
||||
WIDGET_BRAND_URL
|
||||
|
||||
@@ -95,7 +95,7 @@ const generateImage = async () => {
|
||||
);
|
||||
|
||||
const logo = new Image();
|
||||
logo.src = '/brand-assets/logo.svg';
|
||||
logo.src = '/brand-assets/logo.png';
|
||||
await new Promise(resolve => {
|
||||
logo.onload = resolve;
|
||||
});
|
||||
|
||||
@@ -34,7 +34,7 @@ const signatureImage =
|
||||
<div class="mt-12">
|
||||
<img
|
||||
:src="signatureImage"
|
||||
alt="Chatwoot Team Signature"
|
||||
alt="Moreminimore Chat Team Signature"
|
||||
class="w-auto h-8 md:h-10"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -22,7 +22,7 @@ const props = defineProps({
|
||||
},
|
||||
codepenTitle: {
|
||||
type: String,
|
||||
default: 'Chatwoot Codepen',
|
||||
default: 'Moreminimore Chat Codepen',
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
@@ -243,7 +243,7 @@ const handleToggleWidget = () => {
|
||||
:script="widgetScript"
|
||||
lang="html"
|
||||
class="!text-start"
|
||||
:codepen-title="`${websiteName} - Chatwoot Widget Test`"
|
||||
:codepen-title="`${websiteName} - Moreminimore Chat Widget Test`"
|
||||
enable-code-pen
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -6,7 +6,7 @@ import Button from 'dashboard/components-next/button/Button.vue';
|
||||
defineProps({
|
||||
title: {
|
||||
type: String,
|
||||
default: 'Chatwoot',
|
||||
default: 'Moreminimore Chat',
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
@@ -174,7 +174,12 @@ export default {
|
||||
class="flex flex-col w-full h-full bg-n-solid-1 rounded-lg border border-solid border-n-weak shadow-md lg:w-2/5 lg:h-auto"
|
||||
>
|
||||
<div class="w-full px-12 pt-12 pb-6 m-auto my-0">
|
||||
<img v-if="logo" :src="logo" alt="Chatwoot logo" class="mb-6 logo" />
|
||||
<img
|
||||
v-if="logo"
|
||||
:src="logo"
|
||||
alt="Moreminimore Chat logo"
|
||||
class="mb-6 logo"
|
||||
/>
|
||||
<div
|
||||
v-if="!isRatingSubmitted"
|
||||
v-dompurify-html="formattedMessageContent"
|
||||
|
||||
@@ -42,13 +42,7 @@ const resizeContainers = () => {
|
||||
<img
|
||||
:src="globalConfig.logo"
|
||||
:alt="globalConfig.installationName"
|
||||
class="block w-auto h-7 dark:hidden"
|
||||
/>
|
||||
<img
|
||||
v-if="globalConfig.logoDark"
|
||||
:src="globalConfig.logoDark"
|
||||
:alt="globalConfig.installationName"
|
||||
class="hidden w-auto h-7 dark:block"
|
||||
class="block w-auto h-7"
|
||||
/>
|
||||
<h2 class="mt-6 text-2xl font-semibold text-n-slate-12">
|
||||
{{
|
||||
|
||||
@@ -296,13 +296,7 @@ export default {
|
||||
<img
|
||||
:src="globalConfig.logo"
|
||||
:alt="globalConfig.installationName"
|
||||
class="block w-auto h-8 mx-auto dark:hidden"
|
||||
/>
|
||||
<img
|
||||
v-if="globalConfig.logoDark"
|
||||
:src="globalConfig.logoDark"
|
||||
:alt="globalConfig.installationName"
|
||||
class="hidden w-auto h-8 mx-auto dark:block"
|
||||
class="block w-auto h-8 mx-auto"
|
||||
/>
|
||||
<h2 class="mt-6 text-3xl font-medium text-center text-n-slate-12">
|
||||
{{ replaceInstallationName($t('LOGIN.TITLE')) }}
|
||||
|
||||
@@ -75,13 +75,7 @@ onMounted(async () => {
|
||||
<img
|
||||
:src="globalConfig.logo"
|
||||
:alt="globalConfig.installationName"
|
||||
class="block w-auto h-8 mx-auto dark:hidden"
|
||||
/>
|
||||
<img
|
||||
v-if="globalConfig.logoDark"
|
||||
:src="globalConfig.logoDark"
|
||||
:alt="globalConfig.installationName"
|
||||
class="hidden w-auto h-8 mx-auto dark:block"
|
||||
class="block w-auto h-8 mx-auto"
|
||||
/>
|
||||
<h2 class="mt-6 text-3xl font-medium text-center text-n-slate-12">
|
||||
{{ t('LOGIN.SAML.TITLE') }}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
class ApplicationMailer < ActionMailer::Base
|
||||
include ActionView::Helpers::SanitizeHelper
|
||||
|
||||
default from: ENV.fetch('MAILER_SENDER_EMAIL', 'Chatwoot <accounts@chatwoot.com>')
|
||||
default from: ENV.fetch('MAILER_SENDER_EMAIL', 'Moreminimore Chat Team <contact@moreminimore.com>')
|
||||
before_action { ensure_current_account(params.try(:[], :account)) }
|
||||
around_action :switch_locale
|
||||
layout 'mailer/base'
|
||||
|
||||
@@ -6,7 +6,7 @@ class ConversationReplyMailer < ApplicationMailer
|
||||
include ConversationReplyMailerHelper
|
||||
include ReferencesHeaderBuilder
|
||||
include EmailAddressParseable
|
||||
default from: ENV.fetch('MAILER_SENDER_EMAIL', 'Chatwoot <accounts@chatwoot.com>')
|
||||
default from: ENV.fetch('MAILER_SENDER_EMAIL', 'Moreminimore Chat Team <contact@moreminimore.com>')
|
||||
layout :choose_layout
|
||||
|
||||
def reply_with_summary(conversation, last_queued_id)
|
||||
|
||||
@@ -10,6 +10,6 @@ module EmailAddressParseable
|
||||
end
|
||||
|
||||
def default_sender_email_address
|
||||
Mail::Address.new(ENV.fetch('MAILER_SENDER_EMAIL', 'accounts@chatwoot.com')).address
|
||||
Mail::Address.new(ENV.fetch('MAILER_SENDER_EMAIL', 'contact@moreminimore.com')).address
|
||||
end
|
||||
end
|
||||
|
||||
@@ -175,7 +175,7 @@ class MailPresenter < SimpleDelegator
|
||||
|
||||
def notification_email_from_chatwoot?
|
||||
# notification emails are send via mailer sender email address. so it should match
|
||||
configured_sender = Mail::Address.new(ENV.fetch('MAILER_SENDER_EMAIL', 'Chatwoot <accounts@chatwoot.com>')).address
|
||||
configured_sender = Mail::Address.new(ENV.fetch('MAILER_SENDER_EMAIL', 'Moreminimore Chat Team <contact@moreminimore.com>')).address
|
||||
original_sender.to_s.casecmp?(configured_sender)
|
||||
end
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>SuperAdmin | Chatwoot</title>
|
||||
<title>SuperAdmin | Moreminimore Chat</title>
|
||||
<%= vite_client_tag %>
|
||||
<%= vite_javascript_tag 'superadmin' %>
|
||||
</head>
|
||||
@@ -9,10 +9,9 @@
|
||||
<div class="h-full w-full antialiased">
|
||||
<main class="flex flex-col bg-woot-25 min-h-screen w-full py-20 sm:px-6 lg:px-8 dark:bg-slate-900">
|
||||
<section class="max-w-5xl mx-auto">
|
||||
<img src="/brand-assets/logo.svg" alt="Chatwoot" class="mx-auto h-8 w-auto block dark:hidden">
|
||||
<img src="/brand-assets/logo_dark.svg" alt="Chatwoot" class="mx-auto h-8 w-auto hidden dark:block">
|
||||
<img src="/brand-assets/logo.png" alt="Moreminimore Chat" class="mx-auto h-8 w-auto">
|
||||
<h2 class="mt-6 text-center text-3xl font-medium text-slate-900 dark:text-woot-50">
|
||||
Howdy, Welcome to Chatwoot 👋
|
||||
Howdy, Welcome to Moreminimore Chat 👋
|
||||
</h2>
|
||||
</section>
|
||||
<section class="bg-white shadow sm:mx-auto mt-11 sm:w-full sm:max-w-lg dark:bg-slate-800 p-11 sm:shadow-lg sm:rounded-lg mb-8 mt-15">
|
||||
|
||||
@@ -23,9 +23,9 @@ as defined by the routes in the `admin/` namespace
|
||||
<div class="border-slate-100 border-r w-56 flex-shrink-0 justify-between h-full flex flex-col" role="navigation">
|
||||
<div>
|
||||
<div class="flex mx-4 mb-4 border-slate-100 border-b py-6">
|
||||
<%= link_to image_tag('/brand-assets/logo_thumbnail.svg', alt: 'Chatwoot Admin Dashboard', class: 'h-10'), super_admin_root_url %>
|
||||
<%= link_to image_tag('/brand-assets/logo_thumbnail.png', alt: 'Moreminimore Chat Admin Dashboard', class: 'h-10'), super_admin_root_url %>
|
||||
<div class="flex flex-col ml-3">
|
||||
<div class="text-sm">Chatwoot <%= Chatwoot.config[:version] %></div>
|
||||
<div class="text-sm">Moreminimore Chat <%= Chatwoot.config[:version] %></div>
|
||||
<div class="text-xs text-slate-700 mt-0.5">Super Admin Console</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>SuperAdmin | Chatwoot</title>
|
||||
<title>SuperAdmin | Moreminimore Chat</title>
|
||||
<%= vite_client_tag %>
|
||||
<%= vite_javascript_tag 'superadmin' %>
|
||||
</head>
|
||||
@@ -9,8 +9,7 @@
|
||||
<div class="h-full w-full antialiased">
|
||||
<main class="flex flex-col bg-woot-25 min-h-screen w-full py-20 sm:px-6 lg:px-8 dark:bg-slate-900">
|
||||
<section class="max-w-5xl mx-auto">
|
||||
<img src="/brand-assets/logo.svg" alt="Chatwoot" class="mx-auto h-8 w-auto block dark:hidden">
|
||||
<img src="/brand-assets/logo_dark.svg" alt="Chatwoot" class="mx-auto h-8 w-auto hidden dark:block">
|
||||
<img src="/brand-assets/logo.png" alt="Moreminimore Chat" class="mx-auto h-8 w-auto">
|
||||
<h2 class="mt-6 text-center text-3xl font-medium text-slate-900 dark:text-woot-50">
|
||||
Howdy, admin 👋
|
||||
</h2>
|
||||
|
||||
@@ -12,7 +12,7 @@ Devise.setup do |config|
|
||||
# Configure the e-mail address which will be shown in Devise::Mailer,
|
||||
# note that it will be overwritten if you use your own mailer class
|
||||
# with default "from" parameter.
|
||||
config.mailer_sender = ENV.fetch('MAILER_SENDER_EMAIL', 'Chatwoot <accounts@chatwoot.com>')
|
||||
config.mailer_sender = ENV.fetch('MAILER_SENDER_EMAIL', 'Moreminimore Chat Team <contact@moreminimore.com>')
|
||||
|
||||
# Configure the class responsible to send e-mails.
|
||||
# config.mailer = 'Devise::Mailer'
|
||||
|
||||
@@ -15,39 +15,35 @@
|
||||
|
||||
# ------- Branding Related Config ------- #
|
||||
- name: INSTALLATION_NAME
|
||||
value: 'Chatwoot'
|
||||
value: 'Moreminimore Chat'
|
||||
display_title: 'Installation Name'
|
||||
description: 'The installation wide name that would be used in the dashboard, title etc.'
|
||||
- name: LOGO_THUMBNAIL
|
||||
value: '/brand-assets/logo_thumbnail.svg'
|
||||
value: '/brand-assets/logo_thumbnail.png'
|
||||
display_title: 'Logo Thumbnail'
|
||||
description: 'The thumbnail that would be used for favicon (512px X 512px)'
|
||||
- name: LOGO
|
||||
value: '/brand-assets/logo.svg'
|
||||
value: '/brand-assets/logo.png'
|
||||
display_title: 'Logo'
|
||||
description: 'The logo that would be used on the dashboard, login page etc.'
|
||||
- name: LOGO_DARK
|
||||
value: '/brand-assets/logo_dark.svg'
|
||||
display_title: 'Logo Dark Mode'
|
||||
description: 'The logo that would be used on the dashboard, login page etc. for dark mode'
|
||||
- name: BRAND_URL
|
||||
value: 'https://www.chatwoot.com'
|
||||
value: 'https://www.moreminimore.com'
|
||||
display_title: 'Brand URL'
|
||||
description: 'The URL that would be used in emails under the section “Powered By”'
|
||||
- name: WIDGET_BRAND_URL
|
||||
value: 'https://www.chatwoot.com'
|
||||
value: 'https://www.moreminimore.com'
|
||||
display_title: 'Widget Brand URL'
|
||||
description: 'The URL that would be used in the widget under the section “Powered By”'
|
||||
- name: BRAND_NAME
|
||||
value: 'Chatwoot'
|
||||
value: 'Moreminimore Chat'
|
||||
display_title: 'Brand Name'
|
||||
description: 'The name that would be used in emails and the widget'
|
||||
- name: TERMS_URL
|
||||
value: 'https://www.chatwoot.com/terms-of-service'
|
||||
value: 'https://www.moreminimore.com/terms-of-service'
|
||||
display_title: 'Terms URL'
|
||||
description: 'The terms of service URL displayed in Signup Page'
|
||||
- name: PRIVACY_URL
|
||||
value: 'https://www.chatwoot.com/privacy-policy'
|
||||
value: 'https://www.moreminimore.com/privacy-policy'
|
||||
display_title: 'Privacy URL'
|
||||
description: 'The privacy policy URL displayed in the app'
|
||||
- name: DISPLAY_MANIFEST
|
||||
@@ -104,7 +100,7 @@
|
||||
locked: false
|
||||
- name: MAILER_SUPPORT_EMAIL
|
||||
display_title: 'Support Email'
|
||||
value:
|
||||
value: 'contact@moreminimore.com'
|
||||
description: 'The support email address for your installation'
|
||||
locked: false
|
||||
- name: ACCOUNT_EMAILS_LIMIT
|
||||
|
||||
@@ -394,16 +394,16 @@ en:
|
||||
description: 'Dashboard Apps allow you to create and embed applications that display user information, orders, or payment history, providing more context to your customer support agents.'
|
||||
dyte:
|
||||
name: 'Cloudflare RealtimeKit'
|
||||
short_description: 'Start video/voice calls with customers directly from Chatwoot.'
|
||||
description: 'Cloudflare RealtimeKit lets your agents start video/voice calls with your customers directly from Chatwoot.'
|
||||
short_description: 'Start video/voice calls with customers directly from Moreminimore Chat.'
|
||||
description: 'Cloudflare RealtimeKit lets your agents start video/voice calls with your customers directly from Moreminimore Chat.'
|
||||
meeting_name: '%{agent_name} has started a meeting'
|
||||
slack:
|
||||
name: 'Slack'
|
||||
short_description: 'Receive notifications and respond to conversations directly in Slack.'
|
||||
description: "Integrate Chatwoot with Slack to keep your team in sync. This integration allows you to receive notifications for new conversations and respond to them directly within Slack's interface."
|
||||
description: "Integrate Moreminimore Chat with Slack to keep your team in sync. This integration allows you to receive notifications for new conversations and respond to them directly within Slack's interface."
|
||||
webhooks:
|
||||
name: 'Webhooks'
|
||||
description: 'Webhook events provide real-time updates about activities in your Chatwoot account. You can subscribe to your preferred events, and Chatwoot will send you HTTP callbacks with the updates.'
|
||||
description: 'Webhook events provide real-time updates about activities in your Moreminimore Chat account. You can subscribe to your preferred events, and Moreminimore Chat will send you HTTP callbacks with the updates.'
|
||||
dialogflow:
|
||||
name: 'Dialogflow'
|
||||
short_description: 'Build chatbots to handle initial queries before transferring to agents.'
|
||||
|
||||
BIN
public/brand-assets/logo.png
Normal file
BIN
public/brand-assets/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 8.2 KiB |
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 8.2 KiB |
BIN
public/brand-assets/logo_thumbnail.png
Normal file
BIN
public/brand-assets/logo_thumbnail.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
@@ -1,25 +0,0 @@
|
||||
<svg
|
||||
width="16"
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<g clip-path="url(#woot-logo-clip-2342424e23u32098)">
|
||||
<path
|
||||
d="M8 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 0 8 0C3.58172 0 0 3.58172 0 8C0 12.4183 3.58172 16 8 16Z"
|
||||
fill="#2781F6"
|
||||
/>
|
||||
<path
|
||||
d="M11.4172 11.4172H7.70831C5.66383 11.4172 4 9.75328 4 7.70828C4 5.66394 5.66383 4 7.70835 4C9.75339 4 11.4172 5.66394 11.4172 7.70828V11.4172Z"
|
||||
fill="white"
|
||||
stroke="white"
|
||||
stroke-width="0.1875"
|
||||
/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="woot-logo-clip-2342424e23u32098">
|
||||
<rect width="16" height="16" fill="white" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 709 B |
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "Chatwoot",
|
||||
"short_name": "Chatwoot",
|
||||
"name": "Moreminimore Chat",
|
||||
"short_name": "Moreminimore Chat",
|
||||
"icons": [{
|
||||
"src": "\/android-icon-36x36.png",
|
||||
"sizes": "36x36",
|
||||
|
||||
Reference in New Issue
Block a user