(editorElRef.current = el)} />
-
Markdown:
-
{markdown()}
-
HTML:
-
{html()}
diff --git a/src/components/EditorNew/Sidebar.tsx b/src/components/EditorNew/Sidebar.tsx
index f45f2172..a014b5d6 100644
--- a/src/components/EditorNew/Sidebar.tsx
+++ b/src/components/EditorNew/Sidebar.tsx
@@ -1,4 +1,4 @@
-import { For, Show, createEffect, createSignal, onCleanup, onMount } from 'solid-js'
+import { For, createEffect, createSignal, onCleanup, onMount } from 'solid-js'
import type { JSX } from 'solid-js'
import { undo, redo } from 'prosemirror-history'
import { clsx } from 'clsx'
diff --git a/src/components/EditorNew/prosemirror/plugins/index.ts b/src/components/EditorNew/prosemirror/plugins/index.ts
index 7a4f6439..c9c412f9 100644
--- a/src/components/EditorNew/prosemirror/plugins/index.ts
+++ b/src/components/EditorNew/prosemirror/plugins/index.ts
@@ -1,5 +1,3 @@
-import { keymap } from 'prosemirror-keymap'
-import { baseKeymap } from 'prosemirror-commands'
import { history } from 'prosemirror-history'
import { dropCursor } from 'prosemirror-dropcursor'
import { placeholder } from './placeholder'
diff --git a/src/components/Feed/Beside.module.scss b/src/components/Feed/Beside.module.scss
index 1e5486ab..fb3d7b66 100644
--- a/src/components/Feed/Beside.module.scss
+++ b/src/components/Feed/Beside.module.scss
@@ -12,6 +12,8 @@
}
li {
+ margin-bottom: 1em;
+
&.top {
border-bottom: 1px solid #e1e1e1;
display: flex;
diff --git a/src/components/Nav/Modal.scss b/src/components/Nav/Modal.scss
index 6be20367..8c7bc2f0 100644
--- a/src/components/Nav/Modal.scss
+++ b/src/components/Nav/Modal.scss
@@ -1,11 +1,12 @@
.modalwrap {
- pointer-events: all;
align-items: center;
background: rgb(20 20 20 / 70%);
display: flex;
justify-content: center;
height: 100%;
left: 0;
+ overflow: auto;
+ pointer-events: all;
position: fixed;
top: 0;
width: 100%;
diff --git a/src/components/Nav/Modal.tsx b/src/components/Nav/Modal.tsx
index 2f9e2872..2ebe709d 100644
--- a/src/components/Nav/Modal.tsx
+++ b/src/components/Nav/Modal.tsx
@@ -1,4 +1,4 @@
-import { createEffect, createSignal, onCleanup, onMount, Show } from 'solid-js'
+import { createEffect, createSignal, Show } from 'solid-js'
import type { JSX } from 'solid-js'
import { getLogger } from '../../utils/logger'
import './Modal.scss'
diff --git a/src/components/Nav/Popup.tsx b/src/components/Nav/Popup.tsx
index 5ee469b9..bfb4ef89 100644
--- a/src/components/Nav/Popup.tsx
+++ b/src/components/Nav/Popup.tsx
@@ -1,4 +1,4 @@
-import { createEffect, createSignal, JSX, onCleanup, onMount, Show } from 'solid-js'
+import { createEffect, createSignal, JSX, Show } from 'solid-js'
import styles from './Popup.module.scss'
import { clsx } from 'clsx'
import { useOutsideClickHandler } from '../../utils/useOutsideClickHandler'
diff --git a/src/components/Nav/ProfileModal.tsx b/src/components/Nav/ProfileModal.tsx
index ae32f97b..2beab06f 100644
--- a/src/components/Nav/ProfileModal.tsx
+++ b/src/components/Nav/ProfileModal.tsx
@@ -15,6 +15,7 @@ export default () => {
const author = createMemo
(() => {
const a: Author = {
+ id: null,
name: 'anonymous',
userpic: '',
slug: ''
diff --git a/src/components/Topic/Card.module.scss b/src/components/Topic/Card.module.scss
index bbfab772..0f499cdd 100644
--- a/src/components/Topic/Card.module.scss
+++ b/src/components/Topic/Card.module.scss
@@ -82,6 +82,7 @@
.topicDetailsItem {
@include font-size(1.5rem);
+
margin-right: 1.6rem;
white-space: nowrap;
diff --git a/src/components/Topic/Full.scss b/src/components/Topic/Full.module.scss
similarity index 66%
rename from src/components/Topic/Full.scss
rename to src/components/Topic/Full.module.scss
index ef8c4baf..f0c39156 100644
--- a/src/components/Topic/Full.scss
+++ b/src/components/Topic/Full.module.scss
@@ -1,11 +1,19 @@
-.topic__header {
+.topicHeader {
@include font-size(1.7rem);
padding-top: 5.8rem;
text-align: center;
+
+ h1 {
+ color: #2638d9;
+ font-weight: 500;
+ text-transform: uppercase;
+
+ @include font-size(2rem);
+ }
}
-.topic__actions {
+.topicActions {
margin-top: 2.8rem;
button,
diff --git a/src/components/Topic/Full.tsx b/src/components/Topic/Full.tsx
index 5923ead9..c6bb57fa 100644
--- a/src/components/Topic/Full.tsx
+++ b/src/components/Topic/Full.tsx
@@ -1,10 +1,11 @@
import { createMemo, Show } from 'solid-js'
import type { Topic } from '../../graphql/types.gen'
import { FollowingEntity } from '../../graphql/types.gen'
-import './Full.scss'
+import styles from './Full.module.scss'
import { useAuthStore } from '../../stores/auth'
import { follow, unfollow } from '../../stores/zine/common'
import { t } from '../../utils/intl'
+import { clsx } from 'clsx'
type Props = {
topic: Topic
@@ -15,37 +16,35 @@ export const FullTopic = (props: Props) => {
const subscribed = createMemo(() => session()?.news?.topics?.includes(props.topic?.slug))
return (
-
-
-
-
)
}
diff --git a/src/components/Views/Author.tsx b/src/components/Views/Author.tsx
index 52cd189f..59278d34 100644
--- a/src/components/Views/Author.tsx
+++ b/src/components/Views/Author.tsx
@@ -7,7 +7,6 @@ import { t } from '../../utils/intl'
import { useAuthorsStore } from '../../stores/zine/authors'
import { loadAuthorArticles, useArticlesStore } from '../../stores/zine/articles'
-import '../../styles/Topic.scss'
import { useTopicsStore } from '../../stores/zine/topics'
import { useRouter } from '../../stores/router'
import { Beside } from '../Feed/Beside'
diff --git a/src/components/Views/Topic.tsx b/src/components/Views/Topic.tsx
index 934e4ec9..a2760967 100644
--- a/src/components/Views/Topic.tsx
+++ b/src/components/Views/Topic.tsx
@@ -3,7 +3,6 @@ import type { Shout, Topic } from '../../graphql/types.gen'
import { Row3 } from '../Feed/Row3'
import { Row2 } from '../Feed/Row2'
import { Beside } from '../Feed/Beside'
-import { ArticleCard } from '../Feed/Card'
import styles from '../../styles/Topic.module.scss'
import { FullTopic } from '../Topic/Full'
import { t } from '../../utils/intl'
diff --git a/src/graphql/types.gen.ts b/src/graphql/types.gen.ts
index cde59629..7be17aa5 100644
--- a/src/graphql/types.gen.ts
+++ b/src/graphql/types.gen.ts
@@ -24,6 +24,7 @@ export type AuthResult = {
export type Author = {
bio?: Maybe
caption?: Maybe
+ id: Scalars['Int']
links?: Maybe>>
name: Scalars['String']
slug: Scalars['String']
@@ -69,6 +70,7 @@ export type Collection = {
createdAt: Scalars['DateTime']
createdBy: User
desc?: Maybe
+ id: Scalars['Int']
publishedAt?: Maybe
slug: Scalars['String']
title: Scalars['String']
@@ -84,6 +86,7 @@ export type Community = {
createdAt: Scalars['DateTime']
createdBy: User
desc?: Maybe
+ id: Scalars['Int']
name: Scalars['String']
pic: Scalars['String']
slug: Scalars['String']
@@ -329,10 +332,12 @@ export type ProfileInput = {
export type Query = {
authorsAll: Array>
collectionsAll: Array>
+ getAuthor: User
getCollabs: Array>
getCommunities: Array>
getCommunity: Community
getShoutBySlug: Shout
+ getTopic: Topic
getUserCollections: Array>
getUserRoles: Array>
getUsersBySlugs: Array>
@@ -371,6 +376,10 @@ export type Query = {
userReactedShouts: Array>
}
+export type QueryGetAuthorArgs = {
+ slug: Scalars['String']
+}
+
export type QueryGetCommunityArgs = {
slug?: InputMaybe
}
@@ -379,6 +388,10 @@ export type QueryGetShoutBySlugArgs = {
slug: Scalars['String']
}
+export type QueryGetTopicArgs = {
+ slug: Scalars['String']
+}
+
export type QueryGetUserCollectionsArgs = {
author: Scalars['String']
}
diff --git a/src/styles/Topic.scss b/src/styles/Topic.module.scss
similarity index 82%
rename from src/styles/Topic.scss
rename to src/styles/Topic.module.scss
index 20b16c28..fa18beab 100644
--- a/src/styles/Topic.scss
+++ b/src/styles/Topic.module.scss
@@ -1,11 +1,11 @@
-.topic-page {
- .group__controls {
+.topicPage {
+ .groupControls {
align-items: baseline;
margin-bottom: 4rem;
margin-top: 7rem;
}
- .floor--important {
+ .floorImportant {
a:hover {
background: #fff;
color: #000 !important;
diff --git a/src/styles/app.scss b/src/styles/app.scss
index 2e23e357..0adff8f6 100644
--- a/src/styles/app.scss
+++ b/src/styles/app.scss
@@ -487,7 +487,7 @@ figcaption {
a {
border-bottom: 2px solid #fff;
- color: rgba(0, 0, 0, 0.5);
+ color: rgb(0 0 0 / 50%);
&:hover {
color: #fff;
@@ -746,7 +746,7 @@ details {
cursor: pointer;
margin-bottom: 0;
- &:before {
+ &::before {
content: '';
background: url(/icons/expand.svg) no-repeat;
background-size: contain;
@@ -762,7 +762,7 @@ details {
}
&[open] {
- h3:before {
+ h3::before {
transform: rotate(180deg);
}
}
diff --git a/src/utils/useOutsideClickHandler.ts b/src/utils/useOutsideClickHandler.ts
index cfeb71a1..e1102d4f 100644
--- a/src/utils/useOutsideClickHandler.ts
+++ b/src/utils/useOutsideClickHandler.ts
@@ -17,7 +17,7 @@ export const useOutsideClickHandler = (options: Options) => {
return
}
- options.handler()
+ handler()
}
onMount(() => {