This commit is contained in:
tonyrewin 2022-09-09 14:53:35 +03:00
commit 44e0d11832
348 changed files with 30142 additions and 0 deletions

14
.editorconfig Normal file
View File

@ -0,0 +1,14 @@
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
max_line_length = 108
[*.md]
max_line_length=off
[*.mdx]
max_line_length=off

5
.eslintignore Normal file
View File

@ -0,0 +1,5 @@
node_modules
public
*.cjs
src/graphql/*.gen.ts
src/legacy_*

85
.eslintrc.js Normal file
View File

@ -0,0 +1,85 @@
module.exports = {
plugins: ['@typescript-eslint', 'import', 'sonarjs', 'unicorn', 'promise', 'solid', 'jest'],
extends: [
'eslint:recommended',
'plugin:import/recommended',
'plugin:import/typescript',
'prettier',
'plugin:sonarjs/recommended',
'plugin:unicorn/recommended',
'plugin:promise/recommended',
'plugin:solid/recommended',
'plugin:jest/recommended'
],
overrides: [
{
files: ['**/*.ts', '**/*.tsx'],
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaVersion: 2021,
ecmaFeatures: { jsx: true },
sourceType: 'module',
project: './tsconfig.json'
},
extends: [
'plugin:@typescript-eslint/recommended'
// Maybe one day...
// 'plugin:@typescript-eslint/recommended-requiring-type-checking'
],
rules: {
'@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }],
// TODO: Remove any usage and enable
'@typescript-eslint/no-explicit-any': 'off',
// TODO: Fix errors and enable this rule
'@typescript-eslint/no-non-null-assertion': 'off',
// solid-js fix
'import/no-unresolved': [2, { ignore: ['solid-js/'] }]
}
}
],
env: {
browser: true,
node: true,
mocha: true
},
globals: {},
rules: {
// FIXME: turn on
'import/no-default-export': 'off',
// FIXME
'unicorn/prefer-dom-node-append': 'off',
// TEMP
// FIXME
'solid/reactivity': 'off',
// TODO: Should be enabled
'promise/catch-or-return': 'off',
'solid/no-innerhtml': 'off',
/** Unicorn **/
'unicorn/no-null': 'off',
'unicorn/filename-case': 'off',
'unicorn/no-array-for-each': 'off',
'unicorn/no-array-reduce': 'off',
'unicorn/prefer-string-replace-all': 'warn',
'unicorn/prevent-abbreviations': 'off',
'unicorn/prefer-module': 'off',
'unicorn/import-style': 'off',
'unicorn/numeric-separators-style': 'off',
'unicorn/prefer-node-protocol': 'off',
eqeqeq: 'error',
'no-param-reassign': 'error',
'no-nested-ternary': 'error'
},
settings: {
'import/resolver': {
typescript: true,
node: true
}
}
}

21
.github/workflows/node-ci.yml vendored Normal file
View File

@ -0,0 +1,21 @@
name: CI
on: [pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '16'
- name: Install deps
run: yarn install
- name: Lint
run: npm run lint
- name: Type check
run: npm run typecheck

15
.gitignore vendored Normal file
View File

@ -0,0 +1,15 @@
dist/
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
.vscode
.env
.env.production
.DS_Store
.vercel
.idea/
.eslint/.eslintcache
public/upload/*
src/graphql/introspec.gen.ts

4
.husky/pre-commit Executable file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
npm run pre-commit

4
.husky/pre-push Executable file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
npm run pre-push

6
.lintstagedrc Normal file
View File

@ -0,0 +1,6 @@
{
"*.{js,ts,tsx,json,scss,css,html,astro}": "prettier --write",
"package.json": "sort-package-json",
"*.{scss,css}": "stylelint",
"*.{ts,tsx,js}": "eslint --fix",
}

2
.npmrc Normal file
View File

@ -0,0 +1,2 @@
# Expose Astro dependencies for `pnpm` users
shamefully-hoist=true

17
.prettierrc.json Normal file
View File

@ -0,0 +1,17 @@
{
"htmlWhitespaceSensitivity": "ignore",
"semi": false,
"singleQuote": true,
"proseWrap": "always",
"printWidth": 108,
"trailingComma": "none",
"plugins": [],
"overrides": [
{
"files": "*.ts",
"options": {
"parser": "typescript"
}
}
]
}

22
.stylelintrc Normal file
View File

@ -0,0 +1,22 @@
{
"extends": [
"stylelint-config-standard-scss",
"stylelint-config-prettier-scss",
"stylelint-config-css-modules"
],
"plugins": [
"stylelint-order",
"stylelint-scss"
],
"rules": {
"selector-class-pattern": null,
"no-descending-specificity": null,
"scss/function-no-unknown": null,
"function-url-quotes": null,
"font-family-no-missing-generic-family-keyword": null,
"order/order": [
"custom-properties",
"declarations"
]
}
}

141
CHANGELOG.txt Normal file
View File

@ -0,0 +1,141 @@
[0.5.1]
[+] nanostores-based custom spa routing
[-] Root.tsx components
[+] astro/solid basic hydration
[0.5.0]
[-] removed solid-primitives/i18n
[+] added custom dummy utils/intl
[-] solid-app-router
[+] astro build and routing
[-] solid-top-loading-bar
[+] lint, prettier
[-] context providers, _cache
[+] ssr PoW
[0.4.1]
[-] markdown-it
[+] remark, rehype, gfm
[+] api fixes
[0.4.0]
[+] upload, feedback, newsletter serverless
[-] ratings
[-] comments
[-] proposals
[+] universal reaction entity
[+] staged preload
[0.3.1]
[+] promisisified stores
[+] prerender based on mdx
[+] hybryd zine state manager
[0.3.0]
[+] markup is simpler
[+] really use mdx
[+] really use i18n
[+] refactored queries
[+] final routing
[0.2.1]
[+] custom store
[+] playwright
[+] mdx
[0.2.0]
[-] sveltekit
[-] graphql-request
[+] migrated to solid
[+] urql
[+] graphql caching results
[0.1.0]
[+] husky, lint-staged
[+] components refactoring
[+] 'static' pages fixes
[+] ShoutFeed's reusable components
[+] render order revised
[0.0.9]
[+] lots of visual changes for demo
[+] cookie-based subscriptions
[+] prerender fix
[+] refactor queries
[+] caching topics with localStorage
[+] added some 'static' routes
[0.0.8]
[+] isolated editor codebase
[+] sveo
[+] SSG first
[+] svelte-kit caching fixes
[+] isolated MD component
[-] code cleanup
[-] /auth route
[-] top nav changes
[0.0.7]
[+] nav refactoring /[what] /@[who]
[+] /reset/[code], /reset/password
[+] modal auth dialog
[+] Topic.pic field
[+] internal svelte prerender
[+] GET_SHOUTS, TOP_SHOUTS_BY_RATING, GET_TOPICS, GET_COMMUNITIES via caching json trick
[~] User.username -> User.name
[0.0.6]
[-] organization, org_id
[+] community entity
[+] mainpage markup
[+] topics filter navigation
[+] monor schema fixes
[-] gitea.js api
[-] postcss with plugins
[-] bootstrap
[+] windicss
[+] async sveltekit-styled queries
[+] login basic markup
[0.0.5]
[+] migrate to sveltekit
[-] removed apollo due bug
[-] removed custom prerender code
[+] stylelint enabled
[+] precompiler windows support
[+] precompiler separated
[0.0.4]
[+] precompiler generated static indexes
[-] puppeteer switched off
[+] topic entity added
[-] i18n switched off
[+] own signaling server connected
[-] store-based routing removed
[+] reset password page
[+] login/register form
[+] social auth fb, ggl, vk
[0.0.3]
[~] prerender with puppeteer
[+] precompiled data.json
[~] international content support
[+] auth graphql client
[-] removed ws yjs-server
[-] pathfinder replaced
[+] mdsvex support
[0.0.2]
[+] apollo client with codegen
[+] ci basics
[+] code organized
[0.0.1]
[+] 3rd party deps: tiptap, apollo,
[+] boiilerplate with esbuild
[+] simple structure

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2021-2022 Discours
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

11
README.md Normal file
View File

@ -0,0 +1,11 @@
# Astro + Solid.js
Created with
```
npm init astro -- --template framework-solid
```
Astro working with [Solid](https://www.solidjs.com/).
Write your Solid components as `.jsx` or `.tsx` files in your project.

53
astro.config.ts Normal file
View File

@ -0,0 +1,53 @@
import { defineConfig, AstroUserConfig } from 'astro/config'
import vercel from '@astrojs/vercel/serverless'
// import node from '@astrojs/node'
import solidJs from '@astrojs/solid-js'
import mdx from '@astrojs/mdx'
// import partytown from '@astrojs/partytown'
import { markdownOptions as markdown } from './mdx.config'
// import sitemap from '@astrojs/sitemap'
import type { CSSOptions } from 'vite'
// const dev = process.env.NODE_ENV != 'production'
const astroConfig: AstroUserConfig = {
site: 'https://new.discours.io',
// Enable Solid to support Solid JSX components.
// experimental: { integrations: true },
integrations: [solidJs(), mdx()], // sitemap({
/* customPages: [
'',
'/feed',
'/search',
'topics',
'authors'
]
})],*/
//, partytown({})],
markdown,
output: 'server',
adapter: vercel(),
vite: {
build: {
chunkSizeWarningLimit: 777,
rollupOptions: {
external: ['@aws-sdk/clients/s3']
}
},
resolve: {
alias: {
'@': './src'
}
},
css: {
preprocessorOptions: {
scss: {
additionalData: '@import "src/styles/imports";\n'
}
}
} as CSSOptions
}
}
// https://astro.build/config
export default defineConfig(astroConfig)

9
clean-git.sh Executable file
View File

@ -0,0 +1,9 @@
git filter-branch --tag-name-filter 'cat' -f --tree-filter '
find . -type d -name binarydir | while read dir
do
find $dir -type f -name "*.ear" -o -name "*.war" -o -name "*.jar" -o -name "*.zip" -o -name "*.exe" | while read file
do
git rm -r -f --ignore-unmatch $file
done
done
' -- --all

20
codegen.yml Normal file
View File

