ReviewOS

also looking at this

stacks/bench-review

fix: revert {⁠{ }} → :text in 6 @include partials (SSR regression from #67)

#68
Merged glennmichael123 wants to merge fix/revert-mustache-in-includes into main
6 files +22 -18

Review threads live on the whole diff, not on one commit, so none are shown here - a thread's line means something in the branch's final form, and painting it into an intermediate step would put it on code it is not about.

resources/components/Bench/Admin/AdminDashboard.stxmodified+2-2
Changes to resources/components/Bench/Admin/AdminDashboard.stx
@@ -38,12 +38,12 @@
3838 <div class="gap-4 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3">
3939 <StxLink to="/admin/reviews" class="block p-6 bg-white border border-gray-200 rounded-lg hover:shadow-sm transition-shadow">
4040 <p class="font-medium text-gray-500 text-sm">Pending reviews</p>
41 <p class="mt-2 font-bold text-3xl text-gray-900">{{ pendingCount() }}</p>
41 <p class="mt-2 font-bold text-3xl text-gray-900" :text="pendingCount()"></p>
4242 <p class="mt-2 font-semibold text-gray-600 text-sm">Open moderation queue &rarr;</p>
4343 </StxLink>
4444 <StxLink to="/admin/users" class="block p-6 bg-white border border-gray-200 rounded-lg hover:shadow-sm transition-shadow">
4545 <p class="font-medium text-gray-500 text-sm">Total users</p>
46 <p class="mt-2 font-bold text-3xl text-gray-900">{{ userCount() }}</p>
46 <p class="mt-2 font-bold text-3xl text-gray-900" :text="userCount()"></p>
4747 <p class="mt-2 font-semibold text-gray-600 text-sm">Manage users &rarr;</p>
4848 </StxLink>
4949 <div class="block p-6 bg-white border border-gray-200 rounded-lg">
resources/components/Bench/Admin/AdminShell.stxmodified+1-1
Changes to resources/components/Bench/Admin/AdminShell.stx
@@ -107,7 +107,7 @@
107107 </nav>
108108 </div>
109109 <div class="flex gap-x-4 items-center">
110 <span class="hidden sm:inline text-gray-600 text-sm">{{ adminName }}</span>
110 <span class="hidden sm:inline text-gray-600 text-sm" :text="adminName"></span>
111111 <StxLink to="/" class="text-gray-500 text-sm hover:text-gray-900">View site</StxLink>
112112 <button
113113 type="button"
resources/components/Bench/Blog/BlogHeader.stxmodified+4-4
Changes to resources/components/Bench/Blog/BlogHeader.stx
@@ -9,7 +9,7 @@
99<header class="relative">
1010 <div class="mx-auto pb-8 pt-16 px-4 sm:px-6 lg:px-8 max-w-5xl">
1111 <div class="text-center">
12 <h1 class="font-bold text-4xl text-gray-900 tracking-tight sm:text-5xl">{{ post.title }}</h1>
12 <h1 class="font-bold text-4xl text-gray-900 tracking-tight sm:text-5xl" :text="post.title"></h1>
1313 </div>
1414
1515 <!-- Author and meta info -->
@@ -19,16 +19,16 @@
1919 <img class="h-12 w-12 rounded-full" x-src="post.author.imageUrl" x-alt="post.author.name">
2020 <div class="ml-3">
2121 <p class="font-medium text-gray-900 text-sm">
22 <a href="#" class="hover:underline">{{ post.author.name }}</a>
22 <a href="#" class="hover:underline" :text="post.author.name"></a>
2323 </p>
2424 </div>
2525 </div>
2626
2727 <!-- Reading time and date -->
2828 <div class="flex items-center space-x-4 text-gray-500 text-sm">
29 <span>{{ readingTime }}</span>
29 <span :text="readingTime"></span>
3030 <span aria-hidden="true">&middot;</span>
31 <time :datetime="post.dateTime">{{ post.date }}</time>
31 <time :datetime="post.dateTime" :text="post.date"></time>
3232 </div>
3333 </div>
3434 </div>
resources/components/Bench/Court/CourtHeader.stxmodified+3-3
Changes to resources/components/Bench/Court/CourtHeader.stx
@@ -80,9 +80,9 @@
8080 <div class="flex gap-x-6 items-center">
8181 <img x-src="courtImage" x-alt="courtName" class="object-cover flex-none h-16 w-16 ring-1 ring-gray-900/10 rounded-lg">
8282 <div>
83 <div class="text-gray-500 text-sm/6">Courthouse <span class="text-gray-700">{{ `#${courtHeaderId}` }}</span></div>
84 <h1 class="mt-1 font-semibold text-base text-gray-900">{{ courtName }}</h1>
85 <p class="mt-0.5 text-gray-500 text-sm">{{ `${courtCity}${courtCity && courtState ? ', ' : ''}${courtState}` }}</p>
83 <div class="text-gray-500 text-sm/6">Courthouse <span class="text-gray-700" :text="`#${courtHeaderId}`"></span></div>
84 <h1 class="mt-1 font-semibold text-base text-gray-900" :text="courtName"></h1>
85 <p class="mt-0.5 text-gray-500 text-sm" :text="`${courtCity}${courtCity && courtState ? ', ' : ''}${courtState}`"></p>
8686 </div>
8787 </div>
8888 </div>
resources/components/Bench/PricingSection.stxmodified+3-3
Changes to resources/components/Bench/PricingSection.stx
@@ -43,7 +43,7 @@
4343 <p class="mt-4 text-gray-600 text-sm/6">Are you a clerk? This is for you.</p>
4444 <p class="flex gap-x-1 items-baseline mt-6">
4545 <span class="font-semibold text-4xl text-gray-800 tracking-tight">$0</span>
46 <span class="font-semibold text-gray-600 text-sm/6">/<span>{{ pricingPeriod() === 'monthly' ? 'month' : 'year' }}</span></span>
46 <span class="font-semibold text-gray-600 text-sm/6">/<span x-text="pricingPeriod() === 'monthly' ? 'month' : 'year'"></span></span>
4747 </p>
4848 <StxLink to="/register" aria-describedby="tier-free"
4949 class="block mt-6 px-2.5 py-1.5 font-semibold text-center text-gray-600 text-sm/6 ring-1 ring-gray-200 ring-inset rounded-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-gray-600 focus-visible:outline-offset-2 hover:ring-gray-300">Get
@@ -63,8 +63,8 @@
6363 <h3 id="tier-hobby" class="font-semibold text-gray-600 text-lg/8">Professional</h3>
6464 <p class="mt-4 text-gray-600 text-sm/6">For anyone curious about judge reviews.</p>
6565 <p class="flex gap-x-1 items-baseline mt-6">
66 <span class="font-semibold text-4xl text-gray-800 tracking-tight">$<span>{{ pricingPeriod() === 'monthly' ? '10' : '60' }}</span></span>
67 <span class="font-semibold text-gray-600 text-sm/6">/<span>{{ pricingPeriod() === 'monthly' ? 'month' : 'year' }}</span></span>
66 <span class="font-semibold text-4xl text-gray-800 tracking-tight">$<span x-text="pricingPeriod() === 'monthly' ? '10' : '60'"></span></span>
67 <span class="font-semibold text-gray-600 text-sm/6">/<span x-text="pricingPeriod() === 'monthly' ? 'month' : 'year'"></span></span>
6868 </p>
6969 <StxLink to="/register" aria-describedby="tier-hobby"
7070 class="block mt-6 px-2.5 py-1.5 font-semibold text-center text-sm/6 text-white bg-gray-600 hover:bg-gray-500 rounded-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-gray-600 focus-visible:outline-offset-2 shadow-sm">Get
resources/components/Bench/VerifyEmail.stxmodified+9-5
Changes to resources/components/Bench/VerifyEmail.stx
@@ -97,13 +97,15 @@
9797 <!-- Error (bad/expired link) -->
9898 <div x-class="phase() === 'error' ? '' : 'hidden'">
9999 <h1 class="font-serif font-bold text-2xl text-gray-900">Verification failed</h1>
100 <p class="mt-2 text-gray-600 text-sm">{{ message() }}</p>
100 <p class="mt-2 text-gray-600 text-sm" :text="message()"></p>
101101 <button
102102 type="button"
103103 @click="resend()"
104104 x-disabled="resending"
105 class="mt-5 inline-flex items-center px-4 py-2 font-semibold text-white text-sm bg-gray-900 hover:bg-gray-800 rounded-md disabled:opacity-50">{{ resending() ? 'Sending…' : 'Resend verification email' }}</button>
106 <p class="mt-3 text-gray-500 text-xs">{{ resendNote() }}</p>
105 class="mt-5 inline-flex items-center px-4 py-2 font-semibold text-white text-sm bg-gray-900 hover:bg-gray-800 rounded-md disabled:opacity-50"
106 :text="resending() ? 'Sending…' : 'Resend verification email'"
107 ></button>
108 <p class="mt-3 text-gray-500 text-xs" :text="resendNote()"></p>
107109 </div>
108110
109111 <!-- Landing (arrived at /verify-email with no token) -->
@@ -114,8 +116,10 @@
114116 type="button"
115117 @click="resend()"
116118 x-disabled="resending"
117 class="mt-5 inline-flex items-center px-4 py-2 font-semibold text-gray-800 text-sm bg-white border border-gray-300 rounded-md hover:bg-gray-50 disabled:opacity-50">{{ resending() ? 'Sending…' : 'Resend verification email' }}</button>
118 <p class="mt-3 text-gray-500 text-xs">{{ resendNote() }}</p>
119 class="mt-5 inline-flex items-center px-4 py-2 font-semibold text-gray-800 text-sm bg-white border border-gray-300 rounded-md hover:bg-gray-50 disabled:opacity-50"
120 :text="resending() ? 'Sending…' : 'Resend verification email'"
121 ></button>
122 <p class="mt-3 text-gray-500 text-xs" :text="resendNote()"></p>
119123 </div>
120124 </div>
121125</div>