mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-04-22 23:21:52 -05:00
Rename upcomingVoting -> nextNonCompletedVoting
This commit is contained in:
parent
1b2376a951
commit
52fea7fcc9
|
|
@ -1,7 +1,7 @@
|
|||
import shuffle from "just-shuffle";
|
||||
import invariant from "tiny-invariant";
|
||||
import type { MonthYear } from "~/modules/plus-server";
|
||||
import { upcomingVoting } from "~/modules/plus-server";
|
||||
import { nextNonCompletedVoting } from "~/modules/plus-server";
|
||||
import { atOrError } from "~/utils/arrays";
|
||||
import { dateToDatabaseTimestamp } from "~/utils/dates";
|
||||
import type { Unpacked } from "~/utils/types";
|
||||
|
|
@ -204,7 +204,7 @@ export function usersForVoting(
|
|||
) {
|
||||
if (!loggedInUser || !loggedInUser.plusTier) return;
|
||||
|
||||
const { month, year } = upcomingVoting(new Date());
|
||||
const { month, year } = nextNonCompletedVoting(new Date());
|
||||
const members = plusServerMembersStm.all({
|
||||
plusTier: loggedInUser.plusTier,
|
||||
}) as Unpacked<UsersForVoting>["user"][];
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
import { faker } from "@faker-js/faker";
|
||||
import invariant from "tiny-invariant";
|
||||
import { lastCompletedVoting, upcomingVoting } from "~/modules/plus-server";
|
||||
import {
|
||||
lastCompletedVoting,
|
||||
nextNonCompletedVoting,
|
||||
} from "~/modules/plus-server";
|
||||
import { db } from "~/db";
|
||||
import { sql } from "~/db/sql";
|
||||
import type { UpsertManyPlusVotesArgs } from "./models/plusVotes.server";
|
||||
|
|
@ -72,6 +75,7 @@ function fakeUser() {
|
|||
twitch: null,
|
||||
twitter: null,
|
||||
youtubeId: null,
|
||||
// xxx: add bio
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -146,7 +150,7 @@ function thisMonthsSuggestions() {
|
|||
const usersInPlus = db.users
|
||||
.findAll()
|
||||
.filter((u) => u.plusTier && u.id !== 1); // exclude admin
|
||||
const { month, year } = upcomingVoting(new Date());
|
||||
const { month, year } = nextNonCompletedVoting(new Date());
|
||||
|
||||
for (let userId = 150; userId < 190; userId++) {
|
||||
const amountOfSuggestions = faker.helpers.arrayElement([1, 1, 2, 3, 4]);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
export {
|
||||
lastCompletedVoting,
|
||||
upcomingVoting,
|
||||
nextNonCompletedVoting,
|
||||
monthsVotingRange,
|
||||
} from "./voting-time";
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { PLUS_DOWNVOTE, PLUS_UPVOTE } from "~/constants";
|
|||
import type { UsersForVoting } from "~/db/models/plusVotes.server";
|
||||
import type { User } from "~/db/types";
|
||||
import type { PlusVoteFromFE } from "./types";
|
||||
import { upcomingVoting } from "./voting-time";
|
||||
import { nextNonCompletedVoting } from "./voting-time";
|
||||
|
||||
const LOCAL_STORAGE_KEY = "plusVoting";
|
||||
|
||||
|
|
@ -84,7 +84,7 @@ function useLoadInitialStateFromLocalStorageEffect({
|
|||
>;
|
||||
setVotes: React.Dispatch<React.SetStateAction<PlusVoteFromFE[]>>;
|
||||
}) {
|
||||
const { month, year } = upcomingVoting(new Date());
|
||||
const { month, year } = nextNonCompletedVoting(new Date());
|
||||
|
||||
React.useEffect(() => {
|
||||
const usersForVotingFromLocalStorage =
|
||||
|
|
@ -181,7 +181,7 @@ function votesToLocalStorage({
|
|||
usersForVoting?: UsersForVoting;
|
||||
votes: PlusVoteFromFE[];
|
||||
}) {
|
||||
const { month, year } = upcomingVoting(new Date());
|
||||
const { month, year } = nextNonCompletedVoting(new Date());
|
||||
|
||||
invariant(usersForVoting);
|
||||
const toLocalStorage: VotingLocalStorageData = {
|
||||
|
|
|
|||
|
|
@ -19,8 +19,7 @@ export function lastCompletedVoting(now: Date): MonthYear {
|
|||
});
|
||||
}
|
||||
|
||||
// xxx: rename... nextNonCompletedVoting ?
|
||||
export function upcomingVoting(now: Date): MonthYear {
|
||||
export function nextNonCompletedVoting(now: Date): MonthYear {
|
||||
return nextMonth(lastCompletedVoting(now));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import { Button, LinkButton } from "~/components/Button";
|
|||
import { Catcher } from "~/components/Catcher";
|
||||
import { FormWithConfirm } from "~/components/FormWithConfirm";
|
||||
import { TrashIcon } from "~/components/icons/Trash";
|
||||
import { upcomingVoting } from "~/modules/plus-server";
|
||||
import { nextNonCompletedVoting } from "~/modules/plus-server";
|
||||
import { db } from "~/db";
|
||||
import type * as plusSuggestions from "~/db/models/plusSuggestions.server";
|
||||
import type { PlusSuggestion, User } from "~/db/types";
|
||||
|
|
@ -50,7 +50,7 @@ export const action: ActionFunction = async ({ request }) => {
|
|||
const user = await requireUser(request);
|
||||
|
||||
const suggestions = db.plusSuggestions.findVisibleForUser({
|
||||
...upcomingVoting(new Date()),
|
||||
...nextNonCompletedVoting(new Date()),
|
||||
plusTier: user.plusTier,
|
||||
});
|
||||
|
||||
|
|
@ -87,11 +87,11 @@ export const loader: LoaderFunction = async ({ request }) => {
|
|||
|
||||
return json<PlusSuggestionsLoaderData>({
|
||||
suggestions: db.plusSuggestions.findVisibleForUser({
|
||||
...upcomingVoting(new Date()),
|
||||
...nextNonCompletedVoting(new Date()),
|
||||
plusTier: user.plusTier,
|
||||
}),
|
||||
suggestedForTiers: db.plusSuggestions.tiersSuggestedFor({
|
||||
...upcomingVoting(new Date()),
|
||||
...nextNonCompletedVoting(new Date()),
|
||||
userId: user.id,
|
||||
}),
|
||||
});
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import { Button, LinkButton } from "~/components/Button";
|
|||
import { Dialog } from "~/components/Dialog";
|
||||
import { Redirect } from "~/components/Redirect";
|
||||
import { PlUS_SUGGESTION_COMMENT_MAX_LENGTH } from "~/constants";
|
||||
import { upcomingVoting } from "~/modules/plus-server";
|
||||
import { nextNonCompletedVoting } from "~/modules/plus-server";
|
||||
import { db } from "~/db";
|
||||
import { requireUser, useUser } from "~/modules/auth";
|
||||
import {
|
||||
|
|
@ -34,7 +34,7 @@ export const action: ActionFunction = async ({ request }) => {
|
|||
const user = await requireUser(request);
|
||||
|
||||
const suggestions = db.plusSuggestions.findVisibleForUser({
|
||||
...upcomingVoting(new Date()),
|
||||
...nextNonCompletedVoting(new Date()),
|
||||
plusTier: user.plusTier,
|
||||
});
|
||||
|
||||
|
|
@ -51,7 +51,7 @@ export const action: ActionFunction = async ({ request }) => {
|
|||
db.plusSuggestions.create({
|
||||
authorId: user.id,
|
||||
...data,
|
||||
...upcomingVoting(new Date()),
|
||||
...nextNonCompletedVoting(new Date()),
|
||||
});
|
||||
|
||||
return redirect(PLUS_SUGGESTIONS_PAGE);
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ import {
|
|||
parseRequestFormData,
|
||||
validate,
|
||||
} from "~/utils/remix";
|
||||
import { upcomingVoting } from "~/modules/plus-server";
|
||||
import { nextNonCompletedVoting } from "~/modules/plus-server";
|
||||
import { db } from "~/db";
|
||||
import type { UserWithPlusTier } from "~/db/types";
|
||||
import { ErrorMessage } from "~/components/ErrorMessage";
|
||||
|
|
@ -52,7 +52,7 @@ export const action: ActionFunction = async ({ request }) => {
|
|||
const user = await requireUser(request);
|
||||
|
||||
const suggestions = db.plusSuggestions.findVisibleForUser({
|
||||
...upcomingVoting(new Date()),
|
||||
...nextNonCompletedVoting(new Date()),
|
||||
plusTier: user.plusTier,
|
||||
});
|
||||
|
||||
|
|
@ -71,7 +71,7 @@ export const action: ActionFunction = async ({ request }) => {
|
|||
suggestedId: suggested.id,
|
||||
tier: data.tier,
|
||||
text: data.text,
|
||||
...upcomingVoting(new Date()),
|
||||
...nextNonCompletedVoting(new Date()),
|
||||
});
|
||||
|
||||
return redirect(PLUS_SUGGESTIONS_PAGE);
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import { getUser, requireUser } from "~/modules/auth";
|
|||
import type { PlusVoteFromFE } from "~/modules/plus-server";
|
||||
import {
|
||||
monthsVotingRange,
|
||||
upcomingVoting,
|
||||
nextNonCompletedVoting,
|
||||
usePlusVoting,
|
||||
} from "~/modules/plus-server";
|
||||
import { isVotingActive } from "~/permissions";
|
||||
|
|
@ -54,7 +54,7 @@ export const action: ActionFunction = async ({ request }) => {
|
|||
score: PLUS_UPVOTE,
|
||||
});
|
||||
|
||||
const { month, year } = upcomingVoting(new Date());
|
||||
const { month, year } = nextNonCompletedVoting(new Date());
|
||||
const { endDate } = monthsVotingRange({ month, year });
|
||||
db.plusVotes.upsertMany(
|
||||
votesForDb.map((vote) => ({
|
||||
|
|
@ -113,7 +113,7 @@ export const loader: LoaderFunction = async ({ request }) => {
|
|||
const user = await getUser(request);
|
||||
|
||||
const now = new Date();
|
||||
const { startDate, endDate } = monthsVotingRange(upcomingVoting(now));
|
||||
const { startDate, endDate } = monthsVotingRange(nextNonCompletedVoting(now));
|
||||
if (!isVotingActive()) {
|
||||
return json<PlusVotingLoaderData>({
|
||||
type: "timeInfo",
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user