@ -0,0 +1,20 @@
overwrite: true
schema: 'https://newapi.discours.io/graphql'
generates:
src/graphql/introspec.gen.ts:
plugins:
- urql-introspection
config:
useTypeImports: true
includeScalars: true
includeEnums: true
src/graphql/types.gen.ts:
plugins:
- 'typescript'
- 'typescript-operations'
- 'typescript-urql'
config:
skipTypename: true
hooks:
afterAllFileWrite:
- prettier --ignore-path .gitignore --write --plugin-search-dir=. src/graphql/types.gen.ts

66
docs/article.puml Normal file
View File

@ -0,0 +1,66 @@
@startuml
actor User
participant Browser
participant Vercel
participant Astro
participant Solid
participant Store
User -> Browser: discours.io
activate Browser
Browser -> Vercel: GET <slug>
activate Vercel
Vercel -> Astro: render
activate Astro
Astro -> apiClient: getArticle({ slug })
activate apiClient
apiClient -> DB: query: articleBySlug
activate DB
DB --> apiClient: response
deactivate DB
apiClient --> Astro: article data
deactivate apiClient
Astro -> Solid: render <ArticlePage article={article} />
activate Solid
Solid -> Store: useCurrentArticleStore(article)
activate Store
Store -> Store: create store with initial data (server)
Store --> Solid: currentArticle
deactivate Store
Solid -> Solid: render component
Solid --> Astro: rendered component
deactivate Solid
Astro --> Vercel: rendered page
Vercel -> Vercel: save rendered page to CDN
deactivate Astro
Vercel --> Browser: rendered page
deactivate Vercel
Browser --> User: rendered page
deactivate Browser
Browser -> Browser: load client scripts
Browser -> Solid: render <ArticlePage article={article} />
Solid -> Store: useCurrentArticleStore(article)
activate Store
Store -> Store: create store with initial data (client)
Store --> Solid: currentArticle
deactivate Store
Solid -> Solid: render component (no changes)
Solid -> Solid: onMount
Solid -> Store: loadArticleComments
activate Store
Store -> apiClient: getArticleComments
activate apiClient
apiClient -> DB: query: articleReactions
activate DB
DB --> apiClient: response
deactivate DB
apiClient --> Store: comments data
deactivate apiClient
Store -> Store: update store
Store --> Solid: store updated
deactivate Store
Solid -> Solid: render comments
Solid --> Browser: rendered comments
Browser --> User: comments
@enduml

26
mdx.config.ts Normal file
View File

@ -0,0 +1,26 @@
import type { AstroUserConfig } from 'astro'
import { selectAll } from 'hast-util-select'
const write =
(cl) =>
({ properties }) => {
properties.className = properties.className ? properties.className + ' ' + cl : cl
}
const adder = ([selector, className]) => {
const writer = write(className)
return (node) => selectAll(selector, node).forEach((el) => writer(el as any))
}
const addClasses = (additions) => {
const adders = Object.entries(additions).map((entry) => adder(entry))
return (node) => adders.forEach((a) => a(node))
}
export const markdownOptions: AstroUserConfig['markdown'] = {
// remarkPlugins: ['remark-code-titles'],
rehypePlugins: [
// 'rehype-slug',
// ['rehype-autolink-headings', { behavior: 'prepend' }],
// ['rehype-toc', { headings: ['h2', 'h3'] }],
[addClasses, { 'h1,h2,h3': 'title' }]
]
}

153
package.json Normal file
View File

@ -0,0 +1,153 @@
{
"name": "discoursio-astro",
"version": "0.5.1",
"private": true,
"license": "MIT",
"scripts": {
"build": "astro build",
"check": "npm run lint && npm run typecheck",
"codegen": "graphql-codegen",
"deploy": "graphql-codegen && npm run typecheck && astro build && vercel",
"dev": "astro dev",
"ffix": "npm run lint:code:fix && npm run lint:styles:fix && npm run format",
"fix": "npm run lint:code:fix && npm run lint:styles:fix",
"format": "npx prettier \"{,!(node_modules)/**/}*.{js,ts,tsx,json,scss,css}\" --write --ignore-path .gitignore",
"lint": "npm run lint:code && npm run lint:styles",
"lint:code": "eslint .",
"lint:code:fix": "eslint . --fix",
"lint:styles": "stylelint **/*.{scss,css}",
"lint:styles:fix": "stylelint **/*.{scss,css} --fix",
"pre-commit": "lint-staged",
"pre-push": "npm run typecheck",
"prepare": "husky install",
"preview": "astro preview",
"server": "node server/server.mjs",
"start": "astro dev",
"typecheck": "astro check && tsc --noEmit",
"typecheck:watch": "tsc --noEmit --watch",
"vercel-build": "astro build"
},
"dependencies": {
"@aws-sdk/client-s3": "^3.159.0",
"@nanostores/i18n": "^0.6.0",
"@nanostores/persistent": "^0.6.2",
"@nanostores/router": "^0.6.0",
"@nanostores/solid": "^0.2.0",
"axios": "^0.27.2",
"google-translate-api-x": "^10.3.5",
"loglevel": "^1.8.0",
"loglevel-plugin-prefix": "^0.8.4",
"mailgun.js": "^8.0.0",
"nanostores": "^0.6.0",
"rehype-autolink-headings": "^6.1.1",
"rehype-slug": "^5.0.1",
"rehype-toc": "^3.0.2",
"remark-code-titles": "^0.1.2"
},
"devDependencies": {
"@astrojs/markdown-remark": "^1.0.0",
"@astrojs/mdx": "^0.11.1",
"@astrojs/node": "^1.0.1",
"@astrojs/partytown": "^1.0.0",
"@astrojs/sitemap": "^1.0.0",
"@astrojs/solid-js": "^1.0.0",
"@astrojs/vercel": "^1.0.1",
"@babel/core": "^7.18.13",
"@graphql-codegen/cli": "^2.6.1",
"@graphql-codegen/typescript": "^2.5.1",
"@graphql-codegen/typescript-operations": "^2.4.2",
"@graphql-codegen/typescript-urql": "^3.5.12",
"@graphql-codegen/urql-introspection": "^2.2.1",
"@graphql-typed-document-node/core": "^3.1.1",
"@popperjs/core": "^2.11.5",
"@solid-primitives/clipboard": "^1.3.0",
"@solid-primitives/event-listener": "^2.2.0",
"@solid-primitives/intersection-observer": "^2.0.0",
"@solid-primitives/scheduled": "^1.0.1",
"@solid-primitives/script-loader": "^1.1.0",
"@solid-primitives/scroll": "^2.0.2",
"@solid-primitives/storage": "^1.3.1",
"@solidjs/meta": "^0.28.0",
"@types/express": "^4.17.13",
"@types/node": "^18.0.0",
"@types/uuid": "^8.3.4",
"@typescript-eslint/eslint-plugin": "^5.29.0",
"@typescript-eslint/parser": "^5.35.1",
"@urql/core": "^3.0.1",
"@urql/devtools": "^2.0.3",
"@urql/exchange-auth": "^1.0.0",
"@urql/exchange-graphcache": "^5.0.0",
"astro": "^1.1.1",
"astro-eslint-parser": "^0.6.1",
"bcryptjs": "^2.4.3",
"bootstrap": "5.1.3",
"clsx": "^1.2.1",
"cookie": "^0.5.0",
"cookie-signature": "^1.2.0",
"eslint": "8.22.0",
"eslint-config-stylelint": "^16.0.0",
"eslint-import-resolver-typescript": "^3.5.0",
"eslint-mdx": "^2.0.2",
"eslint-plugin-astro": "^0.19.0",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-jsx-a11y": "^6.6.1",
"eslint-plugin-mdx": "^2.0.2",
"eslint-plugin-promise": "^6.0.1",
"eslint-plugin-solid": "^0.7.1",
"eslint-plugin-sonarjs": "^0.15.0",
"eslint-plugin-unicorn": "^43.0.2",
"graphql": "^16.5.0",
"graphql-tag": "^2.12.6",
"graphql-ws": "^5.10.0",
"hast-util-select": "^5.0.1",
"husky": "^8.0.0",
"idb": "^7.0.1",
"jest": "^29.0.1",
"jsdom": "^20.0.0",
"lint-staged": "^13.0.3",
"postcss": "^8.4.16",
"prettier": "^2.7.0",
"prettier-eslint": "^15.0.0",
"prosemirror-commands": "^1.3.0",
"prosemirror-dropcursor": "^1.5.0",
"prosemirror-example-setup": "^1.2.1",
"prosemirror-gapcursor": "^1.3.1",
"prosemirror-history": "^1.3.0",
"prosemirror-inputrules": "^1.2.0",
"prosemirror-keymap": "^1.2.0",
"prosemirror-markdown": "^1.9.1",
"prosemirror-menu": "^1.2.1",
"prosemirror-model": "1.16.1",
"prosemirror-schema-basic": "^1.2.0",
"prosemirror-schema-list": "^1.1.6",
"prosemirror-state": "1.3.4",
"prosemirror-view": "^1.26.2",
"rollup": "~2.5.0",
"sass": "^1.54.0",
"solid-js": "^1.5.3",
"solid-js-form": "^0.1.5",
"solid-jsx": "^0.9.0",
"solid-social": "^0.9.0",
"solid-transition-group": "^0.0.11",
"solid-utils": "^0.8.1",
"sort-package-json": "^1.57.0",
"stylelint": "^14.11.0",
"stylelint-config-css-modules": "^4.1.0",
"stylelint-config-prettier-scss": "^0.0.1",
"stylelint-config-standard-scss": "^5.0.0",
"stylelint-order": "^5.0.0",
"stylelint-scss": "^4.3.0",
"swiper": "^8.3.2",
"ts-debounce": "^4.0.0",
"ts-node": "^10.9.1",
"typescript": "4.7.4",
"undici": "^5.10.0",
"unique-names-generator": "^4.7.1",
"uuid": "^9.0.0",
"vite": "^3.0.9",
"y-prosemirror": "^1.1.3",
"y-protocols": "^1.0.5",
"y-webrtc": "^10.2.2",
"yjs": "^13.5.38"
}
}

BIN
public/auth-page.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
public/bonfire.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 744 KiB

