Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
Пользователь
Регистрация
28 Дек 2023
Сообщения
137
Всем привет, один из первых сливаю для вас вот такой красивый профиль для вашего форума. Пытался сделать его более реалистичным как у настоящего Discord, может в будущем когда будет достаточно опыта попытаюсь реализовать.
1000454644.jpg

Внешний вид - > виджеты
Ключ виджета - > profile_discors
Заголовок - > Discord Profile

Позиция для отображения - > Список форумов: ниже списка узлов

Впринципе можно было сделать и лучше, но увы мои знание в CSS не так уж и позволяют мне это сделать. Пытался конечно сделать фулл точную копию профиля но сделал как умею, ожидайте сделаю обновление.

Виджет:
<div class="block-container discord-profile-card" data-profile-key="dev_projects">
    <div class="discord-profile-banner">
        <img src="https://i.postimg.cc/3rVtXzHq/i.gif" alt="Профиль баннер" class="discord-banner-gif">
    </div>
    <div class="discord-profile-avatar-wrapper">
        <img src="https://www.legendshub.ru/data/avatars/o/0/2.jpg?1760210014" alt="Аватар" class="discord-profile-avatar">
    </div>
    <div class="block-body discord-profile-main-content">
        <div class="discord-profile-header-info">
            <div class="discord-profile-nickname">
                ⚝ dev projects <i class="fas fa-check-circle discord-verified-icon" title="Верифицированный профиль"></i>
            </div>
        </div>

        <div class="discord-section-title">Обо мне</div>
        <div class="discord-about-me-links">
            <a href="https://vk.com/morti_freeze" target="_blank" class="discord-social-link discord-vk">
                <i class="fab fa-vk"></i> ВКонтакте
            </a>
            <a href="https://t.me/xgwer_tt" target="_blank" class="discord-social-link discord-tg">
                <i class="fab fa-telegram-plane"></i> Telegram
            </a>
            <a href="https://legendshub.ru" target="_blank" class="discord-social-link discord-website">
                <i class="fas fa-globe"></i> Сайт LEGENDS HUB
            </a>
        </div>
        <div class="discord-about-me-text">
            <p><strong>Development:</strong> Погружаюсь в мир кодинга, создавая функциональные и инновационные решения для LEGENDS HUB. От ботов до веб-сервисов — моя страсть к разработке безгранична.</p>
            <p><strong>Developer:</strong> Оттачиваю навыки в каждой строчке кода, стремясь к совершенству. Всегда в поиске новых вызовов и технологий, чтобы сделать наш проект ещё лучше!</p>
        </div>

        <div class="discord-section-title">Аксессуары профиля</div>
        <div class="discord-accessories-grid">
            <div class="discord-accessory-item discord-avatar-decoration-preview" title="Украшение аватара">
                Украшение аватара <i class="fas fa-magic"></i>
            </div>
            <div class="discord-accessory-item discord-profile-effect-preview" title="Эффект профиля">
                Эффект профиля <i class="fas fa-sparkles"></i>
            </div>
        </div>

        <div class="discord-section-title">Значки и роли</div>
        <div class="discord-profile-badges">
            <span class="discord-badge badge-nitro" title="Подписка Nitro"><i class="fas fa-gem"></i></span>
            <span class="discord-badge badge-developer" title="Активный разработчик"><i class="fas fa-code"></i></span>
            <span class="discord-badge badge-moderator" title="Модератор"><i class="fas fa-user-shield"></i></span>
            <span class="discord-badge badge-booster" title="Бустер сервера"><i class="fas fa-fire-alt"></i></span>
        </div>
        <div class="discord-profile-roles">
            <span class="discord-role-tag" style="--role-color: #57F287;">
                <i class="fas fa-circle" style="font-size: 0.7em;"></i> LEGENDS HUB
            </span>
            <span class="discord-role-tag" style="--role-color: #99AAB5;">
                <i class="fas fa-circle" style="font-size: 0.7em;"></i> Участник
            </span>
        </div>
    </div>
</div>

Extra.less:
:root {
    --discord-bg-primary: #2f3136;
    --discord-bg-secondary: #202225;
    --discord-text-primary: #DCDDDE;
    --discord-text-secondary: #B9BBBE;
    --discord-white: #FFF;
    --discord-blue-primary: #5865F2;
    --discord-purple-nitro: #7289DA;
    --discord-red-moderator: #ED4245;
    --discord-orange-booster: #F47C4F;
    --discord-green-verified: #57F287;
    --discord-link-hover: #7289DA;
    --discord-border-color: #36393f;
}

.discord-profile-card {
    font-family: 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    max-width: 320px;
    min-height: auto;
    margin: 30px auto;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
    background-color: var(--discord-bg-primary);
    color: var(--discord-text-primary);
    filter: none !important;
    animation: none !important;
}

