├── .env.example ├── .gitignore ├── .prettierrc ├── LICENSE ├── README.md ├── graphql-codegen.yml ├── next-env.d.ts ├── next.config.js ├── package.json ├── prisma ├── migrations │ ├── 20210507145408_init │ │ └── migration.sql │ └── migration_lock.toml └── schema.prisma ├── server ├── decorators │ └── gql-context.ts ├── guards │ └── require-auth.ts ├── lib │ ├── auth.ts │ ├── constants.ts │ ├── graphql.ts │ ├── markdown.ts │ ├── passport.ts │ ├── prisma.ts │ ├── singleton.ts │ └── utils.ts ├── queues │ ├── notification.processor.ts │ └── notification.queue.ts └── resolvers │ ├── auth.resolver.ts │ ├── comment.resolver.ts │ ├── current-user.resolver.ts │ ├── notification.resolver.ts │ ├── resolver.types.ts │ ├── topic.resolver.ts │ └── user.resolver.ts ├── src ├── components │ ├── Avatar.tsx │ ├── Button.tsx │ ├── Comment.tsx │ ├── CommentLikeButton.tsx │ ├── DropdownMenu.tsx │ ├── Header.tsx │ ├── Main.tsx │ ├── Spinner.tsx │ ├── TopicLikeButton.tsx │ ├── TopicReplyButton.tsx │ └── UniLink.tsx ├── css │ ├── main.css │ └── markdown.css ├── generated │ └── graphql.tsx ├── graphql │ ├── createComment.graphql │ ├── createTopic.graphql │ ├── hideTopic.graphql │ ├── likeComment.graphql │ ├── likeTopic.graphql │ ├── markAllNotificationsAsRead.graphql │ ├── notifications.graphql │ ├── notificationsCount.graphql │ ├── profile.graphql │ ├── topic.graphql │ ├── topicForEdit.graphql │ ├── topics.graphql │ └── updateTopic.graphql ├── hooks │ ├── useAuth.ts │ └── useRefreshProps.ts ├── lib │ ├── avatar.ts │ ├── date.ts │ ├── store.ts │ ├── urql-client.ts │ └── utils.ts └── pages │ ├── _app.tsx │ ├── _document.tsx │ ├── api │ ├── admin │ │ └── queues.ts │ ├── connect │ │ └── github │ │ │ ├── callback.ts │ │ │ └── index.ts │ ├── feed.ts │ ├── graphql.ts │ └── logout.tsx │ ├── edit-topic │ └── [topicId].tsx │ ├── go │ └── [nodeSlug].tsx │ ├── index.tsx │ ├── login.tsx │ ├── new-topic.tsx │ ├── notifications.tsx │ ├── settings.tsx │ ├── t │ └── [topicId].tsx │ └── u │ └── [username].tsx ├── tailwind.config.ts ├── tsconfig.json ├── types.d.ts └── yarn.lock /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/.env.example -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | "@egoist/prettier-config" 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/README.md -------------------------------------------------------------------------------- /graphql-codegen.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/graphql-codegen.yml -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/next-env.d.ts -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/next.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/package.json -------------------------------------------------------------------------------- /prisma/migrations/20210507145408_init/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/prisma/migrations/20210507145408_init/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/prisma/migrations/migration_lock.toml -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/prisma/schema.prisma -------------------------------------------------------------------------------- /server/decorators/gql-context.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/server/decorators/gql-context.ts -------------------------------------------------------------------------------- /server/guards/require-auth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/server/guards/require-auth.ts -------------------------------------------------------------------------------- /server/lib/auth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/server/lib/auth.ts -------------------------------------------------------------------------------- /server/lib/constants.ts: -------------------------------------------------------------------------------- 1 | export const AUTH_COOKIE_NAME = `hakka.auth2` 2 | -------------------------------------------------------------------------------- /server/lib/graphql.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/server/lib/graphql.ts -------------------------------------------------------------------------------- /server/lib/markdown.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/server/lib/markdown.ts -------------------------------------------------------------------------------- /server/lib/passport.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/server/lib/passport.ts -------------------------------------------------------------------------------- /server/lib/prisma.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/server/lib/prisma.ts -------------------------------------------------------------------------------- /server/lib/singleton.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/server/lib/singleton.ts -------------------------------------------------------------------------------- /server/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/server/lib/utils.ts -------------------------------------------------------------------------------- /server/queues/notification.processor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/server/queues/notification.processor.ts -------------------------------------------------------------------------------- /server/queues/notification.queue.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/server/queues/notification.queue.ts -------------------------------------------------------------------------------- /server/resolvers/auth.resolver.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/server/resolvers/auth.resolver.ts -------------------------------------------------------------------------------- /server/resolvers/comment.resolver.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/server/resolvers/comment.resolver.ts -------------------------------------------------------------------------------- /server/resolvers/current-user.resolver.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/server/resolvers/current-user.resolver.ts -------------------------------------------------------------------------------- /server/resolvers/notification.resolver.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/server/resolvers/notification.resolver.ts -------------------------------------------------------------------------------- /server/resolvers/resolver.types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/server/resolvers/resolver.types.ts -------------------------------------------------------------------------------- /server/resolvers/topic.resolver.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/server/resolvers/topic.resolver.ts -------------------------------------------------------------------------------- /server/resolvers/user.resolver.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/server/resolvers/user.resolver.ts -------------------------------------------------------------------------------- /src/components/Avatar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/components/Avatar.tsx -------------------------------------------------------------------------------- /src/components/Button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/components/Button.tsx -------------------------------------------------------------------------------- /src/components/Comment.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/components/Comment.tsx -------------------------------------------------------------------------------- /src/components/CommentLikeButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/components/CommentLikeButton.tsx -------------------------------------------------------------------------------- /src/components/DropdownMenu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/components/DropdownMenu.tsx -------------------------------------------------------------------------------- /src/components/Header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/components/Header.tsx -------------------------------------------------------------------------------- /src/components/Main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/components/Main.tsx -------------------------------------------------------------------------------- /src/components/Spinner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/components/Spinner.tsx -------------------------------------------------------------------------------- /src/components/TopicLikeButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/components/TopicLikeButton.tsx -------------------------------------------------------------------------------- /src/components/TopicReplyButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/components/TopicReplyButton.tsx -------------------------------------------------------------------------------- /src/components/UniLink.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/components/UniLink.tsx -------------------------------------------------------------------------------- /src/css/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/css/main.css -------------------------------------------------------------------------------- /src/css/markdown.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/css/markdown.css -------------------------------------------------------------------------------- /src/generated/graphql.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/generated/graphql.tsx -------------------------------------------------------------------------------- /src/graphql/createComment.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/graphql/createComment.graphql -------------------------------------------------------------------------------- /src/graphql/createTopic.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/graphql/createTopic.graphql -------------------------------------------------------------------------------- /src/graphql/hideTopic.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/graphql/hideTopic.graphql -------------------------------------------------------------------------------- /src/graphql/likeComment.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/graphql/likeComment.graphql -------------------------------------------------------------------------------- /src/graphql/likeTopic.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/graphql/likeTopic.graphql -------------------------------------------------------------------------------- /src/graphql/markAllNotificationsAsRead.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/graphql/markAllNotificationsAsRead.graphql -------------------------------------------------------------------------------- /src/graphql/notifications.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/graphql/notifications.graphql -------------------------------------------------------------------------------- /src/graphql/notificationsCount.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/graphql/notificationsCount.graphql -------------------------------------------------------------------------------- /src/graphql/profile.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/graphql/profile.graphql -------------------------------------------------------------------------------- /src/graphql/topic.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/graphql/topic.graphql -------------------------------------------------------------------------------- /src/graphql/topicForEdit.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/graphql/topicForEdit.graphql -------------------------------------------------------------------------------- /src/graphql/topics.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/graphql/topics.graphql -------------------------------------------------------------------------------- /src/graphql/updateTopic.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/graphql/updateTopic.graphql -------------------------------------------------------------------------------- /src/hooks/useAuth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/hooks/useAuth.ts -------------------------------------------------------------------------------- /src/hooks/useRefreshProps.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/hooks/useRefreshProps.ts -------------------------------------------------------------------------------- /src/lib/avatar.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/lib/avatar.ts -------------------------------------------------------------------------------- /src/lib/date.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/lib/date.ts -------------------------------------------------------------------------------- /src/lib/store.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/lib/store.ts -------------------------------------------------------------------------------- /src/lib/urql-client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/lib/urql-client.ts -------------------------------------------------------------------------------- /src/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/lib/utils.ts -------------------------------------------------------------------------------- /src/pages/_app.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/pages/_app.tsx -------------------------------------------------------------------------------- /src/pages/_document.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/pages/_document.tsx -------------------------------------------------------------------------------- /src/pages/api/admin/queues.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/pages/api/admin/queues.ts -------------------------------------------------------------------------------- /src/pages/api/connect/github/callback.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/pages/api/connect/github/callback.ts -------------------------------------------------------------------------------- /src/pages/api/connect/github/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/pages/api/connect/github/index.ts -------------------------------------------------------------------------------- /src/pages/api/feed.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/pages/api/feed.ts -------------------------------------------------------------------------------- /src/pages/api/graphql.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/pages/api/graphql.ts -------------------------------------------------------------------------------- /src/pages/api/logout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/pages/api/logout.tsx -------------------------------------------------------------------------------- /src/pages/edit-topic/[topicId].tsx: -------------------------------------------------------------------------------- 1 | export { getServerSideProps, default } from '../new-topic' 2 | -------------------------------------------------------------------------------- /src/pages/go/[nodeSlug].tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/pages/go/[nodeSlug].tsx -------------------------------------------------------------------------------- /src/pages/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/pages/index.tsx -------------------------------------------------------------------------------- /src/pages/login.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/pages/login.tsx -------------------------------------------------------------------------------- /src/pages/new-topic.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/pages/new-topic.tsx -------------------------------------------------------------------------------- /src/pages/notifications.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/pages/notifications.tsx -------------------------------------------------------------------------------- /src/pages/settings.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/pages/settings.tsx -------------------------------------------------------------------------------- /src/pages/t/[topicId].tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/pages/t/[topicId].tsx -------------------------------------------------------------------------------- /src/pages/u/[username].tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/src/pages/u/[username].tsx -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/tailwind.config.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/tsconfig.json -------------------------------------------------------------------------------- /types.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/types.d.ts -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/egoist/hakka/HEAD/yarn.lock --------------------------------------------------------------------------------