@commonpub/layer 0.7.11 → 0.7.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/views/ArticleView.vue +19 -14
- package/components/views/BlogView.vue +18 -14
- package/components/views/ExplainerView.vue +19 -1
- package/components/views/ProjectView.vue +27 -2
- package/package.json +5 -5
- package/pages/contests/[slug]/index.vue +30 -0
- package/pages/dashboard.vue +10 -0
- package/pages/hubs/[slug]/posts/[postId].vue +14 -0
- package/pages/search.vue +5 -0
- package/pages/u/[username]/index.vue +8 -0
|
@@ -766,19 +766,24 @@ useJsonLd({
|
|
|
766
766
|
}
|
|
767
767
|
|
|
768
768
|
/* ── RESPONSIVE ── */
|
|
769
|
-
@media (max-width:
|
|
770
|
-
.cpub-article-wrap {
|
|
771
|
-
|
|
772
|
-
}
|
|
773
|
-
.cpub-related-grid {
|
|
774
|
-
|
|
775
|
-
}
|
|
776
|
-
.cpub-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
}
|
|
769
|
+
@media (max-width: 768px) {
|
|
770
|
+
.cpub-article-wrap { padding: 24px 16px 48px; }
|
|
771
|
+
.cpub-article-title { font-size: 22px; }
|
|
772
|
+
.cpub-article-lead { font-size: 14px; margin-bottom: 16px; }
|
|
773
|
+
.cpub-related-grid { grid-template-columns: 1fr 1fr; }
|
|
774
|
+
.cpub-engagement-row { flex-wrap: wrap; gap: 6px; }
|
|
775
|
+
.cpub-engage-btn { padding: 8px 12px; min-height: 36px; }
|
|
776
|
+
.cpub-engage-sep { display: none; }
|
|
777
|
+
.cpub-tag-link { padding: 4px 10px; font-size: 11px; min-height: 28px; display: inline-flex; align-items: center; }
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
@media (max-width: 480px) {
|
|
781
|
+
.cpub-article-wrap { padding: 16px 12px 40px; }
|
|
782
|
+
.cpub-article-title { font-size: 20px; }
|
|
783
|
+
.cpub-article-lead { font-size: 13px; }
|
|
784
|
+
.cpub-related-grid { grid-template-columns: 1fr; }
|
|
785
|
+
.cpub-author-card { flex-direction: column; gap: 12px; }
|
|
786
|
+
.cpub-engage-btn { font-size: 11px; }
|
|
787
|
+
.cpub-meta-row { font-size: 10px; flex-wrap: wrap; gap: 6px; }
|
|
783
788
|
}
|
|
784
789
|
</style>
|
|
@@ -685,19 +685,23 @@ const hasSeries = computed(() => !!seriesTitle.value && seriesTotalParts.value >
|
|
|
685
685
|
.cpub-btn-sm { padding: 4px 10px; font-size: 11px; }
|
|
686
686
|
|
|
687
687
|
/* ── RESPONSIVE ── */
|
|
688
|
-
@media (max-width:
|
|
689
|
-
.cpub-blog-wrap {
|
|
690
|
-
|
|
691
|
-
}
|
|
692
|
-
.cpub-
|
|
693
|
-
|
|
694
|
-
}
|
|
695
|
-
.cpub-series-nav-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
}
|
|
688
|
+
@media (max-width: 768px) {
|
|
689
|
+
.cpub-blog-wrap { padding: 24px 16px 48px; }
|
|
690
|
+
.cpub-blog-title { font-size: 22px; }
|
|
691
|
+
.cpub-engagement-row { flex-wrap: wrap; gap: 6px; }
|
|
692
|
+
.cpub-engage-btn { padding: 8px 12px; min-height: 36px; }
|
|
693
|
+
.cpub-engage-sep { display: none; }
|
|
694
|
+
.cpub-series-nav-btns { grid-template-columns: 1fr; }
|
|
695
|
+
.cpub-series-nav-btn { padding: 12px; min-height: 44px; }
|
|
696
|
+
.cpub-tag-link { padding: 4px 10px; font-size: 11px; min-height: 28px; display: inline-flex; align-items: center; }
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
@media (max-width: 480px) {
|
|
700
|
+
.cpub-blog-wrap { padding: 16px 12px 40px; }
|
|
701
|
+
.cpub-blog-title { font-size: 20px; }
|
|
702
|
+
.cpub-blog-lead { font-size: 13px; }
|
|
703
|
+
.cpub-author-card { flex-direction: column; gap: 12px; }
|
|
704
|
+
.cpub-engage-btn { font-size: 11px; }
|
|
705
|
+
.cpub-hero-cover { max-height: 280px; }
|
|
702
706
|
}
|
|
703
707
|
</style>
|
|
@@ -775,6 +775,24 @@ onUnmounted(() => { document.removeEventListener('keydown', onKeydown); });
|
|
|
775
775
|
.cpub-mobile-author { display: flex; }
|
|
776
776
|
.cpub-content-wrap { padding: 24px 16px 48px; }
|
|
777
777
|
.cpub-section-nav { flex-direction: column; gap: 16px; }
|
|
778
|
-
.cpub-section-title { font-size:
|
|
778
|
+
.cpub-section-title { font-size: 22px; }
|
|
779
|
+
.cpub-explainer-topbar { gap: 6px; padding: 0 10px; }
|
|
780
|
+
.cpub-explainer-badge { display: none; }
|
|
781
|
+
.cpub-topbar-title { font-size: 12px; }
|
|
782
|
+
.cpub-topbar-divider { display: none; }
|
|
783
|
+
.cpub-progress-text { font-size: 10px; }
|
|
784
|
+
.cpub-icon-btn { width: 34px; height: 34px; }
|
|
785
|
+
.cpub-progress-dots { display: none; }
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
@media (max-width: 480px) {
|
|
789
|
+
.cpub-content-wrap { padding: 16px 12px 40px; }
|
|
790
|
+
.cpub-section-title { font-size: 18px; }
|
|
791
|
+
.cpub-section-body { font-size: 14px; }
|
|
792
|
+
.cpub-section-num-badge { width: 28px; height: 28px; font-size: 11px; }
|
|
793
|
+
.cpub-icon-btn { width: 36px; height: 36px; }
|
|
794
|
+
.cpub-nav-btn-group { gap: 2px; }
|
|
795
|
+
.cpub-section-nav-btn { padding: 12px; font-size: 12px; min-height: 44px; }
|
|
796
|
+
.cpub-prev-btn { min-height: 44px; padding: 10px 16px; }
|
|
779
797
|
}
|
|
780
798
|
</style>
|
|
@@ -1510,8 +1510,33 @@ async function handleBuild(): Promise<void> {
|
|
|
1510
1510
|
.cpub-toc-col { display: none; }
|
|
1511
1511
|
}
|
|
1512
1512
|
|
|
1513
|
-
@media (max-width:
|
|
1513
|
+
@media (max-width: 768px) {
|
|
1514
1514
|
.cpub-page-outer { padding: 0 16px; }
|
|
1515
|
-
.cpub-hero-cover { height:
|
|
1515
|
+
.cpub-hero-cover { height: 200px; }
|
|
1516
|
+
.cpub-project-title { font-size: 18px; }
|
|
1517
|
+
.cpub-project-desc { font-size: 13px; }
|
|
1518
|
+
.cpub-tabs-strip { padding: 0 16px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
|
|
1519
|
+
.cpub-tabs-inner { max-width: none; padding: 0; }
|
|
1520
|
+
.cpub-tab { padding: 10px 12px; font-size: 11px; white-space: nowrap; }
|
|
1521
|
+
.cpub-engagement-row { flex-wrap: wrap; gap: 6px; }
|
|
1522
|
+
.cpub-engage-btn { padding: 8px 12px; min-height: 36px; }
|
|
1523
|
+
.cpub-engage-sep { display: none; }
|
|
1524
|
+
.cpub-content-area { padding: 0 16px; }
|
|
1525
|
+
.cpub-sidebar { position: static; }
|
|
1526
|
+
.cpub-author-tags .cpub-author-tag { padding: 2px 8px; font-size: 10px; }
|
|
1527
|
+
}
|
|
1528
|
+
|
|
1529
|
+
@media (max-width: 480px) {
|
|
1530
|
+
.cpub-page-outer { padding: 0 12px; }
|
|
1531
|
+
.cpub-hero-cover { height: 160px; }
|
|
1532
|
+
.cpub-project-title { font-size: 16px; }
|
|
1533
|
+
.cpub-project-desc { font-size: 12px; line-height: 1.5; }
|
|
1534
|
+
.cpub-project-meta { padding: 16px 0 0; }
|
|
1535
|
+
.cpub-breadcrumbs { font-size: 10px; padding: 10px 0 8px; }
|
|
1536
|
+
.cpub-tab { padding: 8px 10px; font-size: 10px; }
|
|
1537
|
+
.cpub-engage-btn { font-size: 11px; padding: 8px 10px; }
|
|
1538
|
+
.cpub-author-row { gap: 8px; }
|
|
1539
|
+
.cpub-author-detail { font-size: 10px; }
|
|
1540
|
+
.cpub-toc-item { padding: 6px 0 6px 10px; font-size: 11px; min-height: 36px; display: flex; align-items: center; }
|
|
1516
1541
|
}
|
|
1517
1542
|
</style>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commonpub/layer",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.12",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./nuxt.config.ts",
|
|
6
6
|
"files": [
|
|
@@ -50,16 +50,16 @@
|
|
|
50
50
|
"vue": "^3.4.0",
|
|
51
51
|
"vue-router": "^4.3.0",
|
|
52
52
|
"zod": "^4.3.6",
|
|
53
|
-
"@commonpub/auth": "0.5.0",
|
|
54
53
|
"@commonpub/config": "0.9.0",
|
|
54
|
+
"@commonpub/auth": "0.5.0",
|
|
55
55
|
"@commonpub/editor": "0.7.4",
|
|
56
56
|
"@commonpub/docs": "0.6.2",
|
|
57
57
|
"@commonpub/explainer": "0.7.6",
|
|
58
58
|
"@commonpub/learning": "0.5.0",
|
|
59
|
-
"@commonpub/protocol": "0.9.7",
|
|
60
59
|
"@commonpub/schema": "0.9.4",
|
|
61
|
-
"@commonpub/
|
|
62
|
-
"@commonpub/ui": "0.8.5"
|
|
60
|
+
"@commonpub/protocol": "0.9.7",
|
|
61
|
+
"@commonpub/ui": "0.8.5",
|
|
62
|
+
"@commonpub/server": "2.27.6"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@testing-library/jest-dom": "^6.9.1",
|
|
@@ -553,4 +553,34 @@ async function submitEntry(): Promise<void> {
|
|
|
553
553
|
font-size: 11px; color: var(--text-dim); margin-left: auto; font-family: var(--font-mono);
|
|
554
554
|
}
|
|
555
555
|
.cpub-admin-status strong { color: var(--accent); text-transform: capitalize; }
|
|
556
|
+
|
|
557
|
+
/* ── RESPONSIVE ── */
|
|
558
|
+
@media (max-width: 768px) {
|
|
559
|
+
.cpub-hero { padding: 32px 0 28px; }
|
|
560
|
+
.cpub-hero-inner { padding: 0 16px; }
|
|
561
|
+
.cpub-hero-title { font-size: 24px; }
|
|
562
|
+
.cpub-hero-tagline { font-size: 13px; }
|
|
563
|
+
.cpub-hero-meta { flex-wrap: wrap; gap: 10px; }
|
|
564
|
+
.cpub-contest-main { padding: 20px 16px; }
|
|
565
|
+
.cpub-contest-layout { grid-template-columns: 1fr; }
|
|
566
|
+
.cpub-prize-grid { grid-template-columns: 1fr; }
|
|
567
|
+
.cpub-judges-grid { grid-template-columns: 1fr 1fr; }
|
|
568
|
+
.cpub-entry-grid { grid-template-columns: 1fr; }
|
|
569
|
+
.cpub-countdown-block { padding: 8px 12px; min-width: 48px; }
|
|
570
|
+
.cpub-countdown-val { font-size: 20px; }
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
@media (max-width: 480px) {
|
|
574
|
+
.cpub-hero-title { font-size: 20px; }
|
|
575
|
+
.cpub-hero-tagline { font-size: 12px; margin-bottom: 16px; }
|
|
576
|
+
.cpub-hero-stats { flex-wrap: wrap; gap: 16px; }
|
|
577
|
+
.cpub-hero-stat-val { font-size: 16px; }
|
|
578
|
+
.cpub-contest-main { padding: 16px 12px; }
|
|
579
|
+
.cpub-judges-grid { grid-template-columns: 1fr; }
|
|
580
|
+
.cpub-prize-additional { grid-template-columns: 1fr; }
|
|
581
|
+
.cpub-sponsor-grid { grid-template-columns: 1fr; }
|
|
582
|
+
.cpub-countdown-row { flex-wrap: wrap; justify-content: center; }
|
|
583
|
+
.cpub-hero-cta { flex-direction: column; align-items: stretch; }
|
|
584
|
+
.cpub-total-prize { border-left: none; padding-left: 0; justify-content: center; }
|
|
585
|
+
}
|
|
556
586
|
</style>
|
package/pages/dashboard.vue
CHANGED
|
@@ -599,5 +599,15 @@ async function deleteItem(id: string, title: string): Promise<void> {
|
|
|
599
599
|
width: 100%;
|
|
600
600
|
margin-top: 4px;
|
|
601
601
|
}
|
|
602
|
+
.cpub-dash-action-btn {
|
|
603
|
+
padding: 6px 10px;
|
|
604
|
+
min-height: 32px;
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
@media (max-width: 480px) {
|
|
609
|
+
.cpub-dash { padding: 16px 12px; }
|
|
610
|
+
.cpub-dash-stat { min-width: 50%; padding: 12px 10px; }
|
|
611
|
+
.cpub-dash-tab { padding: 8px 12px; font-size: 11px; }
|
|
602
612
|
}
|
|
603
613
|
</style>
|
|
@@ -440,4 +440,18 @@ useSeoMeta({
|
|
|
440
440
|
color: var(--text-faint); padding: 2px 0;
|
|
441
441
|
}
|
|
442
442
|
.cpub-reply-btn:hover { color: var(--accent); }
|
|
443
|
+
|
|
444
|
+
/* ── RESPONSIVE ── */
|
|
445
|
+
@media (max-width: 480px) {
|
|
446
|
+
.cpub-post-page { padding: 16px 12px; }
|
|
447
|
+
.cpub-post-card { padding: 14px; }
|
|
448
|
+
.cpub-post-content { font-size: 14px; }
|
|
449
|
+
.cpub-post-actions { flex-wrap: wrap; gap: 6px; }
|
|
450
|
+
.cpub-post-action-btn { padding: 6px 10px; min-height: 32px; }
|
|
451
|
+
.cpub-reply-nested { margin-left: 12px; }
|
|
452
|
+
.cpub-reply { padding: 10px 12px; }
|
|
453
|
+
.cpub-reply-row { flex-direction: column; }
|
|
454
|
+
.cpub-reply-input { width: 100%; }
|
|
455
|
+
.cpub-post-mod-bar { flex-wrap: wrap; }
|
|
456
|
+
}
|
|
443
457
|
</style>
|
package/pages/search.vue
CHANGED
|
@@ -752,6 +752,11 @@ const { data: relatedCommunities } = await useFetch('/api/hubs', {
|
|
|
752
752
|
}
|
|
753
753
|
}
|
|
754
754
|
|
|
755
|
+
@media (max-width: 480px) {
|
|
756
|
+
.cpub-page-shell { padding: 12px; gap: 16px; }
|
|
757
|
+
.cpub-search-hero { padding: 12px 12px 0; }
|
|
758
|
+
}
|
|
759
|
+
|
|
755
760
|
/* ── COMMUNITY RESULT CARDS ── */
|
|
756
761
|
.cpub-search-hub-card {
|
|
757
762
|
display: flex;
|
|
@@ -869,4 +869,12 @@ async function handleReport(): Promise<void> {
|
|
|
869
869
|
grid-template-columns: 1fr;
|
|
870
870
|
}
|
|
871
871
|
}
|
|
872
|
+
|
|
873
|
+
@media (max-width: 480px) {
|
|
874
|
+
.cpub-profile-tabs-inner { padding: 0 12px; }
|
|
875
|
+
.cpub-profile-main { padding: 16px 12px; }
|
|
876
|
+
.cpub-profile-tab { padding: 10px 10px; font-size: 11px; min-height: 40px; }
|
|
877
|
+
.cpub-profile-stat { min-width: 100%; padding: 10px 16px; }
|
|
878
|
+
.cpub-profile-name { font-size: 18px; }
|
|
879
|
+
}
|
|
872
880
|
</style>
|