Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
chamilo-lms/assets/css/scss/_social.scss

1098 lines
18 KiB

.social-side-menu {
.menu-list {
list-style: none;
padding: 0;
margin: 0;
}
.menu-item {
display: block;
padding: 0.5rem 1rem;
color: var(--text-color, #333);
text-decoration: none;
transition: background-color 0.2s;
font-weight: 500;
}
.menu-item.active {
background-color: var(--active-bg-color, #f0f0f0);
}
.menu-item i {
margin-right: 0.5rem;
}
.badge {
padding: 0.25em 0.5em;
font-size: 75%;
font-weight: 700;
line-height: 1;
color: #fff;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
border-radius: 0.25rem;
background-color: var(--badge-bg-color, #f76c6c);
margin-left: 0.5rem;
}
.nav-pills .nav-link {
display: flex;
align-items: center;
}
.active {
background-color: #eee;
}
.nav li.active a {
color: #333;
}
.badge {
display: inline-block;
padding: 0.25em 0.4em;
font-size: 75%;
font-weight: 700;
line-height: 1;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
border-radius: 0.25rem;
background-color: #f0ad4e;
color: #fff;
}
}
.message-layout {
display: flex;
}
.message-layout {
.message-container {
display: flex;
flex-direction: column;
}
.message-actions {
display: flex;
justify-content: flex-end;
padding-bottom: 1rem;
gap: 10px;
}
.sidebar {
width: 300px;
display: flex;
flex-direction: column;
}
.content {
flex-grow: 1;
margin-left: 20px;
}
.sidebar > *:not(:last-child) {
margin-bottom: 20px;
}
}
.my-groups-card, .my-friends-card {
.friend-item {
display: flex;
align-items: center;
border: none;
padding: 10px 0;
}
.friend-name {
margin-right: auto;
}
.friend-username {
white-space: nowrap;
}
.list-group-item {
cursor: pointer;
}
.list-group-item:hover {
background-color: #f0f0f0;
}
.input-group {
display: flex;
flex-wrap: nowrap;
}
.input-group input {
flex: 1;
width: 100%;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.input-group button {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.input-group .btn {
padding: 0.375rem 0.75rem;
border: 1px solid;
}
.input-group .mdi {
font-size: 1.25rem;
}
.friend-item:not(:last-child) {
border-bottom: 1px solid #eaeaea;
}
}
.my-skills-card {
.skills-container {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.skill-item {
display: flex;
flex-direction: column;
align-items: center;
}
.skill-badge {
width: 50px;
height: 50px;
border-radius: 50%;
}
.skill-name {
margin-top: 5px;
text-align: center;
}
}
.user-rel-user-search {
.user-card {
display: flex;
align-items: center;
border-bottom: 1px solid #e1e1e1;
padding: 10px 0;
}
.user-avatar {
margin-right: 15px;
}
.avatar-image {
width: 50px;
height: 50px;
border-radius: 50%;
}
.user-details {
flex-grow: 1;
}
.username {
font-size: 1.1em;
font-weight: bold;
margin-bottom: 5px;
}
.action-button {
padding: 5px 10px;
margin-right: 5px;
font-size: 0.9em;
border: none;
cursor: pointer;
transition: background-color 0.3s, box-shadow 0.3s;
border-radius: 3px;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 5px;
text-decoration: none;
}
.action-button i {
margin-right: 5px;
}
.invite-button {
background-color: #3498db;
color: white;
}
.invite-button:hover {
background-color: #2980b9;
box-shadow: 0 2px 5px 0 rgba(0,0,0,0.24), 0 2px 10px 0 rgba(0,0,0,0.19);
}
.message-button {
background-color: #f39c12;
color: white;
}
.message-button:hover {
background-color: #e67e22;
box-shadow: 0 2px 5px 0 rgba(0,0,0,0.24), 0 2px 10px 0 rgba(0,0,0,0.19);
}
}
.social-groups {
.group-image {
width: 50px;
height: 50px;
border-radius: 50%;
object-fit: cover;
}
.search-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 1rem;
}
.search-term-input {
flex: 1;
}
.large-icon {
font-size: 3rem;
}
.search-results {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 1rem;
}
.group-card {
border: 1px solid #dee2e6;
border-radius: 0.25rem;
overflow: hidden;
transition: box-shadow 0.3s;
}
.group-card:hover {
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.group-image {
background-color: #f8f9fa;
display: flex;
align-items: center;
justify-content: center;
padding: 2rem;
}
.group-details {
padding: 1rem;
}
a.group-title {
font-size: 1rem !important;
margin-bottom: 0.5rem !important;
color: #0a66c2 !important;
}
.group-description {
font-size: 1rem;
color: #6c757d;
}
.p-button-text {
display: block;
margin-top: 1rem;
text-align: center;
color: var(--primary-color, #007bff);
font-weight: bold;
}
.social-groups-container .header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 1rem;
}
.social-groups-container .create-group-button {
background-color: #5c6bc0;
color: white;
padding: 0.5rem 1rem;
border: none;
border-radius: 0.25rem;
cursor: pointer;
font-size: 1rem;
transition: background-color 0.3s;
}
.social-groups-container .create-group-button:hover {
background-color: #3949ab;
}
.social-group-tabs .p-tabview-nav {
margin-top: 1rem;
border: none;
}
.social-group-tabs .p-tabview-nav .p-tabview-selected {
background: white;
border-color: #e0e0e0;
border-bottom: 2px solid #3949ab;
}
.social-group-tabs .p-tabview-nav .p-tabview-selected a {
font-weight: bold;
}
.group-list .group-item {
display: flex;
align-items: center;
padding: 1rem;
border-bottom: 1px solid #e0e0e0;
}
.group-list .group-item .mdi {
font-size: 32px;
margin-right: 1rem;
}
.group-list .group-item .group-details {
display: flex;
flex-direction: column;
}
.group-list .group-item .group-details .group-title {
font-size: 1.25rem;
font-weight: bold;
}
.group-list .group-item .group-details .group-info {
display: flex;
align-items: center;
font-size: 0.875rem;
color: #666;
}
.group-list .group-item .group-details .group-info .group-member-count {
margin-right: 1rem;
}
.social-group-tabs .p-tabview .p-tabview-nav {
border: none;
margin-bottom: 0;
}
.social-group-tabs .p-tabview-nav .p-tabview-selected .tab-header {
font-weight: bold;
border-bottom: 3px solid #1976D2;
}
.social-group-tabs .p-tabview-nav .p-tabview-selected {
background: none;
}
.tab {
padding: 0.5rem 1rem;
cursor: pointer;
border-bottom: 2px solid transparent;
transition: border-color 0.3s;
}
.tab:hover {
border-bottom: 2px solid #d1d5db;
}
.tab-active {
border-bottom: 2px solid #3b82f6;
color: #3b82f6;
font-weight: bold;
}
}
.social-group-show {
.group-header {
text-align: center;
margin-bottom: 20px;
}
.group-title {
font-size: 2em;
margin: 0;
}
.group-description {
color: #666;
}
.discussions-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.discussion-list {
list-style-type: none;
padding: 0;
}
.discussion-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 0;
border-bottom: 1px solid #ccc;
}
.discussion-content {
display: flex;
flex-direction: column;
}
.discussion-title {
font-weight: bold;
margin-bottom: 5px;
}
.discussion-details {
display: flex;
align-items: center;
font-size: 0.8rem;
}
.discussion-details .icon {
margin-right: 5px;
}
.discussion-author {
display: flex;
align-items: center;
}
.author-avatar img, .author-avatar .mdi {
border-radius: 50%;
width: 100%;
height: 40px;
}
.author-avatar {
width: 30px;
height: 30px;
border-radius: 50%;
margin-right: 10px;
display: flex;
justify-content: center;
}
.author-name {
text-align: center;
margin-top: 10px;
font-size: 0.9rem;
margin-right: 10px;
}
.discussion-author {
display: flex;
flex-direction: column;
align-items: center;
}
.author-avatar-icon {
font-size: 50px;
margin-right: 10px;
}
.discussions-container {
border-top: 1px solid #ccc;
}
.discussion-info {
font-size: 0.9em;
color: #666;
}
.mdi {
font-size: 18px;
vertical-align: middle;
margin-right: 5px;
}
.members-container {
border-top: 1px solid #ccc;
}
.group-members {
margin: 20px;
}
.edit-members {
text-align: right;
margin-bottom: 20px;
}
.edit-members-btn {
padding: 10px 20px;
cursor: pointer;
}
.members-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
gap: 20px;
}
.member-card {
border: 1px solid #ccc;
padding: 10px;
text-align: center;
}
.member-avatar {
border-radius: 50%;
margin:auto;
}
.member-avatar img {
width: 100px;
height: 100px;
border-radius: 50%;
margin: auto;
}
.member-avatar i {
font-size: 100px;
}
.member-name {
font-weight: bold;
}
.member-role {
color: #666;
}
.member-item {
padding: 16px;
border-bottom: 1px solid #ccc;
display: flex;
align-items: center;
}
.member-name {
font-size: 1.2em;
color: #333;
}
.member-role {
font-size: 0.9em;
color: #666;
}
.tabs {
list-style-type: none;
padding: 0;
display: flex;
border-bottom: 1px solid #ccc;
}
.tabs li {
padding: 10px 20px;
cursor: pointer;
border-top: 3px solid transparent;
}
.tabs li.active {
border-top-color: #007bff;
background-color: #f8f9fa;
}
.tab-content {
padding: 20px;
border: 1px solid #ccc;
border-top: none;
}
}
.invite-friends {
.invite-friends-container {
max-width: 600px;
margin: auto;
}
.invite-friends-header {
text-align: center;
margin-bottom: 20px;
}
.invite-friends-body {
display: flex;
justify-content: space-between;
margin-bottom: 20px;
}
.friends-list, .selected-friends-list {
width: 48%;
}
.list-header {
background-color: #f5f5f5;
padding: 10px;
border-radius: 5px;
}
.list-content {
border: 1px solid #ddd;
border-radius: 5px;
padding: 10px;
height: 300px;
overflow-y: auto;
}
.friend-entry {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
}
.friend-avatar {
border-radius: 50%;
width: 30px;
height: 30px;
margin-right: 10px;
}
.friend-info {
display: flex;
align-items: center;
}
.invite-btn, .remove-btn {
border: none;
background-color: #5cb85c;
color: white;
padding: 5px 10px;
border-radius: 5px;
cursor: pointer;
}
.remove-btn {
background-color: #d9534f;
}
.send-invites-btn {
width: 100%;
padding: 10px 20px;
background-color: #0275d8;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
}
.send-invites-btn:hover {
background-color: #025aa5;
}
.invited-users-container {
margin-top: 20px;
}
.invited-users-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
gap: 10px;
}
.user-card {
display: flex;
flex-direction: column;
align-items: center;
padding: 10px;
border: 1px solid #ddd;
border-radius: 5px;
background-color: #f9f9f9;
}
.user-avatar {
border-radius: 50%;
width: 50px;
height: 50px;
margin-bottom: 10px;
}
.user-name {
text-align: center;
}
}
.admin-icon {
color: gold;
margin-left: 5px;
vertical-align: middle;
}
.user-profile-card {
.extra-info-container {
margin-top: 0;
background: #f5f5f5;
padding: 0;
border-radius: 0.5rem;
text-align: left;
}
.extra-info-list {
list-style: none;
padding: 0;
}
.extra-info-list dt {
font-weight: bold;
}
.extra-info-list dd {
margin: 0;
margin-bottom: 0.5rem;
}
.language-target {
margin-top: 1rem;
}
.p-card .p-card-body {
padding: 1px;
}
}
.social-search {
.invitation-modal-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
background-color: rgba(0, 0, 0, 0.6);
}
.invitation-modal {
background: white;
width: 90%;
max-width: 500px;
border-radius: 8px;
padding: 20px;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.invitation-modal-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.close-button {
border: none;
background: none;
font-size: 24px;
cursor: pointer;
}
.invitation-modal-textarea {
width: 100%;
height: 100px;
padding: 10px;
margin-bottom: 20px;
border: 1px solid #ccc;
border-radius: 4px;
resize: none;
}
.invitation-modal-send {
width: 100%;
padding: 10px 20px;
border: none;
background-color: #007bff;
color: white;
border-radius: 4px;
cursor: pointer;
font-size: 16px;
}
.invitation-modal-send:hover {
background-color: #0056b3;
}
.group-card {
background: #fff;
border-radius: 0.5rem;
overflow: hidden;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.group-image img {
width: 100%;
height: auto;
display: block;
}
.group-info {
padding: 1rem;
text-align: center;
}
.group-info h3 {
margin-top: 1rem;
font-size: 1.25rem;
}
.group-info p {
font-size: 0.875rem;
color: #666;
}
.message-modal-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
justify-content: center;
align-items: center;
z-index: 1000;
}
.message-modal {
background: #FFFFFF;
border-radius: 8px;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
padding: 20px;
width: 400px;
position: relative;
}
.message-modal-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 15px;
}
.message-modal-close {
background: none;
border: none;
font-size: 20px;
cursor: pointer;
}
.message-user-info {
display: flex;
align-items: center;
margin-bottom: 15px;
}
.message-user-avatar {
width: 50px;
height: 50px;
border-radius: 50%;
margin-right: 10px;
}
.message-user-name {
font-weight: bold;
}
.message-modal-input,
.message-modal-textarea {
width: 100%;
padding: 10px;
margin-bottom: 15px;
border: 1px solid #CCC;
border-radius: 4px;
}
.message-modal-textarea {
height: 100px;
resize: vertical;
}
.message-modal-send {
width: 100%;
padding: 10px;
border: none;
background-color: #007bff;
color: white;
border-radius: 4px;
cursor: pointer;
font-size: 16px;
}
.message-modal-send:hover {
background-color: #0056b3;
}
}
.friends-invitations {
.invitation-list {
width: 100%;
}
.invitation-item {
border-bottom: 1px solid #eee;
padding-bottom: 1rem;
margin-bottom: 1rem;
}
.invitation-content {
display: flex;
align-items: center;
justify-content: space-between;
}
.item-picture {
width: 50px;
height: 50px;
border-radius: 50%;
margin-right: 15px;
}
.invitation-info {
flex-grow: 1;
}
.invitation-actions {
display: flex;
align-items: center;
gap: 0.5rem;
}
@media (max-width: 600px) {
.invitation-actions {
flex-direction: column;
}
}
}
.social-group-messages {
.message-item {
display: flex;
border-bottom: 1px solid #ccc;
padding: 10px;
align-items: flex-start;
}
.message-avatar {
margin-right: 15px;
}
.avatar {
width: 40px;
height: 40px;
border-radius: 50%;
}
.message-body {
flex: 1;
}
.message-meta {
display: flex;
justify-content: space-between;
align-items: center;
}
.message-author {
font-weight: bold;
}
.message-actions {
display: flex;
justify-content: flex-end;
}
.message-actions button {
margin-left: 5px;
}
.child-messages {
margin-left: 20px;
}
}
.circle-green {
color: green;
}
.circle-gray {
color: gray;
}
#social-wall-container {
.tab {
padding: 0.5rem 1rem;
border-radius: 9999px;
transition: background-color 0.3s, color 0.3s;
cursor: pointer;
}
.tab:hover {
background-color: #e2e8f0;
}
.tab-active {
background-color: #3b82f6;
color: white;
}
}
#social-group-container {
.user-invite-card {
max-width: 100%;
display: flex;
flex-direction: column;
align-items: center;
}
.user-invite-card .flex {
display: flex;
justify-content: space-between;
align-items: center;
}
.user-invite-card .flex h4 {
margin: 0;
}
.user-invite-card .flex span {
display: block;
margin-top: 0.25rem;
color: #6b7280;
}
.user-invite-card .flex .space-x-2 {
display: flex;
gap: 0.5rem;
}
.user-invite-card .flex .space-x-2 button {
display: inline-flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border-radius: 50%;
}
}