Type fixes
This commit is contained in:
+5
-2
@@ -5,6 +5,9 @@ const url = `${process.env.API_URL}/feed/`;
|
||||
|
||||
export interface Post {
|
||||
id: number;
|
||||
tags: number[];
|
||||
visible: boolean;
|
||||
image: string;
|
||||
title_fi: string;
|
||||
title_en: string;
|
||||
description_fi: string;
|
||||
@@ -13,10 +16,10 @@ export interface Post {
|
||||
content_en: string;
|
||||
publish_time: string;
|
||||
autohide: string;
|
||||
tags: number[];
|
||||
visible: boolean;
|
||||
autohide_enabled: boolean;
|
||||
}
|
||||
|
||||
|
||||
export async function getFeed(): Promise<Post[]> {
|
||||
try {
|
||||
const resp = await axios.get(url);
|
||||
|
||||
@@ -4,7 +4,7 @@ import Form from "react-jsonschema-form";
|
||||
import AdminCreateCommon from "./AdminCreateCommon";
|
||||
import { Tag, getTags } from "@models/Tag";
|
||||
import { SignupForm, getForms } from "@models/SignupForm";
|
||||
import { createEvent, getEvent, updateEvent, Event } from "@models/Event";
|
||||
import { Event, createEvent, getEvent, updateEvent } from "@models/Event";
|
||||
import DatetimeWidget from "@components/Widgets/DatetimeWidget/DatetimeWidget";
|
||||
import SectionDividerWidget from "@components/Widgets/SectionDividerWidget/SectionDividerWidget";
|
||||
import MarkdownEditorWidget from "@components/Widgets/MarkdownEditorWidget";
|
||||
@@ -31,7 +31,7 @@ export interface EventCreatePageState {
|
||||
signupForm: SignupForm[];
|
||||
error?: string;
|
||||
statusMessage?: string;
|
||||
formData: any;
|
||||
formData: Event;
|
||||
}
|
||||
|
||||
class EventCreatePage extends React.Component<EventCreatePageProps, EventCreatePageState> {
|
||||
@@ -40,7 +40,7 @@ class EventCreatePage extends React.Component<EventCreatePageProps, EventCreateP
|
||||
this.state = {
|
||||
tags: [],
|
||||
signupForm: [],
|
||||
formData: {},
|
||||
formData: {} as Event,
|
||||
};
|
||||
|
||||
this.fetchTags();
|
||||
@@ -304,7 +304,7 @@ class EventCreatePage extends React.Component<EventCreatePageProps, EventCreateP
|
||||
|
||||
render() {
|
||||
const { error, statusMessage } = this.state;
|
||||
const formData = this.state.formData as Event;
|
||||
const { formData } = this.state;
|
||||
const schema = this.buildSchema();
|
||||
const uiSchema = this.buildUISchema();
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import Form from "react-jsonschema-form";
|
||||
import { RouteComponentProps } from "react-router-dom";
|
||||
import AdminCreateCommon from "./AdminCreateCommon";
|
||||
import { Tag, getTags } from "@models/Tag";
|
||||
import { createPost, getPost, updatePost } from "@models/Feed";
|
||||
import { Post, createPost, getPost, updatePost } from "@models/Feed";
|
||||
import DatetimeWidget from "@components/Widgets/DatetimeWidget/DatetimeWidget";
|
||||
|
||||
const widgets = {
|
||||
@@ -21,7 +21,7 @@ export interface FeedCreatePageState {
|
||||
tags: Tag[];
|
||||
error?: string;
|
||||
statusMessage?: string;
|
||||
formData: any;
|
||||
formData: Post;
|
||||
}
|
||||
|
||||
class FeedCreatePage extends React.Component<FeedCreatePageProps, FeedCreatePageState> {
|
||||
@@ -29,7 +29,7 @@ class FeedCreatePage extends React.Component<FeedCreatePageProps, FeedCreatePage
|
||||
super(props);
|
||||
this.state = {
|
||||
tags: [],
|
||||
formData: {},
|
||||
formData: {} as Post,
|
||||
};
|
||||
|
||||
this.fetchTags();
|
||||
@@ -124,7 +124,7 @@ class FeedCreatePage extends React.Component<FeedCreatePageProps, FeedCreatePage
|
||||
const currentDatetime = date.toISOString();
|
||||
|
||||
const schema = {
|
||||
title: formData.id ? formData.title : "New Post",
|
||||
title: formData.id ? formData.title_fi : "New Post",
|
||||
type: "object",
|
||||
required: ["title", "description", "content", "publish_time"],
|
||||
properties: {
|
||||
@@ -202,7 +202,7 @@ class FeedCreatePage extends React.Component<FeedCreatePageProps, FeedCreatePage
|
||||
const uiSchema = this.buildUISchema();
|
||||
|
||||
const title = formData.id
|
||||
? `Edit Post "${formData.title}"`
|
||||
? `Edit Post "${formData.title_fi}"`
|
||||
: "Create Post";
|
||||
|
||||
return (
|
||||
|
||||
@@ -153,8 +153,6 @@ const JobAdCreatePage: React.FC<JobAdCreatePageProps> = ({ match: { params: { id
|
||||
const onChange = (data) => setFormData(data.formData);
|
||||
const onFocus = () => setStatusMessage(null);
|
||||
|
||||
|
||||
|
||||
const title = formData?.id
|
||||
? `Edit Ad "${formData.title_fi}"`
|
||||
: "Create Ad";
|
||||
|
||||
@@ -3,7 +3,7 @@ import { Helmet } from "react-helmet";
|
||||
import { Link } from "react-router-dom";
|
||||
import Form from "react-jsonschema-form";
|
||||
import AdminCreateCommon from "./AdminCreateCommon";
|
||||
import { createForm, getForm, updateForm, SignupForm } from "@models/SignupForm";
|
||||
import { SignupForm, createForm, getForm, updateForm } from "@models/SignupForm";
|
||||
import DatetimeWidget from "@components/Widgets/DatetimeWidget/DatetimeWidget";
|
||||
import SignupQuestionsWidget from "@components/Widgets/SignupQuestionsWidget";
|
||||
import MarkdownEditorWidget from "@components/Widgets/MarkdownEditorWidget";
|
||||
@@ -32,14 +32,14 @@ export interface SignupCreatePageProps {
|
||||
export interface SignupCreatePageState {
|
||||
error?: string;
|
||||
statusMessage?: string;
|
||||
formData: any;
|
||||
formData: SignupForm;
|
||||
}
|
||||
|
||||
class SignupCreatePage extends React.Component<SignupCreatePageProps, SignupCreatePageState> {
|
||||
constructor(props: SignupCreatePageProps) {
|
||||
super(props);
|
||||
this.state = {
|
||||
formData: {},
|
||||
formData: {} as SignupForm,
|
||||
};
|
||||
|
||||
const {id} = props.match.params;
|
||||
@@ -54,7 +54,7 @@ class SignupCreatePage extends React.Component<SignupCreatePageProps, SignupCrea
|
||||
this.setState({
|
||||
formData: {
|
||||
...data,
|
||||
questions: JSON.stringify(data.questions)
|
||||
questions: JSON.stringify(data.questions) as any
|
||||
},
|
||||
});
|
||||
} catch (err) {
|
||||
@@ -78,7 +78,7 @@ class SignupCreatePage extends React.Component<SignupCreatePageProps, SignupCrea
|
||||
this.setState({
|
||||
formData: {
|
||||
...resp,
|
||||
questions: JSON.stringify(resp.questions)
|
||||
questions: JSON.stringify(resp.questions) as any
|
||||
},
|
||||
statusMessage: "Sign-up created successfully",
|
||||
});
|
||||
@@ -87,7 +87,7 @@ class SignupCreatePage extends React.Component<SignupCreatePageProps, SignupCrea
|
||||
this.setState({
|
||||
formData: {
|
||||
...resp,
|
||||
questions: JSON.stringify(resp.questions)
|
||||
questions: JSON.stringify(resp.questions) as any
|
||||
},
|
||||
statusMessage: "Sign-up updated successfully.",
|
||||
});
|
||||
@@ -127,7 +127,7 @@ class SignupCreatePage extends React.Component<SignupCreatePageProps, SignupCrea
|
||||
const tomorrowDatetime = tomorrowDate.toISOString();
|
||||
|
||||
const schema = {
|
||||
title: formData.id ? formData.title : "New Sign-up form",
|
||||
title: formData.id ? formData.title_fi : "New Sign-up form",
|
||||
type: "object",
|
||||
required: ["title_fi", "title_en", "start_time", "end_time", "questions"],
|
||||
properties: {
|
||||
@@ -201,18 +201,18 @@ class SignupCreatePage extends React.Component<SignupCreatePageProps, SignupCrea
|
||||
const uiSchema = this.buildUISchema();
|
||||
|
||||
const title = formData.id
|
||||
? `Edit Sign-up Form "${formData.title}"`
|
||||
? `Edit Sign-up Form "${formData.title_fi}"`
|
||||
: "Create Sign-up form";
|
||||
|
||||
return (
|
||||
<AdminCreateCommon>
|
||||
<Helmet>
|
||||
<link rel="canonical" href="https://sik.ayy.fi/admin/feed/create" />
|
||||
<link rel="canonical" href="https://sik.ayy.fi/admin/signups/create" />
|
||||
</Helmet>
|
||||
<h1>{title}</h1>
|
||||
{statusMessage && <div className="success">{statusMessage}</div>}
|
||||
{formData.id && <p>
|
||||
Check out the signup form here: <Link to={`/signup/${formData.id}`}>{formData.title}</Link>
|
||||
Check out the signup form here: <Link to={`/signup/${formData.id}`}>{formData.title_fi}</Link>
|
||||
</p>}
|
||||
<Form schema={schema as any}
|
||||
uiSchema={uiSchema}
|
||||
|
||||
Reference in New Issue
Block a user