29
public/confirm/index.html Normal file
View File

@ -0,0 +1,29 @@
<html>
<head><title>discours.io</title></head>
<body onmousemove="window.close()" onclick="window.close()" onkeydown="window.close()">
<style>
.center {
display: flex;
justify-content: center;
align-items: center;
height: 420px;
}
</style>
<div class="center">
Авторизация завершена, это окно закрывается по куче причин.
</div>
<script>
window.onload = function () {
const ccc = document.cookie.split(';')
if (ccc) {
const t = ccc[0].replace('token=','')
if (t) {
console.log('[auth] got token cookie!')
document.cookie = ""
window.localStorage.setItem('token', t)
}
}
}
</script>
</body>
</html>

BIN
public/discours-banner.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

37
public/error.svg Normal file
View File

@ -0,0 +1,37 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100%" height="100%" viewBox="235.944 106.693 427.409 496.099" enable-background="new 0 0 1024 768" xml:space="preserve" preserveAspectRatio="xMidYMid meet"><rect id="svgEditorBackground" x="0" y="0" width="1024" height="768" style="fill: none; stroke: none;"/>
<rect x="237.168" y="116.252" fill="none" width="420.643" height="486.501"/>
<rect x="577.168" y="136.497" width="39" height="39"/>
<rect x="517.668" y="321.503" width="19.5" height="19.5"/>
<rect x="419.241" y="224.253" width="19.499" height="19.5"/>
<rect x="433.834" y="116.996" width="19.498" height="19.5"/>
<g>
<rect x="370.492" y="203.028" width="63.258" height="4.368"/>
<polygon points="472.812,203.028 472.812,207.396 487.389,207.396 487.389,305.681 491.756,305.681 491.756,203.028 "/>
</g>
<rect x="292.493" y="253.494" width="39" height="39"/>
<rect x="331.492" y="214.496" width="38.999" height="38.998"/>
<g>
<rect x="433.75" y="189.384" width="39.062" height="4.368"/>
</g>
<rect x="311.168" y="203.028" width="21.324" height="4.368"/>
<polygon points="291.576,234.003 295.944,234.003 295.952,222.5 291.584,222.5 "/>
<polyline fill="#FFFFFF" points="291.427,185.013 271.927,185.013 271.927,204.513 "/>
<g>
<polygon points="274.111,204.513 269.743,204.513 269.743,182.829 291.427,182.829 291.427,187.197 274.111,187.197 "/>
</g>
<rect x="331.492" y="292.493" width="38.999" height="38.263"/>
<rect x="389.991" y="307.25" width="38.999" height="77.505"/>
<polygon points="291.334,428.856 247.513,449.108 295.857,350.564 295.929,253.494 291.562,253.494 291.49,349.55 238.168,458.239 291.334,433.669 "/>
<g>
<polygon points="477.181,397.309 331.492,397.309 331.492,392.941 472.812,392.941 472.812,291.147 477.181,291.147 "/>
</g>
<rect x="311.992" y="419.166" width="39" height="56.587"/>
<rect x="350.991" y="404.84" width="39" height="11.413"/>
<polygon points="600.996,300.919 558.996,300.919 584.996,377.916 626.996,377.916 "/>
<polygon points="350.992,136.497 350.992,155.996 331.492,155.996 331.492,175.496 376,175.496 414.375,175.497 414.375,136.497 "/>
<polygon points="584.914,378.594 543.914,378.594 558.914,424.596 549.914,418.594 475.914,418.594 505.529,437.055 389.991,437.08 389.991,455.753 389.668,455.753 350.992,455.753 350.992,416.253 311.992,416.253 311.992,455.753 311.992,475.753 311.992,494.753 389.668,494.753 389.668,476.367 493.739,476.367 493.754,476.378 568.607,476.378 629.914,514.596 "/>
<polygon points="647.548,571.916 573.279,525.617 533.928,525.617 656.928,601.619 "/>
<polygon points="518.166,175.496 518.166,174.5 518.166,155.996 537.666,155.996 537.666,136.497 453.375,136.497 453.375,175.498 518.166,175.499 "/>
<polygon points="576.666,175.496 537.83,175.496 537.83,175.5 537.836,175.5 537.355,321.503 555.168,321.503 555.168,281.752 576.8,281.752 577.149,175.496 "/>
<polygon points="331.398,382.649 281,405.94 281,410.753 331.492,387.418 331.492,382.854 "/>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
public/favicon.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,3 @@
<svg width="13" height="14" viewBox="0 0 13 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.35897 1L11 7M11 7L5.35897 13M11 7H0" stroke="#141414" stroke-width="2"/>
</svg>

After

Width:  |  Height:  |  Size: 188 B

View File

@ -0,0 +1,3 @@
<svg width="13" height="15" viewBox="0 0 13 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.35897 1.5L11 7.5M11 7.5L5.35897 13.5M11 7.5H0" stroke="#fff" stroke-width="2"/>
</svg>

After

Width:  |  Height:  |  Size: 195 B

View File

@ -0,0 +1,3 @@
<svg width="13" height="15" viewBox="0 0 13 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.35897 1.5L11 7.5M11 7.5L5.35897 13.5M11 7.5H0" stroke="#141414" stroke-width="2"/>
</svg>

After

Width:  |  Height:  |  Size: 198 B

6
public/icons/art.svg Normal file
View File

@ -0,0 +1,6 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M2 15.0007H14C14.5523 15.0007 15 14.553 15 14.0007V11.8081C15 11.5478 14.8985 11.2978 14.7171 11.1112L12.217 8.53841C11.8243 8.13437 11.1756 8.13429 10.7828 8.53824L9.67592 9.67674C9.25268 10.112 8.54236 10.0728 8.1696 9.5936L6.14848 6.99514C5.75311 6.48683 4.98738 6.47928 4.58206 6.97969L1.22292 11.127C1.0787 11.3051 1 11.5273 1 11.7564V14.0007C1 14.553 1.44772 15.0007 2 15.0007Z" fill="#141414"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M13 2H2V13H13V2ZM0 0V15H15V0H0Z" fill="#141414"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M17.75 4H16.25V16.25H4V17.75H17.75V4Z" fill="#141414"/>
<path d="M11 4.5C11 5.32843 10.3284 6 9.5 6C8.67157 6 8 5.32843 8 4.5C8 3.67157 8.67157 3 9.5 3C10.3284 3 11 3.67157 11 4.5Z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 866 B

4
public/icons/article.svg Normal file
View File

@ -0,0 +1,4 @@
<svg width="22" height="19" viewBox="0 0 22 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M18.3505 11.5221C20.496 10.6077 22 8.47949 22 6C22 2.68629 19.3137 0 16 0H13C9.68629 0 7 2.68629 7 6C7 9.31371 9.68629 12 13 12H16L18 14V11.6586C18.1186 11.6167 18.2355 11.5711 18.3505 11.5221ZM16.691 10L17.3335 9.77291C18.8898 9.22284 20 7.7385 20 6C20 3.79086 18.2091 2 16 2H13C10.7909 2 9 3.79086 9 6C9 8.20914 10.7909 10 13 10H16.691Z" fill="#141414"/>
<path d="M6.3226 4C6.11302 4.68019 6 5.40426 6 6.15536C6 10.1074 9.12903 13.3112 12.9889 13.3112H14.8644L15.1446 13.5981C14.0382 15.5119 11.9695 16.7995 9.6 16.7995H6.64L4 18.9995V16.3343C1.65454 15.3849 0 13.0854 0 10.3995C0 6.89076 2.82364 4.04146 6.3226 4Z" fill="#141414"/>
</svg>

After

Width:  |  Height:  |  Size: 787 B

View File

@ -0,0 +1,6 @@
<svg width="21" height="17" viewBox="0 0 21 17" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 17C0 12.5817 3.58172 9 8 9C12.4183 9 16 12.5817 16 17H0Z" fill="#141414"/>
<path d="M4 4C4 1.79086 5.79086 0 8 0C10.2091 0 12 1.79086 12 4C12 6.20914 10.2091 8 8 8C5.79086 8 4 6.20914 4 4Z" fill="#141414"/>
<path d="M13 6H21V8H13V6Z" fill="#141414"/>
<path d="M18 3V11H16V3H18Z" fill="#141414"/>
</svg>

After

Width:  |  Height:  |  Size: 411 B

View File

@ -0,0 +1,5 @@
<svg width="21" height="17" viewBox="0 0 21 17" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 17C0 12.5817 3.58172 9 8 9C12.4183 9 16 12.5817 16 17H0Z" fill="#141414"/>
<path d="M4 4C4 1.79086 5.79086 0 8 0C10.2091 0 12 1.79086 12 4C12 6.20914 10.2091 8 8 8C5.79086 8 4 6.20914 4 4Z" fill="#141414"/>
<path d="M13 6H21V8H13V6Z" fill="#141414"/>
</svg>

After

Width:  |  Height:  |  Size: 366 B

View File

