mirror of
https://github.com/Steffo99/festa.git
synced 2024-12-22 22:54:22 +00:00
Add support for postcard feature
This commit is contained in:
parent
c708201379
commit
d431540e4d
5 changed files with 33 additions and 4 deletions
|
@ -18,10 +18,11 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse<
|
||||||
}
|
}
|
||||||
|
|
||||||
const which = {
|
const which = {
|
||||||
slug: req.query.slug
|
slug: req.query.slug,
|
||||||
}
|
}
|
||||||
const update = {
|
const update = {
|
||||||
name: req.body.name
|
name: req.body.name,
|
||||||
|
postcard: req.body.postcard ?? null,
|
||||||
}
|
}
|
||||||
|
|
||||||
await restInPeace(req, res, {
|
await restInPeace(req, res, {
|
||||||
|
|
|
@ -19,7 +19,8 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse<
|
||||||
const create = {
|
const create = {
|
||||||
slug: cryptoRandomString({ length: 12, type: "url-safe" }),
|
slug: cryptoRandomString({ length: 12, type: "url-safe" }),
|
||||||
creatorId: user.id,
|
creatorId: user.id,
|
||||||
name: req.body.name
|
name: req.body.name,
|
||||||
|
postcard: req.body.postcard ?? null,
|
||||||
}
|
}
|
||||||
|
|
||||||
await restInPeace(req, res, {
|
await restInPeace(req, res, {
|
||||||
|
|
|
@ -3,10 +3,13 @@ import { NextPageContext } from "next";
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
import { serverSideTranslations } from "next-i18next/serverSideTranslations";
|
import { serverSideTranslations } from "next-i18next/serverSideTranslations";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
|
import { useEffect } from "react";
|
||||||
import useSWR from "swr";
|
import useSWR from "swr";
|
||||||
import { ErrorInline } from "../../components/ErrorInline";
|
import { ErrorInline } from "../../components/ErrorInline";
|
||||||
import { Loading } from "../../components/Loading";
|
import { Loading } from "../../components/Loading";
|
||||||
|
import { PostcardContext } from "../../contexts/postcard";
|
||||||
import {useEventDetail} from "../../hooks/useEventDetail"
|
import {useEventDetail} from "../../hooks/useEventDetail"
|
||||||
|
import { useDefinedContext } from "../../utils/definedContext";
|
||||||
import { database } from "../../utils/prismaClient";
|
import { database } from "../../utils/prismaClient";
|
||||||
|
|
||||||
|
|
||||||
|
@ -37,6 +40,17 @@ type PageEventDetailProps = {
|
||||||
|
|
||||||
export default function PageEventDetail({event}: PageEventDetailProps) {
|
export default function PageEventDetail({event}: PageEventDetailProps) {
|
||||||
const {t} = useTranslation()
|
const {t} = useTranslation()
|
||||||
|
const [_, setPostcard] = useDefinedContext(PostcardContext)
|
||||||
|
|
||||||
|
useEffect(
|
||||||
|
() => {
|
||||||
|
console.debug(event.postcard)
|
||||||
|
if(event.postcard) {
|
||||||
|
setPostcard(event.postcard)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
[event]
|
||||||
|
)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<main id="page-event-detail" className="page">
|
<main id="page-event-detail" className="page">
|
||||||
|
|
|
@ -5,6 +5,9 @@ import { LoginContext } from '../contexts/login';
|
||||||
import { useDefinedContext } from '../utils/definedContext';
|
import { useDefinedContext } from '../utils/definedContext';
|
||||||
import { ActionLoginTelegram } from '../components/ActionLoginTelegram';
|
import { ActionLoginTelegram } from '../components/ActionLoginTelegram';
|
||||||
import { ActionEventList } from '../components/ActionEventList';
|
import { ActionEventList } from '../components/ActionEventList';
|
||||||
|
import { PostcardContext } from '../contexts/postcard';
|
||||||
|
import defaultPostcard from "../public/postcards/adi-goldstein-Hli3R6LKibo-unsplash.jpg"
|
||||||
|
import { useEffect } from 'react';
|
||||||
|
|
||||||
|
|
||||||
export async function getStaticProps(context: NextPageContext) {
|
export async function getStaticProps(context: NextPageContext) {
|
||||||
|
@ -18,7 +21,15 @@ export async function getStaticProps(context: NextPageContext) {
|
||||||
|
|
||||||
export default function PageIndex() {
|
export default function PageIndex() {
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
const [login, _] = useDefinedContext(LoginContext)
|
const [login, ] = useDefinedContext(LoginContext)
|
||||||
|
const [, setPostcard] = useDefinedContext(PostcardContext)
|
||||||
|
|
||||||
|
useEffect(
|
||||||
|
() => {
|
||||||
|
setPostcard(defaultPostcard)
|
||||||
|
},
|
||||||
|
[]
|
||||||
|
)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<main id="page-index" className="page">
|
<main id="page-index" className="page">
|
||||||
|
|
|
@ -83,4 +83,6 @@ model Event {
|
||||||
creator User @relation(fields: [creatorId], references: [id])
|
creator User @relation(fields: [creatorId], references: [id])
|
||||||
/// The name of the event.
|
/// The name of the event.
|
||||||
name String
|
name String
|
||||||
|
/// The URL to the postcard of the event.
|
||||||
|
postcard String?
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue