Skip to content

Commit

Permalink
v3.24.0-beta0 (#201)
Browse files Browse the repository at this point in the history
* Fix tracking of active prac challenge

* Minor cleanup and improved console logging

* Bug fixes and challenge report tags filter.

* Fix event horizon, game center teams, enrollment report stat summary, progress widget

* Fix issue with past games not showing ongoing ones

* WIP question sets

* More question set stuff

* Improvements to OIDC experience and support for auto log in/out.

* merge from next

* Add favicon defaults. Update theme

* Fix settings link bug, more thing

* Theme stuff

* Add settings link to user menu

* Theme stuff

* Revert "Theme stuff"

This reverts commit a26c715.

* Revert "Add settings link to user menu"

This reverts commit d640ee8.

* Revert "Theme stuff"

This reverts commit c3e3b69.

* Revert "Fix settings link bug, more thing"

This reverts commit f96dc59.

* Revert "Add favicon defaults. Update theme"

This reverts commit 1b2e5a7.

* Rollback and reimplement oauth changes

* Update oidc settings to match topo

* Cleanup

* Update dev env settings

* Improvements to OIDC experience and support for auto log in/out.

* Restore ux improvements

* More retheme

* Retheming and initial work on name improvements.

* Update gh action versions

* Retheming and name mgmt

* Styling stuff

* Styling stuff

* Move challenge markdown

* Un 'fix' start practice button

* minor name fixes

* Name cleanup

* Finish merge from main
  • Loading branch information
sei-bstein authored Nov 5, 2024
1 parent 766c9d6 commit 3a71ae2
Show file tree
Hide file tree
Showing 164 changed files with 2,090 additions and 1,534 deletions.
14 changes: 7 additions & 7 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: CI
on:
pull_request:
release:
types: [ "published" ]
types: ["published"]
push:
branches:
- dev
Expand All @@ -15,32 +15,32 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Docker meta
id: docker_meta
uses: crazy-max/ghaction-docker-meta@v1
uses: docker/metadata-action@v5
with:
images: cmusei/gameboard-ui

- name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v3

- name: fetch wmks
run: curl https://box.cmusei.dev/wmks-jam-v1.tar -s -o wmks.tar

- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v1
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Build and push
uses: docker/build-push-action@v2
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ export class NoVNCConsoleService implements ConsoleService {
copy(): void { }

async paste(text: string): Promise<void> {
console.log(text);
this.client.clipboardPasteFrom(text);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ <h4 class="mt-4 px-3">Session Extension</h4>
<input id="duration-input" class="form-control" type="number" placeholder="Extension length (in minutes)"
[(ngModel)]="durationExtensionInMinutes">
<div class="input-group-append">
<button class="btn" [class.btn-info]="(durationExtensionInMinutes || 0) >= 0"
<button class="btn" [class.btn-success]="(durationExtensionInMinutes || 0) >= 0"
[class.btn-warning]="(durationExtensionInMinutes || 0) < 0" [disabled]="!durationExtensionInMinutes"
[ariaDisabled]="!durationExtensionInMinutes" (click)="extendByDuration(team, durationExtensionInMinutes)">
<span>{{ durationExtensionInMinutes && durationExtensionInMinutes < 0 ? "Shorten" : "Extend" }}</span>
Expand All @@ -55,7 +55,7 @@ <h4 class="mt-4 px-3">Session Extension</h4>
<div class="input-group">
<input id="date-input" class="form-control" type="text" [(ngModel)]="isoDateExtension">
<div class="input-group-append">
<button class="btn btn-info" (click)="extend(team)">
<button class="btn btn-success" (click)="extend(team)">
<span>Extend</span>
</button>
</div>
Expand All @@ -69,11 +69,11 @@ <h4 class="mb-2 px-3">Other tools</h4>
<app-announce [teamId]="team.teamId" placeholderText="Your message (sends only to this player/team)"></app-announce>

<div class="other-tools-buttons d-flex px-3">
<button class="btn btn-info btn-sm mr-2" (click)="toggleRawView(!showRaw)">
<button class="btn btn-success btn-sm mr-2" (click)="toggleRawView(!showRaw)">
<fa-icon [icon]="faInfo"></fa-icon>
<span>{{ (showRaw ? "Hide" : "View") }} Data</span>
</button>
<button type="button" class="btn btn-sm btn-info mr-2"
<button type="button" class="btn btn-sm btn-success mr-2"
(click)="onManageManualBonusesRequest.emit(team.teamId)">Manage Challenge Bonuses</button>
<app-confirm-button btnClass="btn btn-sm btn-danger" *ngIf="canUnenroll"
(confirm)="onUnenrollRequest.emit(team.teamId)">Unenroll</app-confirm-button>
Expand Down
19 changes: 16 additions & 3 deletions projects/gameboard-ui/src/app/admin/admin.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,17 +73,22 @@ import { PlayerSponsorReportComponent } from './player-sponsor-report/player-spo
import { PracticeSettingsComponent } from './practice/practice-settings/practice-settings.component';
import { PracticeComponent } from './practice/practice.component';
import { PrereqsComponent } from './prereqs/prereqs.component';
import { SafeUrlPipe } from '@/standalone/core/pipes/safe-url.pipe';
import { SpecBrowserComponent } from './spec-browser/spec-browser.component';
import { SponsorBrowserComponent } from './sponsor-browser/sponsor-browser.component';
import { SupportReportLegacyComponent } from './support-report-legacy/support-report-legacy.component';
import { TeamObserverComponent } from './team-observer/team-observer.component';
import { UserApiKeysComponent } from './user-api-keys/user-api-keys.component';
import { UserRegistrarComponent } from './user-registrar/user-registrar.component';
import { UserReportComponent } from './user-report/user-report.component';
import { GameInfoBubblesComponent } from "../standalone/components/game-info-bubbles/game-info-bubbles.component";
import { GameInfoBubblesComponent } from "../standalone/games/components/game-info-bubbles/game-info-bubbles.component";
import { ScoreboardComponent } from '@/scoreboard/components/scoreboard/scoreboard.component';
import { GameIdResolver } from './resolvers/game-id.resolver';
import { GameCenterSelectedTabResolver } from './resolvers/game-center-selected-tab-resolver';
import { ErrorDivComponent } from '@/standalone/core/components/error-div/error-div.component';
import { SpinnerComponent } from '@/standalone/core/components/spinner/spinner.component';
import { ToSupportCodePipe } from '@/standalone/core/pipes/to-support-code.pipe';
import { IfHasPermissionDirective } from '@/standalone/directives/if-has-permission.directive';

@NgModule({
declarations: [
Expand Down Expand Up @@ -151,7 +156,7 @@ import { GameCenterSelectedTabResolver } from './resolvers/game-center-selected-
TeamListCardComponent,
GameCenterTeamDetailComponent,
TeamCenterComponent,
GameMapEditorComponent,
GameMapEditorComponent
],
imports: [
CommonModule,
Expand Down Expand Up @@ -217,7 +222,15 @@ import { GameCenterSelectedTabResolver } from './resolvers/game-center-selected-
ScoreboardModule,
SponsorsModule,
SystemNotificationsModule,
GameInfoBubblesComponent

// standalones
ErrorDivComponent,
GameInfoBubblesComponent,
IfHasPermissionDirective,
SafeUrlPipe,
SpinnerComponent,
ToSupportCodePipe,
]
})

export class AdminModule { }
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ <h4>Challenges</h4>
<app-error-div [errors]="errors"></app-error-div>

<div class="text-right">
<button class="btn btn-info" (click)="regrade(selected)">
<button class="btn btn-success" (click)="regrade(selected)">
<fa-icon [icon]="faSync"></fa-icon>
<span>Regrade</span>
</button>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ export class ChallengeBrowserComponent {
this.isLoadingSubmissions = true;

try {
const submissions = await firstValueFrom(this.challengesService.getSubmissions(c.id));
const submissions = await firstValueFrom(this.challengesService.getSubmissionsLegacy(c.id));
this.selectedAudit = submissions.submittedAnswers.map(s => {
return { submittedOn: s.submittedOn, answers: s.answers.map(a => a || "(no response)") };
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ <h4 class="col-2 text-right">Consoles</h4>
</div> <!-- end users list header -->
<div class="iframe-wrapper mt-auto" style="padding: 0px;">
<iframe class="rounded-bottom w-100 h-100" frameborder="0"
[src]="(mksHost+'?f=0&o=1&s='+vm.challengeId+'&v='+vm.name+'&teamName='+row.value.playerName+'&challengeName='+row.value.name) | safeurl">
[src]="(mksHost+'?f=0&o=1&s='+vm.challengeId+'&v='+vm.name+'&teamName='+row.value.playerName+'&challengeName='+row.value.name) | safeUrl">
</iframe>
</div> <!-- end iframe wrapper -->
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ <h4 class="game-link">
<h5 class="overflow-ellipsis">
{{ challenge.team.name }}
</h5>
<button type="button" class="btn btn-link text-info" appCopyOnClick
<button type="button" class="btn btn-link text-success" appCopyOnClick
tooltip="Copy this support code" placement="bottom">
{{ {id: challenge.id, tag: spec.tag } | toSupportCode }}
</button>
Expand All @@ -48,8 +48,9 @@ <h5 class="overflow-ellipsis">
</div>
<div class="end-time">
<span class="fw-bold">Session End: </span>
<span>{{ challenge.team.session.end | datetimeToDate | friendlyDateAndTime
}}</span>
<span>
{{ challenge.team.session.end | datetimeToDate | friendlyDateAndTime }}
</span>
</div>
</div>
</div>
Expand All @@ -64,32 +65,32 @@ <h5 class="overflow-ellipsis">
</div>

<button type="button" tooltip="Copy this challenge's ID" placement="bottom"
class="btn btn-info mr-2" [appCopyOnClick]="challenge.id">
class="btn btn-success mr-2" [appCopyOnClick]="challenge.id">
<fa-icon [icon]="fa.copy"></fa-icon>
</button>

<a [href]="'admin/support?search=' + challenge.id | relativeToAbsoluteHref"
target="_blank" class="btn btn-info mr-2" tooltip="View this challenge's state"
target="_blank" class="btn btn-success mr-2" tooltip="View this challenge's state"
placement="bottom">
<fa-icon [icon]="fa.barsStaggered" size="lg"></fa-icon>
</a>

<a [href]="'admin/registrar/' + spec.game.id + '?term=' + challenge.team.id | relativeToAbsoluteHref"
target="_blank" class="btn btn-info mr-2"
target="_blank" class="btn btn-success mr-2"
[tooltip]="'View this ' + (spec.game.isTeamGame ? 'team' : 'player') + '\'s session'"
placement="bottom">
<fa-icon [icon]="spec.game.isTeamGame ? fa.peopleGroup : fa.person"
size="lg"></fa-icon>
</a>

<a [href]="'admin/observer/challenges/' + spec.game.id + '?search=' + challenge.id | relativeToAbsoluteHref"
target="_blank" class="btn btn-info mr-2" tooltip="Observe this challenge"
target="_blank" class="btn btn-success mr-2" tooltip="Observe this challenge"
placement="bottom">
<fa-icon [icon]="fa.eye" size="lg"></fa-icon>
</a>

<a [href]="'game/' + spec.game.id | relativeToAbsoluteHref" target="_blank"
class="btn btn-info" tooltip="View this game" placement="bottom">
class="btn btn-success" tooltip="View this game" placement="bottom">
<fa-icon [icon]="fa.chessBoard" size="lg"></fa-icon>
</a>
</div>
Expand All @@ -101,7 +102,7 @@ <h5 class="overflow-ellipsis">
</div>

<div class="modal-footer">
<button type="button" class="btn btn-info" (click)="close()">OK</button>
<button type="button" class="btn btn-success" (click)="close()">OK</button>
</div>
</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
[avatarTooltip]="user.sponsor.name" (actionClick)="handleSelectedActionClick(user.id)"
actionTooltip="Remove this player">
<div class="fs-11">{{ user.name }}</div>
<div class="fs-08 link-button info-text" [appCopyOnClick]="user.id" tooltip="Copy this user ID"
<div class="fs-08 btn-link" [appCopyOnClick]="user.id" tooltip="Copy this user ID"
placement="bottom">
{{ user.id | slice:0:8 }}
</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
<h2 class="my-4">Permissions</h2>

<ng-container *ngIf="appPermissionsOverview; else loading">
<div class="my-3">Your role is <strong class="text-info">{{ appPermissionsOverview.yourRole | titlecase }}</strong>.
<div class="my-3">Your role is
<strong class="text-success">
{{ appPermissionsOverview.yourRole | titlecase }}
</strong>.
</div>

<table class="table gameboard-table">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@
}

.has-permission {
color: $info;
color: $success;
}

.no-permission {
color: $light;
}

.your-role {
background-color: $info;
background-color: $success;

.has-permission {
color: $foreground;
Expand All @@ -37,7 +37,7 @@
}

.sticky-header {
top: 60px;
top: 50px;
left: 0px;
position: sticky;
z-index: 999;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@
</app-modal-content>

<ng-template #loading>
<app-spinner>Loading the host...</app-spinner>
<app-spinner>Loading the game host...</app-spinner>
</ng-template>
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<div class="gb-button-group btn-group mb-3">
<button type="button" class="btn btn-info" (click)="observeBy = 'challenge'"
<button type="button" class="btn btn-success" (click)="observeBy = 'challenge'"
[disabled]="observeBy == 'challenge'">Challenges</button>
<button type="button" class="btn btn-info" (click)="observeBy = 'team'"
<button type="button" class="btn btn-success" (click)="observeBy = 'team'"
[disabled]="observeBy == 'team'">Teams</button>
</div>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@import "../../../../../scss/variables";

pre code {
background-color: $info;
background-color: $success;
border-radius: 4px;
color: #fff;
padding: 4px;
Expand Down
Loading

0 comments on commit 3a71ae2

Please sign in to comment.