@ -0,0 +1,3 @@
<svg width="18" height="20" viewBox="0 0 18 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.71176 2.49041L8.40551 2.26722V1.55186C8.4056 1.55036 8.40572 1.54846 8.40589 1.54616C8.40697 1.53163 8.40964 1.50407 8.41583 1.46825C8.42899 1.39201 8.4535 1.30486 8.49268 1.22923C8.52946 1.15823 8.57081 1.11241 8.61909 1.08135C8.6628 1.05322 8.7689 1 8.99954 1C9.23018 1 9.33628 1.05322 9.38 1.08135C9.42827 1.11241 9.46962 1.15823 9.5064 1.22923C9.54558 1.30486 9.57009 1.39201 9.58325 1.46825C9.58944 1.50407 9.59211 1.53163 9.59319 1.54616C9.59336 1.54846 9.59348 1.55036 9.59358 1.55186V2.26722L10.2873 2.49041C12.7482 3.28211 14.3757 5.49002 14.3757 7.94197V12.8672C14.3757 13.986 14.82 14.759 15.3994 15.377C15.6695 15.665 15.9739 15.925 16.2499 16.1586C16.2731 16.1783 16.2962 16.1978 16.3192 16.2172C16.5518 16.4139 16.7728 16.6007 16.991 16.8057C16.9922 16.8139 16.9934 16.8231 16.9946 16.8335C17.0069 16.9472 16.999 17.1091 16.962 17.2772C16.9459 17.3502 16.9271 17.4118 16.9087 17.4615H10.5936H9.59358V18.4481C9.59348 18.4496 9.59336 18.4515 9.59319 18.4538C9.59211 18.4684 9.58944 18.4959 9.58325 18.5318C9.57009 18.608 9.54558 18.6951 9.5064 18.7708C9.46962 18.8418 9.42827 18.8876 9.38 18.9187C9.33628 18.9468 9.23018 19 8.99954 19C8.7689 19 8.6628 18.9468 8.61909 18.9187C8.57081 18.8876 8.52946 18.8418 8.49268 18.7708C8.4535 18.6951 8.42899 18.608 8.41583 18.5318C8.40964 18.4959 8.40697 18.4684 8.40589 18.4538C8.40572 18.4515 8.4056 18.4496 8.40551 18.4481V17.4615H7.40551H1.09134C1.07295 17.4118 1.05414 17.3502 1.03802 17.2772C1.00095 17.1091 0.993067 16.9472 1.00542 16.8335C1.00655 16.8231 1.00778 16.8139 1.00901 16.8057C1.22708 16.6008 1.44781 16.4142 1.6802 16.2176C1.70337 16.198 1.72666 16.1783 1.75007 16.1585C2.02607 15.9249 2.33033 15.6649 2.60028 15.3768C3.17948 14.7587 3.62341 13.9857 3.62341 12.8672V7.94197C3.62341 5.49001 5.25088 3.28211 7.71176 2.49041ZM16.8354 17.6091C16.8354 17.609 16.8361 17.608 16.8377 17.6061C16.8362 17.6082 16.8354 17.6091 16.8354 17.6091ZM1.16462 17.6091C1.16462 17.6091 1.16384 17.6082 1.16228 17.6061C1.16385 17.608 1.16463 17.609 1.16462 17.6091Z" stroke="black" stroke-width="2"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

3
public/icons/bell.svg Normal file
View File

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.62341 9.94197C5.62341 7.03661 7.54968 4.45722 10.4055 3.53846C10.4055 3.53846 10.4055 2 11.9995 2C13.5936 2 13.5936 3.53846 13.5936 3.53846C16.4494 4.45722 18.3757 7.03661 18.3757 9.94197V14.8672C18.3757 16.4791 19.587 17.0249 20.7679 18.1647C21.2637 18.6432 20.9125 20.4615 20.2113 20.4615H13.5936C13.5936 20.4615 13.5936 22 11.9995 22C10.4055 22 10.4055 20.4615 10.4055 20.4615H3.78871C3.08745 20.4615 2.73626 18.6432 3.23212 18.1647C4.41304 17.0249 5.62341 16.4791 5.62341 14.8672V9.94197Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 624 B

View File

@ -0,0 +1,3 @@
<svg width="14" height="19" viewBox="0 0 14 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 0H14V18.6667L7 14.9333L0 18.6667V0ZM2 2V15.3333L7 12.6667L12 15.3333V2H2Z" fill="#141414"/>
</svg>

After

Width:  |  Height:  |  Size: 207 B

View File

@ -0,0 +1,3 @@
<svg width="14" height="19" viewBox="0 0 14 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 0H14V18.6667L7 14.9333L0 18.6667V0ZM2 2V15.3333L7 12.6667L12 15.3333V2H2Z" fill="#141414"/>
</svg>

After

Width:  |  Height:  |  Size: 247 B

View File

@ -0,0 +1,3 @@
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="1" y="1" width="26" height="26" stroke="black" stroke-width="2"/>
</svg>

After

Width:  |  Height:  |  Size: 178 B

View File

@ -0,0 +1,4 @@
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="1" y="1" width="26" height="26" stroke="black" stroke-width="2"/>
<path d="M24 8.96676L22.0332 7L11.0637 17.9695L5.96676 12.8449L4 14.8116L11.0637 21.8753L24 8.96676Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 295 B

View File

@ -0,0 +1,4 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 2C0 0.895431 0.895431 0 2 0H18C19.1046 0 20 0.895431 20 2V18C20 19.1046 19.1046 20 18 20H2C0.895431 20 0 19.1046 0 18V2Z" fill="#141414"/>
<path d="M5 9.5L8.66667 13L16 6" stroke="white" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 323 B

View File

@ -0,0 +1,5 @@
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="1" y="1" width="26" height="26" stroke="black" stroke-width="2"/>
<path d="M11.9043 20.7354C12.168 21.19 12.5465 21.5673 13.002 21.8296C13.4574 22.092 13.9737 22.23 14.4993 22.23C15.0249 22.23 15.5412 22.092 15.9966 21.8296C16.4521 21.5673 16.8306 21.19 17.0943 20.7354H11.9043Z" fill="black"/>
<path d="M20.7325 15.2479L20.4062 14.9851C20.3185 14.9148 20.2477 14.8257 20.1991 14.7244C20.1504 14.623 20.1251 14.512 20.125 14.3995V11.3666C20.1246 10.0632 19.6724 8.80032 18.8456 7.79338C18.0188 6.78644 16.8686 6.09781 15.5912 5.84495C15.529 5.60314 15.3882 5.38892 15.191 5.23596C14.9937 5.083 14.7513 5 14.5019 5C14.2524 5 14.01 5.083 13.8128 5.23596C13.6156 5.38892 13.4748 5.60314 13.4125 5.84495C12.1344 6.09705 10.9834 6.78535 10.1558 7.79236C9.32832 8.79937 8.87561 10.0627 8.875 11.3666V14.3995C8.87493 14.512 8.84962 14.623 8.80094 14.7244C8.75226 14.8257 8.68145 14.9148 8.59375 14.9851L8.2675 15.2479C7.87348 15.5632 7.55509 15.9629 7.33574 16.4176C7.11639 16.8723 7.00166 17.3705 7 17.8754V18.4985C7 18.8967 7.15804 19.2787 7.43934 19.5602C7.72064 19.8418 8.10218 20 8.5 20H20.5C20.8978 20 21.2794 19.8418 21.5607 19.5602C21.842 19.2787 22 18.8967 22 18.4985V17.8829C21.9995 17.3767 21.8853 16.8771 21.6659 16.421C21.4465 15.9649 21.1275 15.564 20.7325 15.2479Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="1" y="1" width="26" height="26" stroke="black" stroke-width="2"/>
<path d="M11.9043 20.7354C12.168 21.19 12.5465 21.5673 13.002 21.8296C13.4574 22.092 13.9737 22.23 14.4993 22.23C15.0249 22.23 15.5412 22.092 15.9966 21.8296C16.4521 21.5673 16.8306 21.19 17.0943 20.7354H11.9043Z" fill="black"/>
<path d="M 11.871 20.758 C 12.138 21.213 12.521 21.59 12.981 21.853 C 13.442 22.115 13.965 22.253 14.496 22.253 C 15.028 22.253 15.55 22.115 16.011 21.853 C 16.472 21.59 16.855 21.213 17.122 20.758 L 11.871 20.758 Z" fill="black"/>
<path d="M 18.582 7.476 C 17.776 6.652 16.736 6.091 15.599 5.867 C 15.536 5.626 15.394 5.412 15.194 5.259 C 14.995 5.106 14.75 5.023 14.497 5.023 C 14.245 5.023 14 5.106 13.8 5.259 C 13.601 5.412 13.458 5.626 13.395 5.867 C 12.102 6.119 10.938 6.807 10.1 7.813 C 9.263 8.819 8.805 10.081 8.804 11.384 L 8.804 14.414 C 8.804 14.526 8.779 14.637 8.73 14.738 C 8.68 14.839 8.609 14.928 8.52 14.999 L 8.19 15.261 C 7.791 15.576 7.469 15.975 7.247 16.43 C 7.025 16.884 6.909 17.382 6.907 17.886 L 6.907 18.509 C 6.91 18.655 6.934 18.801 6.98 18.94 L 18.582 7.476 Z" fill="black"/>
<path d="M 20.803 15.262 L 20.473 14.999 C 20.384 14.929 20.312 14.84 20.263 14.739 C 20.214 14.637 20.188 14.527 20.188 14.414 L 20.188 11.384 C 20.188 10.529 19.99 9.684 19.608 8.917 C 16.462 12.157 11.397 17.152 8.366 20.009 L 8.427 20.009 L 20.567 20.009 C 20.97 20.009 21.356 19.851 21.641 19.57 C 21.925 19.289 22.085 18.907 22.085 18.509 L 22.085 17.894 C 22.084 17.389 21.969 16.889 21.747 16.434 C 21.525 15.978 21.202 15.578 20.803 15.262 Z" fill="black"/>
<path d="M 6.909 21.883 C 6.759 21.883 6.613 21.838 6.489 21.756 C 6.365 21.674 6.268 21.557 6.211 21.42 C 6.154 21.283 6.138 21.133 6.168 20.988 C 6.197 20.843 6.268 20.709 6.374 20.605 L 20.791 6.354 C 20.933 6.214 21.126 6.135 21.328 6.135 C 21.529 6.135 21.722 6.214 21.865 6.354 C 22.007 6.495 22.087 6.686 22.087 6.885 C 22.087 7.084 22.007 7.275 21.865 7.416 L 7.447 21.666 C 7.377 21.735 7.292 21.79 7.2 21.828 C 7.108 21.865 7.009 21.884 6.909 21.883 Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,3 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M2 1H18V-1H2V1ZM19 2V18H21V2H19ZM18 19H2V21H18V19ZM1 18V2H-1V18H1ZM2 19C1.44772 19 1 18.5523 1 18H-1C-1 19.6569 0.343147 21 2 21V19ZM19 18C19 18.5523 18.5523 19 18 19V21C19.6569 21 21 19.6569 21 18H19ZM18 1C18.5523 1 19 1.44772 19 2H21C21 0.343146 19.6569 -1 18 -1V1ZM2 -1C0.343146 -1 -1 0.343147 -1 2H1C1 1.44772 1.44772 1 2 1V-1Z" fill="#141414"/>
</svg>

After

Width:  |  Height:  |  Size: 462 B

