From 6452bb860d282810e22c2d3d7ab1fab441ae9b07 Mon Sep 17 00:00:00 2001 From: Yannic Kilcher Date: Sat, 24 Dec 2022 23:59:21 +0100 Subject: [PATCH] moved bot to discord-bot added playbook to deploy dev machine added playbook to deploy dev machine added next.js font module, updated fonts, updated login page replaced logos, changed logo on login and header added 404 and email confirmation pages, changed discord and github buttons to show conditionally also removed unused imports, fixed one spelling error, and minor styling changes Quick format to the authenticated user page, updated header with user profile, styling updates fixed html encoding added checkout for release re-vamped release config and ports --- .github/workflows/release.yaml | 19 + README.md | 4 + ansible/.gitignore | 1 + ansible/dev.yaml | 77 +++ bot/templates/teaser_assistant_reply.msg | 3 - bot/templates/teaser_initial_prompt.msg | 3 - {bot => discord-bot}/.gitignore | 0 {bot => discord-bot}/README.md | 0 {bot => discord-bot}/__main__.py | 3 +- {bot => discord-bot}/api_client.py | 0 {bot => discord-bot}/bot.py | 0 {bot => discord-bot}/bot_base.py | 0 {bot => discord-bot}/bot_settings.py | 0 {bot => discord-bot}/channel_handlers.py | 0 {bot => discord-bot}/message_templates.py | 0 {bot => discord-bot}/requirements.txt | 0 {bot => discord-bot}/task_handlers.py | 0 {bot => discord-bot}/templates/boot.msg | 0 {bot => discord-bot}/templates/help.msg | 4 +- .../templates/task_assistant_reply.msg | 2 +- .../templates/task_initial_prompt.msg | 2 +- .../task_rank_conversation_replies.msg | 2 +- .../templates/task_rank_initial_prompts.msg | 2 +- .../templates/task_rate_summary.msg | 0 .../templates/task_summarize_story.msg | 0 .../templates/task_user_reply.msg | 2 +- .../templates/teaser_assistant_reply.msg | 3 + .../templates/teaser_initial_prompt.msg | 3 + .../teaser_rank_conversation_replies.msg | 2 +- .../templates/teaser_rank_initial_prompts.msg | 2 +- .../templates/teaser_rate_summary.msg | 2 +- .../templates/teaser_summarize_story.msg | 2 +- .../templates/teaser_user_reply.msg | 2 +- {bot => discord-bot}/templates/welcome.msg | 0 {bot => discord-bot}/utils.py | 0 website/package-lock.json | 592 +----------------- website/package.json | 1 + .../images/logos/CHAT-THOUGHT-CONVO.svg | 48 -- .../public/images/logos/CHAT-THOUGHT-LOGO.svg | 13 - website/public/images/logos/logo.png | Bin 0 -> 18263 bytes website/public/images/logos/logo.svg | 24 + website/public/images/logos/logo_mono.png | Bin 0 -> 6766 bytes website/public/images/logos/logo_mono.svg | 16 + website/public/images/temp-avatars/av1.jpg | Bin 0 -> 7297 bytes website/public/images/temp-avatars/av2.jpg | Bin 0 -> 6589 bytes website/public/images/temp-avatars/av3.jpg | Bin 0 -> 6397 bytes website/public/images/temp-avatars/av4.jpg | Bin 0 -> 8337 bytes website/public/images/temp-avatars/av5.jpg | Bin 0 -> 5735 bytes website/src/components/AuthLayout.tsx | 33 +- website/src/components/Avatar.tsx | 96 +++ website/src/components/CallToAction.tsx | 4 +- website/src/components/Header.tsx | 37 +- website/src/components/Hero.tsx | 2 +- website/src/pages/404.tsx | 45 ++ website/src/pages/_app.tsx | 25 +- website/src/pages/api/auth/[...nextauth].ts | 4 +- website/src/pages/auth/signin.tsx | 62 -- website/src/pages/auth/signup.tsx | 103 +++ website/src/pages/auth/verify.tsx | 38 ++ website/src/pages/index.tsx | 13 +- 60 files changed, 512 insertions(+), 784 deletions(-) create mode 100644 ansible/.gitignore create mode 100644 ansible/dev.yaml delete mode 100644 bot/templates/teaser_assistant_reply.msg delete mode 100644 bot/templates/teaser_initial_prompt.msg rename {bot => discord-bot}/.gitignore (100%) rename {bot => discord-bot}/README.md (100%) rename {bot => discord-bot}/__main__.py (99%) rename {bot => discord-bot}/api_client.py (100%) rename {bot => discord-bot}/bot.py (100%) rename {bot => discord-bot}/bot_base.py (100%) rename {bot => discord-bot}/bot_settings.py (100%) rename {bot => discord-bot}/channel_handlers.py (100%) rename {bot => discord-bot}/message_templates.py (100%) rename {bot => discord-bot}/requirements.txt (100%) rename {bot => discord-bot}/task_handlers.py (100%) rename {bot => discord-bot}/templates/boot.msg (100%) rename {bot => discord-bot}/templates/help.msg (87%) rename {bot => discord-bot}/templates/task_assistant_reply.msg (85%) rename {bot => discord-bot}/templates/task_initial_prompt.msg (89%) rename {bot => discord-bot}/templates/task_rank_conversation_replies.msg (91%) rename {bot => discord-bot}/templates/task_rank_initial_prompts.msg (82%) rename {bot => discord-bot}/templates/task_rate_summary.msg (100%) rename {bot => discord-bot}/templates/task_summarize_story.msg (100%) rename {bot => discord-bot}/templates/task_user_reply.msg (96%) create mode 100644 discord-bot/templates/teaser_assistant_reply.msg create mode 100644 discord-bot/templates/teaser_initial_prompt.msg rename {bot => discord-bot}/templates/teaser_rank_conversation_replies.msg (70%) rename {bot => discord-bot}/templates/teaser_rank_initial_prompts.msg (71%) rename {bot => discord-bot}/templates/teaser_rate_summary.msg (70%) rename {bot => discord-bot}/templates/teaser_summarize_story.msg (70%) rename {bot => discord-bot}/templates/teaser_user_reply.msg (70%) rename {bot => discord-bot}/templates/welcome.msg (100%) rename {bot => discord-bot}/utils.py (100%) delete mode 100644 website/public/images/logos/CHAT-THOUGHT-CONVO.svg delete mode 100644 website/public/images/logos/CHAT-THOUGHT-LOGO.svg create mode 100644 website/public/images/logos/logo.png create mode 100644 website/public/images/logos/logo.svg create mode 100644 website/public/images/logos/logo_mono.png create mode 100644 website/public/images/logos/logo_mono.svg create mode 100644 website/public/images/temp-avatars/av1.jpg create mode 100644 website/public/images/temp-avatars/av2.jpg create mode 100644 website/public/images/temp-avatars/av3.jpg create mode 100644 website/public/images/temp-avatars/av4.jpg create mode 100644 website/public/images/temp-avatars/av5.jpg create mode 100644 website/src/components/Avatar.tsx create mode 100644 website/src/pages/404.tsx delete mode 100644 website/src/pages/auth/signin.tsx create mode 100644 website/src/pages/auth/signup.tsx create mode 100644 website/src/pages/auth/verify.tsx diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 5132c6e9..bb844a34 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -26,3 +26,22 @@ jobs: context: . dockerfile: docker/Dockerfile.discord-bot build-args: "" + deploy-dev: + needs: [build-backend, build-web, build-bot] + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Run playbook + uses: dawidd6/action-ansible-playbook@v2 + with: + # Required, playbook filepath + playbook: dev.yaml + # Optional, directory where playbooks live + directory: ansible + # Optional, SSH private key + key: ${{secrets.DEV_NODE_PRIVATE_KEY}} + # Optional, literal inventory file contents + inventory: | + [dev] + dev01 ansible_host=${{secrets.DEV_NODE_IP}} ansible_connection=ssh ansible_user=web-team diff --git a/README.md b/README.md index 43c5a885..810f7206 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,10 @@ Install `pre-commit` and run `pre-commit install` to install the pre-commit hook In case you haven't done this, have already committed, and CI is failing, you can run `pre-commit run --all-files` to run the pre-commit hooks on all files. +### Deployment + +Upon making a release on GitHub, all docker images are automatically built and pushed to ghcr.io. The docker images are tagged with the release version, and the `latest` tag. Further, the ansible playbook in `ansible/dev.yaml` is run to automatically deploy the built release to the dev machine. + # (Older version of the readme below) ## How do I start helping out? diff --git a/ansible/.gitignore b/ansible/.gitignore new file mode 100644 index 00000000..a20b2ddb --- /dev/null +++ b/ansible/.gitignore @@ -0,0 +1 @@ +*.local.yaml diff --git a/ansible/dev.yaml b/ansible/dev.yaml new file mode 100644 index 00000000..b2b7b21b --- /dev/null +++ b/ansible/dev.yaml @@ -0,0 +1,77 @@ +# ansible playbook to set up some docker containers + +- name: Set up a dev node + hosts: dev + gather_facts: true + tasks: + - name: Create network + community.docker.docker_network: + name: oasst + state: present + driver: bridge + + - name: Create postgres containers + community.docker.docker_container: + name: "{{ item.name }}" + image: postgres:15 + state: started + restart_policy: always + network_mode: oasst + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: postgres + volumes: + - "{{ item.name }}:/var/lib/postgresql/data" + healthcheck: + test: ["CMD", "pg_isready", "-U", "postgres"] + interval: 2s + timeout: 2s + retries: 10 + loop: + - name: oasst-postgres + - name: oasst-postgres-web + + - name: Set up maildev + community.docker.docker_container: + name: oasst-maildev + image: maildev/maildev + state: started + restart_policy: always + network_mode: oasst + + - name: Run the oasst oasst-backend + community.docker.docker_container: + name: oasst-backend + image: ghcr.io/laion-ai/open-assistant/oasst-backend + state: started + pull: true + restart_policy: always + network_mode: oasst + env: + POSTGRES_HOST: oasst-postgres + ALLOW_ANY_API_KEY: "true" + MAX_WORKERS: "1" + ports: + - 8080:8080 + + - name: Run the oasst oasst-web frontend + community.docker.docker_container: + name: oasst-web + image: ghcr.io/laion-ai/open-assistant/oasst-web + state: started + pull: true + restart_policy: always + network_mode: oasst + env: + FASTAPI_URL: http://oasst-backend:8080 + FASTAPI_KEY: "123" + DATABASE_URL: postgres://postgres:postgres@oasst-postgres-web/postgres + NEXTAUTH_SECRET: O/M2uIbGj+lDD2oyNa8ax4jEOJqCPJzO53UbWShmq98= + EMAIL_SERVER_HOST: oasst-maildev + EMAIL_SERVER_PORT: "25" + EMAIL_FROM: info@example.com + NEXTAUTH_URL: http://localhost:3000 + ports: + - 3000:3000 + command: bash wait-for-postgres.sh node server.js diff --git a/bot/templates/teaser_assistant_reply.msg b/bot/templates/teaser_assistant_reply.msg deleted file mode 100644 index 6975d417..00000000 --- a/bot/templates/teaser_assistant_reply.msg +++ /dev/null @@ -1,3 +0,0 @@ -:robot: **Challenge: Assistant Reply** - -:point_down: Work on it here (:fire: Thread will self-destruct at {{ expiry_time }}, {{ expiry_relative }}). \ No newline at end of file diff --git a/bot/templates/teaser_initial_prompt.msg b/bot/templates/teaser_initial_prompt.msg deleted file mode 100644 index e9ae5c7a..00000000 --- a/bot/templates/teaser_initial_prompt.msg +++ /dev/null @@ -1,3 +0,0 @@ -:microphone2: **Challenge: Initial Prompt** - -:point_down: Work on it here (:fire: Thread will self-destruct at {{ expiry_time }}, {{ expiry_relative }}). \ No newline at end of file diff --git a/bot/.gitignore b/discord-bot/.gitignore similarity index 100% rename from bot/.gitignore rename to discord-bot/.gitignore diff --git a/bot/README.md b/discord-bot/README.md similarity index 100% rename from bot/README.md rename to discord-bot/README.md diff --git a/bot/__main__.py b/discord-bot/__main__.py similarity index 99% rename from bot/__main__.py rename to discord-bot/__main__.py index 0047bce7..9e5e29c7 100644 --- a/bot/__main__.py +++ b/discord-bot/__main__.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- -from bot_settings import settings - from bot import OpenAssistantBot +from bot_settings import settings # invite bot url: https://discord.com/api/oauth2/authorize?client_id=1054078345542910022&permissions=1634235579456&scope=bot diff --git a/bot/api_client.py b/discord-bot/api_client.py similarity index 100% rename from bot/api_client.py rename to discord-bot/api_client.py diff --git a/bot/bot.py b/discord-bot/bot.py similarity index 100% rename from bot/bot.py rename to discord-bot/bot.py diff --git a/bot/bot_base.py b/discord-bot/bot_base.py similarity index 100% rename from bot/bot_base.py rename to discord-bot/bot_base.py diff --git a/bot/bot_settings.py b/discord-bot/bot_settings.py similarity index 100% rename from bot/bot_settings.py rename to discord-bot/bot_settings.py diff --git a/bot/channel_handlers.py b/discord-bot/channel_handlers.py similarity index 100% rename from bot/channel_handlers.py rename to discord-bot/channel_handlers.py diff --git a/bot/message_templates.py b/discord-bot/message_templates.py similarity index 100% rename from bot/message_templates.py rename to discord-bot/message_templates.py diff --git a/bot/requirements.txt b/discord-bot/requirements.txt similarity index 100% rename from bot/requirements.txt rename to discord-bot/requirements.txt diff --git a/bot/task_handlers.py b/discord-bot/task_handlers.py similarity index 100% rename from bot/task_handlers.py rename to discord-bot/task_handlers.py diff --git a/bot/templates/boot.msg b/discord-bot/templates/boot.msg similarity index 100% rename from bot/templates/boot.msg rename to discord-bot/templates/boot.msg diff --git a/bot/templates/help.msg b/discord-bot/templates/help.msg similarity index 87% rename from bot/templates/help.msg rename to discord-bot/templates/help.msg index ca033c47..3fbfb50d 100644 --- a/bot/templates/help.msg +++ b/discord-bot/templates/help.msg @@ -10,6 +10,6 @@ Commands for bot owners: `!sync` `!sync.guild` -`!sync.copy_global` +`!sync.copy_global` `!sync.clear_guild` -{% endif %} \ No newline at end of file +{% endif %} diff --git a/bot/templates/task_assistant_reply.msg b/discord-bot/templates/task_assistant_reply.msg similarity index 85% rename from bot/templates/task_assistant_reply.msg rename to discord-bot/templates/task_assistant_reply.msg index 3dfe84a3..b7b8abef 100644 --- a/bot/templates/task_assistant_reply.msg +++ b/discord-bot/templates/task_assistant_reply.msg @@ -9,4 +9,4 @@ Here is the conversation so far: **{{ message.text }}**" {% endif %} {% endfor %} -:robot: Assistant: { human, pls help me! ... } \ No newline at end of file +:robot: Assistant: { human, pls help me! ... } diff --git a/bot/templates/task_initial_prompt.msg b/discord-bot/templates/task_initial_prompt.msg similarity index 89% rename from bot/templates/task_initial_prompt.msg rename to discord-bot/templates/task_initial_prompt.msg index 47cf0f45..fae963c2 100644 --- a/bot/templates/task_initial_prompt.msg +++ b/discord-bot/templates/task_initial_prompt.msg @@ -1,4 +1,4 @@ Please provide an initial prompt to the assistant. {% if task.hint is not none %} Hint: {{task.hint}} -{% endif %} \ No newline at end of file +{% endif %} diff --git a/bot/templates/task_rank_conversation_replies.msg b/discord-bot/templates/task_rank_conversation_replies.msg similarity index 91% rename from bot/templates/task_rank_conversation_replies.msg rename to discord-bot/templates/task_rank_conversation_replies.msg index c0c8bc80..c2864e9f 100644 --- a/bot/templates/task_rank_conversation_replies.msg +++ b/discord-bot/templates/task_rank_conversation_replies.msg @@ -10,4 +10,4 @@ Rank the following replies: {% for reply in task.replies %} {{loop.index}}: {{reply}}{% endfor %} -:scroll: Reply with the numbers of best to worst prompts separated by commas (example: "4,1,3,2"). \ No newline at end of file +:scroll: Reply with the numbers of best to worst prompts separated by commas (example: "4,1,3,2"). diff --git a/bot/templates/task_rank_initial_prompts.msg b/discord-bot/templates/task_rank_initial_prompts.msg similarity index 82% rename from bot/templates/task_rank_initial_prompts.msg rename to discord-bot/templates/task_rank_initial_prompts.msg index 5a75cbd1..3f84f24e 100644 --- a/bot/templates/task_rank_initial_prompts.msg +++ b/discord-bot/templates/task_rank_initial_prompts.msg @@ -2,4 +2,4 @@ Rank the following prompts: {% for prompt in task.prompts %} {{loop.index}}: {{prompt}}{% endfor %} -:scroll: Reply with the numbers of best to worst prompts separated by commas (example: "4,1,3,2"). \ No newline at end of file +:scroll: Reply with the numbers of best to worst prompts separated by commas (example: "4,1,3,2"). diff --git a/bot/templates/task_rate_summary.msg b/discord-bot/templates/task_rate_summary.msg similarity index 100% rename from bot/templates/task_rate_summary.msg rename to discord-bot/templates/task_rate_summary.msg diff --git a/bot/templates/task_summarize_story.msg b/discord-bot/templates/task_summarize_story.msg similarity index 100% rename from bot/templates/task_summarize_story.msg rename to discord-bot/templates/task_summarize_story.msg diff --git a/bot/templates/task_user_reply.msg b/discord-bot/templates/task_user_reply.msg similarity index 96% rename from bot/templates/task_user_reply.msg rename to discord-bot/templates/task_user_reply.msg index c247daa5..7c0a047b 100644 --- a/bot/templates/task_user_reply.msg +++ b/discord-bot/templates/task_user_reply.msg @@ -9,4 +9,4 @@ Here is the conversation so far: {% endif %}{% endfor %} {% if task.hint %} Hint: {{ task.hint }} -{% endif %} \ No newline at end of file +{% endif %} diff --git a/discord-bot/templates/teaser_assistant_reply.msg b/discord-bot/templates/teaser_assistant_reply.msg new file mode 100644 index 00000000..f86baa3c --- /dev/null +++ b/discord-bot/templates/teaser_assistant_reply.msg @@ -0,0 +1,3 @@ +:robot: **Challenge: Assistant Reply** + +:point_down: Work on it here (:fire: Thread will self-destruct at {{ expiry_time }}, {{ expiry_relative }}). diff --git a/discord-bot/templates/teaser_initial_prompt.msg b/discord-bot/templates/teaser_initial_prompt.msg new file mode 100644 index 00000000..7aad81b4 --- /dev/null +++ b/discord-bot/templates/teaser_initial_prompt.msg @@ -0,0 +1,3 @@ +:microphone2: **Challenge: Initial Prompt** + +:point_down: Work on it here (:fire: Thread will self-destruct at {{ expiry_time }}, {{ expiry_relative }}). diff --git a/bot/templates/teaser_rank_conversation_replies.msg b/discord-bot/templates/teaser_rank_conversation_replies.msg similarity index 70% rename from bot/templates/teaser_rank_conversation_replies.msg rename to discord-bot/templates/teaser_rank_conversation_replies.msg index 744f7a76..366d86e5 100644 --- a/bot/templates/teaser_rank_conversation_replies.msg +++ b/discord-bot/templates/teaser_rank_conversation_replies.msg @@ -1,3 +1,3 @@ :bar_chart: **Challenge: Rank Replies** -:point_down: Work on it here (:fire: Thread will self-destruct at {{ expiry_time }}, {{ expiry_relative }}). \ No newline at end of file +:point_down: Work on it here (:fire: Thread will self-destruct at {{ expiry_time }}, {{ expiry_relative }}). diff --git a/bot/templates/teaser_rank_initial_prompts.msg b/discord-bot/templates/teaser_rank_initial_prompts.msg similarity index 71% rename from bot/templates/teaser_rank_initial_prompts.msg rename to discord-bot/templates/teaser_rank_initial_prompts.msg index 07399f56..09f04ffa 100644 --- a/bot/templates/teaser_rank_initial_prompts.msg +++ b/discord-bot/templates/teaser_rank_initial_prompts.msg @@ -1,3 +1,3 @@ :bar_chart: **Challenge: Rank Initial Prompts** -:point_down: Work on it here (:fire: Thread will self-destruct at {{ expiry_time }}, {{ expiry_relative }}). \ No newline at end of file +:point_down: Work on it here (:fire: Thread will self-destruct at {{ expiry_time }}, {{ expiry_relative }}). diff --git a/bot/templates/teaser_rate_summary.msg b/discord-bot/templates/teaser_rate_summary.msg similarity index 70% rename from bot/templates/teaser_rate_summary.msg rename to discord-bot/templates/teaser_rate_summary.msg index 41357b06..284aae26 100644 --- a/bot/templates/teaser_rate_summary.msg +++ b/discord-bot/templates/teaser_rate_summary.msg @@ -1,3 +1,3 @@ :ballot_box: **Challenge: Rate Summary** -:point_down: Work on it here (:fire: Thread will self-destruct at {{ expiry_time }}, {{ expiry_relative }}). \ No newline at end of file +:point_down: Work on it here (:fire: Thread will self-destruct at {{ expiry_time }}, {{ expiry_relative }}). diff --git a/bot/templates/teaser_summarize_story.msg b/discord-bot/templates/teaser_summarize_story.msg similarity index 70% rename from bot/templates/teaser_summarize_story.msg rename to discord-bot/templates/teaser_summarize_story.msg index 6e5ee5e5..52d46462 100644 --- a/bot/templates/teaser_summarize_story.msg +++ b/discord-bot/templates/teaser_summarize_story.msg @@ -1,3 +1,3 @@ :books: **Challenge: Summarize Story** -:point_down: Work on it here (:fire: Thread will self-destruct at {{ expiry_time }}, {{ expiry_relative }}). \ No newline at end of file +:point_down: Work on it here (:fire: Thread will self-destruct at {{ expiry_time }}, {{ expiry_relative }}). diff --git a/bot/templates/teaser_user_reply.msg b/discord-bot/templates/teaser_user_reply.msg similarity index 70% rename from bot/templates/teaser_user_reply.msg rename to discord-bot/templates/teaser_user_reply.msg index 47ec8a2d..31827252 100644 --- a/bot/templates/teaser_user_reply.msg +++ b/discord-bot/templates/teaser_user_reply.msg @@ -1,3 +1,3 @@ :person_red_hair: **Challenge: User Reply** -:point_down: Work on it here (:fire: Thread will self-destruct at {{ expiry_time }}, {{ expiry_relative }}). \ No newline at end of file +:point_down: Work on it here (:fire: Thread will self-destruct at {{ expiry_time }}, {{ expiry_relative }}). diff --git a/bot/templates/welcome.msg b/discord-bot/templates/welcome.msg similarity index 100% rename from bot/templates/welcome.msg rename to discord-bot/templates/welcome.msg diff --git a/bot/utils.py b/discord-bot/utils.py similarity index 100% rename from bot/utils.py rename to discord-bot/utils.py diff --git a/website/package-lock.json b/website/package-lock.json index d0689233..45063104 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -14,11 +14,8 @@ "@headlessui/react": "^1.7.7", "@heroicons/react": "^2.0.13", "@next-auth/prisma-adapter": "^1.0.5", + "@next/font": "^13.1.0", "@prisma/client": "^4.7.1", - "@supabase/auth-helpers-nextjs": "^0.5.2", - "@supabase/auth-helpers-react": "^0.3.1", - "@supabase/auth-ui-react": "^0.2.6", - "@supabase/supabase-js": "^2.1.4", "@tailwindcss/forms": "^0.5.3", "autoprefixer": "^10.4.13", "axios": "^1.2.1", @@ -1965,6 +1962,11 @@ "glob": "7.1.7" } }, + "node_modules/@next/font": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@next/font/-/font-13.1.0.tgz", + "integrity": "sha512-9+c2eWoeLftcGAul1fiXD8lL4o4/0beQrz2/0h0B0VV5AWrqCCfj/204quUxdp541ab+NCWVX/m49qjbqFMaFA==" + }, "node_modules/@next/swc-android-arm-eabi": { "version": "13.0.6", "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.0.6.tgz", @@ -2265,117 +2267,6 @@ "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" }, - "node_modules/@stitches/core": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@stitches/core/-/core-1.2.8.tgz", - "integrity": "sha512-Gfkvwk9o9kE9r9XNBmJRfV8zONvXThnm1tcuojL04Uy5uRyqg93DC83lDebl0rocZCfKSjUv+fWYtMQmEDJldg==" - }, - "node_modules/@stitches/react": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@stitches/react/-/react-1.2.8.tgz", - "integrity": "sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==", - "peerDependencies": { - "react": ">= 16.3.0" - } - }, - "node_modules/@supabase/auth-helpers-nextjs": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@supabase/auth-helpers-nextjs/-/auth-helpers-nextjs-0.5.2.tgz", - "integrity": "sha512-B+sQFVEImAYOJKyyNX1DWqTF2qVf9SocOM1GD4eGHon6ulvLOo2a8V+v1jZAuLOBF6yzVIYnZucuYKZCiNP/Eg==", - "dependencies": { - "@supabase/auth-helpers-shared": "0.2.3" - }, - "peerDependencies": { - "@supabase/supabase-js": "^2.0.4" - } - }, - "node_modules/@supabase/auth-helpers-react": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@supabase/auth-helpers-react/-/auth-helpers-react-0.3.1.tgz", - "integrity": "sha512-g3SFv08Dz9FapNif/ZY1b7qKGlMJDyTLSayHBz3kb3FuYxg7aLWgQtydDhm5AGbc0XtvpIBuhGTIOVevwpdosA==", - "peerDependencies": { - "@supabase/supabase-js": "^2.0.4" - } - }, - "node_modules/@supabase/auth-helpers-shared": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@supabase/auth-helpers-shared/-/auth-helpers-shared-0.2.3.tgz", - "integrity": "sha512-Xwnd2UQ/VTjTKIuVg1Xl/ryrElbSccOJhC11jbVPHOs7Y6yxzy9APxQs//jj4IpbDH4uOEDCdpMIJ0tzRxj9DQ==", - "peerDependencies": { - "@supabase/supabase-js": "^2.0.4" - } - }, - "node_modules/@supabase/auth-ui-react": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@supabase/auth-ui-react/-/auth-ui-react-0.2.6.tgz", - "integrity": "sha512-N2qxgsjxPQZPdDotVumzruj4RHaKNFb9ZRecttMeGOvrYFbMWRQVpWT/rYkTPsRW2phKiGXQlMwha6YxUE+t6Q==", - "dependencies": { - "@stitches/core": "^1.2.8", - "@stitches/react": "^1.2.8", - "prop-types": "^15.7.2" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - }, - "peerDependencies": { - "react": "^16.13.1 || ^17.0.1 || ^18.0.0", - "react-dom": "^16.13.1 || ^17.0.1 || ^18.0.0" - } - }, - "node_modules/@supabase/functions-js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.0.0.tgz", - "integrity": "sha512-ozb7bds2yvf5k7NM2ZzUkxvsx4S4i2eRKFSJetdTADV91T65g4gCzEs9L3LUXSrghcGIkUaon03VPzOrFredqg==", - "dependencies": { - "cross-fetch": "^3.1.5" - } - }, - "node_modules/@supabase/gotrue-js": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@supabase/gotrue-js/-/gotrue-js-2.6.0.tgz", - "integrity": "sha512-vU0rSLUIp3mRSGnBYTx0dBc/1gqiEgX1nrw5ewRd1fvld91KeuCyKOnTXFLppFrv5t1+96Lq45g/BaV27lnzig==", - "dependencies": { - "cross-fetch": "^3.1.5" - } - }, - "node_modules/@supabase/postgrest-js": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-1.1.1.tgz", - "integrity": "sha512-jhdBah1JIxkZUp+5QH5JS7Uq9teGwh0Bs3FzbhnVlH619FSUFquTpHuNDxLsJmqEe8r3Wcnw19Dz0t3wEpkfug==", - "dependencies": { - "cross-fetch": "^3.1.5" - } - }, - "node_modules/@supabase/realtime-js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-2.1.0.tgz", - "integrity": "sha512-iplLCofTeYjnx9FIOsIwHLhMp0+7UVyiA4/sCeq40VdOgN9eTIhjEno9Tgh4dJARi4aaXoKfRX1DTxgZaOpPAw==", - "dependencies": { - "@types/phoenix": "^1.5.4", - "websocket": "^1.0.34" - } - }, - "node_modules/@supabase/storage-js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-2.1.0.tgz", - "integrity": "sha512-bRMLWCbkkx84WDAtHAAMN7FAWuayrGZtTHj/WMUK6PsAWuonovvEa5s34a5iux61qJSn+ls3tFkyQgqxunl5ww==", - "dependencies": { - "cross-fetch": "^3.1.5" - } - }, - "node_modules/@supabase/supabase-js": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.2.1.tgz", - "integrity": "sha512-gHm0bYu8NXCVlKIOcuUT9s/izbNlrwIw+UCKTT9sj2gR9QcYoz4jjIWnvNF8Uwtp5Mq1444NI7OH1yK70yJykQ==", - "dependencies": { - "@supabase/functions-js": "^2.0.0", - "@supabase/gotrue-js": "^2.5.0", - "@supabase/postgrest-js": "^1.1.1", - "@supabase/realtime-js": "^2.1.0", - "@supabase/storage-js": "^2.1.0", - "cross-fetch": "^3.1.5" - } - }, "node_modules/@swc/helpers": { "version": "0.4.14", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", @@ -2424,11 +2315,6 @@ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, - "node_modules/@types/phoenix": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/phoenix/-/phoenix-1.5.4.tgz", - "integrity": "sha512-L5eZmzw89eXBKkiqVBcJfU1QGx9y+wurRIEgt0cuLH0hwNtVUxtx+6cu0R2STwWj468sjXyBYPYDtGclUd1kjQ==" - }, "node_modules/@types/prop-types": { "version": "15.7.5", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", @@ -2908,18 +2794,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/bufferutil": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", - "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } - }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -3116,14 +2990,6 @@ "node": ">=10" } }, - "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "dependencies": { - "node-fetch": "2.6.7" - } - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -3161,15 +3027,6 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, - "node_modules/d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", @@ -3380,39 +3237,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es5-ext": { - "version": "0.10.62", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", - "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", - "hasInstallScript": true, - "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -3863,19 +3687,6 @@ "node": ">=0.10.0" } }, - "node_modules/ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "dependencies": { - "type": "^2.7.2" - } - }, - "node_modules/ext/node_modules/type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -4623,11 +4434,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, "node_modules/is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -4990,40 +4796,6 @@ } } }, - "node_modules/next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, "node_modules/node-releases": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", @@ -6253,11 +6025,6 @@ "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, "node_modules/tsconfig-paths": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", @@ -6293,11 +6060,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, - "node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -6320,14 +6082,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, "node_modules/typescript": { "version": "4.9.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", @@ -6448,18 +6202,6 @@ "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -6473,49 +6215,6 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/websocket": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", - "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", - "dependencies": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/websocket/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/websocket/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -6566,14 +6265,6 @@ "node": ">=0.4" } }, - "node_modules/yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==", - "engines": { - "node": ">=0.10.32" - } - }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -8084,6 +7775,11 @@ "glob": "7.1.7" } }, + "@next/font": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@next/font/-/font-13.1.0.tgz", + "integrity": "sha512-9+c2eWoeLftcGAul1fiXD8lL4o4/0beQrz2/0h0B0VV5AWrqCCfj/204quUxdp541ab+NCWVX/m49qjbqFMaFA==" + }, "@next/swc-android-arm-eabi": { "version": "13.0.6", "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.0.6.tgz", @@ -8232,102 +7928,6 @@ "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" }, - "@stitches/core": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@stitches/core/-/core-1.2.8.tgz", - "integrity": "sha512-Gfkvwk9o9kE9r9XNBmJRfV8zONvXThnm1tcuojL04Uy5uRyqg93DC83lDebl0rocZCfKSjUv+fWYtMQmEDJldg==" - }, - "@stitches/react": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@stitches/react/-/react-1.2.8.tgz", - "integrity": "sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==", - "requires": {} - }, - "@supabase/auth-helpers-nextjs": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@supabase/auth-helpers-nextjs/-/auth-helpers-nextjs-0.5.2.tgz", - "integrity": "sha512-B+sQFVEImAYOJKyyNX1DWqTF2qVf9SocOM1GD4eGHon6ulvLOo2a8V+v1jZAuLOBF6yzVIYnZucuYKZCiNP/Eg==", - "requires": { - "@supabase/auth-helpers-shared": "0.2.3" - } - }, - "@supabase/auth-helpers-react": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@supabase/auth-helpers-react/-/auth-helpers-react-0.3.1.tgz", - "integrity": "sha512-g3SFv08Dz9FapNif/ZY1b7qKGlMJDyTLSayHBz3kb3FuYxg7aLWgQtydDhm5AGbc0XtvpIBuhGTIOVevwpdosA==", - "requires": {} - }, - "@supabase/auth-helpers-shared": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@supabase/auth-helpers-shared/-/auth-helpers-shared-0.2.3.tgz", - "integrity": "sha512-Xwnd2UQ/VTjTKIuVg1Xl/ryrElbSccOJhC11jbVPHOs7Y6yxzy9APxQs//jj4IpbDH4uOEDCdpMIJ0tzRxj9DQ==", - "requires": {} - }, - "@supabase/auth-ui-react": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@supabase/auth-ui-react/-/auth-ui-react-0.2.6.tgz", - "integrity": "sha512-N2qxgsjxPQZPdDotVumzruj4RHaKNFb9ZRecttMeGOvrYFbMWRQVpWT/rYkTPsRW2phKiGXQlMwha6YxUE+t6Q==", - "requires": { - "@stitches/core": "^1.2.8", - "@stitches/react": "^1.2.8", - "fsevents": "^2.3.2", - "prop-types": "^15.7.2" - } - }, - "@supabase/functions-js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.0.0.tgz", - "integrity": "sha512-ozb7bds2yvf5k7NM2ZzUkxvsx4S4i2eRKFSJetdTADV91T65g4gCzEs9L3LUXSrghcGIkUaon03VPzOrFredqg==", - "requires": { - "cross-fetch": "^3.1.5" - } - }, - "@supabase/gotrue-js": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@supabase/gotrue-js/-/gotrue-js-2.6.0.tgz", - "integrity": "sha512-vU0rSLUIp3mRSGnBYTx0dBc/1gqiEgX1nrw5ewRd1fvld91KeuCyKOnTXFLppFrv5t1+96Lq45g/BaV27lnzig==", - "requires": { - "cross-fetch": "^3.1.5" - } - }, - "@supabase/postgrest-js": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-1.1.1.tgz", - "integrity": "sha512-jhdBah1JIxkZUp+5QH5JS7Uq9teGwh0Bs3FzbhnVlH619FSUFquTpHuNDxLsJmqEe8r3Wcnw19Dz0t3wEpkfug==", - "requires": { - "cross-fetch": "^3.1.5" - } - }, - "@supabase/realtime-js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-2.1.0.tgz", - "integrity": "sha512-iplLCofTeYjnx9FIOsIwHLhMp0+7UVyiA4/sCeq40VdOgN9eTIhjEno9Tgh4dJARi4aaXoKfRX1DTxgZaOpPAw==", - "requires": { - "@types/phoenix": "^1.5.4", - "websocket": "^1.0.34" - } - }, - "@supabase/storage-js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-2.1.0.tgz", - "integrity": "sha512-bRMLWCbkkx84WDAtHAAMN7FAWuayrGZtTHj/WMUK6PsAWuonovvEa5s34a5iux61qJSn+ls3tFkyQgqxunl5ww==", - "requires": { - "cross-fetch": "^3.1.5" - } - }, - "@supabase/supabase-js": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.2.1.tgz", - "integrity": "sha512-gHm0bYu8NXCVlKIOcuUT9s/izbNlrwIw+UCKTT9sj2gR9QcYoz4jjIWnvNF8Uwtp5Mq1444NI7OH1yK70yJykQ==", - "requires": { - "@supabase/functions-js": "^2.0.0", - "@supabase/gotrue-js": "^2.5.0", - "@supabase/postgrest-js": "^1.1.1", - "@supabase/realtime-js": "^2.1.0", - "@supabase/storage-js": "^2.1.0", - "cross-fetch": "^3.1.5" - } - }, "@swc/helpers": { "version": "0.4.14", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", @@ -8373,11 +7973,6 @@ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, - "@types/phoenix": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/phoenix/-/phoenix-1.5.4.tgz", - "integrity": "sha512-L5eZmzw89eXBKkiqVBcJfU1QGx9y+wurRIEgt0cuLH0hwNtVUxtx+6cu0R2STwWj468sjXyBYPYDtGclUd1kjQ==" - }, "@types/prop-types": { "version": "15.7.5", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", @@ -8694,14 +8289,6 @@ "update-browserslist-db": "^1.0.9" } }, - "bufferutil": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", - "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", - "requires": { - "node-gyp-build": "^4.3.0" - } - }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -8841,14 +8428,6 @@ "yaml": "^1.10.0" } }, - "cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "requires": { - "node-fetch": "2.6.7" - } - }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -8877,15 +8456,6 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, "damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", @@ -9046,35 +8616,6 @@ "is-symbol": "^1.0.2" } }, - "es5-ext": { - "version": "0.10.62", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", - "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", - "requires": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -9405,21 +8946,6 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, - "ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "requires": { - "type": "^2.7.2" - }, - "dependencies": { - "type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" - } - } - }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -9939,11 +9465,6 @@ "has-symbols": "^1.0.2" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, "is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -10193,24 +9714,6 @@ "uuid": "^8.3.2" } }, - "next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-gyp-build": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", - "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==" - }, "node-releases": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", @@ -10999,11 +10502,6 @@ "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, "tsconfig-paths": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", @@ -11035,11 +10533,6 @@ } } }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -11053,14 +10546,6 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, "typescript": { "version": "4.9.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", @@ -11124,14 +10609,6 @@ "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", "requires": {} }, - "utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", - "requires": { - "node-gyp-build": "^4.3.0" - } - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -11142,48 +10619,6 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "websocket": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", - "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", - "requires": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -11219,11 +10654,6 @@ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, - "yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==" - }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", diff --git a/website/package.json b/website/package.json index 10708782..bfec87c7 100644 --- a/website/package.json +++ b/website/package.json @@ -16,6 +16,7 @@ "@headlessui/react": "^1.7.7", "@heroicons/react": "^2.0.13", "@next-auth/prisma-adapter": "^1.0.5", + "@next/font": "^13.1.0", "@prisma/client": "^4.7.1", "@tailwindcss/forms": "^0.5.3", "autoprefixer": "^10.4.13", diff --git a/website/public/images/logos/CHAT-THOUGHT-CONVO.svg b/website/public/images/logos/CHAT-THOUGHT-CONVO.svg deleted file mode 100644 index 3c14ab57..00000000 --- a/website/public/images/logos/CHAT-THOUGHT-CONVO.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/website/public/images/logos/CHAT-THOUGHT-LOGO.svg b/website/public/images/logos/CHAT-THOUGHT-LOGO.svg deleted file mode 100644 index 7657e0a4..00000000 --- a/website/public/images/logos/CHAT-THOUGHT-LOGO.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/website/public/images/logos/logo.png b/website/public/images/logos/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..34cdf878289fa8a8f176fe912edb714de4022613 GIT binary patch literal 18263 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 literal 0 HcmV?d00001 diff --git a/website/public/images/logos/logo.svg b/website/public/images/logos/logo.svg new file mode 100644 index 00000000..8cc9a708 --- /dev/null +++ b/website/public/images/logos/logo.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/public/images/logos/logo_mono.png b/website/public/images/logos/logo_mono.png new file mode 100644 index 0000000000000000000000000000000000000000..2b7cd7753d1a2696e53ca57ee7937f235820d711 GIT binary patch literal 6766 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 literal 0 HcmV?d00001 diff --git a/website/public/images/logos/logo_mono.svg b/website/public/images/logos/logo_mono.svg new file mode 100644 index 00000000..ef272256 --- /dev/null +++ b/website/public/images/logos/logo_mono.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/website/public/images/temp-avatars/av1.jpg b/website/public/images/temp-avatars/av1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0c76c2b77068fa7128a9c4157197520c8267b725 GIT binary patch literal 7297 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 I)4|yP0e9v=vH$=8 literal 0 HcmV?d00001 diff --git a/website/public/images/temp-avatars/av2.jpg b/website/public/images/temp-avatars/av2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9eb06f60e62263f35903841f2f1ac579b2e33a7d GIT binary patch literal 6589 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 YW9Bwy?uX$^DNbI$>5)^<*sF>E0~1UTwg3PC literal 0 HcmV?d00001 diff --git a/website/public/images/temp-avatars/av5.jpg b/website/public/images/temp-avatars/av5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c017c767ecdbcedd6fd42defdf00a3749249119e GIT binary patch literal 5735 zcma)8cRZV2`wy{aY&9DcwWDaQme>{4u2m#TtlDa|lu)Y_tvwzq#C)wD>6mD#sA!p385o!t7+C43F7Qut`SQOt0W~EhH4Qa{ zh6ch&Lqo%euV@%ARp|ad2F}|-bYui*0yLO_2Si9m0Hz~2?*NT}KwtuV`9Ba4f{BPp zN$|aR{LcUhDFj4FNJv0LNQfW57$u+sR3KL+=!unJPzGg25~h1LbRfVEF%bzVG5J42 zfKw>=9!%esUfF}k;Oeu4TuELDC8TFN0}-TZ7(U`2(iWOneZ#PZj~=f}1g0h-BE9rZ zaG|RNqvui9mjoQydH~u;&qM~Idp2-`yc<=+)rKRByeeKvQs*-uDu5Uv9heT#J?>54 zd50Yxu`n)(4dA=!bXW9ljn)9#U;te<;8Zq%)=wYGm(JC`R${Mhmd~r&@8DP;>&A#; z@0@_WHSF@q@cT4uoPY{eUuj{U)5evgXs| z!;`hu)V<1v8FJMbYDe2|W=OnP++dw?U65BZ;SayP-86Tb`)T0fo{(!FuAXtF#A-mc z9MZlVRtv7X#`ssADsyq@_{*|<>AZaDf|>r>{_l?YT9Q0rABw_?1YWrb@oo< zICiQcbWyAuvn_k)Td#R3zhuKz!Pdcdp;^^VSvc?2=MM#kM7;vVFtgl6l{uR~SH8=Z zOSm#;=njqMQWahkx~8uxoB_3*rY_}JO^Dr+vSsgzpnGfaeyD!`jdk0Jnp^>{No%xD ztW+y>KAM{HhLouF!*Q0JVN;ciCWvHY3GQ^$lPnd6dBs=PFSoVl;X;ysI-FBcXlmgtL_7@cW@6F)G+7=nJavNo);E=9-j)oZ8!7!C%x!au8N4woUdwE9 zoLhE!&s0tnxqn5YU+UzJqN}8p4*d+$Rnh{m!au52r?l=UhbvgmODahb`#j=`jTlu8 znjG7$J2-R1Z5{Vr^>LF?bR#j9fAed$^Hg~xvod6Kc7I}=yte0$4F<$UsS z0E0*P*tJRcK^X`H$Q4E{;VLDU%mnB}WaO4z-SumPw`bx5^^@Q+e>j@FCH7voBbor;yn;Cv~3QEj56IveywV{4os2?YXl)HnGH0Igpkb!451=+!wMZ%iQiYqbe^CU z08i-ggD0#LLx1G=C|&%EmO=uimqOmT?@1_n{DO#EDMZrZ|CSFlX#ru<4a#1^cV_(F4JB;$Q#Zvb%?&_^$}) zpFW`dr<+|N&9afsDu!vm#H1&>9r*`#Q2>(K;Q-WJ?M(h12+~YVP2<6L7ncY{=fMH* z5DY&Q5KiR#7k=3ya0rHngkP8*iU(8Srm3ksb9URQ%f|?eANFZYXD$<5l_nqVkg~v} z&T++4fh);=MO-5ktH|ksEU{wl)@B)QL(Vrcj}5@t=;4}L6vg+~pGH@$-#Bg*u=suU zNyU1^$@co)Vc*w(`Qdz?P)HvC5`>Z=5NGl(K_=VfYAI1qTpo+#0$z^7?P6-Xhqare zM(-&HNjD~$jI(@A@Xaw1$)<)VljsC|J}dv-9A9KD;;qb0OJaR(hxOR>>xYzqAeNCr z1vBG@oM#-$L>}?5r4}j=PWo@>pv;RY0OO~CTV*XfjW1D)50TBH<`BL!BariNS&U&zGes}#3{_d*)r|2VvG$HsQ`*}tst1Rv}xRW=M& z#RqFcEk@e;5P;{YOJboU5fKrQYybfIG0@yGG#p+cEbaHR9+vuUegN@c!@NthJg6fo zDkgmLf~nHb1%Oy{0qHutc})PuOnP*t`!QZ_8;0RP+yI`BWKkdlicCntv}6RJX# z7yaU}EoT#8>*YzHsRCP|{%Sb}}p$ zf0X3_>7XVjyO7kxuYN%8qFi@Lofm%?kosolp+Ih|i;GJlaJn9$RN(ZNxT>k0lES3X zTxxoHs&W=r{4S!DdAn4&Ds(XhA_atunx5)F9Y$j3DYLb(U0q#+ydU>~WBR@cAL>sC z)-odYdd{T=XN$|H$#Z=UeUF#)JsB#zo%>`Is(8umA=?YwsKLfDT0Tf>>rFG1fLB>f#?1P_*ck_3W zbxvK>t-TV`d~24y6rhx^+m|UZP%^lrvmrEiI(n>sedk0c)}GrnbXh!}=OXKWs=lr1 z6t~-^;;*3IQ1|fmWisGCu;x;zo1W;Y81GDYHRzh7S;4hNK^w>ly6%b7{OR6K;z~9&MFx-(l>D z7c~dA-hy{Ut=PQ_qYaikW7xZHYqNSHiFn}(k(aj9EyB)$PE#i3>qEo8bA3%IUjY_b z$l&W!Z80dCi54BpJuSX$_k? zix03^=*xm<1cSL_#Beea$m!0;q7=QGh?q6^@EI#@%n=-kgfz{v%lxQvwVfI7E6pf; z0`(R%^#BN@riS+)XioFbSBREb$Tj*@ABY!-V*m!gVTL)%=1WxX>XC6rPIcB7Wti+} zP_9wtdW-ELk#>=KX?zJ)0ICtMu;z~fHa1>LK`FoGsX}1@D?qKQMXvq8 zfp{zsF9MNm2k0DV@w>443bllHcvnQOT7~yA2&A#|xw!qO!7B2I@|70f&Q$lbcKF`Q zG`?M4)WX4_pcUPoLvq*c5qg$S+0Umf#aMuy64#&^DjOI1i|R@0Rm<*AsLgZG<>wS3 z$sN$4&%y(dpSWANkbqZ<juG?%G&L4xko#%B{W3p`3w9s4N=*F zy!3++FSj_XG*MnT2jR&{{x$`md3&@%p98J0Ht$<)2Nqu^B9+%x@7_J+&4P2H*$VU> zhieZg)18{F5MMNAkB!*CN<+gmG)^{L51BLXgr-JLh*Ygn@OmNx+GD(k388(cxEDga zy4$v&@;-m4=mu9mZi=gWuHMW{>SZp`bjsoDFUVP{0DqQHt2`$pjyv*3||*0^?FRELn?;(rf(= z*M8n*y57uSRj4}<)tKtLw)%JZJmNyBeZOh@ zMUIFy?AAt2ypGZG9mnp4O>>3lqT})_mcdP57HghMwGE^SgZC!U{a-$BRe$1YH(yDu z`v7md7ZDIK4|GX>;utYs>8BHfYK*7KtxWuC{aB@H+sf!U{X0i`-n57Naq#6=1_7`b zxZkjUIlUJA^2OKi4`u}mOzmGEv&)EHD}vZGI5n|eIo){i;^`XGiuBkZ`hk^tv*2{& zVuKK?jXg`2uI!rwl6PWlBl<*iuhXLU<}D`qi0z}p=y?8`RQ_C%P!lp}qxp7Yy! zn~i28mw8gPw^&=p;N)*Fdarhvy`_oqN3>JpmYd~YskY5N$yjc(#4b~0(sUyuVXV_F z7P$$H1os_p#Ux{2s++htHqyb;@KEY+A$^_4oUuN+jb)TWMG*=OdKm8<*@H5MbW?i&NnPN(#8%m=y z1DTe5#5r!_jNF_ONWG7}l7Dm@B~;Z2G2%YlWa`)>p?u)tWHp!d` zAGK8VqMRssM8j^2WOF0vcMnT{Bq*gD^KEZFxMqHBJ}h-{G;!2YX&;z9PNgko_Tq6m zRCD|d{ak~SnXR}-yhELF>r-J?ZH5g~_Gt@&4mwBNBTMVX?AUxNjvEKcmEY`1cJgh5 zX5dU~Q8e~@+~GFvw-)Sk%8os_e@X-ow=!iU54{LbIR`1Kxc`p311_61ES83~(-5n4 zs&)4TzyI5Jz=thQigns+mvuQwT9kg-I#{Sc-JLl8?1!$QShyVZp literal 0 HcmV?d00001 diff --git a/website/src/components/AuthLayout.tsx b/website/src/components/AuthLayout.tsx index 428ce6ea..04110253 100644 --- a/website/src/components/AuthLayout.tsx +++ b/website/src/components/AuthLayout.tsx @@ -1,33 +1,14 @@ import Link from "next/link"; +import Image from "next/image"; -function BackgroundIllustration(props) { +export function AuthLayout({ children }) { return ( - - ); -} - -export function AuthLayout({ title, subtitle, children }) { - return ( -
-
- - {/* logo */} +
+
+ + Open Assistant Logo Open Assistant -
- -

