mirror of
https://github.com/Steffo99/festa.git
synced 2024-12-22 14:44:21 +00:00
Continue refactoring things
This commit is contained in:
parent
b26da3f911
commit
4ef234417f
12 changed files with 109 additions and 32 deletions
|
@ -1,4 +1,5 @@
|
||||||
import { Component, ErrorInfo, ReactNode } from "react";
|
import { Component, ErrorInfo, ReactNode } from "react";
|
||||||
|
import { ViewNotice } from "../view/ViewNotice";
|
||||||
import { ErrorBlock } from "./ErrorBlock";
|
import { ErrorBlock } from "./ErrorBlock";
|
||||||
|
|
||||||
type ErrorBoundaryProps = {
|
type ErrorBoundaryProps = {
|
||||||
|
@ -28,9 +29,10 @@ export class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundarySt
|
||||||
if(this.state.error) {
|
if(this.state.error) {
|
||||||
return (
|
return (
|
||||||
<ViewNotice
|
<ViewNotice
|
||||||
<main id="page-error-fatal" className="page">
|
notice={
|
||||||
<ErrorBlock text={this.props.text} error={this.state.error}/>
|
<ErrorBlock text={this.props.text} error={this.state.error}/>
|
||||||
</main>
|
}
|
||||||
|
/>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -12,6 +12,7 @@ export function ToolToggleEditing() {
|
||||||
<button
|
<button
|
||||||
aria-label={editing ? t("toggleEditingView") : t("toggleEditingEdit")}
|
aria-label={editing ? t("toggleEditingView") : t("toggleEditingEdit")}
|
||||||
onClick={() => setEditing(!editing)}
|
onClick={() => setEditing(!editing)}
|
||||||
|
className="square-40"
|
||||||
>
|
>
|
||||||
<FestaIcon icon={editing ? faBinoculars : faPencil}/>
|
<FestaIcon icon={editing ? faBinoculars : faPencil}/>
|
||||||
</button>
|
</button>
|
||||||
|
|
33
pages/404.tsx
Normal file
33
pages/404.tsx
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
import { NextPageContext } from "next";
|
||||||
|
import { useTranslation } from "next-i18next";
|
||||||
|
import { serverSideTranslations } from "next-i18next/serverSideTranslations";
|
||||||
|
import { ErrorBlock } from "../components/errors/ErrorBlock";
|
||||||
|
import { Postcard } from "../components/postcard/Postcard";
|
||||||
|
import { ViewNotice } from "../components/view/ViewNotice";
|
||||||
|
import errorPostcard from "../public/postcards/markus-spiske-iar-afB0QQw-unsplash-red.jpg"
|
||||||
|
|
||||||
|
|
||||||
|
export async function getStaticProps(context: NextPageContext) {
|
||||||
|
return {
|
||||||
|
props: {
|
||||||
|
...(await serverSideTranslations(context.locale ?? "it-IT", ["common"]))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export default function Page404() {
|
||||||
|
const {t} = useTranslation()
|
||||||
|
|
||||||
|
return <>
|
||||||
|
<Postcard src={errorPostcard.src}/>
|
||||||
|
<ViewNotice
|
||||||
|
notice={
|
||||||
|
<ErrorBlock
|
||||||
|
text={t("notFoundError")}
|
||||||
|
error={new Error("HTTP 404 (Not found)")}
|
||||||
|
/>
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
}
|
33
pages/500.tsx
Normal file
33
pages/500.tsx
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
import { NextPageContext } from "next";
|
||||||
|
import { useTranslation } from "next-i18next";
|
||||||
|
import { serverSideTranslations } from "next-i18next/serverSideTranslations";
|
||||||
|
import { ErrorBlock } from "../components/errors/ErrorBlock";
|
||||||
|
import { Postcard } from "../components/postcard/Postcard";
|
||||||
|
import { ViewNotice } from "../components/view/ViewNotice";
|
||||||
|
import errorPostcard from "../public/postcards/markus-spiske-iar-afB0QQw-unsplash-red.jpg"
|
||||||
|
|
||||||
|
|
||||||
|
export async function getStaticProps(context: NextPageContext) {
|
||||||
|
return {
|
||||||
|
props: {
|
||||||
|
...(await serverSideTranslations(context.locale ?? "it-IT", ["common"]))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export default function Page500() {
|
||||||
|
const {t} = useTranslation()
|
||||||
|
|
||||||
|
return <>
|
||||||
|
<Postcard src={errorPostcard.src}/>
|
||||||
|
<ViewNotice
|
||||||
|
notice={
|
||||||
|
<ErrorBlock
|
||||||
|
text={t("internalServerError")}
|
||||||
|
error={new Error("HTTP 500 (Internal server error)")}
|
||||||
|
/>
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
}
|
|
@ -13,6 +13,8 @@
|
||||||
"eventsInputSubmitLabel": "Crea evento",
|
"eventsInputSubmitLabel": "Crea evento",
|
||||||
"genericLoading": "Caricamento...",
|
"genericLoading": "Caricamento...",
|
||||||
"genericError": "Si è verificato il seguente errore:",
|
"genericError": "Si è verificato il seguente errore:",
|
||||||
|
"notFoundError": "La pagina che hai richiesto non è stata trovata.",
|
||||||
|
"internalServerError": "Si è verificato un errore nella gestione della tua richiesta.",
|
||||||
"eventListError": "Si è verificato il seguente errore durante il recupero dei tuoi eventi:",
|
"eventListError": "Si è verificato il seguente errore durante il recupero dei tuoi eventi:",
|
||||||
"eventListLoading": "Caricamento della lista degli eventi creati in corso...",
|
"eventListLoading": "Caricamento della lista degli eventi creati in corso...",
|
||||||
"eventListDescription": "Questi sono gli eventi che hai creato:",
|
"eventListDescription": "Questi sono gli eventi che hai creato:",
|
||||||
|
|
|
@ -1,5 +1,25 @@
|
||||||
|
/* Dark theme */
|
||||||
|
:root, :host {
|
||||||
|
--background: #050505;
|
||||||
|
--foreground: white;
|
||||||
|
--border: gray;
|
||||||
|
--interactable: #050505b5;
|
||||||
|
--selection: #3333dd;
|
||||||
|
|
||||||
|
--anchor: #8888ff;
|
||||||
|
--anchor-visited: #aa88ff;
|
||||||
|
--anchor-active: #ff8888;
|
||||||
|
|
||||||
|
--positive: #88ff88;
|
||||||
|
--negative: #ff8888;
|
||||||
|
}
|
||||||
|
|
||||||
|
.postcard {
|
||||||
|
filter: blur(7px) contrast(50%) brightness(50%);
|
||||||
|
}
|
||||||
|
|
||||||
@media (prefers-color-scheme: light) {
|
@media (prefers-color-scheme: light) {
|
||||||
body {
|
:root, :host {
|
||||||
--background: #fafafa;
|
--background: #fafafa;
|
||||||
--foreground: black;
|
--foreground: black;
|
||||||
--border: gray;
|
--border: gray;
|
||||||
|
@ -18,23 +38,3 @@
|
||||||
filter: blur(7px) contrast(25%) brightness(175%);
|
filter: blur(7px) contrast(25%) brightness(175%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Dark theme */
|
|
||||||
body {
|
|
||||||
--background: #050505;
|
|
||||||
--foreground: white;
|
|
||||||
--border: gray;
|
|
||||||
--interactable: #050505b5;
|
|
||||||
--selection: #3333dd;
|
|
||||||
|
|
||||||
--anchor: #8888ff;
|
|
||||||
--anchor-visited: #aa88ff;
|
|
||||||
--anchor-active: #ff8888;
|
|
||||||
|
|
||||||
--positive: #88ff88;
|
|
||||||
--negative: #ff8888;
|
|
||||||
}
|
|
||||||
|
|
||||||
.postcard {
|
|
||||||
filter: blur(7px) contrast(50%) brightness(50%);
|
|
||||||
}
|
|
||||||
|
|
4
styles/components/square.css
Normal file
4
styles/components/square.css
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
.square-40 {
|
||||||
|
width: 40px !important;
|
||||||
|
height: 40px !important;
|
||||||
|
}
|
|
@ -24,8 +24,3 @@
|
||||||
right: 8px;
|
right: 8px;
|
||||||
flex-direction: row-reverse;
|
flex-direction: row-reverse;
|
||||||
}
|
}
|
||||||
|
|
||||||
.toolbar > * {
|
|
||||||
width: 40px;
|
|
||||||
height: 40px;
|
|
||||||
}
|
|
|
@ -8,6 +8,9 @@
|
||||||
grid-template-rows: auto 1fr;
|
grid-template-rows: auto 1fr;
|
||||||
|
|
||||||
justify-content: stretch;
|
justify-content: stretch;
|
||||||
|
|
||||||
|
max-width: 800px;
|
||||||
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.view-content-title {
|
.view-content-title {
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
|
|
||||||
.view-landing-titles {
|
.view-landing-titles {
|
||||||
grid-area: titles;
|
grid-area: titles;
|
||||||
align-self: center;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.view-landing-titles-title {
|
.view-landing-titles-title {
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
.view-notice {
|
.view-notice {
|
||||||
display: flex;
|
display: grid;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-content: center;
|
align-content: center;
|
||||||
|
|
||||||
|
min-width: 100vw;
|
||||||
|
min-height: 100vh;
|
||||||
}
|
}
|
|
@ -6,11 +6,12 @@
|
||||||
@import "components/views/landing.css";
|
@import "components/views/landing.css";
|
||||||
@import "components/views/notice.css";
|
@import "components/views/notice.css";
|
||||||
|
|
||||||
@import "components/toolbar.css";
|
|
||||||
@import "components/icon.css";
|
@import "components/icon.css";
|
||||||
@import "components/list-events.css";
|
@import "components/list-events.css";
|
||||||
@import "components/postcard.css";
|
@import "components/postcard.css";
|
||||||
|
@import "components/square.css";
|
||||||
@import "components/telegram-login.css";
|
@import "components/telegram-login.css";
|
||||||
|
@import "components/toolbar.css";
|
||||||
|
|
||||||
|
|
||||||
* {
|
* {
|
||||||
|
|
Loading…
Reference in a new issue