3
public/icons/close.svg Normal file
View File

@ -0,0 +1,3 @@
<svg width="16" height="18" viewBox="0 0 16 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.99987 7.52552L14.1871 0.92334L15.9548 2.80968L9.76764 9.41185L15.9548 16.014L14.1871 17.9004L7.99987 11.2982L1.81269 17.9004L0.0449219 16.014L6.23211 9.41185L0.0449225 2.80968L1.81269 0.92334L7.99987 7.52552Z" fill="#141414"/>
</svg>

After

Width:  |  Height:  |  Size: 382 B

3
public/icons/comment.svg Normal file
View File

@ -0,0 +1,3 @@
<svg width="18" height="22" viewBox="0 0 18 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9 0C4.04148 0 0 4.04148 0 9C0 13.9585 4.04148 18 9 18V21.0918L10.5391 20.1055C12.7749 18.6714 16.8521 15.5753 17.7988 10.8828C17.9284 10.2776 18 9.64776 18 9C18 4.04148 13.9585 0 9 0ZM9 2C12.8775 2 16 5.12252 16 9C16 9.50418 15.9446 9.99539 15.8418 10.4727L15.8398 10.4805L15.8379 10.4863C15.2437 13.4344 12.9716 15.6052 11 17.1387V15.7988L9.875 15.9395C9.57406 15.9771 9.28394 16 9 16C5.12252 16 2 12.8775 2 9C2 5.12252 5.12252 2 9 2Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 565 B

3
public/icons/delete.svg Normal file
View File

@ -0,0 +1,3 @@
<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 1L6 6M6 6L1 11M6 6L11 1M6 6L11 11" stroke="#696969" stroke-width="2"/>
</svg>

After

Width:  |  Height:  |  Size: 186 B

4
public/icons/dislike.svg Normal file
View File

@ -0,0 +1,4 @@
<svg width="18" height="18" viewBox="0 0 20 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path transform="rotate(180 9 9)" d="M0 8H3V18H0V8Z" fill="#141414"/>
<path transform="rotate(180 9 9)" d="M4 18V8H5.50049C5.81525 8 6.11164 7.85181 6.30049 7.6L8.87932 4.16155C8.95929 4.05493 9.01714 3.93339 9.04947 3.80409L9.93965 0.243377C9.9754 0.100343 10.1039 0 10.2514 0C11.4935 0 12.5005 1.00697 12.5005 2.24913V4.5L12.1636 6.85858C12.0775 7.46101 12.545 8 13.1535 8H19.0005C19.5528 8 20.0005 8.44771 20.0005 9V9.3702C20.0005 9.93081 19.7652 10.4657 19.3519 10.8445L19.2854 10.9055C18.8721 11.2843 18.6369 11.8192 18.6369 12.3798V13.1202C18.6369 13.6808 18.4016 14.2157 17.9883 14.5945L17.651 14.9037C17.4031 15.1309 17.2166 15.4169 17.1085 15.7353L16.256 18.2473C16.1064 18.6879 15.6726 18.9672 15.2095 18.9209L6.00049 18H4Z" fill="#141414"/>
</svg>

After

Width:  |  Height:  |  Size: 855 B

11
public/icons/disproof.svg Normal file
View File

@ -0,0 +1,11 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 287.543 287.543" style="enable-background:new 0 0 287.543 287.543;" xml:space="preserve" width="18" height="18">
<path transform="rotate(180 9 9)" d="M249.891,34.515c-1.183,0-2.286,0.349-3.351,1.009c-7.548,4.683-17.474,7.157-28.784,7.157
c-8.306,0-16.908-1.334-25.61-3.967c-19.508-5.9-36.043-28.702-41.479-36.192C149.524,0.942,147.555,0,145.394,0
c-2.05,0-3.851,0.869-4.946,2.388c-5.415,7.512-21.891,30.369-41.585,36.326c-8.58,2.596-17.627,3.967-26.164,3.967
c-11.138,0-21.303-2.313-28.625-6.514c-1.296-0.743-3.212-1.598-5.254-1.598c-3.426,0-7.049,2.505-7.049,8.1v126.072
c0,35.122,28.631,65.269,52.51,84.374c24.551,19.645,53.198,34.428,59.74,34.428c4.972,0,33.638-14.874,58.399-34.406
c24.396-19.243,53.352-49.506,53.352-84.396V41.271C255.771,36.836,252.896,34.515,249.891,34.515z M222.771,167.088
c0,45.572-74,82.516-77,82.516V48.433c0-0.15,1.08-0.049,1.303,0.258c6.537,9.008,17.948,23.345,31.968,27.586
c16.602,5.022,32.277,3.588,42.419-2.703c0.581-0.361,1.311-0.3,1.311,1.087V167.088z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,4 @@
<svg width="13" height="16" viewBox="0 0 13 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd"
d="M10.1573 7.43667C11.2197 6.70286 11.9645 5.49809 11.9645 4.38095C11.9645 1.90571 10.0478 0 7.58352 0H0.738281V15.3333H8.44876C10.7378 15.3333 12.5121 13.4714 12.5121 11.1824C12.5121 9.51762 11.5702 8.09381 10.1573 7.43667ZM4.02344 2.73828H7.30915C8.2182 2.73828 8.95201 3.47209 8.95201 4.38114C8.95201 5.29019 8.2182 6.024 7.30915 6.024H4.02344V2.73828ZM4.02344 12.5943H7.85677C8.76582 12.5943 9.49963 11.8605 9.49963 10.9515C9.49963 10.0424 8.76582 9.30859 7.85677 9.30859H4.02344V12.5943Z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 669 B

4
public/icons/edit.svg Normal file
View File

@ -0,0 +1,4 @@
<svg width="10" height="12" viewBox="0 0 10 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 7.29824L0.000122786 10.1051L2.77778 10.1053L0 7.29824ZM7.22222 0L0.659722 6.63158L3.4375 9.4386L10 2.80702L7.22222 0Z" fill="#696969"/>
<path d="M0 10.7368H10V12H0V10.7368Z" fill="#696969"/>
</svg>

After

Width:  |  Height:  |  Size: 346 B

View File

@ -0,0 +1,3 @@
<svg width="20" height="12" viewBox="0 0 20 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.0743 0.369228H8.58201V5.05477H3.36478V0.369228H0.872475V12H3.36478V7.31446H8.58201V12H11.0743V0.369228ZM17.715 0.701537H15.9039L13.1624 1.74831V3.99138L15.2892 3.19384V9.85661H13.1624V12H19.6092V9.85661H17.715V0.701537Z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 359 B

View File

@ -0,0 +1,3 @@
<svg width="22" height="12" viewBox="0 0 22 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.6548 0.365999H8.16177V5.05284H2.94309V0.365999H0.450093V12H2.94309V7.31316H8.16177V12H10.6548V0.365999ZM12.9429 1.66236V3.98916C14.1395 3.07506 15.4691 2.64294 16.5993 2.64294C17.7461 2.64294 18.4773 3.07506 18.4773 3.90606C18.4773 4.98636 17.4635 5.4351 16.2835 6.11652C14.6215 7.0971 12.5606 8.16078 12.5606 10.8865V12H21.0368V9.85602L15.386 9.87264C15.4026 9.14136 16.5494 8.52642 17.8956 7.72866C19.3748 6.8478 20.9537 5.71764 20.9537 3.80634C20.9537 1.49616 19.1089 0.465719 16.832 0.465719C15.4525 0.465719 14.1063 0.831359 12.9429 1.66236Z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 686 B

View File

@ -0,0 +1,3 @@
<svg width="14" height="15" viewBox="0 0 14 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.94113 0V3.21429H7.21613L3.69555 11.7857H0.823486V15H9.05878V11.7857H6.78378L10.3044 3.21429H13.1764V0H4.94113Z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 249 B

View File

@ -0,0 +1,3 @@
<svg width="18" height="10" viewBox="0 0 18 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.71 5C1.71 3.461 2.961 2.21 4.5 2.21H8.1V0.5H4.5C2.016 0.5 0 2.516 0 5C0 7.484 2.016 9.5 4.5 9.5H8.1V7.79H4.5C2.961 7.79 1.71 6.539 1.71 5ZM5.39844 5.90156H12.5984V4.10156H5.39844V5.90156ZM9.89941 0.5H13.4994C15.9834 0.5 17.9994 2.516 17.9994 5C17.9994 7.484 15.9834 9.5 13.4994 9.5H9.89941V7.79H13.4994C15.0384 7.79 16.2894 6.539 16.2894 5C16.2894 3.461 15.0384 2.21 13.4994 2.21H9.89941V0.5Z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 571 B

View File

@ -0,0 +1,3 @@
<svg width="16" height="10" viewBox="0 0 16 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.99938 9.99967H0.999479L2.99941 5.9998H-0.000488281V0H5.99932V5.9998L3.99938 9.99967ZM13.9994 9.99967H10.9995L12.9994 5.9998H9.99951V0H15.9993V5.9998L13.9994 9.99967Z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 344 B

View File

@ -0,0 +1,5 @@
<svg width="16" height="4" viewBox="0 0 16 4" xmlns="http://www.w3.org/2000/svg">
<path d="M4 2C4 3.10457 3.10457 4 2 4C0.89543 4 0 3.10457 0 2C0 0.89543 0.89543 0 2 0C3.10457 0 4 0.89543 4 2Z"/>
<path d="M10 2C10 3.10457 9.10457 4 8 4C6.89543 4 6 3.10457 6 2C6 0.89543 6.89543 0 8 0C9.10457 0 10 0.89543 10 2Z"/>
<path d="M16 2C16 3.10457 15.1046 4 14 4C12.8954 4 12 3.10457 12 2C12 0.89543 12.8954 0 14 0C15.1046 0 16 0.89543 16 2Z"/>
</svg>

After

Width:  |  Height:  |  Size: 444 B

4
public/icons/eye.svg Normal file
View File