{title}

- {subtitle &&

{subtitle}

} -
-
+
{children}
diff --git a/website/src/components/Avatar.tsx b/website/src/components/Avatar.tsx new file mode 100644 index 00000000..26bdec0b --- /dev/null +++ b/website/src/components/Avatar.tsx @@ -0,0 +1,96 @@ +import React from "react"; +import { signOut, useSession } from "next-auth/react"; +import Image from "next/image"; +import { Popover } from "@headlessui/react"; +import { AnimatePresence, motion } from "framer-motion"; +import { FaCog, FaSignOutAlt, FaGithub } from "react-icons/fa"; + +export function Avatar() { + const { data: session } = useSession(); + + if (!session) { + return <>; + } + if (session && session.user) { + const email = session.user.email; + const accountOptions = [ + { + name: "Account Settings", + href: "#", + desc: "Account Settings", + icon: FaCog, + //For future use + }, + ]; + return ( + + {({ open }) => ( + <> + +
+ Profile Picture +

{email}

+ {/* Will be changed to username once it is implemented */} +
+
+ + {open && ( + <> + +
+ {accountOptions.map((item) => ( + +
+
+
+

{item.name}

+
+
+ ))} + signOut()} + > +
+ +
+
+

Sign Out

+
+
+
+
+ + )} +
+ + )} +
+ ); + } +} + +export default Avatar; diff --git a/website/src/components/CallToAction.tsx b/website/src/components/CallToAction.tsx index 35949645..2fd91c79 100644 --- a/website/src/components/CallToAction.tsx +++ b/website/src/components/CallToAction.tsx @@ -12,7 +12,7 @@ export function CallToAction() {

Join Us

All open source projects begin with people like you. Open source is the belief that if we collaborate we can - together gift our knoweledge and technology to the world for the benefit of humanity. Are you in? Find us + together gift our knowledge and technology to the world for the benefit of humanity. Are you in? Find us here:

@@ -27,7 +27,7 @@ export function CallToAction() { d="M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z" /> - DISCORD + Discord diff --git a/website/src/components/Header.tsx b/website/src/components/Header.tsx index e2cd7e17..c47982a1 100644 --- a/website/src/components/Header.tsx +++ b/website/src/components/Header.tsx @@ -4,7 +4,9 @@ import { AnimatePresence, motion } from "framer-motion"; import Image from "next/image"; import Link from "next/link"; import { signOut, useSession } from "next-auth/react"; +import { FaUser, FaSignOutAlt } from "react-icons/fa"; +import { Avatar } from "./Avatar"; import { Container } from "./Container"; import { NavLinks } from "./NavLinks"; @@ -40,15 +42,13 @@ function MobileNavLink({ children, ...props }) { function AccountButton() { const { data: session } = useSession(); if (session) { - return ( - - ); + return; } return ( - - + + ); } @@ -57,28 +57,22 @@ export function Header() { return (
diff --git a/website/src/components/Hero.tsx b/website/src/components/Hero.tsx index 0d74fb84..4f6bf4cb 100644 --- a/website/src/components/Hero.tsx +++ b/website/src/components/Hero.tsx @@ -71,7 +71,7 @@ export function Hero() {
+ + Open Assistant + + +
+
+ {"Sorry, the page you're looking for doesn't exist."} +
+