
* feat: add crowdin and supported languages * fix: main branch name * feat: test crowdin integration * feat: add crowdin config skeleton * feat: update crowdin.yml * fix: remove ro translation * test: en translation * test: en translation * New Crowdin translations by Github Action (#735) Co-authored-by: Crowdin Bot <support+bot@crowdin.com> * test: en translation * fix: separate upload/download workflows * wip * New Crowdin translations by Github Action (#738) Co-authored-by: Crowdin Bot <support+bot@crowdin.com> * wip * wip * wip * wip * wip * typo * wip * wip * update crowdin config * update * chore: support i18n de,es,fr,it,pt,ru,ro,en * chore: extract i18n strings * chore: extract booking components strings for i18n * wip * extract more strings * wip * fallback to getServerSideProps for now * New Crowdin translations by Github Action (#874) Co-authored-by: Crowdin Bot <support+bot@crowdin.com> * fix: minor fixes on the datepicker * fix: add dutch lang * fix: linting issues * fix: string * fix: update GHA * cleanup trpc * fix linting Co-authored-by: Peer Richelsen <peeroke@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Crowdin Bot <support+bot@crowdin.com> Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
46 lines
1.1 KiB
TypeScript
46 lines
1.1 KiB
TypeScript
import { useLocale } from "@lib/hooks/useLocale";
|
|
import { Team } from "@lib/team";
|
|
|
|
import TeamListItem from "./TeamListItem";
|
|
|
|
export default function TeamList(props: {
|
|
localeProp: string;
|
|
teams: Team[];
|
|
onChange: () => void;
|
|
onEditTeam: (text: Team) => void;
|
|
}) {
|
|
const { locale } = useLocale({ localeProp: props.localeProp });
|
|
|
|
const selectAction = (action: string, team: Team) => {
|
|
switch (action) {
|
|
case "edit":
|
|
props.onEditTeam(team);
|
|
break;
|
|
case "disband":
|
|
deleteTeam(team);
|
|
break;
|
|
}
|
|
};
|
|
|
|
const deleteTeam = async (team: Team) => {
|
|
await fetch("/api/teams/" + team.id, {
|
|
method: "DELETE",
|
|
});
|
|
return props.onChange();
|
|
};
|
|
|
|
return (
|
|
<div>
|
|
<ul className="px-4 mb-2 bg-white border divide-y divide-gray-200 rounded">
|
|
{props.teams.map((team: Team) => (
|
|
<TeamListItem
|
|
localeProp={locale}
|
|
onChange={props.onChange}
|
|
key={team.id}
|
|
team={team}
|
|
onActionSelect={(action: string) => selectAction(action, team)}></TeamListItem>
|
|
))}
|
|
</ul>
|
|
</div>
|
|
);
|
|
}
|