@ -0,0 +1,4 @@
<svg width="20" height="13" viewBox="0 0 20 13" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13 6C13 7.65685 11.6569 9 10 9C8.34315 9 7 7.65685 7 6C7 4.34315 8.34315 3 10 3C11.6569 3 13 4.34315 13 6Z" fill="#141414"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M17.7784 6.5C16.6611 8.44191 13.9671 11 10 11C6.03294 11 3.33893 8.44191 2.22163 6.5C3.33893 4.55809 6.03294 2 10 2C13.9671 2 16.6611 4.55809 17.7784 6.5ZM10 13C15.5228 13 19 9 20 6.5C19 4 15.5228 0 10 0C4.47715 0 1 4 0 6.5C1 9 4.47715 13 10 13Z" fill="#141414"/>
</svg>

After

Width:  |  Height:  |  Size: 551 B

View File

@ -0,0 +1,4 @@
<svg width="10" height="18" viewBox="0 0 10 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M0.677665 9.5705H2.73464V17.4677C2.73464 17.6237 2.87011 17.75 3.0373 17.75H6.52497C6.69216 17.75 6.82764 17.6237 6.82764 17.4677V9.6077H9.1923C9.34605 9.6077 9.47541 9.50011 9.49297 9.35768L9.85211 6.45031C9.86197 6.37032 9.8348 6.29021 9.77741 6.2302C9.71996 6.17014 9.63776 6.13576 9.5515 6.13576H6.82776V4.31328C6.82776 3.76389 7.14495 3.4853 7.77062 3.4853C7.85979 3.4853 9.5515 3.4853 9.5515 3.4853C9.71869 3.4853 9.85417 3.3589 9.85417 3.20304V0.534347C9.85417 0.378427 9.71869 0.252089 9.5515 0.252089H7.09719C7.07988 0.251298 7.04144 0.25 6.98478 0.25C6.55893 0.25 5.07872 0.32796 3.90946 1.33111C2.61393 2.44275 2.79402 3.77377 2.83706 4.00454V6.1357H0.677665C0.510473 6.1357 0.375 6.26204 0.375 6.41796V9.28819C0.375 9.44411 0.510473 9.5705 0.677665 9.5705Z" fill="#ffffff"/>
</svg>

After

Width:  |  Height:  |  Size: 901 B

View File

@ -0,0 +1,4 @@
<svg width="10" height="18" viewBox="0 0 10 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M0.677665 9.5705H2.73464V17.4677C2.73464 17.6237 2.87011 17.75 3.0373 17.75H6.52497C6.69216 17.75 6.82764 17.6237 6.82764 17.4677V9.6077H9.1923C9.34605 9.6077 9.47541 9.50011 9.49297 9.35768L9.85211 6.45031C9.86197 6.37032 9.8348 6.29021 9.77741 6.2302C9.71996 6.17014 9.63776 6.13576 9.5515 6.13576H6.82776V4.31328C6.82776 3.76389 7.14495 3.4853 7.77062 3.4853C7.85979 3.4853 9.5515 3.4853 9.5515 3.4853C9.71869 3.4853 9.85417 3.3589 9.85417 3.20304V0.534347C9.85417 0.378427 9.71869 0.252089 9.5515 0.252089H7.09719C7.07988 0.251298 7.04144 0.25 6.98478 0.25C6.55893 0.25 5.07872 0.32796 3.90946 1.33111C2.61393 2.44275 2.79402 3.77377 2.83706 4.00454V6.1357H0.677665C0.510473 6.1357 0.375 6.26204 0.375 6.41796V9.28819C0.375 9.44411 0.510473 9.5705 0.677665 9.5705Z" fill="#3B5998"/>
</svg>

After

Width:  |  Height:  |  Size: 901 B

3
public/icons/github.svg Normal file
View File

@ -0,0 +1,3 @@
<svg width="1024" height="1024" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<path d="M8 0C3.58 0 0 3.58 0 8C0 11.54 2.29 14.53 5.47 15.59C5.87 15.66 6.02 15.42 6.02 15.21C6.02 15.02 6.01 14.39 6.01 13.72C4 14.09 3.48 13.23 3.32 12.78C3.23 12.55 2.84 11.84 2.5 11.65C2.22 11.5 1.82 11.13 2.49 11.12C3.12 11.11 3.57 11.7 3.72 11.94C4.44 13.15 5.59 12.81 6.05 12.6C6.12 12.08 6.33 11.73 6.56 11.53C4.78 11.33 2.92 10.64 2.92 7.58C2.92 6.71 3.23 5.99 3.74 5.43C3.66 5.23 3.38 4.41 3.82 3.31C3.82 3.31 4.49 3.1 6.02 4.13C6.66 3.95 7.34 3.86 8.02 3.86C8.7 3.86 9.38 3.95 10.02 4.13C11.55 3.09 12.22 3.31 12.22 3.31C12.66 4.41 12.38 5.23 12.3 5.43C12.81 5.99 13.12 6.7 13.12 7.58C13.12 10.65 11.25 11.33 9.47 11.53C9.76 11.78 10.01 12.26 10.01 13.01C10.01 14.08 10 14.94 10 15.21C10 15.42 10.15 15.67 10.55 15.59C13.71 14.53 16 11.53 16 8C16 3.58 12.42 0 8 0Z" transform="scale(64)" fill="#1B1F23"/>
</svg>

After

Width:  |  Height:  |  Size: 916 B

3
public/icons/glasses.svg Normal file
View File

@ -0,0 +1,3 @@
<svg width="17" height="14" viewBox="0 0 17 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.30005 0C4.95005 0 4.76803 0.143337 4.62974 0.251559C4.49146 0.359781 4.38885 0.471564 4.28443 0.596866C4.0756 0.847471 3.87225 1.15189 3.65476 1.50779C3.21976 2.2196 2.73976 3.13154 2.28446 4.04213C1.37388 5.86331 0.568863 7.67489 0.568863 7.67489H0.570425C0.524486 7.7771 0.500532 7.88783 0.500114 7.99989V11.9998C0.500114 11.9998 0.489083 12.3668 0.684486 12.7576C0.879889 13.1484 1.43343 13.5998 2.10009 13.5998H6.90002C7.05983 13.5997 7.21593 13.5517 7.34821 13.462C7.48049 13.3723 7.58289 13.2451 7.6422 13.0967L8.5 10.953L9.3578 13.0967C9.41711 13.2451 9.51951 13.3723 9.65179 13.462C9.78407 13.5517 9.94017 13.5997 10.1 13.5998H14.8999C15.5666 13.5998 16.1201 13.1484 16.3155 12.7576C16.5109 12.3668 16.4999 11.9998 16.4999 11.9998V7.99989C16.5 7.88794 16.4765 7.77722 16.4311 7.67489C16.4311 7.67489 15.6261 5.86331 14.7155 4.04213C14.2602 3.13154 13.7802 2.2196 13.3452 1.50779C13.1277 1.15189 12.9244 0.847471 12.7156 0.596866C12.6111 0.471564 12.5085 0.359781 12.3703 0.251559C12.232 0.143337 12.0499 0 11.7 0C11.1 0 10.7531 0.356895 10.4984 0.662491C10.2437 0.968086 10.0503 1.31037 9.88436 1.64216C9.55256 2.30576 9.34061 2.94683 9.34061 2.94683L10.8593 3.45308C10.8593 3.45308 11.0474 2.89417 11.3156 2.35778C11.4197 2.14964 11.5305 1.985 11.6343 1.83747C11.7401 1.98271 11.843 2.11849 11.9796 2.34215C12.3696 2.98033 12.8396 3.86836 13.2843 4.75774C13.7276 5.64438 14.1465 6.53116 14.4562 7.1999H2.54383C2.85348 6.53116 3.27237 5.64438 3.71569 4.75774C4.16039 3.86836 4.63037 2.98033 5.02036 2.34215C5.15705 2.11849 5.25988 1.98271 5.36567 1.83747C5.46951 1.985 5.58035 2.14964 5.68441 2.35778C5.95261 2.89417 6.14066 3.45308 6.14066 3.45308L7.65939 2.94683C7.65939 2.94683 7.44744 2.30576 7.11564 1.64216C6.94975 1.31037 6.75625 0.968086 6.50159 0.662491C6.24693 0.356895 5.90004 0 5.30005 0ZM2.10009 8.79988H7.63907L6.35784 11.9998H2.10009V8.79988ZM9.36093 8.79988H14.8999V11.9998H10.6422L9.36093 8.79988Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

6
public/icons/google.svg Normal file
View File

@ -0,0 +1,6 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.99823 3.09333C9.50045 3.09333 10.5138 3.74222 11.0916 4.28445L13.3493 2.08C11.9627 0.791111 10.1582 0 7.99823 0C4.86934 0 2.16712 1.79556 0.851562 4.40889L3.43823 6.41778C4.08712 4.48889 5.88267 3.09333 7.99823 3.09333Z" fill="#EA4335"/>
<path d="M15.68 8.17852C15.68 7.52075 15.6267 7.04075 15.5111 6.54297H8V9.51186H12.4089C12.32 10.2496 11.84 11.3607 10.7733 12.1074L13.2978 14.063C14.8089 12.6674 15.68 10.6141 15.68 8.17852Z" fill="#4285F4"/>
<path d="M3.44889 9.58349C3.28 9.08571 3.18222 8.55238 3.18222 8.00127C3.18222 7.45016 3.28 6.91682 3.44 6.41905L0.853333 4.41016C0.311111 5.4946 0 6.71238 0 8.00127C0 9.29016 0.311111 10.5079 0.853333 11.5924L3.44889 9.58349Z" fill="#FBBC05"/>
<path d="M7.99813 15.9998C10.1581 15.9998 11.9715 15.2887 13.2959 14.062L10.7715 12.1065C10.0959 12.5776 9.18924 12.9065 7.99813 12.9065C5.88257 12.9065 4.08702 11.5109 3.44702 9.58203L0.860352 11.5909C2.17591 14.2043 4.86924 15.9998 7.99813 15.9998Z" fill="#34A853"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

6
public/icons/image.svg Normal file
View File

