✨ Zoom images
This commit is contained in:
parent
1ad7aed1cd
commit
4f756826d7
@ -4,16 +4,14 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all) __defProp(target, name, { get: all[name], enumerable: true });
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if ((from && typeof from === "object") || typeof from === "function") {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, {
|
||||
get: () => from[key],
|
||||
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable,
|
||||
});
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
@ -22,7 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
||||
// keystone.ts
|
||||
var keystone_exports = {};
|
||||
__export(keystone_exports, {
|
||||
default: () => keystone_default,
|
||||
default: () => keystone_default
|
||||
});
|
||||
module.exports = __toCommonJS(keystone_exports);
|
||||
var import_core8 = require("@keystone-6/core");
|
||||
@ -37,24 +35,24 @@ var allowUser = {
|
||||
operation: {
|
||||
create: isUser,
|
||||
update: isUser,
|
||||
delete: isUser,
|
||||
},
|
||||
delete: isUser
|
||||
}
|
||||
};
|
||||
var isEditor = ({ session: session2 }) => session2?.data.isEditor || session2?.data.isAdmin;
|
||||
var allowEditor = {
|
||||
operation: {
|
||||
create: isEditor,
|
||||
update: isEditor,
|
||||
delete: isEditor,
|
||||
},
|
||||
delete: isEditor
|
||||
}
|
||||
};
|
||||
var isAdmin = ({ session: session2 }) => session2?.data.isAdmin;
|
||||
var allowAdmin = {
|
||||
operation: {
|
||||
create: isAdmin,
|
||||
update: isAdmin,
|
||||
delete: isAdmin,
|
||||
},
|
||||
delete: isAdmin
|
||||
}
|
||||
};
|
||||
|
||||
// schema/assets.ts
|
||||
@ -66,9 +64,9 @@ var Image = (0, import_core.list)({
|
||||
caption: (0, import_fields.text)(),
|
||||
image: (0, import_fields.image)({ storage: "localImages" }),
|
||||
createdAt: (0, import_fields.timestamp)({
|
||||
defaultValue: { kind: "now" },
|
||||
}),
|
||||
},
|
||||
defaultValue: { kind: "now" }
|
||||
})
|
||||
}
|
||||
});
|
||||
var Asset = (0, import_core.list)({
|
||||
access: allowEditor,
|
||||
@ -79,17 +77,17 @@ var Asset = (0, import_core.list)({
|
||||
type: "enum",
|
||||
options: [
|
||||
{ label: "Video", value: "video" },
|
||||
{ label: "Audio", value: "audio" },
|
||||
{ label: "Audio", value: "audio" }
|
||||
],
|
||||
defaultValue: "video",
|
||||
db: { map: "media_type" },
|
||||
validation: { isRequired: true },
|
||||
ui: { displayMode: "select" },
|
||||
ui: { displayMode: "select" }
|
||||
}),
|
||||
createdAt: (0, import_fields.timestamp)({
|
||||
defaultValue: { kind: "now" },
|
||||
}),
|
||||
},
|
||||
defaultValue: { kind: "now" }
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
// schema/moments.ts
|
||||
@ -108,10 +106,10 @@ var Moment = (0, import_core2.list)({
|
||||
[1, 1, 1],
|
||||
[2, 1],
|
||||
[1, 2],
|
||||
[1, 2, 1],
|
||||
[1, 2, 1]
|
||||
],
|
||||
links: true,
|
||||
dividers: true,
|
||||
dividers: true
|
||||
}),
|
||||
author: (0, import_fields2.relationship)({
|
||||
ref: "User.moments",
|
||||
@ -120,9 +118,9 @@ var Moment = (0, import_core2.list)({
|
||||
cardFields: ["name", "email"],
|
||||
inlineEdit: { fields: ["name", "email"] },
|
||||
linkToItem: true,
|
||||
inlineConnect: true,
|
||||
inlineConnect: true
|
||||
},
|
||||
many: false,
|
||||
many: false
|
||||
}),
|
||||
categories: (0, import_fields2.relationship)({
|
||||
ref: "Category.moments",
|
||||
@ -133,8 +131,8 @@ var Moment = (0, import_core2.list)({
|
||||
inlineEdit: { fields: ["name"] },
|
||||
linkToItem: true,
|
||||
inlineConnect: true,
|
||||
inlineCreate: { fields: ["name"] },
|
||||
},
|
||||
inlineCreate: { fields: ["name"] }
|
||||
}
|
||||
}),
|
||||
tags: (0, import_fields2.relationship)({
|
||||
ref: "Tag.moments",
|
||||
@ -145,13 +143,13 @@ var Moment = (0, import_core2.list)({
|
||||
inlineEdit: { fields: ["name"] },
|
||||
linkToItem: true,
|
||||
inlineConnect: true,
|
||||
inlineCreate: { fields: ["name"] },
|
||||
},
|
||||
inlineCreate: { fields: ["name"] }
|
||||
}
|
||||
}),
|
||||
createdAt: (0, import_fields2.timestamp)({
|
||||
defaultValue: { kind: "now" },
|
||||
}),
|
||||
},
|
||||
defaultValue: { kind: "now" }
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
// schema/categories.ts
|
||||
@ -162,30 +160,30 @@ var Category = (0, import_core3.list)({
|
||||
fields: {
|
||||
slug: (0, import_fields3.text)({
|
||||
validation: {
|
||||
isRequired: true,
|
||||
isRequired: true
|
||||
},
|
||||
isIndexed: "unique",
|
||||
isIndexed: "unique"
|
||||
}),
|
||||
name: (0, import_fields3.text)(),
|
||||
posts: (0, import_fields3.relationship)({ ref: "Post.categories", many: true }),
|
||||
moments: (0, import_fields3.relationship)({ ref: "Moment.categories", many: true }),
|
||||
events: (0, import_fields3.relationship)({ ref: "Event.categories", many: true }),
|
||||
},
|
||||
events: (0, import_fields3.relationship)({ ref: "Event.categories", many: true })
|
||||
}
|
||||
});
|
||||
var Tag = (0, import_core3.list)({
|
||||
access: allowEditor,
|
||||
fields: {
|
||||
slug: (0, import_fields3.text)({
|
||||
validation: {
|
||||
isRequired: true,
|
||||
isRequired: true
|
||||
},
|
||||
isIndexed: "unique",
|
||||
isIndexed: "unique"
|
||||
}),
|
||||
name: (0, import_fields3.text)(),
|
||||
posts: (0, import_fields3.relationship)({ ref: "Post.tags", many: true }),
|
||||
moments: (0, import_fields3.relationship)({ ref: "Moment.tags", many: true }),
|
||||
events: (0, import_fields3.relationship)({ ref: "Event.tags", many: true }),
|
||||
},
|
||||
events: (0, import_fields3.relationship)({ ref: "Event.tags", many: true })
|
||||
}
|
||||
});
|
||||
|
||||
// schema/projects.ts
|
||||
@ -196,10 +194,11 @@ var Project = (0, import_core4.list)({
|
||||
...allowAdmin,
|
||||
filter: {
|
||||
query: ({ session: session2 }) => {
|
||||
if (session2?.data.isEditor || session2?.data.isAdmin) return true;
|
||||
if (session2?.data.isEditor || session2?.data.isAdmin)
|
||||
return true;
|
||||
return { isPublished: { equals: true } };
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
fields: {
|
||||
icon: (0, import_fields4.relationship)({ ref: "Image" }),
|
||||
@ -213,18 +212,18 @@ var Project = (0, import_core4.list)({
|
||||
{ label: "Pending", value: "pending" },
|
||||
{ label: "Constructing", value: "constructing" },
|
||||
{ label: "Published", value: "published" },
|
||||
{ label: "Abandoned", value: "abandoned" },
|
||||
{ label: "Abandoned", value: "abandoned" }
|
||||
],
|
||||
defaultValue: "pending",
|
||||
db: { map: "project_status" },
|
||||
validation: { isRequired: true },
|
||||
ui: { displayMode: "select" },
|
||||
ui: { displayMode: "select" }
|
||||
}),
|
||||
post: (0, import_fields4.relationship)({ ref: "Post" }),
|
||||
createdAt: (0, import_fields4.timestamp)({
|
||||
defaultValue: { kind: "now" },
|
||||
}),
|
||||
},
|
||||
defaultValue: { kind: "now" }
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
// schema/posts.ts
|
||||
@ -236,17 +235,18 @@ var Post = (0, import_core5.list)({
|
||||
...allowEditor,
|
||||
filter: {
|
||||
query: ({ session: session2 }) => {
|
||||
if (session2?.data.isEditor || session2?.data.isAdmin) return true;
|
||||
if (session2?.data.isEditor || session2?.data.isAdmin)
|
||||
return true;
|
||||
return { isPublished: { equals: true } };
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
fields: {
|
||||
slug: (0, import_fields5.text)({
|
||||
validation: {
|
||||
isRequired: true,
|
||||
isRequired: true
|
||||
},
|
||||
isIndexed: "unique",
|
||||
isIndexed: "unique"
|
||||
}),
|
||||
title: (0, import_fields5.text)({ validation: { isRequired: true } }),
|
||||
cover: (0, import_fields5.relationship)({ ref: "Image" }),
|
||||
@ -260,21 +260,21 @@ var Post = (0, import_core5.list)({
|
||||
[1, 1, 1],
|
||||
[2, 1],
|
||||
[1, 2],
|
||||
[1, 2, 1],
|
||||
[1, 2, 1]
|
||||
],
|
||||
links: true,
|
||||
dividers: true,
|
||||
dividers: true
|
||||
}),
|
||||
type: (0, import_fields5.select)({
|
||||
type: "enum",
|
||||
options: [
|
||||
{ label: "Article", value: "article" },
|
||||
{ label: "Podcast", value: "podcast" },
|
||||
{ label: "Podcast", value: "podcast" }
|
||||
],
|
||||
defaultValue: "article",
|
||||
db: { map: "post_type" },
|
||||
validation: { isRequired: true },
|
||||
ui: { displayMode: "select" },
|
||||
ui: { displayMode: "select" }
|
||||
}),
|
||||
isPublished: (0, import_fields5.checkbox)(),
|
||||
author: (0, import_fields5.relationship)({
|
||||
@ -284,9 +284,9 @@ var Post = (0, import_core5.list)({
|
||||
cardFields: ["name", "email"],
|
||||
inlineEdit: { fields: ["name", "email"] },
|
||||
linkToItem: true,
|
||||
inlineConnect: true,
|
||||
inlineConnect: true
|
||||
},
|
||||
many: false,
|
||||
many: false
|
||||
}),
|
||||
categories: (0, import_fields5.relationship)({
|
||||
ref: "Category.posts",
|
||||
@ -297,8 +297,8 @@ var Post = (0, import_core5.list)({
|
||||
inlineEdit: { fields: ["name"] },
|
||||
linkToItem: true,
|
||||
inlineConnect: true,
|
||||
inlineCreate: { fields: ["name"] },
|
||||
},
|
||||
inlineCreate: { fields: ["name"] }
|
||||
}
|
||||
}),
|
||||
tags: (0, import_fields5.relationship)({
|
||||
ref: "Tag.posts",
|
||||
@ -309,13 +309,13 @@ var Post = (0, import_core5.list)({
|
||||
inlineEdit: { fields: ["name"] },
|
||||
linkToItem: true,
|
||||
inlineConnect: true,
|
||||
inlineCreate: { fields: ["name"] },
|
||||
},
|
||||
inlineCreate: { fields: ["name"] }
|
||||
}
|
||||
}),
|
||||
createdAt: (0, import_fields5.timestamp)({
|
||||
defaultValue: { kind: "now" },
|
||||
}),
|
||||
},
|
||||
defaultValue: { kind: "now" }
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
// schema/events.ts
|
||||
@ -327,17 +327,18 @@ var Event = (0, import_core6.list)({
|
||||
...allowEditor,
|
||||
filter: {
|
||||
query: ({ session: session2 }) => {
|
||||
if (session2?.data.isEditor || session2?.data.isAdmin) return true;
|
||||
if (session2?.data.isEditor || session2?.data.isAdmin)
|
||||
return true;
|
||||
return { isPublished: { equals: true } };
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
fields: {
|
||||
slug: (0, import_fields6.text)({
|
||||
validation: {
|
||||
isRequired: true,
|
||||
isRequired: true
|
||||
},
|
||||
isIndexed: "unique",
|
||||
isIndexed: "unique"
|
||||
}),
|
||||
title: (0, import_fields6.text)({ validation: { isRequired: true } }),
|
||||
description: (0, import_fields6.text)(),
|
||||
@ -348,10 +349,10 @@ var Event = (0, import_core6.list)({
|
||||
[1, 1, 1],
|
||||
[2, 1],
|
||||
[1, 2],
|
||||
[1, 2, 1],
|
||||
[1, 2, 1]
|
||||
],
|
||||
links: true,
|
||||
dividers: true,
|
||||
dividers: true
|
||||
}),
|
||||
isPublished: (0, import_fields6.checkbox)(),
|
||||
isHistory: (0, import_fields6.checkbox)(),
|
||||
@ -362,9 +363,9 @@ var Event = (0, import_core6.list)({
|
||||
cardFields: ["name", "email"],
|
||||
inlineEdit: { fields: ["name", "email"] },
|
||||
linkToItem: true,
|
||||
inlineConnect: true,
|
||||
inlineConnect: true
|
||||
},
|
||||
many: false,
|
||||
many: false
|
||||
}),
|
||||
categories: (0, import_fields6.relationship)({
|
||||
ref: "Category.events",
|
||||
@ -375,8 +376,8 @@ var Event = (0, import_core6.list)({
|
||||
inlineEdit: { fields: ["name"] },
|
||||
linkToItem: true,
|
||||
inlineConnect: true,
|
||||
inlineCreate: { fields: ["name"] },
|
||||
},
|
||||
inlineCreate: { fields: ["name"] }
|
||||
}
|
||||
}),
|
||||
tags: (0, import_fields6.relationship)({
|
||||
ref: "Tag.events",
|
||||
@ -387,13 +388,13 @@ var Event = (0, import_core6.list)({
|
||||
inlineEdit: { fields: ["name"] },
|
||||
linkToItem: true,
|
||||
inlineConnect: true,
|
||||
inlineCreate: { fields: ["name"] },
|
||||
},
|
||||
inlineCreate: { fields: ["name"] }
|
||||
}
|
||||
}),
|
||||
createdAt: (0, import_fields6.timestamp)({
|
||||
defaultValue: { kind: "now" },
|
||||
}),
|
||||
},
|
||||
defaultValue: { kind: "now" }
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
// schema/index.ts
|
||||
@ -404,7 +405,7 @@ var lists = {
|
||||
name: (0, import_fields7.text)({ validation: { isRequired: true } }),
|
||||
email: (0, import_fields7.text)({
|
||||
validation: { isRequired: true },
|
||||
isIndexed: "unique",
|
||||
isIndexed: "unique"
|
||||
}),
|
||||
password: (0, import_fields7.password)({ validation: { isRequired: true } }),
|
||||
posts: (0, import_fields7.relationship)({ ref: "Post.author", many: true }),
|
||||
@ -413,9 +414,9 @@ var lists = {
|
||||
isAdmin: (0, import_fields7.checkbox)(),
|
||||
isEditor: (0, import_fields7.checkbox)(),
|
||||
createdAt: (0, import_fields7.timestamp)({
|
||||
defaultValue: { kind: "now" },
|
||||
}),
|
||||
},
|
||||
defaultValue: { kind: "now" }
|
||||
})
|
||||
}
|
||||
}),
|
||||
Image,
|
||||
Asset,
|
||||
@ -424,7 +425,7 @@ var lists = {
|
||||
Project,
|
||||
Event,
|
||||
Category,
|
||||
Tag,
|
||||
Tag
|
||||
};
|
||||
|
||||
// auth.ts
|
||||
@ -441,13 +442,13 @@ var { withAuth } = (0, import_auth.createAuth)({
|
||||
sessionData: "id name createdAt isAdmin isEditor",
|
||||
secretField: "password",
|
||||
initFirstItem: {
|
||||
fields: ["name", "email", "password", "isAdmin"],
|
||||
},
|
||||
fields: ["name", "email", "password", "isAdmin"]
|
||||
}
|
||||
});
|
||||
var sessionMaxAge = 60 * 60 * 24 * 30;
|
||||
var session = (0, import_session.statelessSessions)({
|
||||
maxAge: sessionMaxAge,
|
||||
secret: sessionSecret,
|
||||
secret: sessionSecret
|
||||
});
|
||||
|
||||
// keystone.ts
|
||||
@ -457,17 +458,17 @@ var databaseProvider = process.env.DATABASE_PROVIDER ?? "postgresql";
|
||||
var keystone_default = withAuth(
|
||||
(0, import_core8.config)({
|
||||
ui: {
|
||||
basePath: "/cms",
|
||||
basePath: "/cms"
|
||||
},
|
||||
db: {
|
||||
provider: databaseProvider,
|
||||
url: databaseUrl,
|
||||
url: databaseUrl
|
||||
},
|
||||
server: {
|
||||
cors: {
|
||||
origin: "*",
|
||||
methods: "GET,HEAD,PUT,PATCH,POST,DELETE",
|
||||
},
|
||||
methods: "GET,HEAD,PUT,PATCH,POST,DELETE"
|
||||
}
|
||||
},
|
||||
storage: {
|
||||
localImages: {
|
||||
@ -475,13 +476,13 @@ var keystone_default = withAuth(
|
||||
type: "image",
|
||||
generateUrl: (path) => `${baseUrl}/images${path}`,
|
||||
serverRoute: {
|
||||
path: "/images",
|
||||
},
|
||||
storagePath: "public/images",
|
||||
path: "/images"
|
||||
},
|
||||
storagePath: "public/images"
|
||||
}
|
||||
},
|
||||
lists,
|
||||
session,
|
||||
}),
|
||||
session
|
||||
})
|
||||
);
|
||||
//# sourceMappingURL=config.js.map
|
||||
|
File diff suppressed because one or more lines are too long
@ -6,29 +6,11 @@ type User {
|
||||
name: String
|
||||
email: String
|
||||
password: PasswordState
|
||||
posts(
|
||||
where: PostWhereInput! = {}
|
||||
orderBy: [PostOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: PostWhereUniqueInput
|
||||
): [Post!]
|
||||
posts(where: PostWhereInput! = {}, orderBy: [PostOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: PostWhereUniqueInput): [Post!]
|
||||
postsCount(where: PostWhereInput! = {}): Int
|
||||
moments(
|
||||
where: MomentWhereInput! = {}
|
||||
orderBy: [MomentOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: MomentWhereUniqueInput
|
||||
): [Moment!]
|
||||
moments(where: MomentWhereInput! = {}, orderBy: [MomentOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: MomentWhereUniqueInput): [Moment!]
|
||||
momentsCount(where: MomentWhereInput! = {}): Int
|
||||
events(
|
||||
where: EventWhereInput! = {}
|
||||
orderBy: [EventOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: EventWhereUniqueInput
|
||||
): [Event!]
|
||||
events(where: EventWhereInput! = {}, orderBy: [EventOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: EventWhereUniqueInput): [Event!]
|
||||
eventsCount(where: EventWhereInput! = {}): Int
|
||||
isAdmin: Boolean
|
||||
isEditor: Boolean
|
||||
@ -271,9 +253,7 @@ input ImageFieldInput {
|
||||
upload: Upload!
|
||||
}
|
||||
|
||||
"""
|
||||
The `Upload` scalar type represents a file upload.
|
||||
"""
|
||||
"""The `Upload` scalar type represents a file upload."""
|
||||
scalar Upload
|
||||
|
||||
input ImageUpdateArgs {
|
||||
@ -355,41 +335,17 @@ type Post {
|
||||
title: String
|
||||
cover: Image
|
||||
description: String
|
||||
assets(
|
||||
where: AssetWhereInput! = {}
|
||||
orderBy: [AssetOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: AssetWhereUniqueInput
|
||||
): [Asset!]
|
||||
assets(where: AssetWhereInput! = {}, orderBy: [AssetOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: AssetWhereUniqueInput): [Asset!]
|
||||
assetsCount(where: AssetWhereInput! = {}): Int
|
||||
images(
|
||||
where: ImageWhereInput! = {}
|
||||
orderBy: [ImageOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: ImageWhereUniqueInput
|
||||
): [Image!]
|
||||
images(where: ImageWhereInput! = {}, orderBy: [ImageOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: ImageWhereUniqueInput): [Image!]
|
||||
imagesCount(where: ImageWhereInput! = {}): Int
|
||||
content: Post_content_Document
|
||||
type: PostTypeType
|
||||
isPublished: Boolean
|
||||
author: User
|
||||
categories(
|
||||
where: CategoryWhereInput! = {}
|
||||
orderBy: [CategoryOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: CategoryWhereUniqueInput
|
||||
): [Category!]
|
||||
categories(where: CategoryWhereInput! = {}, orderBy: [CategoryOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: CategoryWhereUniqueInput): [Category!]
|
||||
categoriesCount(where: CategoryWhereInput! = {}): Int
|
||||
tags(
|
||||
where: TagWhereInput! = {}
|
||||
orderBy: [TagOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: TagWhereUniqueInput
|
||||
): [Tag!]
|
||||
tags(where: TagWhereInput! = {}, orderBy: [TagOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: TagWhereUniqueInput): [Tag!]
|
||||
tagsCount(where: TagWhereInput! = {}): Int
|
||||
createdAt: DateTime
|
||||
}
|
||||
@ -578,31 +534,13 @@ input TagRelateToManyForCreateInput {
|
||||
type Moment {
|
||||
id: ID!
|
||||
title: String
|
||||
images(
|
||||
where: ImageWhereInput! = {}
|
||||
orderBy: [ImageOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: ImageWhereUniqueInput
|
||||
): [Image!]
|
||||
images(where: ImageWhereInput! = {}, orderBy: [ImageOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: ImageWhereUniqueInput): [Image!]
|
||||
imagesCount(where: ImageWhereInput! = {}): Int
|
||||
content: Moment_content_Document
|
||||
author: User
|
||||
categories(
|
||||
where: CategoryWhereInput! = {}
|
||||
orderBy: [CategoryOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: CategoryWhereUniqueInput
|
||||
): [Category!]
|
||||
categories(where: CategoryWhereInput! = {}, orderBy: [CategoryOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: CategoryWhereUniqueInput): [Category!]
|
||||
categoriesCount(where: CategoryWhereInput! = {}): Int
|
||||
tags(
|
||||
where: TagWhereInput! = {}
|
||||
orderBy: [TagOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: TagWhereUniqueInput
|
||||
): [Tag!]
|
||||
tags(where: TagWhereInput! = {}, orderBy: [TagOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: TagWhereUniqueInput): [Tag!]
|
||||
tagsCount(where: TagWhereInput! = {}): Int
|
||||
createdAt: DateTime
|
||||
}
|
||||
@ -761,21 +699,9 @@ type Event {
|
||||
isPublished: Boolean
|
||||
isHistory: Boolean
|
||||
author: User
|
||||
categories(
|
||||
where: CategoryWhereInput! = {}
|
||||
orderBy: [CategoryOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: CategoryWhereUniqueInput
|
||||
): [Category!]
|
||||
categories(where: CategoryWhereInput! = {}, orderBy: [CategoryOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: CategoryWhereUniqueInput): [Category!]
|
||||
categoriesCount(where: CategoryWhereInput! = {}): Int
|
||||
tags(
|
||||
where: TagWhereInput! = {}
|
||||
orderBy: [TagOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: TagWhereUniqueInput
|
||||
): [Tag!]
|
||||
tags(where: TagWhereInput! = {}, orderBy: [TagOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: TagWhereUniqueInput): [Tag!]
|
||||
tagsCount(where: TagWhereInput! = {}): Int
|
||||
createdAt: DateTime
|
||||
}
|
||||
@ -850,29 +776,11 @@ type Category {
|
||||
id: ID!
|
||||
slug: String
|
||||
name: String
|
||||
posts(
|
||||
where: PostWhereInput! = {}
|
||||
orderBy: [PostOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: PostWhereUniqueInput
|
||||
): [Post!]
|
||||
posts(where: PostWhereInput! = {}, orderBy: [PostOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: PostWhereUniqueInput): [Post!]
|
||||
postsCount(where: PostWhereInput! = {}): Int
|
||||
moments(
|
||||
where: MomentWhereInput! = {}
|
||||
orderBy: [MomentOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: MomentWhereUniqueInput
|
||||
): [Moment!]
|
||||
moments(where: MomentWhereInput! = {}, orderBy: [MomentOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: MomentWhereUniqueInput): [Moment!]
|
||||
momentsCount(where: MomentWhereInput! = {}): Int
|
||||
events(
|
||||
where: EventWhereInput! = {}
|
||||
orderBy: [EventOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: EventWhereUniqueInput
|
||||
): [Event!]
|
||||
events(where: EventWhereInput! = {}, orderBy: [EventOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: EventWhereUniqueInput): [Event!]
|
||||
eventsCount(where: EventWhereInput! = {}): Int
|
||||
}
|
||||
|
||||
@ -924,29 +832,11 @@ type Tag {
|
||||
id: ID!
|
||||
slug: String
|
||||
name: String
|
||||
posts(
|
||||
where: PostWhereInput! = {}
|
||||
orderBy: [PostOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: PostWhereUniqueInput
|
||||
): [Post!]
|
||||
posts(where: PostWhereInput! = {}, orderBy: [PostOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: PostWhereUniqueInput): [Post!]
|
||||
postsCount(where: PostWhereInput! = {}): Int
|
||||
moments(
|
||||
where: MomentWhereInput! = {}
|
||||
orderBy: [MomentOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: MomentWhereUniqueInput
|
||||
): [Moment!]
|
||||
moments(where: MomentWhereInput! = {}, orderBy: [MomentOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: MomentWhereUniqueInput): [Moment!]
|
||||
momentsCount(where: MomentWhereInput! = {}): Int
|
||||
events(
|
||||
where: EventWhereInput! = {}
|
||||
orderBy: [EventOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: EventWhereUniqueInput
|
||||
): [Event!]
|
||||
events(where: EventWhereInput! = {}, orderBy: [EventOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: EventWhereUniqueInput): [Event!]
|
||||
eventsCount(where: EventWhereInput! = {}): Int
|
||||
}
|
||||
|
||||
@ -1059,9 +949,7 @@ type Mutation {
|
||||
createInitialUser(data: CreateInitialUserInput!): UserAuthenticationWithPasswordSuccess!
|
||||
}
|
||||
|
||||
union UserAuthenticationWithPasswordResult =
|
||||
| UserAuthenticationWithPasswordSuccess
|
||||
| UserAuthenticationWithPasswordFailure
|
||||
union UserAuthenticationWithPasswordResult = UserAuthenticationWithPasswordSuccess | UserAuthenticationWithPasswordFailure
|
||||
|
||||
type UserAuthenticationWithPasswordSuccess {
|
||||
sessionToken: String!
|
||||
@ -1080,85 +968,31 @@ input CreateInitialUserInput {
|
||||
}
|
||||
|
||||
type Query {
|
||||
users(
|
||||
where: UserWhereInput! = {}
|
||||
orderBy: [UserOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: UserWhereUniqueInput
|
||||
): [User!]
|
||||
users(where: UserWhereInput! = {}, orderBy: [UserOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: UserWhereUniqueInput): [User!]
|
||||
user(where: UserWhereUniqueInput!): User
|
||||
usersCount(where: UserWhereInput! = {}): Int
|
||||
images(
|
||||
where: ImageWhereInput! = {}
|
||||
orderBy: [ImageOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: ImageWhereUniqueInput
|
||||
): [Image!]
|
||||
images(where: ImageWhereInput! = {}, orderBy: [ImageOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: ImageWhereUniqueInput): [Image!]
|
||||
image(where: ImageWhereUniqueInput!): Image
|
||||
imagesCount(where: ImageWhereInput! = {}): Int
|
||||
assets(
|
||||
where: AssetWhereInput! = {}
|
||||
orderBy: [AssetOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: AssetWhereUniqueInput
|
||||
): [Asset!]
|
||||
assets(where: AssetWhereInput! = {}, orderBy: [AssetOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: AssetWhereUniqueInput): [Asset!]
|
||||
asset(where: AssetWhereUniqueInput!): Asset
|
||||
assetsCount(where: AssetWhereInput! = {}): Int
|
||||
posts(
|
||||
where: PostWhereInput! = {}
|
||||
orderBy: [PostOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: PostWhereUniqueInput
|
||||
): [Post!]
|
||||
posts(where: PostWhereInput! = {}, orderBy: [PostOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: PostWhereUniqueInput): [Post!]
|
||||
post(where: PostWhereUniqueInput!): Post
|
||||
postsCount(where: PostWhereInput! = {}): Int
|
||||
moments(
|
||||
where: MomentWhereInput! = {}
|
||||
orderBy: [MomentOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: MomentWhereUniqueInput
|
||||
): [Moment!]
|
||||
moments(where: MomentWhereInput! = {}, orderBy: [MomentOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: MomentWhereUniqueInput): [Moment!]
|
||||
moment(where: MomentWhereUniqueInput!): Moment
|
||||
momentsCount(where: MomentWhereInput! = {}): Int
|
||||
projects(
|
||||
where: ProjectWhereInput! = {}
|
||||
orderBy: [ProjectOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: ProjectWhereUniqueInput
|
||||
): [Project!]
|
||||
projects(where: ProjectWhereInput! = {}, orderBy: [ProjectOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: ProjectWhereUniqueInput): [Project!]
|
||||
project(where: ProjectWhereUniqueInput!): Project
|
||||
projectsCount(where: ProjectWhereInput! = {}): Int
|
||||
events(
|
||||
where: EventWhereInput! = {}
|
||||
orderBy: [EventOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: EventWhereUniqueInput
|
||||
): [Event!]
|
||||
events(where: EventWhereInput! = {}, orderBy: [EventOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: EventWhereUniqueInput): [Event!]
|
||||
event(where: EventWhereUniqueInput!): Event
|
||||
eventsCount(where: EventWhereInput! = {}): Int
|
||||
categories(
|
||||
where: CategoryWhereInput! = {}
|
||||
orderBy: [CategoryOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: CategoryWhereUniqueInput
|
||||
): [Category!]
|
||||
categories(where: CategoryWhereInput! = {}, orderBy: [CategoryOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: CategoryWhereUniqueInput): [Category!]
|
||||
category(where: CategoryWhereUniqueInput!): Category
|
||||
categoriesCount(where: CategoryWhereInput! = {}): Int
|
||||
tags(
|
||||
where: TagWhereInput! = {}
|
||||
orderBy: [TagOrderByInput!]! = []
|
||||
take: Int
|
||||
skip: Int! = 0
|
||||
cursor: TagWhereUniqueInput
|
||||
): [Tag!]
|
||||
tags(where: TagWhereInput! = {}, orderBy: [TagOrderByInput!]! = [], take: Int, skip: Int! = 0, cursor: TagWhereUniqueInput): [Tag!]
|
||||
tag(where: TagWhereUniqueInput!): Tag
|
||||
tagsCount(where: TagWhereInput! = {}): Int
|
||||
keystone: KeystoneMeta!
|
||||
|
@ -22,6 +22,7 @@
|
||||
"aplayer": "^1.10.1",
|
||||
"artplayer": "^5.1.1",
|
||||
"astro": "^4.2.1",
|
||||
"medium-zoom": "^1.1.0",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"sass": "^1.70.0",
|
||||
|
@ -13,17 +13,14 @@ const { title } = Astro.props;
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta name="generator" content={Astro.generator} />
|
||||
{title && (<title>山羊寒舍 | {title}</title>)}
|
||||
{!title && (<title>山羊寒舍</title>)}
|
||||
{title && <title>山羊寒舍 | {title}</title>}
|
||||
{!title && <title>山羊寒舍</title>}
|
||||
|
||||
<script is:inline>
|
||||
if (localStorage.getItem("theme") === null) {
|
||||
document.documentElement.setAttribute("data-theme", "light");
|
||||
} else {
|
||||
document.documentElement.setAttribute(
|
||||
"data-theme",
|
||||
localStorage.getItem("theme")
|
||||
);
|
||||
document.documentElement.setAttribute("data-theme", localStorage.getItem("theme"));
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@ -48,14 +48,14 @@ const { post } = (
|
||||
}`,
|
||||
{
|
||||
where: { slug },
|
||||
}
|
||||
},
|
||||
)
|
||||
).data;
|
||||
---
|
||||
|
||||
<PageLayout title={post.title}>
|
||||
<div class="wrapper">
|
||||
<div class="card w-full shadow-xl">
|
||||
<div class="card w-full shadow-xl post">
|
||||
{
|
||||
post.cover && (
|
||||
<figure>
|
||||
@ -101,10 +101,7 @@ const { post } = (
|
||||
<div class="flex gap-1">
|
||||
{
|
||||
post.categories?.map((category: any) => (
|
||||
<a
|
||||
href={`/categories/${category.slug}`}
|
||||
class="link link-primary"
|
||||
>
|
||||
<a href={`/categories/${category.slug}`} class="link link-primary">
|
||||
{category.name}
|
||||
</a>
|
||||
))
|
||||
@ -134,6 +131,13 @@ const { post } = (
|
||||
</div>
|
||||
</PageLayout>
|
||||
|
||||
<script>
|
||||
import mediumZoom from "medium-zoom";
|
||||
mediumZoom(document.querySelectorAll(".post img"), {
|
||||
background: "var(--fallback-b1,oklch(var(--b1)/1))",
|
||||
});
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.wrapper {
|
||||
display: grid;
|
||||
|
@ -2409,6 +2409,11 @@ mdast-util-to-string@^4.0.0:
|
||||
dependencies:
|
||||
"@types/mdast" "^4.0.0"
|
||||
|
||||
medium-zoom@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/medium-zoom/-/medium-zoom-1.1.0.tgz#6efb6bbda861a02064ee71a2617a8dc4381ecc71"
|
||||
integrity sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==
|
||||
|
||||
merge-stream@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
|
||||
|
Loading…
Reference in New Issue
Block a user