From 7dbb4de66d4b00085b844bacca2193da472a900e Mon Sep 17 00:00:00 2001 From: konard Date: Fri, 6 Feb 2026 18:20:47 +0100 Subject: [PATCH 1/3] Initial commit with task details Adding CLAUDE.md with task information for AI processing. This file will be removed when the task is complete. Issue: https://github.com/netkeep80/isocubic/issues/269 --- CLAUDE.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..412d0aa --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,7 @@ +Issue to solve: https://github.com/netkeep80/isocubic/issues/269 +Your prepared branch: issue-269-5d06a50ee25a +Your prepared working directory: /tmp/gh-issue-solver-1770398441546 +Your forked repository: konard/netkeep80-isocubic +Original repository (upstream): netkeep80/isocubic + +Proceed. From d52d4e6a88c411b262bb0cec079a9f2891b77da1 Mon Sep 17 00:00:00 2001 From: konard Date: Fri, 6 Feb 2026 18:31:26 +0100 Subject: [PATCH 2/3] Fix Social tab rendering: broken emoji display and missing CSS styles - Replace invalid Unicode escape sequences (\U0001F90D, \uD83D\uDC41, \u2B07) in CommunityGallery.vue and CommentsSection.vue with actual emoji characters, fixing raw escape codes rendering as text in HTML templates - Add missing CSS styles for CommunityGallery, SharePanel, NotificationPanel, and CommentsSection components to App.css, enabling proper grid layout, card styling, badges, pagination, and responsive mobile design Fixes netkeep80/isocubic#269 Co-Authored-By: Claude Opus 4.6 --- docs/screenshots/social-tab-fixed.png | Bin 0 -> 68172 bytes src/App.css | 1282 +++++++++++++++++++++++++ src/components/CommentsSection.vue | 16 +- src/components/CommunityGallery.vue | 10 +- 4 files changed, 1293 insertions(+), 15 deletions(-) create mode 100644 docs/screenshots/social-tab-fixed.png diff --git a/docs/screenshots/social-tab-fixed.png b/docs/screenshots/social-tab-fixed.png new file mode 100644 index 0000000000000000000000000000000000000000..cf31aed9929ca1acb74dcd2429347159ce0091b2 GIT binary patch literal 68172 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 literal 0 HcmV?d00001 diff --git a/src/App.css b/src/App.css index 3eb040d..0fae964 100644 --- a/src/App.css +++ b/src/App.css @@ -5006,3 +5006,1285 @@ transition: none; } } + +/* ========================================================================== + Community Gallery Styles + ========================================================================== */ + +.community-gallery { + padding: 1rem; + background: #1a1a1a; + border-radius: 8px; + max-width: 800px; + width: 100%; +} + +.community-gallery__header { + margin-bottom: 1rem; +} + +.community-gallery__title { + font-size: 1.25rem; + margin: 0 0 0.25rem; + color: #fff; +} + +.community-gallery__subtitle { + font-size: 0.875rem; + color: #888; + margin: 0; +} + +.community-gallery__controls { + margin-bottom: 1rem; +} + +.community-gallery__search { + position: relative; + margin-bottom: 0.75rem; +} + +.community-gallery__search-input { + width: 100%; + padding: 0.5rem 2rem 0.5rem 0.75rem; + border: 1px solid #333; + border-radius: 4px; + background: #2a2a2a; + color: #fff; + font-size: 16px; + box-sizing: border-box; +} + +.community-gallery__search-input::placeholder { + color: #666; +} + +.community-gallery__search-input:focus { + outline: none; + border-color: #646cff; +} + +.community-gallery__search-clear { + position: absolute; + right: 0.5rem; + top: 50%; + transform: translateY(-50%); + padding: 0.5rem; + border: none; + background: transparent; + color: #888; + cursor: pointer; + font-size: 1rem; + line-height: 1; + -webkit-tap-highlight-color: transparent; + touch-action: manipulation; +} + +.community-gallery__search-clear:hover { + color: #fff; +} + +.community-gallery__filters { + display: flex; + flex-wrap: wrap; + gap: 0.5rem; +} + +.community-gallery__select { + padding: 0.375rem 0.75rem; + border: 1px solid #333; + border-radius: 4px; + background: #2a2a2a; + color: #fff; + font-size: 0.875rem; + cursor: pointer; + flex: 1; + min-width: 0; +} + +.community-gallery__select:focus { + outline: none; + border-color: #646cff; +} + +.community-gallery__loading { + display: flex; + flex-direction: column; + align-items: center; + gap: 0.75rem; + padding: 2rem; + color: #888; + font-size: 0.875rem; +} + +.community-gallery__spinner { + width: 24px; + height: 24px; + border: 2px solid #333; + border-top-color: #646cff; + border-radius: 50%; + animation: community-spin 0.8s linear infinite; +} + +@keyframes community-spin { + to { + transform: rotate(360deg); + } +} + +.community-gallery__error { + padding: 0.75rem; + border-radius: 4px; + background: rgba(220, 53, 69, 0.2); + color: #f5c6cb; + border: 1px solid #dc3545; + font-size: 0.875rem; + margin-bottom: 0.75rem; +} + +.community-gallery__grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); + gap: 0.75rem; + margin-bottom: 0.75rem; +} + +.community-gallery__empty { + grid-column: 1 / -1; + padding: 2rem; + text-align: center; + color: #666; + font-size: 0.875rem; +} + +.community-gallery__item { + background: #2a2a2a; + border-radius: 6px; + overflow: hidden; + cursor: pointer; + transition: + transform 0.2s, + box-shadow 0.2s; + -webkit-tap-highlight-color: transparent; + touch-action: manipulation; + position: relative; + will-change: transform; + transform: translateZ(0); +} + +.community-gallery__item:hover { + transform: translateY(-2px); + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); +} + +@media (hover: none) { + .community-gallery__item:hover { + transform: none; + box-shadow: none; + } + + .community-gallery__item:active { + transform: scale(0.98); + background: #333; + } +} + +.community-gallery__item:focus { + outline: 2px solid #646cff; + outline-offset: 2px; +} + +.community-gallery__badges { + position: absolute; + top: 4px; + left: 4px; + display: flex; + gap: 4px; + z-index: 1; +} + +.community-gallery__badge { + padding: 0.125rem 0.375rem; + border-radius: 4px; + font-size: 0.625rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.02em; +} + +.community-gallery__badge--featured { + background: rgba(100, 108, 255, 0.85); + color: #fff; +} + +.community-gallery__badge--staff { + background: rgba(76, 175, 80, 0.85); + color: #fff; +} + +.community-gallery__thumbnail { + width: 100%; + height: 100px; + position: relative; + display: flex; + align-items: center; + justify-content: center; +} + +.community-gallery__noise-indicator { + position: absolute; + bottom: 4px; + right: 4px; + width: 16px; + height: 16px; + border-radius: 50%; + opacity: 0.8; +} + +.community-gallery__noise-indicator--perlin { + background: repeating-linear-gradient( + 45deg, + rgba(255, 255, 255, 0.1), + rgba(255, 255, 255, 0.1) 2px, + transparent 2px, + transparent 4px + ); + border: 1px solid rgba(255, 255, 255, 0.3); +} + +.community-gallery__noise-indicator--worley { + background: + radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.3), transparent 50%), + radial-gradient(circle at 70% 70%, rgba(255, 255, 255, 0.2), transparent 50%); + border: 1px solid rgba(255, 255, 255, 0.3); +} + +.community-gallery__noise-indicator--crackle { + background: conic-gradient( + from 0deg, + rgba(255, 255, 255, 0.1) 0deg, + transparent 30deg, + rgba(255, 255, 255, 0.1) 60deg, + transparent 90deg, + rgba(255, 255, 255, 0.1) 120deg, + transparent 150deg + ); + border: 1px solid rgba(255, 255, 255, 0.3); +} + +.community-gallery__item-info { + padding: 0.5rem; + display: flex; + flex-direction: column; + gap: 0.125rem; +} + +.community-gallery__item-name { + font-size: 0.75rem; + font-weight: 500; + color: #fff; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.community-gallery__item-author { + font-size: 0.625rem; + color: #888; +} + +.community-gallery__item-stats { + display: flex; + align-items: center; + gap: 0.5rem; + padding: 0 0.5rem 0.375rem; + font-size: 0.625rem; + color: #888; +} + +.community-gallery__like-btn { + display: flex; + align-items: center; + gap: 0.25rem; + padding: 0.125rem 0.25rem; + border: none; + border-radius: 4px; + background: transparent; + color: #888; + cursor: pointer; + font-size: 0.625rem; + transition: color 0.2s; + -webkit-tap-highlight-color: transparent; + touch-action: manipulation; +} + +.community-gallery__like-btn:hover { + color: #fff; +} + +.community-gallery__like-btn--liked { + color: #e74c3c; +} + +.community-gallery__like-icon { + font-size: 0.875rem; + line-height: 1; +} + +.community-gallery__like-count { + font-size: 0.625rem; +} + +.community-gallery__views, +.community-gallery__downloads { + display: flex; + align-items: center; + gap: 0.125rem; +} + +.community-gallery__item-tags { + display: flex; + flex-wrap: wrap; + gap: 0.25rem; + padding: 0 0.5rem 0.5rem; +} + +.community-gallery__item-tag { + padding: 0.0625rem 0.375rem; + border-radius: 6px; + background: #3a3a3a; + color: #aaa; + font-size: 0.5625rem; +} + +.community-gallery__item-tag--more { + background: #444; +} + +.community-gallery__pagination { + display: flex; + justify-content: center; + align-items: center; + gap: 0.25rem; + margin-bottom: 0.75rem; +} + +.community-gallery__page-btn { + padding: 0.375rem 0.625rem; + border: 1px solid #333; + border-radius: 4px; + background: transparent; + color: #aaa; + cursor: pointer; + font-size: 0.75rem; + transition: + background-color 0.2s, + color 0.2s; + -webkit-tap-highlight-color: transparent; + touch-action: manipulation; +} + +.community-gallery__page-btn:hover:not(:disabled) { + background: #333; + color: #fff; +} + +.community-gallery__page-btn:disabled { + opacity: 0.4; + cursor: not-allowed; +} + +.community-gallery__page-btn--active { + background: #646cff; + border-color: #646cff; + color: #fff; +} + +.community-gallery__ellipsis { + padding: 0.375rem 0.25rem; + color: #666; + font-size: 0.75rem; +} + +.community-gallery__footer { + text-align: center; +} + +.community-gallery__count { + font-size: 0.75rem; + color: #666; +} + +/* Responsive adjustments for Community Gallery */ +@media (max-width: 768px) { + .community-gallery { + max-width: 100%; + border-radius: 0; + padding: 0.75rem; + } + + .community-gallery__grid { + grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); + } +} + +@media (max-width: 480px) { + .community-gallery__grid { + grid-template-columns: repeat(2, 1fr); + gap: 0.5rem; + } + + .community-gallery__filters { + flex-direction: column; + } + + .community-gallery__select { + width: 100%; + } + + .community-gallery__thumbnail { + height: 80px; + } +} + +@media (pointer: coarse) { + .community-gallery__search-input { + min-height: 44px; + padding: 0.625rem 2.5rem 0.625rem 0.875rem; + } + + .community-gallery__search-clear { + min-width: 44px; + min-height: 44px; + display: flex; + align-items: center; + justify-content: center; + } + + .community-gallery__select { + min-height: 44px; + } + + .community-gallery__like-btn { + min-height: 44px; + } + + .community-gallery__page-btn { + min-height: 44px; + min-width: 44px; + } +} + +@media (prefers-reduced-motion: reduce) { + .community-gallery__item { + transition: none; + } + + .community-gallery__item:hover { + transform: none; + } + + .community-gallery__spinner { + animation: none; + } +} + +/* ========================================================================== + Share Panel Styles + ========================================================================== */ + +.share-panel { + padding: 1rem; + background: #1a1a1a; + border-radius: 8px; + max-width: 800px; + width: 100%; +} + +.share-panel__title { + font-size: 1.25rem; + margin: 0 0 1rem; + color: #fff; +} + +.share-panel__subtitle { + font-size: 1rem; + margin: 0 0 0.75rem; + color: #ddd; +} + +.share-panel__create { + margin-bottom: 1.5rem; +} + +.share-panel__field { + margin-bottom: 0.75rem; +} + +.share-panel__label { + display: block; + font-size: 0.75rem; + color: #aaa; + margin-bottom: 0.25rem; +} + +.share-panel__select, +.share-panel__input { + width: 100%; + padding: 0.5rem 0.75rem; + border: 1px solid #333; + border-radius: 4px; + background: #2a2a2a; + color: #fff; + font-size: 0.875rem; + box-sizing: border-box; +} + +.share-panel__select:focus, +.share-panel__input:focus { + outline: none; + border-color: #646cff; +} + +.share-panel__hint { + font-size: 0.625rem; + color: #666; + margin-top: 0.25rem; +} + +.share-panel__button { + padding: 0.5rem 1rem; + border: 1px solid #333; + border-radius: 4px; + cursor: pointer; + font-size: 0.875rem; + transition: + background-color 0.2s, + color 0.2s; + -webkit-tap-highlight-color: transparent; + touch-action: manipulation; + background: #2a2a2a; + color: #fff; +} + +.share-panel__button:hover { + background: #3a3a3a; +} + +.share-panel__button--primary { + background: #646cff; + border-color: #646cff; + color: #fff; + width: 100%; +} + +.share-panel__button--primary:hover { + background: #535bf2; +} + +.share-panel__button--copy { + background: #4caf50; + border-color: #4caf50; + color: #fff; +} + +.share-panel__button--copy:hover { + background: #45a049; +} + +.share-panel__button--secondary { + background: transparent; + color: #aaa; +} + +.share-panel__button--secondary:hover { + color: #fff; + background: #333; +} + +.share-panel__button--small { + padding: 0.25rem 0.5rem; + font-size: 0.75rem; +} + +.share-panel__button--danger { + background: transparent; + color: #dc3545; + border-color: #dc3545; +} + +.share-panel__button--danger:hover { + background: rgba(220, 53, 69, 0.2); +} + +.share-panel__message { + padding: 0.5rem 0.75rem; + border-radius: 4px; + font-size: 0.875rem; + margin-bottom: 0.75rem; +} + +.share-panel__message--error { + background: rgba(220, 53, 69, 0.2); + color: #f5c6cb; + border: 1px solid #dc3545; +} + +.share-panel__message--success { + background: rgba(76, 175, 80, 0.2); + color: #c3e6cb; + border: 1px solid #4caf50; +} + +.share-panel__result { + padding: 1rem; + background: #222; + border-radius: 6px; + margin-bottom: 1rem; +} + +.share-panel__link-display { + display: flex; + gap: 0.5rem; + margin-bottom: 0.75rem; +} + +.share-panel__link-input { + flex: 1; + padding: 0.5rem 0.75rem; + border: 1px solid #333; + border-radius: 4px; + background: #2a2a2a; + color: #fff; + font-size: 0.875rem; + box-sizing: border-box; +} + +.share-panel__qr { + display: flex; + flex-direction: column; + align-items: center; + gap: 0.5rem; + margin-bottom: 0.75rem; +} + +.share-panel__qr-image { + max-width: 160px; + max-height: 160px; +} + +.share-panel__qr-loading { + padding: 1rem; + color: #888; + font-size: 0.875rem; +} + +.share-panel__link-info { + display: flex; + flex-wrap: wrap; + gap: 0.75rem; + font-size: 0.75rem; + color: #888; +} + +.share-panel__info-item { + display: flex; + align-items: center; + gap: 0.25rem; +} + +.share-panel__links { + margin-top: 1.5rem; +} + +.share-panel__loading { + text-align: center; + padding: 1rem; + color: #888; + font-size: 0.875rem; +} + +.share-panel__empty { + text-align: center; + padding: 1rem; + color: #666; + font-size: 0.875rem; +} + +.share-panel__links-list { + display: flex; + flex-direction: column; + gap: 0.5rem; +} + +.share-panel__link-item { + padding: 0.75rem; + background: #222; + border-radius: 6px; + border: 1px solid #333; +} + +.share-panel__link-item--inactive { + opacity: 0.5; +} + +.share-panel__link-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 0.375rem; +} + +.share-panel__link-name { + font-size: 0.875rem; + font-weight: 500; + color: #fff; +} + +.share-panel__link-date { + font-size: 0.625rem; + color: #666; +} + +.share-panel__link-url { + font-size: 0.75rem; + color: #646cff; + word-break: break-all; + margin-bottom: 0.375rem; +} + +.share-panel__link-stats { + display: flex; + gap: 0.75rem; + font-size: 0.625rem; + color: #888; + margin-bottom: 0.375rem; +} + +.share-panel__link-actions { + display: flex; + gap: 0.5rem; +} + +/* Responsive adjustments for Share Panel */ +@media (max-width: 768px) { + .share-panel { + max-width: 100%; + border-radius: 0; + padding: 0.75rem; + } +} + +@media (max-width: 480px) { + .share-panel__link-display { + flex-direction: column; + } +} + +@media (pointer: coarse) { + .share-panel__select, + .share-panel__input, + .share-panel__link-input { + min-height: 44px; + } + + .share-panel__button { + min-height: 44px; + } +} + +/* ========================================================================== + Notification Panel Styles + ========================================================================== */ + +.notification-panel { + padding: 1rem; + background: #1a1a1a; + border-radius: 8px; + max-width: 800px; + width: 100%; +} + +.notification-panel__header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 0.75rem; +} + +.notification-panel__title { + font-size: 1.25rem; + margin: 0; + color: #fff; + display: flex; + align-items: center; + gap: 0.5rem; +} + +.notification-panel__badge { + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 20px; + height: 20px; + padding: 0 6px; + border-radius: 10px; + background: #dc3545; + color: #fff; + font-size: 0.625rem; + font-weight: 600; +} + +.notification-panel__controls { + display: flex; + gap: 0.5rem; + align-items: center; + margin-bottom: 0.75rem; +} + +.notification-panel__filter { + padding: 0.375rem 0.75rem; + border: 1px solid #333; + border-radius: 4px; + background: #2a2a2a; + color: #fff; + font-size: 0.75rem; + cursor: pointer; +} + +.notification-panel__filter:focus { + outline: none; + border-color: #646cff; +} + +.notification-panel__mark-all-btn { + padding: 0.375rem 0.75rem; + border: 1px solid #333; + border-radius: 4px; + background: transparent; + color: #aaa; + cursor: pointer; + font-size: 0.75rem; + transition: + background-color 0.2s, + color 0.2s; + -webkit-tap-highlight-color: transparent; + touch-action: manipulation; +} + +.notification-panel__mark-all-btn:hover { + background: #333; + color: #fff; +} + +.notification-panel__error { + padding: 0.5rem 0.75rem; + border-radius: 4px; + background: rgba(220, 53, 69, 0.2); + color: #f5c6cb; + border: 1px solid #dc3545; + font-size: 0.875rem; + margin-bottom: 0.75rem; +} + +.notification-panel__loading { + display: flex; + flex-direction: column; + align-items: center; + gap: 0.75rem; + padding: 2rem; + color: #888; + font-size: 0.875rem; +} + +.notification-panel__spinner { + width: 24px; + height: 24px; + border: 2px solid #333; + border-top-color: #646cff; + border-radius: 50%; + animation: community-spin 0.8s linear infinite; +} + +.notification-panel__list { + display: flex; + flex-direction: column; + gap: 0.375rem; +} + +.notification-panel__empty { + text-align: center; + padding: 2rem; + color: #666; + font-size: 0.875rem; +} + +.notification-panel__item { + display: flex; + align-items: flex-start; + gap: 0.75rem; + padding: 0.75rem; + background: #222; + border-radius: 6px; + border: 1px solid transparent; + transition: background-color 0.2s; +} + +.notification-panel__item:hover { + background: #2a2a2a; +} + +.notification-panel__item--unread { + border-color: #646cff; + background: rgba(100, 108, 255, 0.05); +} + +.notification-panel__icon { + font-size: 1.25rem; + flex-shrink: 0; + line-height: 1; +} + +.notification-panel__content { + flex: 1; + min-width: 0; +} + +.notification-panel__message { + font-size: 0.875rem; + color: #ddd; + margin-bottom: 0.25rem; +} + +.notification-panel__actor { + font-weight: 500; + color: #fff; +} + +.notification-panel__time { + font-size: 0.625rem; + color: #666; +} + +.notification-panel__actions { + display: flex; + gap: 0.25rem; + flex-shrink: 0; +} + +.notification-panel__action-btn { + padding: 0.25rem 0.5rem; + border: none; + border-radius: 4px; + background: transparent; + color: #888; + cursor: pointer; + font-size: 0.75rem; + transition: + background-color 0.2s, + color 0.2s; + -webkit-tap-highlight-color: transparent; + touch-action: manipulation; +} + +.notification-panel__action-btn:hover { + background: #333; + color: #fff; +} + +.notification-panel__action-btn--danger:hover { + background: rgba(220, 53, 69, 0.2); + color: #dc3545; +} + +/* Responsive adjustments for Notification Panel */ +@media (max-width: 768px) { + .notification-panel { + max-width: 100%; + border-radius: 0; + padding: 0.75rem; + } +} + +@media (max-width: 480px) { + .notification-panel__controls { + flex-direction: column; + align-items: stretch; + } + + .notification-panel__item { + padding: 0.5rem; + } +} + +@media (pointer: coarse) { + .notification-panel__filter { + min-height: 44px; + } + + .notification-panel__mark-all-btn { + min-height: 44px; + } + + .notification-panel__action-btn { + min-height: 44px; + min-width: 44px; + } +} + +/* ========================================================================== + Comments Section Styles + ========================================================================== */ + +.comments-section { + padding: 1rem; + background: #1a1a1a; + border-radius: 8px; + max-width: 800px; + width: 100%; +} + +.comments-section__header { + margin-bottom: 0.75rem; +} + +.comments-section__title { + font-size: 1rem; + margin: 0; + color: #fff; +} + +.comments-section__form { + display: flex; + flex-direction: column; + gap: 0.5rem; + margin-bottom: 1rem; +} + +.comments-section__textarea { + width: 100%; + padding: 0.5rem 0.75rem; + border: 1px solid #333; + border-radius: 4px; + background: #2a2a2a; + color: #fff; + font-size: 0.875rem; + resize: vertical; + min-height: 60px; + box-sizing: border-box; + font-family: inherit; +} + +.comments-section__textarea:focus { + outline: none; + border-color: #646cff; +} + +.comments-section__textarea::placeholder { + color: #666; +} + +.comments-section__form-actions { + display: flex; + gap: 0.5rem; + justify-content: flex-end; +} + +.comments-section__submit-btn { + padding: 0.375rem 0.75rem; + border: none; + border-radius: 4px; + background: #646cff; + color: #fff; + cursor: pointer; + font-size: 0.75rem; + transition: background-color 0.2s; + -webkit-tap-highlight-color: transparent; + touch-action: manipulation; +} + +.comments-section__submit-btn:hover { + background: #535bf2; +} + +.comments-section__submit-btn:disabled { + opacity: 0.5; + cursor: not-allowed; +} + +.comments-section__cancel-btn { + padding: 0.375rem 0.75rem; + border: 1px solid #333; + border-radius: 4px; + background: transparent; + color: #aaa; + cursor: pointer; + font-size: 0.75rem; + -webkit-tap-highlight-color: transparent; + touch-action: manipulation; +} + +.comments-section__cancel-btn:hover { + color: #fff; + background: #333; +} + +.comments-section__list { + display: flex; + flex-direction: column; + gap: 0.75rem; +} + +.comments-section__empty { + text-align: center; + padding: 1.5rem; + color: #666; + font-size: 0.875rem; +} + +.comments-section__comment { + padding: 0.75rem; + background: #222; + border-radius: 6px; +} + +.comments-section__comment-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 0.375rem; +} + +.comments-section__author { + display: flex; + align-items: center; + gap: 0.5rem; +} + +.comments-section__avatar { + width: 24px; + height: 24px; + border-radius: 50%; + object-fit: cover; +} + +.comments-section__avatar-placeholder { + width: 24px; + height: 24px; + border-radius: 50%; + background: #646cff; + color: #fff; + font-size: 0.625rem; + display: flex; + align-items: center; + justify-content: center; + font-weight: 600; +} + +.comments-section__author-name { + font-size: 0.875rem; + font-weight: 500; + color: #fff; +} + +.comments-section__time { + font-size: 0.625rem; + color: #666; +} + +.comments-section__edited { + color: #888; + font-style: italic; +} + +.comments-section__content { + font-size: 0.875rem; + color: #ddd; + margin: 0 0 0.5rem; + line-height: 1.4; +} + +.comments-section__actions { + display: flex; + gap: 0.5rem; +} + +.comments-section__action-btn { + padding: 0.25rem 0.5rem; + border: none; + border-radius: 4px; + background: transparent; + color: #888; + cursor: pointer; + font-size: 0.75rem; + transition: + background-color 0.2s, + color 0.2s; + -webkit-tap-highlight-color: transparent; + touch-action: manipulation; +} + +.comments-section__action-btn:hover { + background: #333; + color: #fff; +} + +.comments-section__action-btn--active { + color: #e74c3c; +} + +.comments-section__action-btn--danger:hover { + background: rgba(220, 53, 69, 0.2); + color: #dc3545; +} + +.comments-section__replies { + margin-top: 0.75rem; + padding-left: 1rem; + border-left: 2px solid #333; + display: flex; + flex-direction: column; + gap: 0.5rem; +} + +.comments-section__load-replies { + padding: 0.375rem 0.75rem; + border: 1px solid #333; + border-radius: 4px; + background: transparent; + color: #646cff; + cursor: pointer; + font-size: 0.75rem; + margin-top: 0.5rem; + -webkit-tap-highlight-color: transparent; + touch-action: manipulation; +} + +.comments-section__load-replies:hover { + background: #2a2a2a; +} + +.comments-section__login-prompt { + text-align: center; + padding: 1rem; + color: #888; + font-size: 0.875rem; +} + +/* Responsive adjustments for Comments Section */ +@media (max-width: 480px) { + .comments-section__replies { + padding-left: 0.5rem; + } +} + +@media (pointer: coarse) { + .comments-section__action-btn { + min-height: 44px; + } + + .comments-section__submit-btn, + .comments-section__cancel-btn { + min-height: 44px; + } +} diff --git a/src/components/CommentsSection.vue b/src/components/CommentsSection.vue index f3b6492..ac16c31 100644 --- a/src/components/CommentsSection.vue +++ b/src/components/CommentsSection.vue @@ -491,7 +491,7 @@ function isOwnComment(comment: Comment): boolean { :aria-label="comment.isLiked ? 'Unlike comment' : 'Like comment'" @click="handleLike(comment.id)" > - {{ comment.isLiked ? '\u2764\uFE0F' : '\U0001F90D' }} + {{ comment.isLiked ? '❤️' : '🤍' }} @@ -502,7 +502,7 @@ function isOwnComment(comment: Comment): boolean { aria-label="Reply to comment" @click="handleReply(comment.id)" > - \uD83D\uDCAC Reply + 💬 Reply @@ -561,7 +561,7 @@ function isOwnComment(comment: Comment): boolean { :aria-label="reply.isLiked ? 'Unlike comment' : 'Like comment'" @click="handleLike(reply.id)" > - {{ reply.isLiked ? '\u2764\uFE0F' : '\U0001F90D' }} + {{ reply.isLiked ? '❤️' : '🤍' }} diff --git a/src/components/CommunityGallery.vue b/src/components/CommunityGallery.vue index a4ef7cb..f41ef7c 100644 --- a/src/components/CommunityGallery.vue +++ b/src/components/CommunityGallery.vue @@ -528,16 +528,12 @@ const paginationPages = computed(() => { :aria-label="pub.isLiked ? 'Unlike' : 'Like'" @click="handleLikeToggle($event, pub.id)" > - + - - \uD83D\uDC41 {{ formatCount(pub.stats.views) }} - + 👁 {{ formatCount(pub.stats.views) }} - \u2B07 {{ formatCount(pub.stats.downloads) }} + ⬇ {{ formatCount(pub.stats.downloads) }} From f290df951c02f8686b1b7ce50060cd2e2fae389d Mon Sep 17 00:00:00 2001 From: konard Date: Fri, 6 Feb 2026 18:37:18 +0100 Subject: [PATCH 3/3] Revert "Initial commit with task details" This reverts commit 7dbb4de66d4b00085b844bacca2193da472a900e. --- CLAUDE.md | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md deleted file mode 100644 index 412d0aa..0000000 --- a/CLAUDE.md +++ /dev/null @@ -1,7 +0,0 @@ -Issue to solve: https://github.com/netkeep80/isocubic/issues/269 -Your prepared branch: issue-269-5d06a50ee25a -Your prepared working directory: /tmp/gh-issue-solver-1770398441546 -Your forked repository: konard/netkeep80-isocubic -Original repository (upstream): netkeep80/isocubic - -Proceed.