@ -0,0 +1,6 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M2 15.0007H14C14.5523 15.0007 15 14.553 15 14.0007V11.8081C15 11.5478 14.8985 11.2978 14.7171 11.1112L12.217 8.53841C11.8243 8.13437 11.1756 8.13429 10.7828 8.53824L9.67592 9.67674C9.25268 10.112 8.54236 10.0728 8.1696 9.5936L6.14848 6.99514C5.75311 6.48683 4.98738 6.47928 4.58206 6.97969L1.22292 11.127C1.0787 11.3051 1 11.5273 1 11.7564V14.0007C1 14.553 1.44772 15.0007 2 15.0007Z" fill="#141414"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M13 2H2V13H13V2ZM0 0V15H15V0H0Z" fill="#141414"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M17.75 4H16.25V16.25H4V17.75H17.75V4Z" fill="#141414"/>
<path d="M11 4.5C11 5.32843 10.3284 6 9.5 6C8.67157 6 8 5.32843 8 4.5C8 3.67157 8.67157 3 9.5 3C10.3284 3 11 3.67157 11 4.5Z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 866 B

View File

@ -0,0 +1,3 @@
<svg width="18" height="22" viewBox="0 0 18 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9 0.700195C4.04148 0.700195 0 4.74168 0 9.7002C0 14.6587 4.04148 18.7002 9 18.7002V21.792L10.5391 20.8057C12.7749 19.3716 16.8521 16.2755 17.7988 11.583C17.9284 10.9778 18 10.348 18 9.7002C18 4.74168 13.9585 0.700195 9 0.700195ZM9 2.7002C12.8775 2.7002 16 5.82271 16 9.7002C16 10.2044 15.9446 10.6956 15.8418 11.1729L15.8398 11.1807L15.8379 11.1865C15.2437 14.1346 12.9716 16.3054 11 17.8389V16.499L9.875 16.6396C9.57406 16.6773 9.28394 16.7002 9 16.7002C5.12252 16.7002 2 13.5777 2 9.7002C2 5.82271 5.12252 2.7002 9 2.7002Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 654 B

4
public/icons/like.svg Normal file
View File

@ -0,0 +1,4 @@
<svg width="20" height="19" viewBox="0 0 20 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 8H3V18H0V8Z" fill="#141414"/>
<path d="M4 18V8H5.50049C5.81525 8 6.11164 7.85181 6.30049 7.6L8.87932 4.16155C8.95929 4.05493 9.01714 3.93339 9.04947 3.80409L9.93965 0.243377C9.9754 0.100343 10.1039 0 10.2514 0C11.4935 0 12.5005 1.00697 12.5005 2.24913V4.5L12.1636 6.85858C12.0775 7.46101 12.545 8 13.1535 8H19.0005C19.5528 8 20.0005 8.44771 20.0005 9V9.3702C20.0005 9.93081 19.7652 10.4657 19.3519 10.8445L19.2854 10.9055C18.8721 11.2843 18.6369 11.8192 18.6369 12.3798V13.1202C18.6369 13.6808 18.4016 14.2157 17.9883 14.5945L17.651 14.9037C17.4031 15.1309 17.2166 15.4169 17.1085 15.7353L16.256 18.2473C16.1064 18.6879 15.6726 18.9672 15.2095 18.9209L6.00049 18H4Z" fill="#141414"/>
</svg>

After

Width:  |  Height:  |  Size: 799 B

4
public/icons/music.svg Normal file
View File

@ -0,0 +1,4 @@
<svg width="13" height="14" viewBox="0 0 13 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M11.1853 7.68061L11.1746 2.64865L5.05266 3.68025C5.04861 8.28981 5.04659 10.9099 5.04659 11.5405L5.04077 11.5326C4.95203 12.9109 3.85883 14 2.52329 14C1.12972 14 0 12.8142 0 11.3514C0 9.88854 1.12972 8.7027 2.52329 8.7027C2.77381 8.7027 3.0158 8.74102 3.24423 8.81239V1.7027L12.9769 0C13.0077 6.85087 13.0077 10.3193 12.9769 10.4054L12.9711 10.398C12.8821 11.776 11.789 12.8649 10.4536 12.8649C9.06007 12.8649 7.93035 11.679 7.93035 10.2162C7.93035 8.75341 9.06007 7.56757 10.4536 7.56757C10.7081 7.56757 10.9537 7.60709 11.1853 7.68061Z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 675 B

BIN
public/icons/nopic.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

3
public/icons/pencil.svg Normal file
View File

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9.80828 3.77898L0.439624 13.1393L0.00467497 17.078C-0.0505566 17.6022 0.391296 18.0506 0.9229 17.9954L4.86505 17.5608L14.2337 8.20049C14.2337 8.20049 14.3925 7.77972 14.2337 7.61417C14.0749 7.44862 10.402 3.78588 10.402 3.78588C10.2294 3.62033 9.96707 3.62033 9.80828 3.77898ZM17.1886 2.89606L15.1105 0.819817C14.4615 0.171422 14.2337 -0.644285 12.7701 0.819817C11.3064 2.28392 11.1753 2.41321 11.1753 2.41321C11.0165 2.57186 11.0165 2.83398 11.1753 2.99953L15.007 6.82782C15.1657 6.98647 15.4281 6.98647 15.5938 6.82782L17.1886 5.23442C18.6374 3.78588 17.8307 3.54446 17.1886 2.89606Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 715 B

11
public/icons/proof.svg Normal file
View File

@ -0,0 +1,11 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 287.543 287.543" style="enable-background:new 0 0 287.543 287.543;" xml:space="preserve" width="18" height="18">
<path d="M249.891,34.515c-1.183,0-2.286,0.349-3.351,1.009c-7.548,4.683-17.474,7.157-28.784,7.157
c-8.306,0-16.908-1.334-25.61-3.967c-19.508-5.9-36.043-28.702-41.479-36.192C149.524,0.942,147.555,0,145.394,0
c-2.05,0-3.851,0.869-4.946,2.388c-5.415,7.512-21.891,30.369-41.585,36.326c-8.58,2.596-17.627,3.967-26.164,3.967
c-11.138,0-21.303-2.313-28.625-6.514c-1.296-0.743-3.212-1.598-5.254-1.598c-3.426,0-7.049,2.505-7.049,8.1v126.072
c0,35.122,28.631,65.269,52.51,84.374c24.551,19.645,53.198,34.428,59.74,34.428c4.972,0,33.638-14.874,58.399-34.406
c24.396-19.243,53.352-49.506,53.352-84.396V41.271C255.771,36.836,252.896,34.515,249.891,34.515z M222.771,167.088
c0,45.572-74,82.516-77,82.516V48.433c0-0.15,1.08-0.049,1.303,0.258c6.537,9.008,17.948,23.345,31.968,27.586
c16.602,5.022,32.277,3.588,42.419-2.703c0.581-0.361,1.311-0.3,1.311,1.087V167.088z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

1
public/icons/prose.svg Normal file
View File

@ -0,0 +1 @@
<svg width="12" height="18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.969 1.688l6.181 2.18v12.88H12V2.722L4.2 0 0 1.47v13.668L7.436 18H8.55V4.532L2.147 2.265l1.822-.577z" fill="currentColor"/></svg>

After

Width:  |  Height:  |  Size: 215 B

View File

@ -0,0 +1,4 @@
<svg width="12" height="12" viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg">
<path d="M6.66667 0L12 4L6.66667 8L6.66667 0Z" fill="#D1D5DB"/>
<path d="M0.666037 11.9998C-1.66692 5.33298 3.33213 2 6.66541 2.33256C6.66525 3.66542 6.66541 5.66649 6.66541 5.66649C5.99937 5.66649 1.33333 5.99979 0.666037 11.9998Z" fill="#D1D5DB"/>
</svg>

After

Width:  |  Height:  |  Size: 342 B

3
public/icons/reply.svg Normal file
View File

@ -0,0 +1,3 @@
<svg width="12" height="14" viewBox="0 0 12 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6 0C2.69432 0 0 2.6826 0 5.97389C0 9.26518 2.69432 11.9478 6 11.9478V14L7.02604 13.3453C8.5166 12.3934 11.2347 10.3384 11.8659 7.22363C11.9523 6.82188 12 6.40385 12 5.97389C12 2.6826 9.30568 0 6 0Z" fill="#696969"/>
</svg>

After

Width:  |  Height:  |  Size: 329 B

View File

@ -0,0 +1,4 @@
<svg width="24" height="40" viewBox="0 0 24 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 2C0 0.895431 0.895431 0 2 0H22C23.1046 0 24 0.895431 24 2V38C24 39.1046 23.1046 40 22 40H2C0.89543 40 0 39.1046 0 38V2Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.5529 12.1382C7.01017 12.1382 4.13822 15.0102 4.13822 18.5529C4.13822 22.0956 7.01017 24.9676 10.5529 24.9676C12.3246 24.9676 13.9268 24.2508 15.0888 23.0888C16.2508 21.9268 16.9676 20.3246 16.9676 18.5529C16.9676 15.0102 14.0956 12.1382 10.5529 12.1382ZM2 18.5529C2 13.8293 5.82926 10 10.5529 10C15.2765 10 19.1058 13.8293 19.1058 18.5529C19.1058 20.5289 18.4347 22.3496 17.3095 23.7975L22 28.488L20.488 30L15.7975 25.3095C14.3496 26.4347 12.5289 27.1058 10.5529 27.1058C5.82926 27.1058 2 23.2765 2 18.5529Z" fill="#141414"/>
</svg>

After

Width:  |  Height:  |  Size: 830 B

3
public/icons/search.svg Normal file
View File

@ -0,0 +1,3 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.5529 2.13822C5.01017 2.13822 2.13822 5.01017 2.13822 8.5529C2.13822 12.0956 5.01017 14.9676 8.5529 14.9676C10.3246 14.9676 11.9268 14.2508 13.0888 13.0888C14.2508 11.9268 14.9676 10.3246 14.9676 8.5529C14.9676 5.01017 12.0956 2.13822 8.5529 2.13822ZM0 8.5529C0 3.82926 3.82926 0 8.5529 0C13.2765 0 17.1058 3.82926 17.1058 8.5529C17.1058 10.5289 16.4347 12.3496 15.3095 13.7975L20 18.488L18.488 20L13.7975 15.3095C12.3496 16.4347 10.5289 17.1058 8.5529 17.1058C3.82926 17.1058 0 13.2765 0 8.5529Z" fill="#141414"/>
</svg>

After

Width:  |  Height:  |  Size: 669 B

View File

