web: display target asset on mapfix page #108

Merged
Quaternions merged 3 commits from pr into staging 2025-04-06 23:12:37 +00:00
6 changed files with 26 additions and 10 deletions
web/src/app
mapfixes
submissions

@ -13,6 +13,8 @@ interface CreatorAndReviewStatus {
creator: MapfixInfo["DisplayName"], creator: MapfixInfo["DisplayName"],
review: MapfixInfo["StatusID"], review: MapfixInfo["StatusID"],
status_message: MapfixInfo["StatusMessage"], status_message: MapfixInfo["StatusMessage"],
submitter: MapfixInfo["Submitter"],
target_asset_id: MapfixInfo["TargetAssetID"],
comments: Comment[], comments: Comment[],
name: string name: string
} }

@ -14,16 +14,24 @@ import "./(styles)/page.scss";
interface ReviewId { interface ReviewId {
mapfixId: string, mapfixId: string,
mapfixStatus: number; mapfixStatus: number,
mapfixSubmitter: number, mapfixSubmitter: number,
mapfixAssetId: number; mapfixAssetId: number,
mapfixTargetAssetId: number,
} }
function RatingArea(mapfix: ReviewId) { function RatingArea(mapfix: ReviewId) {
return ( return (
<aside className="review-area"> <aside className="review-area">
<section className="map-image-area"> <section className="map-image-area">
<MapImage id={mapfix.mapfixAssetId}/> <div>
<p className="this-mapfix">This Mapfix:</p>
<MapImage id={mapfix.mapfixAssetId}/>
</div>
<div>
<p className="target-map">Target Map Being Fixed:</p>
<MapImage id={mapfix.mapfixTargetAssetId}/>
</div>
</section> </section>
<ReviewButtons mapfixId={mapfix.mapfixId} mapfixStatus={mapfix.mapfixStatus} mapfixSubmitter={mapfix.mapfixSubmitter}/> <ReviewButtons mapfixId={mapfix.mapfixId} mapfixStatus={mapfix.mapfixStatus} mapfixSubmitter={mapfix.mapfixSubmitter}/>
</aside> </aside>
@ -43,7 +51,9 @@ function TitleAndComments(stats: CreatorAndReviewStatus) {
</aside> </aside>
</div> </div>
<p className="by-creator">by <Link href="" target="_blank">{stats.creator}</Link></p> <p className="by-creator">by <Link href="" target="_blank">{stats.creator}</Link></p>
<p className="submitter">Submitter {stats.submitter}</p>
<p className="asset-id">Model Asset ID {stats.asset_id}</p> <p className="asset-id">Model Asset ID {stats.asset_id}</p>
<p className="target-asset-id">Target Asset ID {stats.target_asset_id}</p>
<p className="status-message">Validation Error: {stats.status_message}</p> <p className="status-message">Validation Error: {stats.status_message}</p>
<span className="spacer"></span> <span className="spacer"></span>
<Comments comments_data={stats}/> <Comments comments_data={stats}/>
@ -75,8 +85,8 @@ export default function MapfixInfoPage() {
<Webpage> <Webpage>
<main className="map-page-main"> <main className="map-page-main">
<section className="review-section"> <section className="review-section">
<RatingArea mapfixId={dynamicId.mapfixId} mapfixStatus={mapfix.StatusID} mapfixSubmitter={mapfix.Submitter} mapfixAssetId={mapfix.AssetID} /> <RatingArea mapfixId={dynamicId.mapfixId} mapfixStatus={mapfix.StatusID} mapfixSubmitter={mapfix.Submitter} mapfixAssetId={mapfix.AssetID} mapfixTargetAssetId={mapfix.TargetAssetID} />
<TitleAndComments name={mapfix.DisplayName} creator={mapfix.Creator} review={mapfix.StatusID} status_message={mapfix.StatusMessage} asset_id={mapfix.AssetID} comments={[]}/> <TitleAndComments name={mapfix.DisplayName} creator={mapfix.Creator} review={mapfix.StatusID} status_message={mapfix.StatusMessage} asset_id={mapfix.AssetID} submitter={mapfix.Submitter} target_asset_id={mapfix.TargetAssetID} comments={[]}/>
</section> </section>
</main> </main>
</Webpage> </Webpage>

@ -83,8 +83,8 @@ export default function MapfixInfoPage() {
{Array.from({ length: totalPages }).map((_, index) => ( {Array.from({ length: totalPages }).map((_, index) => (
<span <span
key={index} key={index}
className={`dot ${index === currentPage ? 'active' : ''}`} className={`dot ${index+1 === currentPage ? 'active' : ''}`}
onClick={() => setCurrentPage(index)} onClick={() => setCurrentPage(index+1)}
></span> ></span>
))} ))}
</div> </div>

@ -13,6 +13,8 @@ interface CreatorAndReviewStatus {
creator: SubmissionInfo["DisplayName"], creator: SubmissionInfo["DisplayName"],
review: SubmissionInfo["StatusID"], review: SubmissionInfo["StatusID"],
status_message: SubmissionInfo["StatusMessage"], status_message: SubmissionInfo["StatusMessage"],
submitter: SubmissionInfo["Submitter"],
uploaded_asset_id: SubmissionInfo["UploadedAssetID"],
comments: Comment[], comments: Comment[],
name: string name: string
} }

@ -43,7 +43,9 @@ function TitleAndComments(stats: CreatorAndReviewStatus) {
</aside> </aside>
</div> </div>
<p className="by-creator">by <Link href="" target="_blank">{stats.creator}</Link></p> <p className="by-creator">by <Link href="" target="_blank">{stats.creator}</Link></p>
<p className="submitter">Submitter {stats.submitter}</p>
<p className="asset-id">Model Asset ID {stats.asset_id}</p> <p className="asset-id">Model Asset ID {stats.asset_id}</p>
<p className="uploaded-asset-id">Uploaded Asset ID {stats.uploaded_asset_id}</p>
<p className="status-message">Validation Error: {stats.status_message}</p> <p className="status-message">Validation Error: {stats.status_message}</p>
<span className="spacer"></span> <span className="spacer"></span>
<Comments comments_data={stats}/> <Comments comments_data={stats}/>
@ -76,7 +78,7 @@ export default function SubmissionInfoPage() {
<main className="map-page-main"> <main className="map-page-main">
<section className="review-section"> <section className="review-section">
<RatingArea assetId={submission.AssetID} submissionId={dynamicId.submissionId} submissionStatus={submission.StatusID} submissionSubmitter={submission.Submitter}/> <RatingArea assetId={submission.AssetID} submissionId={dynamicId.submissionId} submissionStatus={submission.StatusID} submissionSubmitter={submission.Submitter}/>
<TitleAndComments name={submission.DisplayName} creator={submission.Creator} review={submission.StatusID} status_message={submission.StatusMessage} asset_id={submission.AssetID} comments={[]}/> <TitleAndComments name={submission.DisplayName} creator={submission.Creator} review={submission.StatusID} status_message={submission.StatusMessage} asset_id={submission.AssetID} submitter={submission.Submitter} uploaded_asset_id={submission.UploadedAssetID} comments={[]}/>
</section> </section>
</main> </main>
</Webpage> </Webpage>

@ -81,8 +81,8 @@ export default function SubmissionInfoPage() {
{Array.from({ length: totalPages }).map((_, index) => ( {Array.from({ length: totalPages }).map((_, index) => (
<span <span
key={index} key={index}
className={`dot ${index === currentPage ? 'active' : ''}`} className={`dot ${index+1 === currentPage ? 'active' : ''}`}
onClick={() => setCurrentPage(index)} onClick={() => setCurrentPage(index+1)}
></span> ></span>
))} ))}
</div> </div>