.discord-profile-banner {
    width: 100%;
    height: 90px;
    overflow: hidden;
    position: relative;
    background-color: var(--discord-bg-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
}
.discord-profile-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.discord-profile-avatar-wrapper {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 6px solid var(--discord-bg-primary);
    box-shadow: 0 0 0 1px var(--discord-bg-secondary);
    margin: -40px auto 10px 16px;
    position: relative;
    z-index: 2;
    overflow: hidden;
    background-color: var(--discord-bg-secondary);
    transition: transform 0.2s ease-out;
    cursor: pointer;
}
.discord-profile-avatar-wrapper:hover {
    transform: scale(1.05);
}
.discord-profile-avatar {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

.discord-avatar-decoration-preview {
    position: relative;
    overflow: hidden;
}
.discord-avatar-decoration-preview::before {
    content: '';
    position: absolute;
    top: -3px; left: -3px; right: -3px; bottom: -3px;
    border: 2px solid transparent;
    border-radius: 50%;
    background: linear-gradient(45deg, #FF69B4, #8A2BE2);
    background-clip: padding-box;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    animation: discord-avatar-decoration-pulse 3s infinite ease-in-out;
    z-index: -1;
}
@keyframes discord-avatar-decoration-pulse {
    0% { transform: scale(1); opacity: 0.8; }
    50% { transform: scale(1.05); opacity: 1; }
    100% { transform: scale(1); opacity: 0.8; }
}

.discord-profile-main-content {
    padding: 10px 16px 16px 16px;
    background: var(--discord-bg-primary);
    border-radius: 0 0 8px 8px;
    position: relative;
    z-index: 1;
}

.discord-section-title {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--discord-text-secondary);
    text-transform: uppercase;
    margin-top: 15px;
    margin-bottom: 8px;
    border-top: 1px solid var(--discord-border-color);
    padding-top: 15px;
    text-align: left;
}
.discord-profile-main-content > .discord-section-title:first-child {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
}

.discord-profile-nickname {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--discord-white);
    line-height: 1.3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-align: left;
    width: 100%;
}
.discord-verified-icon {
    color: var(--discord-green-verified);
    font-size: 0.85em;
    position: relative;
    top: 1px;
}

.discord-about-me-links {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 15px;
}
.discord-social-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    background-color: var(--discord-bg-secondary);
    border-radius: 4px;
    color: var(--discord-blue-primary);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: background-color 0.2s ease-out, color 0.2s ease-out;
}
.discord-social-link:hover {
    background-color: #3e4147;
    color: var(--discord-link-hover);
    text-decoration: underline;
}
.discord-social-link i {
    font-size: 1.1em;
    color: var(--discord-blue-primary);
}
.discord-about-me-text p {
    font-size: 0.875rem;
    color: var(--discord-text-secondary);
    line-height: 1.5;
    margin-bottom: 10px;
    text-align: left;
}
.discord-about-me-text p:last-child {
    margin-bottom: 0;
}
.discord-about-me-text strong {
    color: var(--discord-text-primary);
}

.discord-accessories-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 15px;
}
.discord-accessory-item {
    background-color: var(--discord-bg-secondary);
    border: 1px solid var(--discord-border-color);
    border-radius: 4px;
    padding: 8px;
    font-size: 0.8rem;
    color: var(--discord-text-secondary);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    transition: background-color 0.2s ease-out, border-color 0.2s ease-out;
    cursor: pointer;
}
.discord-accessory-item:hover {
    background-color: #3e4147;
    border-color: var(--discord-blue-primary);
}
.discord-accessory-item i {
    color: var(--discord-text-secondary);
    font-size: 1em;
}

.discord-profile-effect-preview {
    position: relative;
    overflow: hidden;
}
.discord-profile-effect-preview::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(135deg, rgba(88,101,242,0.1), rgba(114,137,218,0.1));
    background-size: 200% 200%;
    animation: discord-effect-gradient-shift 8s ease infinite alternate;
    z-index: -1;
    border-radius: inherit;
}
@keyframes discord-effect-gradient-shift {
    0% { background-position: 0% 0%; }
    100% { background-position: 100% 100%; }
}

.discord-profile-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 6px;
    margin-bottom: 15px;
}
.discord-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 4px;
    font-size: 0.8em;
    font-weight: 500;
    transition: all 0.15s ease;
    cursor: help;
    background-color: rgba(0, 0, 0, 0.2);
    color: var(--discord-text-primary);
}
.discord-badge i {
    font-size: 1em; /* Размер иконки внутри значка */
}

.discord-badge.badge-nitro { background-color: var(--discord-purple-nitro); color: var(--discord-white); }
.discord-badge.badge-developer { background-color: var(--discord-blue-primary); color: var(--discord-white); }
.discord-badge.badge-moderator { background-color: var(--discord-red-moderator); color: var(--discord-white); }
.discord-badge.badge-booster { background-color: var(--discord-orange-booster); color: var(--discord-white); }

.discord-badge:hover {
    transform: translateY(-1px) scale(1.05);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
    filter: brightness(1.1);
}

.discord-profile-roles {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 6px;
    margin-top: 10px;
}
.discord-role-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 6px;
    border-radius: 3px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--discord-white);
    background-color: var(--discord-bg-secondary);
    border: 1px solid var(--discord-border-color);
    color: var(--role-color, var(--discord-text-primary));
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
.discord-role-tag i {
    font-size: 0.6em;
    color: var(--role-color, var(--discord-text-secondary));
}

@keyframes fa-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
 
Последнее редактирование:
Сверху