mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 17:35:10 +03:00
Updates all links in blog posts and docs
This commit is contained in:
1 parent
da2b2e760f
commit
1f291d067b
18 files changed
+43
-83
No files matched your search
+1
-1
@@ -33,7 +33,7 @@ const Auth = () => {
|
||||
};
|
||||
|
||||
const forgotPassword = async (e) => {
|
||||
// Read more on https://supabase.io/docs/client/reset-password-email#notes
|
||||
// Read more on https://supabase.io/docs/reference/javascript/reset-password-email#notes
|
||||
e.preventDefault();
|
||||
const email = prompt("Please enter your email:");
|
||||
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ const Home = ({ user }) => {
|
||||
useEffect(() => {
|
||||
/* Recovery url is of the form
|
||||
* <SITE_URL>#access_token=x&refresh_token=y&expires_in=z&token_type=bearer&type=recovery
|
||||
* Read more on https://supabase.io/docs/client/reset-password-email#notes
|
||||
* Read more on https://supabase.io/docs/reference/javascript/reset-password-email#notes
|
||||
*/
|
||||
let url = window.location.hash;
|
||||
let query = url.substr(1);
|
||||
|
||||
@@ -42,7 +42,7 @@ const supabaseConfig = {
|
||||
};
|
||||
```
|
||||
|
||||
You can find more about _Supabase Client_ config [on the official documentation page](https://supabase.io/docs/client/initializing).
|
||||
You can find more about _Supabase Client_ config [on the official documentation page](https://supabase.io/docs/reference/javascript/initializing).
|
||||
|
||||
To start a project, run:
|
||||
```sh
|
||||
|
||||
@@ -17,9 +17,9 @@ Today we're releasing [supabase-js](https://github.com/supabase/supabase-js) ver
|
||||
|
||||
### New Docs
|
||||
|
||||
Before digging into the improvements, we're excited to point out our new [developer docs](/docs/client/supabase-client). While they're still a work in progress, here are some things we think you'll like:
|
||||
Before digging into the improvements, we're excited to point out our new [developer docs](/docs/reference/javascript/supabase-client). While they're still a work in progress, here are some things we think you'll like:
|
||||
|
||||
- The [Reference Docs](/docs/client/supabase-client) are auto-generated from our TypeScript definitions and then enriched with examples. This forces us to document our code and makes it easier to keep everything in sync.
|
||||
- The [Reference Docs](/docs/reference/javascript/supabase-client) are auto-generated from our TypeScript definitions and then enriched with examples. This forces us to document our code and makes it easier to keep everything in sync.
|
||||
- We added placeholders for the other languages that the community is developing. They have already started with Python, C#, Dart, Rust, and Swift. Expect to see the docs filling up soon!
|
||||
- We've added sections for all of the open source tools we use, including [Postgres](/docs/postgres/server/about), [PostgREST](/docs/postgrest/server/about), [GoTrue](/docs/gotrue/server/about), and [Realtime](/docs/realtime/server/about). We'll be filling these with lots of valuable information including self-hosting, benchmarks, and simple guides.
|
||||
|
||||
@@ -114,7 +114,7 @@ To summarise the steps:
|
||||
|
||||
1. Install the new version: `npm install @supabase/supabase-js@latest`
|
||||
2. Update all your `body` constants to `data`
|
||||
3. Update all your `supabase.auth` functions with the new [Auth interface](/docs/client/auth-signup)
|
||||
3. Update all your `supabase.auth` functions with the new [Auth interface](/docs/reference/javascript/auth-signup)
|
||||
|
||||
### Get started
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ One of the most requested Auth features was the ability to send magic links that
|
||||
|
||||
### Kaizen
|
||||
|
||||
- We have new and improved [docs](https://supabase.io/docs/client/supabase-client).
|
||||
- We have new and improved [docs](https://supabase.io/docs/reference/javascript/supabase-client).
|
||||
- We converted [realtime-js](https://github.com/supabase/realtime-js/) to TypeScript.
|
||||
- Dashboard Performance: we heavily optimised our dashboard routes.
|
||||
- With the help of the community, we [closed a lot of issues](https://github.com/orgs/supabase/projects/5) during Hacktoberfest.
|
||||
|
||||
@@ -108,7 +108,7 @@ CREATE POLICY "Individuals can only write their own messages." ON messages FOR
|
||||
|
||||
### Know how to do business logic on SQL/[PLPGSQL](https://www.postgresql.org/docs/current/plpgsql-overview.html#PLPGSQL-ADVANTAGES)
|
||||
|
||||
PL/pgSQL is a procedural programming language that can be used to write functions inside of your database. It can be useful for making [remote procedure calls](https://supabase.io/docs/client/rpc) from an API. You can go as deep as you want here, since it's an entire programming language, but understanding the basics will really go a long way, and give you super powers when working with your data.
|
||||
PL/pgSQL is a procedural programming language that can be used to write functions inside of your database. It can be useful for making [remote procedure calls](https://supabase.io/docs/reference/javascript/rpc) from an API. You can go as deep as you want here, since it's an entire programming language, but understanding the basics will really go a long way, and give you super powers when working with your data.
|
||||
|
||||
You can use FUNCTIONs in combination with TRIGGERs to do cool stuff like have auto-updating `updated_at` columns on your data:
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ Writing SQL just got 10x easier. We added autocomplete to the SQL editor, includ
|
||||
|
||||
### Auth Redirects
|
||||
|
||||
Redirect your users to specific route within your site on [`signIn()`](https://supabase.io/docs/client/auth-signin#sign-in-with-redirect) and [`signUp()`](https://supabase.io/docs/client/auth-signup#sign-up-with-redirect).
|
||||
Redirect your users to specific route within your site on [`signIn()`](https://supabase.io/docs/reference/javascript/auth-signin#sign-in-with-redirect) and [`signUp()`](https://supabase.io/docs/reference/javascript/auth-signup#sign-up-with-redirect).
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ const main = async() => {
|
||||
main()
|
||||
```
|
||||
|
||||
Once this is working, if you want to learn more about the [query interface](https://supabase.io/docs/client/filter) you might want to try some of these challenges:
|
||||
Once this is working, if you want to learn more about the [query interface](https://supabase.io/docs/reference/javascript/filter) you might want to try some of these challenges:
|
||||
|
||||
```
|
||||
1. List all the countries in Antarctica
|
||||
@@ -126,7 +126,7 @@ const { data, error } = await supabase
|
||||
.select('name, country_id')
|
||||
.neq('name', 'The shire')
|
||||
|
||||
// full docs here: https://supabase.io/docs/client/filter
|
||||
// full docs here: https://supabase.io/docs/reference/javascript/filter
|
||||
```
|
||||
|
||||
We look forward to showing off some more Supabase + Replit examples.
|
||||
|
||||
@@ -14,7 +14,8 @@ Supabase makes it simple to manage your users.
|
||||
|
||||
When a user signs up, Supabase assigns them a unique ID. You can reference this ID anywhere in your database. For example, you might create a `profiles` table referencing the user using a `user_id` field.
|
||||
|
||||
Supabase provides the routes to [sign up](/docs/client/auth-signup), [log in](/docs/client/auth-signin), [log out](/docs/client/auth-signout), and manage users in your apps and websites.
|
||||
Supabase provides the routes to [sign up](/docs/reference/javascript/auth-signup), [log in](/docs/reference/javascript/auth-signin),
|
||||
[log out](/docs/reference/javascript/auth-signout), and manage users in your apps and websites.
|
||||
|
||||
|
||||
### Third Party Logins
|
||||
|
||||
@@ -9,12 +9,12 @@ import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
The [Supabase Client](/docs/client/supabase-client) makes it simple for developers to build secure and scalable products.
|
||||
The [Supabase Client](/docs/reference/javascript/supabase-client) makes it simple for developers to build secure and scalable products.
|
||||
|
||||
## Auth
|
||||
|
||||
|
||||
Create new users using [`signUp()`](/docs/client/auth-signup).
|
||||
Create new users using [`signUp()`](/docs/reference/javascript/auth-signup).
|
||||
|
||||
<Tabs
|
||||
groupId="libraries"
|
||||
@@ -45,7 +45,7 @@ const { error, data } = await supabase.auth.signUp({
|
||||
|
||||
|
||||
|
||||
Existing users can log in using [`signIn()`](/docs/client/auth-signin).
|
||||
Existing users can log in using [`signIn()`](/docs/reference/javascript/auth-signin).
|
||||
|
||||
<Tabs
|
||||
groupId="libraries"
|
||||
@@ -75,7 +75,7 @@ const { error, data } = await supabase.auth.signIn({
|
||||
</Tabs>
|
||||
|
||||
|
||||
If there is an email, but no password passed to [`signIn()`](/docs/client/auth-signin), the user will receive a magic link.
|
||||
If there is an email, but no password passed to [`signIn()`](/docs/reference/javascript/auth-signin), the user will receive a magic link.
|
||||
|
||||
<Tabs
|
||||
groupId="libraries"
|
||||
@@ -104,7 +104,7 @@ const { error, data } = await supabase.auth.signIn({
|
||||
</Tabs>
|
||||
|
||||
|
||||
Third party logins are also handled through [`signIn()`](/docs/client/auth-signin).
|
||||
Third party logins are also handled through [`signIn()`](/docs/reference/javascript/auth-signin).
|
||||
|
||||
|
||||
<Tabs
|
||||
@@ -136,7 +136,7 @@ const { user, error } = await supabase.auth.signIn({
|
||||
|
||||
## Managing data
|
||||
|
||||
Since Postgres is a Relational database, the client makes it simple to query tables and fetch related data in one round-trip, using [`select()`](/docs/client/select).
|
||||
Since Postgres is a Relational database, the client makes it simple to query tables and fetch related data in one round-trip, using [`select()`](/docs/reference/javascript/select).
|
||||
|
||||
|
||||
<Tabs
|
||||
@@ -171,7 +171,7 @@ const { data, error } = await supabase
|
||||
</Tabs>
|
||||
|
||||
|
||||
You can do advanced [filtering](/docs/client/using-filters) to extract only the data that you need.
|
||||
You can do advanced [filtering](/docs/reference/javascript/using-filters) to extract only the data that you need.
|
||||
|
||||
|
||||
<Tabs
|
||||
@@ -203,7 +203,7 @@ const { data, error } = await supabase
|
||||
</Tabs>
|
||||
|
||||
|
||||
You can create data easily using [`insert()`](/docs/client/insert).
|
||||
You can create data easily using [`insert()`](/docs/reference/javascript/insert).
|
||||
|
||||
|
||||
|
||||
@@ -239,7 +239,7 @@ const { data, error } = await supabase
|
||||
|
||||
## Realtime Changes
|
||||
|
||||
The Supabase client makes it simple to listen to realtime database changes, using [`subscribe()`](/docs/client/subscribe).
|
||||
The Supabase client makes it simple to listen to realtime database changes, using [`subscribe()`](/docs/reference/javascript/subscribe).
|
||||
|
||||
|
||||
<Tabs
|
||||
@@ -272,7 +272,7 @@ const mySubscription = supabase
|
||||
</Tabs>
|
||||
|
||||
|
||||
You can even [listen to Row Level changes](/docs/client/subscribe#listening-to-row-level-changes).
|
||||
You can even [listen to Row Level changes](/docs/reference/javascript/subscribe#listening-to-row-level-changes).
|
||||
|
||||
|
||||
<Tabs
|
||||
@@ -306,5 +306,5 @@ const mySubscription = supabase
|
||||
|
||||
## Next steps
|
||||
|
||||
- View the [Client Docs](/docs/client/supabase-client)
|
||||
- View the [Client Docs](/docs/reference/javascript/supabase-client)
|
||||
- Sign in: [app.supabase.io](https://app.supabase.io)
|
||||
@@ -232,7 +232,7 @@ pages:
|
||||
```
|
||||
- name: Sign up with third-party providers.
|
||||
description: |
|
||||
You can sign up with OAuth providers using the [`signIn()`](/docs/client/auth-signin#sign-in-using-third-party-providers) method.
|
||||
You can sign up with OAuth providers using the [`signIn()`](/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers) method.
|
||||
js: |
|
||||
```js
|
||||
const { user, session, error } = await supabase.auth.signIn({
|
||||
@@ -241,7 +241,7 @@ pages:
|
||||
```
|
||||
- name: Sign up with scopes.
|
||||
description: |
|
||||
You can provide additional scopes to OAuth providers using the [`signIn()`](/docs/client/auth-signin#sign-in-with-scopes) method.
|
||||
You can provide additional scopes to OAuth providers using the [`signIn()`](/docs/reference/javascript/auth-signin#sign-in-with-scopes) method.
|
||||
js: |
|
||||
```js
|
||||
const { user, session, error } = await supabase.auth.signIn({
|
||||
@@ -399,8 +399,8 @@ pages:
|
||||
$ref: '@supabase/postgrest-js."lib/PostgrestQueryBuilder".PostgrestQueryBuilder.select'
|
||||
notes: |
|
||||
- By default, Supabase projects will return a maximum of 1,000 rows. This setting can be changed Project API Settings. It's recommended that you keep it low to limit the payload size of accidental or malicious requests. You can use `range()` queries to paginate through your data.
|
||||
- `select()` can be combined with [Modifiers](/docs/client/using-modifiers)
|
||||
- `select()` can be combined with [Filters](/docs/client/using-filters)
|
||||
- `select()` can be combined with [Modifiers](/docs/reference/javascript/using-modifiers)
|
||||
- `select()` can be combined with [Filters](/docs/reference/javascript/using-filters)
|
||||
examples:
|
||||
- name: Getting your data
|
||||
isSpotlight: true
|
||||
@@ -529,7 +529,7 @@ pages:
|
||||
title: 'Modify data: update()'
|
||||
$ref: '@supabase/postgrest-js."lib/PostgrestQueryBuilder".PostgrestQueryBuilder.update'
|
||||
notes: |
|
||||
- `update()` should always be combined with [Filters](/docs/client/using-filters) to target the item(s) you wish to update.
|
||||
- `update()` should always be combined with [Filters](/docs/reference/javascript/using-filters) to target the item(s) you wish to update.
|
||||
examples:
|
||||
- name: Updating your data
|
||||
isSpotlight: true
|
||||
@@ -600,7 +600,7 @@ pages:
|
||||
title: 'Delete data: delete()'
|
||||
$ref: '@supabase/postgrest-js."lib/PostgrestQueryBuilder".PostgrestQueryBuilder.delete'
|
||||
notes: |
|
||||
- `delete()` should always be combined with [Filters](/docs/client/using-filters) to target the item(s) you wish to delete.
|
||||
- `delete()` should always be combined with [Filters](/docs/reference/javascript/using-filters) to target the item(s) you wish to delete.
|
||||
examples:
|
||||
- name: Delete records
|
||||
isSpotlight: true
|
||||
@@ -650,8 +650,8 @@ pages:
|
||||
- name: With filters.
|
||||
description: |
|
||||
Stored procedures that return tables can also be combined with
|
||||
[Modifiers](/docs/client/using-modifiers) and
|
||||
[Filters](/docs/client/using-filters).
|
||||
[Modifiers](/docs/reference/javascript/using-modifiers) and
|
||||
[Filters](/docs/reference/javascript/using-filters).
|
||||
js: |
|
||||
```js
|
||||
const { data, error } = await supabase
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
/docs/common/_CommonResponses /docs
|
||||
/docs/common/_DummyData /docs
|
||||
/docs/common/_FromFunction /docs
|
||||
/docs/common/filters/_adj /docs/client/ajv
|
||||
/docs/common/filters/_cd /docs/client/cd
|
||||
/docs/common/filters/_cs /docs/client/cs
|
||||
/docs/common/filters/_eq /docs/client/eq
|
||||
/docs/common/filters/_filter /docs/client/filter
|
||||
/docs/common/filters/_gt /docs/client/gt
|
||||
/docs/common/filters/_gte /docs/client/gte
|
||||
/docs/common/filters/_ilike /docs/client/ilike
|
||||
/docs/common/filters/_in /docs/client/in
|
||||
/docs/common/filters/_is /docs/client/is
|
||||
/docs/common/filters/_like /docs/client/like
|
||||
/docs/common/filters/_lt /docs/client/lt
|
||||
/docs/common/filters/_lte /docs/client/lte
|
||||
/docs/common/filters/_match /docs/client/match
|
||||
/docs/common/filters/_neq /docs/client/neq
|
||||
/docs/common/filters/_not /docs/client/not
|
||||
/docs/common/filters/_nxl /docs/client/nxl
|
||||
/docs/common/filters/_nxr /docs/client/nxr
|
||||
/docs/common/filters/_or /docs/client/or
|
||||
/docs/common/filters/_ova /docs/client/ov
|
||||
/docs/common/filters/_ovr /docs/client/ov
|
||||
/docs/common/filters/_sl /docs/client/sl
|
||||
/docs/common/filters/_sr /docs/client/sr
|
||||
/docs/library/authentication /docs/guides/auth
|
||||
/docs/library/delete /docs/client/delete
|
||||
/docs/library/get /docs/client/select
|
||||
/docs/library/getting-started /docs/client/supabase-client
|
||||
/docs/library/patch /docs/client/update
|
||||
/docs/library/post /docs/client/insert
|
||||
/docs/library/stored-procedures /docs/client/rpc
|
||||
/docs/library/subscribe /docs/client/subscribe
|
||||
/docs/library/user-management /docs/guides/auth
|
||||
/docs/postgres/postgres-intro /docs/postgres/server/about
|
||||
/docs/realtime/about /docs/realtime/server/about
|
||||
/docs/realtime/aws /docs/postgres/server/aws
|
||||
/docs/realtime/digitalocean /docs/postgres/server/digitalocean
|
||||
/docs/realtime/docker /docs/postgres/server/docker
|
||||
/docs/realtime/source /docs/postgres/server/about
|
||||
@@ -18,9 +18,9 @@ Today we're releasing [supabase-js](https://github.com/supabase/supabase-js) ver
|
||||
|
||||
### New Docs
|
||||
|
||||
Before digging into the improvements, we're excited to point out our new [developer docs](/docs/client/supabase-client). While they're still a work in progress, here are some things we think you'll like:
|
||||
Before digging into the improvements, we're excited to point out our new [developer docs](/docs/reference/javascript/supabase-client). While they're still a work in progress, here are some things we think you'll like:
|
||||
|
||||
- The [Reference Docs](/docs/client/supabase-client) are auto-generated from our TypeScript definitions and then enriched with examples. This forces us to document our code and makes it easier to keep everything in sync.
|
||||
- The [Reference Docs](/docs/reference/javascript/supabase-client) are auto-generated from our TypeScript definitions and then enriched with examples. This forces us to document our code and makes it easier to keep everything in sync.
|
||||
- We added placeholders for the other languages that the community is developing. They have already started with Python, C#, Dart, Rust, and Swift. Expect to see the docs filling up soon!
|
||||
- We've added sections for all of the open source tools we use, including [Postgres](/docs/postgres/server/about), [PostgREST](/docs/postgrest/server/about), [GoTrue](/docs/gotrue/server/about), and [Realtime](/docs/realtime/server/about). We'll be filling these with lots of valuable information including self-hosting, benchmarks, and simple guides.
|
||||
|
||||
@@ -109,7 +109,7 @@ To summarise the steps:
|
||||
|
||||
1. Install the new version: `npm install @supabase/supabase-js@latest`
|
||||
2. Update all your `body` constants to `data`
|
||||
3. Update all your `supabase.auth` functions with the new [Auth interface](/docs/client/auth-signup)
|
||||
3. Update all your `supabase.auth` functions with the new [Auth interface](/docs/reference/javascript/auth-signup)
|
||||
|
||||
### Get started
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ One of the most requested Auth features was the ability to send magic links that
|
||||
|
||||
### Kaizen
|
||||
|
||||
- We have new and improved [docs](https://supabase.io/docs/client/supabase-client).
|
||||
- We have new and improved [docs](https://supabase.io/docs/reference/javascript/supabase-client).
|
||||
- We converted [realtime-js](https://github.com/supabase/realtime-js/) to TypeScript.
|
||||
- Dashboard Performance: we heavily optimised our dashboard routes.
|
||||
- With the help of the community, we [closed a lot of issues](https://github.com/orgs/supabase/projects/5) during Hacktoberfest.
|
||||
|
||||
@@ -109,7 +109,7 @@ CREATE POLICY "Individuals can only write their own messages." ON messages FOR
|
||||
|
||||
### Know how to do business logic on SQL/[PLPGSQL](https://www.postgresql.org/docs/current/plpgsql-overview.html#PLPGSQL-ADVANTAGES)
|
||||
|
||||
PL/pgSQL is a procedural programming language that can be used to write functions inside of your database. It can be useful for making [remote procedure calls](https://supabase.io/docs/client/rpc) from an API. You can go as deep as you want here, since it's an entire programming language, but understanding the basics will really go a long way, and give you super powers when working with your data.
|
||||
PL/pgSQL is a procedural programming language that can be used to write functions inside of your database. It can be useful for making [remote procedure calls](https://supabase.io/docs/reference/javascript/rpc) from an API. You can go as deep as you want here, since it's an entire programming language, but understanding the basics will really go a long way, and give you super powers when working with your data.
|
||||
|
||||
You can use FUNCTIONs in combination with TRIGGERs to do cool stuff like have auto-updating `updated_at` columns on your data:
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ Writing SQL just got 10x easier. We added autocomplete to the SQL editor, includ
|
||||
|
||||
### Auth Redirects
|
||||
|
||||
Redirect your users to specific route within your site on [`signIn()`](https://supabase.io/docs/client/auth-signin#sign-in-with-redirect) and [`signUp()`](https://supabase.io/docs/client/auth-signup#sign-up-with-redirect).
|
||||
Redirect your users to specific route within your site on [`signIn()`](https://supabase.io/docs/reference/javascript/auth-signin#sign-in-with-redirect) and [`signUp()`](https://supabase.io/docs/reference/javascript/auth-signup#sign-up-with-redirect).
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ const main = async() => {
|
||||
main()
|
||||
```
|
||||
|
||||
Once this is working, if you want to learn more about the [query interface](https://supabase.io/docs/client/filter) you might want to try some of these challenges:
|
||||
Once this is working, if you want to learn more about the [query interface](https://supabase.io/docs/reference/javascript/filter) you might want to try some of these challenges:
|
||||
|
||||
```jsx
|
||||
// 1. List all the countries in Antarctica
|
||||
@@ -125,7 +125,7 @@ const { data, error } = await supabase
|
||||
.select('name, country_id')
|
||||
.neq('name', 'The shire')
|
||||
|
||||
// full docs here: https://supabase.io/docs/client/filter
|
||||
// full docs here: https://supabase.io/docs/reference/javascript/filter
|
||||
```
|
||||
|
||||
We look forward to showing off some more Supabase + Replit examples.
|
||||
|
||||
+3
-3
@@ -549,7 +549,7 @@ const NewFeaturesAndIntegrations = () => {
|
||||
If you're new to Supabase, here's a few of the things you get when you choose us
|
||||
as your backend. We provide{' '}
|
||||
<a
|
||||
href="/docs/client/auth-signup"
|
||||
href="/docs/reference/javascript/auth-signup"
|
||||
target="_blank"
|
||||
className="text-brand-700 hover:text-brand-800"
|
||||
>
|
||||
@@ -598,7 +598,7 @@ const NewFeaturesAndIntegrations = () => {
|
||||
You can use your database immediately, without an ORM or an API backend. We
|
||||
support GraphQL-like{' '}
|
||||
<a
|
||||
href="/docs/client/select#query-foreign-tables"
|
||||
href="/docs/reference/javascript/select#query-foreign-tables"
|
||||
target="_blank"
|
||||
className="text-brand-700 hover:text-brand-800"
|
||||
>
|
||||
@@ -606,7 +606,7 @@ const NewFeaturesAndIntegrations = () => {
|
||||
</a>{' '}
|
||||
in a single request, and you can even{' '}
|
||||
<a
|
||||
href="/docs/client/rpc"
|
||||
href="/docs/reference/javascript/rpc"
|
||||
target="_blank"
|
||||
className="text-brand-700 hover:text-brand-800"
|
||||
>
|
||||
|
||||
Reference in new issue
Block a user