email confirm template, fix admin login, try fix translation error logs

This commit is contained in:
Dobromir Popov
2024-04-30 13:18:38 +03:00
parent 5135a95db7
commit f303ae193c
5 changed files with 106 additions and 43 deletions

View File

@ -117,16 +117,16 @@ export default function App({ Component, pageProps: { session, ...pageProps }, }
}
// build time localization. Is it working for _app.tsx?d
// export async function getStaticProps(context) {
// const messages = (await import(`../content/i18n/${locale}.json`)).default;
// console.log("Loaded messages for locale:", locale, messages);
// return {
// props: {
// // You can get the messages from anywhere you like. The recommended
// // pattern is to put them in JSON files separated by locale and read
// // the desired one based on the `locale` received from Next.js.
// // messages: (await import(`../content/i18n/${context.locale}.json`)).default
// messages
// }
// };
// }
export async function getStaticProps(context) {
const messages = (await import(`../content/i18n/${context.locale}.json`)).default;
console.log("Loaded messages for locale:", context.locale, messages);
return {
props: {
// You can get the messages from anywhere you like. The recommended
// pattern is to put them in JSON files separated by locale and read
// the desired one based on the `locale` received from Next.js.
// messages: (await import(`../content/i18n/${context.locale}.json`)).default
messages
}
};
}

View File

@ -65,7 +65,7 @@ export default function SignIn({ csrfToken }) {
<label htmlFor="email" className="block text-sm font-medium text-gray-700">имейл</label>
<input
id="email"
type="email"
type="text" // allow non-email addresses for username (admins)
value={email}
onChange={(e) => setEmail(e.target.value)}
className="mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm"

View File

@ -1,5 +1,6 @@
import axiosServer from '../../../../src/axiosServer';
import NewPubPage from "../new";
const common = require('../../../../src/helpers/common');
export default NewPubPage;
import { Assignment, Shift, UserRole, AvailabilityType } from "prisma/prisma-client";
@ -40,6 +41,8 @@ function getShiftGroups(shifts: [Shift]) {
export const getServerSideProps = async (context) => {
const axios = await axiosServer(context);
const prisma = common.getPrismaClient();
// const isAdmin = await ProtectedRoute.IsInRole(UserRole.ADMIN); does not work on server side
context.res.setHeader("Cache-Control", "s-maxage=1, stale-while-revalidate");
if (!context.query || !context.query.id) {
@ -47,13 +50,20 @@ export const getServerSideProps = async (context) => {
props: {}
};
}
var url = process.env.NEXT_PUBLIC_PUBLIC_URL + "/api/data/publishers/" + context.query.id + "?include=availabilities,assignments,assignments.shift";
console.log("GET PUBLISHER FROM:" + url)
try {
const { data: item } = await axios.get(url);
} catch (error) {
console.log("error fetching publisher: " + error);
//redirect to message page with message "no account found". get user from session
const item = await prisma.publisher.findUnique({
where: {
id: context.query.id
},
include: {
availabilities: true,
assignments: {
include: {
shift: true
}
}
}
});
if (!item) {
const user = context.req.session.user;
return {
redirect: {
@ -62,7 +72,6 @@ export const getServerSideProps = async (context) => {
},
}
}
// item.allShifts = item.assignments.map((a: Assignment[]) => a.shift);
// ============================================================
@ -113,7 +122,7 @@ export const getServerSideProps = async (context) => {
// console.dir(item, { depth: null });
return {
props: {
item: item
item: common.convertDatesToISOStrings(item),
},
};
};