@ -0,0 +1,3 @@
<svg width="17" height="18" viewBox="0 0 17 18" xmlns="http://www.w3.org/2000/svg">
<path d="M0 0L17 9L0 18L2.66667 10L8 9L2.66667 8L0 0Z"/>
</svg>

After

Width:  |  Height:  |  Size: 148 B

View File

@ -0,0 +1,3 @@
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<path d="M7.49414 0L7.00391 2.52344C6.17974 2.83425 5.42291 3.26993 4.75977 3.81445L2.33594 2.97852L0 7.02148L1.94141 8.70898C1.86677 9.16721 1.82812 9.59184 1.82812 10C1.82812 10.4088 1.86793 10.8326 1.94141 11.291V11.293L0 12.9805L2.33594 17.0215L4.75781 16.1875C5.42102 16.7323 6.17956 17.1656 7.00391 17.4766L7.49414 20H12.1621L12.6523 17.4766C13.477 17.1655 14.233 16.7306 14.8965 16.1855L17.3203 17.0215L19.6543 12.9805L17.7148 11.291C17.7895 10.8328 17.8281 10.4082 17.8281 10C17.8281 9.59246 17.7893 9.16837 17.7148 8.71094V8.70898L19.6562 7.01953L17.3203 2.97852L14.8984 3.8125C14.2352 3.26768 13.4767 2.83443 12.6523 2.52344L12.1621 0H7.49414ZM9.14258 2H10.5137L10.9023 4L11.9453 4.39453C12.574 4.63147 13.1388 4.95675 13.6289 5.35938L14.4922 6.06641L16.4141 5.40625L17.0996 6.5918L15.5645 7.92773L15.7402 9.02734V9.0293C15.8014 9.40423 15.8281 9.71877 15.8281 10C15.8281 10.2812 15.8014 10.5957 15.7402 10.9707L15.5625 12.0703L17.0977 13.4062L16.4121 14.5938L14.4922 13.9316L13.627 14.6406C13.1368 15.0432 12.574 15.3685 11.9453 15.6055H11.9434L10.9004 16L10.5117 18H9.14258L8.75391 16L7.71094 15.6055C7.08227 15.3685 6.51745 15.0432 6.02734 14.6406L5.16406 13.9336L3.24219 14.5938L2.55664 13.4082L4.09375 12.0703L3.91602 10.9746V10.9727C3.85574 10.5961 3.82812 10.2807 3.82812 10C3.82812 9.71877 3.85487 9.40428 3.91602 9.0293L4.09375 7.92969L2.55664 6.59375L3.24219 5.40625L5.16406 6.06836L6.02734 5.35938C6.51745 4.95675 7.08227 4.63147 7.71094 4.39453L8.75391 4L9.14258 2ZM9.82812 6C7.6316 6 5.82812 7.80348 5.82812 10C5.82812 12.1965 7.6316 14 9.82812 14C12.0246 14 13.8281 12.1965 13.8281 10C13.8281 7.80348 12.0246 6 9.82812 6ZM9.82812 8C10.9396 8 11.8281 8.88852 11.8281 10C11.8281 11.1115 10.9396 12 9.82812 12C8.71665 12 7.82812 11.1115 7.82812 10C7.82812 8.88852 8.71665 8 9.82812 8Z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

4
public/icons/share-x.svg Normal file
View File

@ -0,0 +1,4 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 0L18 6L10 12L10 0Z" fill="#141414"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.999056 17.9997C-2.50038 7.99947 4.99819 3 9.99811 3.49883C9.99788 5.49814 9.99811 8.49974 9.99811 8.49974C8.99905 8.49974 2 8.99969 0.999056 17.9997Z" fill="#141414"/>
</svg>

After

Width:  |  Height:  |  Size: 413 B

4
public/icons/share.svg Normal file
View File

@ -0,0 +1,4 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10 0L18 6L10 12L10 0Z" fill="#141414"/>
<path d="M0.999056 17.9997C-2.50038 7.99947 4.99819 3 9.99811 3.49883C9.99788 5.49814 9.99811 8.49974 9.99811 8.49974C8.99905 8.49974 2 8.99969 0.999056 17.9997Z" fill="#141414"/>
</svg>

After

Width:  |  Height:  |  Size: 333 B

View File

@ -0,0 +1,3 @@
<svg width="22" height="36" viewBox="0 0 22 36" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.5373 18.0018L21.7695 32.234L18.234 35.7695L0.466229 18.0018L18.234 0.233993L21.7695 3.76953L7.5373 18.0018Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 239 B

View File

@ -0,0 +1,4 @@
<svg width="20" height="16" viewBox="0 0 20 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M0.353259 7.67194L4.96167 9.25234L6.7454 14.5232C6.85953 14.8608 7.3088 14.9856 7.607 14.7616L10.1758 12.8374C10.4451 12.6358 10.8286 12.6258 11.11 12.8134L15.7432 15.9042C16.0622 16.1173 16.5141 15.9567 16.5941 15.6025L19.9882 0.601498C20.0756 0.214607 19.6618 -0.108149 19.2609 0.0343316L0.347859 6.73822C-0.118875 6.90361 -0.114808 7.51078 0.353259 7.67194ZM6.45793 8.41105L15.4645 3.31415C15.6263 3.22282 15.7929 3.42392 15.6539 3.54239L8.22087 9.89093C7.9596 10.1144 7.79107 10.4134 7.74334 10.738L7.49014 12.4621C7.4566 12.6923 7.10467 12.7152 7.03553 12.4924L6.06173 9.34845C5.9502 8.98986 6.11273 8.60683 6.45793 8.41105Z" fill="#ffffff"/>
</svg>

After

Width:  |  Height:  |  Size: 761 B

View File

@ -0,0 +1,2 @@
<svg width="24px" height="24px" viewBox="0 0 24 24" role="img" xmlns="http://www.w3.org/2000/svg">
<path fill="white" d="M14.563 24c-5.093 0-7.031-3.756-7.031-6.411V9.747H5.116V6.648c3.63-1.313 4.512-4.596 4.71-6.469C9.84.051 9.941 0 9.999 0h3.517v6.114h4.801v3.633h-4.82v7.47c.016 1.001.375 2.371 2.207 2.371h.09c.631-.02 1.486-.205 1.936-.419l1.156 3.425c-.436.636-2.4 1.374-4.156 1.404h-.178l.011.002z"/></svg>

After

Width:  |  Height:  |  Size: 413 B

1
public/icons/tumblr.svg Normal file
View File

@ -0,0 +1 @@
<svg width="24px" height="24px" viewBox="0 0 24 24" role="img" xmlns="http://www.w3.org/2000/svg"><title>Tumblr icon</title><path d="M14.563 24c-5.093 0-7.031-3.756-7.031-6.411V9.747H5.116V6.648c3.63-1.313 4.512-4.596 4.71-6.469C9.84.051 9.941 0 9.999 0h3.517v6.114h4.801v3.633h-4.82v7.47c.016 1.001.375 2.371 2.207 2.371h.09c.631-.02 1.486-.205 1.936-.419l1.156 3.425c-.436.636-2.4 1.374-4.156 1.404h-.178l.011.002z"/></svg>

After

Width:  |  Height:  |  Size: 426 B

View File

@ -0,0 +1,4 @@
<svg width="20" height="16" viewBox="0 0 20 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M19.5467 1.84651C19.2325 1.98268 18.9095 2.0976 18.5794 2.1909C18.9702 1.75908 19.2681 1.25097 19.45 0.694956C19.4908 0.570325 19.4485 0.433906 19.3437 0.352395C19.239 0.270821 19.0935 0.26105 18.9782 0.327809C18.2772 0.734041 17.521 1.02598 16.728 1.19669C15.9293 0.434032 14.8444 0 13.7228 0C11.3554 0 9.42934 1.88194 9.42934 4.19514C9.42934 4.37733 9.44114 4.55851 9.4645 4.73716C6.52677 4.48513 3.79561 3.07422 1.92014 0.826269C1.8533 0.746145 1.75033 0.702962 1.64491 0.71122C1.53943 0.71929 1.44465 0.777413 1.39136 0.866741C1.01098 1.50452 0.809882 2.23396 0.809882 2.97613C0.809882 3.98698 1.17924 4.94608 1.83169 5.6955C1.6333 5.62836 1.44078 5.54446 1.25704 5.44479C1.1584 5.39114 1.03801 5.39196 0.940011 5.44687C0.841946 5.50178 0.780463 5.60277 0.777882 5.71315C0.77743 5.73175 0.777431 5.75035 0.777431 5.76919C0.777431 7.27806 1.60852 8.63652 2.87917 9.37693C2.77 9.36627 2.66091 9.35083 2.55252 9.33059C2.44078 9.30972 2.32588 9.34799 2.25052 9.43127C2.17504 9.51448 2.15007 9.63047 2.18485 9.73638C2.65517 11.1712 3.86607 12.2265 5.32993 12.5483C4.11581 13.2913 2.72736 13.6806 1.26982 13.6806C0.965688 13.6806 0.659818 13.6631 0.360464 13.6285C0.211755 13.6112 0.0695618 13.697 0.0189168 13.8352C-0.0317281 13.9734 0.0219491 14.1276 0.148465 14.2068C2.02091 15.3799 4.186 16 6.40954 16C10.7808 16 13.5153 13.9859 15.0394 12.2962C16.9401 10.1893 18.0301 7.40061 18.0301 4.64519C18.0301 4.53007 18.0283 4.41383 18.0247 4.29796C18.7746 3.74592 19.4202 3.07782 19.9456 2.30992C20.0254 2.1933 20.0167 2.03916 19.9243 1.93181C19.832 1.82439 19.6781 1.78965 19.5467 1.84651Z" fill="#ffffff"/>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,4 @@
<svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 13C0 9.68629 2.68629 7 6 7C9.31371 7 12 9.68629 12 13H0Z" fill="#141414"/>
<path d="M3 3C3 1.34315 4.34315 0 6 0C7.65685 0 9 1.34315 9 3C9 4.65685 7.65685 6 6 6C4.34315 6 3 4.65685 3 3Z" fill="#141414"/>
</svg>

After

Width:  |  Height:  |  Size: 319 B

Some files were not shown because too many files have changed in this diff Show More