-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #760 from near/feat/contact-us-page
Contact Us Page (1 of 2)
- Loading branch information
Showing
1 changed file
with
398 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,398 @@ | ||
const urls = { | ||
devHub: "https://near.org/devhub.near/widget/app", | ||
discord: "http://near.chat", | ||
discourse: "https://gov.near.org", | ||
docs: "https://docs.near.org", | ||
facebook: "https://www.facebook.com/NEARProtocol", | ||
getFunding: "https://near.org/ecosystem/get-funding", | ||
github: "https://github.com/near", | ||
hackenproof: "https://hackenproof.com/near", | ||
helpCenter: "https://nearhelp.zendesk.com/hc/en-us", | ||
nearWallet: "https://wallet.near.org/", | ||
nearWeek: "https://subscribe.nearweek.com/", | ||
reddit: "https://www.reddit.com/r/nearprotocol", | ||
supportRequest: "https://nearhelp.zendesk.com/hc/en-us/requests/new", | ||
telegram: "https://t.me/cryptonear", | ||
twitter: "https://twitter.com/nearprotocol", | ||
wechat: "https://pages.near.org/wechat", | ||
withdrawNearFunds: | ||
"https://nearhelp.zendesk.com/hc/en-us/articles/360060927734-Staking-Unstaking-and-Withdrawing-NEAR", | ||
youtube: "https://www.youtube.com/channel/UCuKdIYVN8iE3fv8alyk1aMw", | ||
}; | ||
|
||
const channels = [ | ||
{ | ||
icon: "ph-users", | ||
label: "DevHub", | ||
url: urls.devHub, | ||
}, | ||
{ | ||
icon: "ph-telegram-logo", | ||
label: "Telegram", | ||
url: urls.telegram, | ||
}, | ||
{ | ||
icon: "ph-discord-logo", | ||
label: "Discord", | ||
url: urls.discord, | ||
}, | ||
{ | ||
icon: "ph-chats-teardrop", | ||
label: "Discourse", | ||
url: urls.discourse, | ||
}, | ||
{ | ||
icon: "ph-facebook-logo", | ||
label: "Facebook", | ||
url: urls.facebook, | ||
}, | ||
{ | ||
icon: "ph-reddit-logo", | ||
label: "Reddit", | ||
url: urls.reddit, | ||
}, | ||
// { | ||
// icon: "ph-wifi-high", | ||
// label: "Warpcast", | ||
// url: "", | ||
// }, | ||
{ | ||
icon: "ph-youtube-logo", | ||
label: "YouTube", | ||
url: urls.youtube, | ||
}, | ||
{ | ||
icon: "ph-github-logo", | ||
label: "GitHub", | ||
url: urls.github, | ||
}, | ||
{ | ||
icon: "ph-file-text", | ||
label: "Docs", | ||
url: urls.docs, | ||
}, | ||
{ | ||
icon: "ph-wechat-logo", | ||
label: "WeChat", | ||
url: urls.wechat, | ||
}, | ||
{ | ||
icon: "ph-twitter-logo", | ||
label: "X", | ||
url: urls.twitter, | ||
}, | ||
]; | ||
|
||
const faqs = [ | ||
{ | ||
question: "What is the expectation for a support resolution?", | ||
answer: ( | ||
<> | ||
Upon submitting a support ticket, you can expect to receive an initial response from our team within 72 hours | ||
during our business hours. Our business hours are on weekdays in the PST timezone, excluding US holidays. | ||
</> | ||
), | ||
}, | ||
{ | ||
question: "Where can I find help to troubleshoot a development issue?", | ||
answer: ( | ||
<> | ||
Social channels such as{" "} | ||
<a href={urls.telegram} target="_blank"> | ||
Telegram | ||
</a>{" "} | ||
and | ||
<a href={urls.discord} target="_blank"> | ||
Discord | ||
</a>{" "} | ||
are a great resource to tap into for community support on development issues. If you can't find a solution, | ||
please submit a{" "} | ||
<a href={urls.supportRequest} target="_blank"> | ||
support request | ||
</a>{" "} | ||
to our Customer Care team. | ||
</> | ||
), | ||
}, | ||
{ | ||
question: "Where can I find funding for my project?", | ||
answer: ( | ||
<> | ||
<a href={urls.devHub} target="_blank"> | ||
DevHub | ||
</a> | ||
, powered by DevDAO, is a central platform offering funding opportunities for NEAR ecosystem projects aimed at | ||
fostering a self-sufficient developer community. We evaluate proposals based on their alignment with our goals, | ||
execution capabilities, and clear use of funds. To initiate the{" "} | ||
<a href={urls.getFunding} target="_blank"> | ||
funding process | ||
</a> | ||
for your project, engage with the community on DevHub's activity feed. | ||
</> | ||
), | ||
}, | ||
{ | ||
question: "How can I find out about the latest product developments?", | ||
answer: ( | ||
<> | ||
Follow{" "} | ||
<a href={urls.twitter} target="_blank"> | ||
NEAR on X | ||
</a> | ||
for our latest product announcements or subscribe to{" "} | ||
<a href={urls.nearWeek} target="_blank"> | ||
NEAR Week | ||
</a> | ||
to receive their weekly newsletter on ecosystem announcements. | ||
</> | ||
), | ||
}, | ||
{ | ||
question: "I found a bug — where can I flag this?", | ||
answer: ( | ||
<> | ||
For any issues or concerns you've encountered, please feel free to provide us with detailed information through | ||
our{" "} | ||
<a href={urls.hackenproof} target="_blank"> | ||
Bug Bounty Program | ||
</a> | ||
. Your cooperation and additional details will assist us in addressing and resolving any potential | ||
vulnerabilities effectively. We appreciate your proactive approach in helping us maintain the security and | ||
integrity of the NEAR ecosystem. If you have any further questions or need assistance, don't hesitate to reach | ||
out to us. | ||
</> | ||
), | ||
}, | ||
{ | ||
question: "What happened to Near Wallet?", | ||
answer: ( | ||
<> | ||
As we embrace a more decentralized future, wallet.near.org will be discontinued. This change invites you to | ||
discover a variety of new and secure wallet options within our ecosystem. Your funds are safe! Accounts exist on | ||
the blockchain, not in a wallet. Wallets are just an interface into using the blockchain with your account. | ||
<a href={urls.nearWallet} target="_blank"> | ||
Learn more | ||
</a> | ||
</> | ||
), | ||
}, | ||
{ | ||
question: "Question about Transfer Exchange?", | ||
answer: ( | ||
<> | ||
For issues relating to a third-party exchange, such as Binance or Coinbase we're unable to investigate issues on | ||
external platforms like these. To address your concern effectively, we recommend contacting the customer support | ||
team of the specific exchange where you're experiencing issues. They are most equipped to assist you in | ||
resolving the matter. | ||
</> | ||
), | ||
}, | ||
{ | ||
question: "How do I withdraw NEAR funds?", | ||
answer: ( | ||
<> | ||
Your NEAR funds are managed within your chosen wallet. To best address your question we suggest you visit the | ||
support site for your wallet that holds your NEAR funds. For generalized steps see | ||
<a href={urls.withdrawNearFunds} target="_blank"> | ||
this article | ||
</a> | ||
. | ||
</> | ||
), | ||
}, | ||
]; | ||
|
||
const Wrapper = styled.div` | ||
display: flex; | ||
flex-direction: column; | ||
padding-left: 1.5rem; | ||
padding-right: 1.5rem; | ||
gap: 80px; | ||
`; | ||
|
||
const Text = styled.p` | ||
font: var(--${(p) => p.$size ?? "text-base"}); | ||
font-weight: ${(p) => p.$fontWeight} !important; | ||
color: var(--${(p) => p.$color ?? "currentColor"}); | ||
margin: 0; | ||
@media (max-width: 900px) { | ||
font: var(--${(p) => p.$mobileSize ?? p.$size ?? "text-base"}); | ||
} | ||
`; | ||
|
||
const Flex = styled.div` | ||
display: flex; | ||
gap: ${(p) => p.$gap}; | ||
align-items: ${(p) => p.$alignItems}; | ||
justify-content: ${(p) => p.$justifyContent}; | ||
flex-direction: ${(p) => p.$direction ?? "row"}; | ||
flex-wrap: ${(p) => p.$wrap ?? "nowrap"}; | ||
${(p) => | ||
p.$mobileStack && | ||
` | ||
@media (max-width: 900px) { | ||
flex-direction: column; | ||
} | ||
`} | ||
@media (max-width: 900px) { | ||
gap: ${(p) => p.$mobileGap ?? p.$gap}; | ||
align-items: ${(p) => p.$mobileAlignItems ?? p.$alignItems}; | ||
} | ||
`; | ||
|
||
const Grid = styled.div` | ||
display: grid; | ||
gap: ${(p) => p.$gap}; | ||
grid-template-columns: ${(p) => p.$columns}; | ||
align-items: ${(p) => p.$alignItems}; | ||
@media (max-width: ${(p) => p.$breakpoint ?? "900px"}) { | ||
grid-template-columns: ${(p) => p.$breakpointColumns ?? "1fr"}; | ||
gap: ${(p) => p.$mobileGap ?? p.$gap}; | ||
} | ||
`; | ||
|
||
const Section = styled.div` | ||
display: flex; | ||
flex-direction: column; | ||
gap: 2rem; | ||
&.faqs { | ||
a { | ||
color: var(--violet8); | ||
font-weight: 700; | ||
} | ||
} | ||
`; | ||
|
||
const Card = styled.div` | ||
display: flex; | ||
flex-direction: column; | ||
justify-content: center; | ||
gap: 1.5rem; | ||
padding: 1.5rem; | ||
border-radius: 6px; | ||
color: var(--${(p) => p.$color ?? "currentColor"}); | ||
background: var(--${(p) => p.$background ?? "sand4"}); | ||
`; | ||
|
||
const IconTextLink = styled("Link")` | ||
all: unset; | ||
display: inline-flex; | ||
gap: 0.5rem; | ||
align-items: center; | ||
font: var(--text-s); | ||
font-weight: 700; | ||
color: currentColor; | ||
text-decoration: none !important; | ||
cursor: pointer; | ||
transition: all 150ms; | ||
i { | ||
font-size: 20px; | ||
color: var(--${(p) => p.$iconColor ?? "currentColor"}); | ||
transition: all 150ms; | ||
&.ph-caret-right { | ||
font-size: 16px; | ||
} | ||
} | ||
&:hover, | ||
&:focus { | ||
span { | ||
text-decoration: underline; | ||
text-underline-offset: 2px; | ||
} | ||
i { | ||
color: currentColor; | ||
} | ||
} | ||
`; | ||
|
||
return ( | ||
<Wrapper className="gateway-page-container"> | ||
<Section> | ||
<Text $size="text-2xl" $fontWeight="700"> | ||
Get Support | ||
</Text> | ||
|
||
<Grid $columns="2fr 1fr" $gap="1.5rem"> | ||
<Card $background="green5" $color="green12"> | ||
<Text $size="text-l" $fontWeight="700"> | ||
Have a question? Ask our experts | ||
</Text> | ||
|
||
<Text> | ||
NEAR is a global community of Web3 enthusiasts and innovators. Dive into one of our social channels to | ||
engage in discussion with our lively community.{" "} | ||
</Text> | ||
|
||
<Text $size="text-s" $fontWeight="700" style={{ textTransform: "uppercase", marginTop: "1.5rem" }}> | ||
Channels | ||
</Text> | ||
|
||
<Grid $columns="1fr 1fr 1fr" $gap="1.5rem" $breakpoint="600px" $breakpointColumns="1fr 1fr"> | ||
{channels.map((channel) => ( | ||
<IconTextLink key={channel.url} href={channel.url} target="_blank" $iconColor="green11"> | ||
<i className={`ph-bold ${channel.icon}`} /> | ||
<span>{channel.label}</span> | ||
<i className="ph ph-caret-right" /> | ||
</IconTextLink> | ||
))} | ||
</Grid> | ||
</Card> | ||
|
||
<Flex $direction="column" $gap="1.5rem"> | ||
<Card $background="violet5" $color="violet12" style={{ flexGrow: 1 }}> | ||
<Text $size="text-l" $fontWeight="700"> | ||
Help Center | ||
</Text> | ||
|
||
<Text>Find articles about popular services and topics.</Text> | ||
|
||
<IconTextLink href={urls.helpCenter} target="_blank" $iconColor="violet11"> | ||
<i className="ph-bold ph-book-open-text" /> | ||
<span>Launch help center</span> | ||
</IconTextLink> | ||
</Card> | ||
|
||
<Card $background="amber5" $color="amber12" style={{ flexGrow: 1 }}> | ||
<Text $size="text-l" $fontWeight="700"> | ||
Resolve an issue | ||
</Text> | ||
|
||
<Text>Get in touch with our Customer Care Team.</Text> | ||
|
||
<IconTextLink href={urls.supportRequest} target="_blank" $iconColor="amber11"> | ||
<i className="ph-bold ph-chat-circle-dots" /> | ||
<span>Launch support form</span> | ||
</IconTextLink> | ||
</Card> | ||
</Flex> | ||
</Grid> | ||
</Section> | ||
|
||
<Section className="faqs"> | ||
<Text $size="text-2xl" $fontWeight="700"> | ||
FAQ | ||
</Text> | ||
|
||
<Widget | ||
src="${REPL_ACCOUNT}/widget/DIG.Accordion" | ||
props={{ | ||
type: "multiple", | ||
items: faqs.map((faq) => ({ | ||
value: faq.question, | ||
header: faq.question, | ||
content: faq.answer, | ||
})), | ||
}} | ||
/> | ||
</Section> | ||
</Wrapper> | ||
); |