PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / trunk
MxChat – AI Chatbot & Content Generation for WordPress vtrunk
3.2.21 3.2.20 3.2.19 3.2.18 3.2.17 3.2.16 3.2.15 3.2.14 3.2.12 3.2.13 3.2.11 3.2.10 3.2.9 3.2.8 3.2.7 3.2.6 3.2.5 3.2.4 3.2.3 3.2.2 3.2.1 2.0.3 2.0.4 2.0.5 2.0.6 All 152 releases
← All changes | css/chat-transcripts.css +275 -0 3.2.4trunk View file →
@@ -686,8 +686,80 @@
686 686 padding: 2px 8px;
687 687 border-radius: 10px;
688 688 }
689 689
690 +/* Satisfaction rating badge on chat-list rows (plan-a5b006). */
691 +.mxch-chat-rating {
692 + display: inline-flex;
693 + align-items: center;
694 + justify-content: center;
695 + font-size: 11px;
696 + line-height: 1;
697 + min-width: 18px;
698 + height: 18px;
699 + border-radius: 999px;
700 + padding: 0 4px;
701 + cursor: default;
702 +}
703 +.mxch-chat-rating-up {
704 + background: #ecfdf5;
705 + color: #047857;
706 +}
707 +.mxch-chat-rating-down {
708 + background: #fef2f2;
709 + color: #b91c1c;
710 +}
711 +.mxch-chat-rating-empty {
712 + color: #cbd5e1;
713 + background: transparent;
714 +}
715 +.mxch-chat-rating svg {
716 + display: block;
717 +}
718 +
719 +/* Sort dropdown menu — appended to <body> from JS. */
720 +.mxch-sort-menu {
721 + display: none;
722 + background: #ffffff;
723 + border: 1px solid #e5e7eb;
724 + border-radius: 8px;
725 + box-shadow: 0 6px 20px rgba(15, 23, 42, 0.12);
726 + padding: 4px;
727 + min-width: 200px;
728 + z-index: 9999;
729 +}
730 +.mxch-sort-option {
731 + display: flex;
732 + align-items: center;
733 + gap: 8px;
734 + width: 100%;
735 + padding: 8px 10px;
736 + background: transparent;
737 + border: none;
738 + border-radius: 6px;
739 + text-align: left;
740 + font-size: 13px;
741 + color: #1a1a2e;
742 + cursor: pointer;
743 +}
744 +.mxch-sort-option:hover {
745 + background: #f3f4f6;
746 +}
747 +.mxch-sort-option.active {
748 + background: #eff6ff;
749 + color: #1d4ed8;
750 + font-weight: 600;
751 +}
752 +.mxch-sort-option-icon {
753 + display: inline-flex;
754 + align-items: center;
755 + justify-content: center;
756 + width: 16px;
757 + height: 16px;
758 +}
759 +.mxch-sort-option-icon.mxch-rating-thumb-up { color: #047857; }
760 +.mxch-sort-option-icon.mxch-rating-thumb-down { color: #b91c1c; }
761 +
690 762 .mxch-list-loading,
691 763 .mxch-list-empty {
692 764 display: flex;
693 765 align-items: center;
@@ -1118,8 +1190,20 @@
1118 1190 text-transform: uppercase;
1119 1191 letter-spacing: 0.5px;
1120 1192 }
1121 1193
1194 +.mxch-agent-label {
1195 + font-size: 11px;
1196 + font-weight: 600;
1197 + color: #7c3aed;
1198 + text-transform: uppercase;
1199 + letter-spacing: 0.5px;
1200 +}
1201 +
1202 +.mxch-message-agent .mxch-message-bubble {
1203 + border-color: #ddd6fe;
1204 +}
1205 +
1122 1206 .mxch-rag-link {
1123 1207 font-size: 11px;
1124 1208 color: #3b82f6;
1125 1209 text-decoration: none;
@@ -1656,8 +1740,32 @@
1656 1740 color: var(--mxch-primary);
1657 1741 border-radius: 10px;
1658 1742 }
1659 1743
1744 +/* Hybrid retrieval matched-via chips (38ffa1): Vector / Keyword / Both */
1745 +.mxch-rag-via-chip {
1746 + font-size: 11px;
1747 + font-weight: 500;
1748 + padding: 2px 8px;
1749 + border-radius: 10px;
1750 + white-space: nowrap;
1751 +}
1752 +
1753 +.mxch-rag-via-vector {
1754 + background: rgba(120, 115, 245, 0.1);
1755 + color: var(--mxch-primary);
1756 +}
1757 +
1758 +.mxch-rag-via-keyword {
1759 + background: rgba(16, 185, 129, 0.12);
1760 + color: #059669;
1761 +}
1762 +
1763 +.mxch-rag-via-both {
1764 + background: rgba(245, 158, 11, 0.12);
1765 + color: #b45309;
1766 +}
1767 +
1660 1768 .mxch-rag-match-status {
1661 1769 margin-left: auto;
1662 1770 font-size: 12px;
1663 1771 font-weight: 500;
@@ -1840,8 +1948,69 @@
1840 1948 border-right: 4px solid transparent;
1841 1949 border-top: 4px solid #ef4444;
1842 1950 }
1843 1951
1952 +/* AI Tools trace (plan-mxchat-20260813-470f68)
1953 + One card per tool EXECUTION, rendered above the trigger-phrase scores. The box
1954 + itself reuses .mxch-rag-match-card / .mxch-rag-match-used; the rules below are
1955 + only the states the trigger-phrase cards have no equivalent of — a failed run,
1956 + a duration chip, and the argument excerpt. */
1957 +.mxch-tool-failed {
1958 + border-color: rgba(239, 68, 68, 0.35);
1959 + background: rgba(239, 68, 68, 0.05);
1960 +}
1961 +
1962 +.mxch-rag-match-status.status-failed {
1963 + color: var(--mxch-error);
1964 + font-weight: 600;
1965 +}
1966 +
1967 +.mxch-tool-duration {
1968 + font-size: 11px;
1969 + padding: 2px 8px;
1970 + background: rgba(100, 116, 139, 0.1);
1971 + color: var(--mxch-text-secondary);
1972 + border-radius: 10px;
1973 +}
1974 +
1975 +.mxch-tool-error {
1976 + margin-top: var(--mxch-spacing-sm);
1977 + font-size: 12px;
1978 + color: var(--mxch-error);
1979 + word-break: break-word;
1980 +}
1981 +
1982 +.mxch-tool-args {
1983 + margin-top: var(--mxch-spacing-sm);
1984 +}
1985 +
1986 +.mxch-tool-args > summary {
1987 + font-size: 12px;
1988 + color: var(--mxch-text-secondary);
1989 + cursor: pointer;
1990 + list-style: revert;
1991 +}
1992 +
1993 +.mxch-tool-args-body {
1994 + margin-top: 6px;
1995 + padding: var(--mxch-spacing-sm);
1996 + background: #f8fafc;
1997 + border: 1px solid var(--mxch-card-border);
1998 + border-radius: var(--mxch-radius-sm);
1999 + font-size: 12px;
2000 + font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
2001 + color: var(--mxch-text-secondary);
2002 + white-space: pre-wrap;
2003 + word-break: break-word;
2004 +}
2005 +
2006 +.mxch-tool-redacted {
2007 + margin-top: var(--mxch-spacing-sm);
2008 + font-size: 12px;
2009 + color: var(--mxch-text-muted);
2010 + font-style: italic;
2011 +}
2012 +
1844 2013 /* No Results State */
1845 2014 .mxch-no-results {
1846 2015 text-align: center;
1847 2016 padding: var(--mxch-spacing-xl);
@@ -2466,8 +2635,20 @@
2466 2635 border: 1px solid rgba(100, 116, 139, 0.22);
2467 2636 padding: 0 10px;
2468 2637 }
2469 2638
2639 +/* Consent column (b062c4). Yes/No are recorded decisions; "not recorded"
2640 + renders via .mxch-leads-muted (different fact, different look). */
2641 +.mxch-leads-pill-consent-yes {
2642 + background: rgba(16, 185, 129, 0.14);
2643 + color: var(--mxch-success, #059669);
2644 +}
2645 +
2646 +.mxch-leads-pill-consent-no {
2647 + background: rgba(239, 68, 68, 0.12);
2648 + color: var(--mxch-danger, #dc2626);
2649 +}
2650 +
2470 2651 .mxch-leads-row.is-chat-deleted .mxch-leads-lead-email {
2471 2652 color: var(--mxch-text-secondary);
2472 2653 }
2473 2654
@@ -2599,5 +2780,99 @@
2599 2780
2600 2781 @media (max-width: 480px) {
2601 2782 .mxch-leads-col-count { display: none; }
2602 2783 .mxch-leads-toppages-list { grid-template-columns: 1fr; }
2784 +}
2785 +
2786 +/* Satisfaction card on Transcripts dashboard (plan-a5b006). */
2787 +.mxch-satisfaction-card .mxch-card-body {
2788 + padding: var(--mxch-spacing-md);
2789 +}
2790 +.mxch-satisfaction-empty {
2791 + margin: 0;
2792 + padding: var(--mxch-spacing-sm) 0;
2793 + color: #6b7280;
2794 + font-size: 13px;
2795 + line-height: 1.5;
2796 +}
2797 +.mxch-satisfaction-list {
2798 + list-style: none;
2799 + margin: 0;
2800 + padding: 0;
2801 + display: flex;
2802 + flex-direction: column;
2803 + gap: 8px;
2804 +}
2805 +.mxch-satisfaction-row {
2806 + display: flex;
2807 + align-items: center;
2808 + gap: var(--mxch-spacing-md);
2809 + padding: 10px 12px;
2810 + background: #f9fafb;
2811 + border: 1px solid #f3f4f6;
2812 + border-radius: var(--mxch-radius-md, 8px);
2813 +}
2814 +.mxch-satisfaction-bot {
2815 + flex: 0 0 28%;
2816 + min-width: 0;
2817 + font-weight: 600;
2818 + font-size: 13px;
2819 + color: #1a1a2e;
2820 + overflow: hidden;
2821 + text-overflow: ellipsis;
2822 + white-space: nowrap;
2823 +}
2824 +.mxch-satisfaction-meta {
2825 + flex: 1;
2826 + display: flex;
2827 + align-items: center;
2828 + gap: 10px;
2829 + font-size: 12px;
2830 + color: #4b5563;
2831 + flex-wrap: wrap;
2832 +}
2833 +.mxch-satisfaction-total {
2834 + color: #6b7280;
2835 + white-space: nowrap;
2836 +}
2837 +.mxch-satisfaction-bar {
2838 + flex: 1;
2839 + min-width: 80px;
2840 + height: 6px;
2841 + background: #e5e7eb;
2842 + border-radius: 999px;
2843 + overflow: hidden;
2844 + display: flex;
2845 +}
2846 +.mxch-satisfaction-bar-up {
2847 + background: #10b981;
2848 + height: 100%;
2849 +}
2850 +.mxch-satisfaction-bar-down {
2851 + background: #ef4444;
2852 + height: 100%;
2853 +}
2854 +.mxch-satisfaction-pct {
2855 + display: inline-flex;
2856 + align-items: center;
2857 + gap: 4px;
2858 + font-weight: 600;
2859 + white-space: nowrap;
2860 +}
2861 +.mxch-satisfaction-pct-up { color: #047857; }
2862 +.mxch-satisfaction-pct-down { color: #b91c1c; }
2863 +@media (max-width: 600px) {
2864 + .mxch-satisfaction-row { flex-direction: column; align-items: flex-start; gap: 8px; }
2865 + .mxch-satisfaction-bot { flex: 1 1 100%; }
2866 + .mxch-satisfaction-meta { width: 100%; }
2867 +}
2868 +
2869 +/* Details drawer — Feedback row value (user-submitted rating feedback). */
2870 +.mxch-detail-feedback-value {
2871 + white-space: pre-wrap;
2872 + word-break: break-word;
2873 + max-width: 100%;
2874 + display: block;
2875 + margin-top: 4px;
2876 + opacity: 0.9;
2877 + font-style: italic;
2603 2878 }