Skip to content

Commit e077260

Browse files
pested template
1 parent 24c6238 commit e077260

File tree

219 files changed

+24227
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

219 files changed

+24227
-2
lines changed

.gitignore

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
/.pnp
6+
.pnp.js
7+
8+
# testing
9+
/coverage
10+
11+
# next.js
12+
/.next/
13+
/out/
14+
15+
# production
16+
/build
17+
18+
# misc
19+
.DS_Store
20+
*.pem
21+
22+
# debug
23+
npm-debug.log*
24+
yarn-debug.log*
25+
yarn-error.log*
26+
.pnpm-debug.log*
27+
28+
# local env files
29+
.env*.local
30+
31+
# vercel
32+
.vercel
33+
34+
# typescript
35+
*.tsbuildinfo
36+
next-env.d.ts

.vscode/settings.json

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"cSpell.words": [
3+
"Mantleplace"
4+
]
5+
}

LICENSE

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

README.md

+17-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,17 @@
1-
# artists4Web3
2-
A website for Artists4Web3 Collective
1+
# Documentation for Next.js Bootstrap sections and components
2+
3+
In order to speedup the development process of landing pages we are making a collection of the components may require for landing pages or static pages. In repo we will store our code and document it for future use and will update it as requires.
4+
5+
## How to use
6+
7+
1. Clone the repository to the local device.
8+
2. Run
9+
10+
```(shell)
11+
git remote add origin https://github.com/USER/REPO>.git
12+
git push origin main
13+
```
14+
15+
3. Run `npm install`, and `npm run dev` in your local machine.
16+
4. See the file `./pages/index.js` to check all the pre build code/section.
17+
5. Change the static props data as needed and delete all the un necessary files from `./views/...`.

components/BasicMenu.js

+305
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,305 @@
1+
import * as React from "react";
2+
3+
export default function BasicMenu({ title, titleEndIcon, urls }) {
4+
const [anchorEl, setAnchorEl] = React.useState(null);
5+
const open = Boolean(anchorEl);
6+
const handleClick = (event) => {
7+
setAnchorEl(event.currentTarget);
8+
};
9+
const handleClose = () => {
10+
setAnchorEl(null);
11+
};
12+
13+
return (
14+
<div className="nav-item dropdown body2">
15+
<a
16+
className="nav-link dropdown-toggle d-flex gap-1 justify-content-xs-start justify-content-md-center after-none text-primary"
17+
href="#"
18+
role="button"
19+
data-bs-toggle="dropdown"
20+
aria-expanded="false"
21+
id={`basic-button-${title}`}
22+
>
23+
{title} <i className={`bi ${titleEndIcon && titleEndIcon}`}></i>
24+
</a>
25+
{urls && Array.isArray(urls) && urls.length > 0 && (
26+
<ul
27+
className="dropdown-menu bg-translucent"
28+
style={{ width: "max-content" }}
29+
>
30+
{React.Children.toArray(
31+
urls.map((data, index) =>
32+
!data.titleExist ? (
33+
<div
34+
key={data.menuName && data.menuName + index}
35+
className="d-flex flex-row gap-2 border-bottom-1 border-white p-2 px-3"
36+
>
37+
{data.menuIcon && (
38+
<span className="body2">{data.menuIcon}</span>
39+
)}
40+
<div className="d-flex flex-column">
41+
{data.menuName && (
42+
<h4 className="body2">{data.menuName}</h4>
43+
)}
44+
{data.menuDescription && (
45+
<p className="caption pd-2">{data.menuDescription}</p>
46+
)}
47+
<div className="d-flex flex-wrap gap-2">
48+
{data.url &&
49+
Array.isArray(data.url) &&
50+
data.url.length > 0 &&
51+
React.Children.toArray(
52+
data.url.map((url, index) => (
53+
<a
54+
key={url.menuName && url.menuName + index}
55+
className="bg-translucent border-1 border-white rounded-4 px-3 pt-1 text-white"
56+
style={{ textDecoration: "none" }}
57+
href={url.url && url.url}
58+
target={url.isExternalURL ? "_blank" : "_self"}
59+
rel={
60+
url.isExternalURL ? "noopener noreferrer" : ""
61+
}
62+
>
63+
{url.menuName}
64+
</a>
65+
))
66+
)}
67+
</div>
68+
</div>
69+
</div>
70+
) : (
71+
<>
72+
{/* <Accordion
73+
variant="transparent"
74+
defaultExpanded={!data.isNestMenuCollapsed}
75+
key={data.menuName && data.menuName + index}
76+
>
77+
<AccordionSummary expandIcon={<ExpandMoreIcon />} sx={{}}>
78+
<span
79+
style={{
80+
marginRight: "16px",
81+
}}
82+
>
83+
{data.menuIcon && data.menuIcon}
84+
</span>
85+
<Typography variant="body2">
86+
{data.menuName && data.menuName}
87+
<br />
88+
<Typography variant="caption" sx={{ pb: 2 }}>
89+
{data.menuDescription && data.menuDescription}
90+
</Typography>
91+
</Typography>
92+
</AccordionSummary>
93+
<AccordionDetails>
94+
<Stack direction="column" flexWrap="wrap">
95+
{data.url &&
96+
Array.isArray(data.url) &&
97+
data.url.length > 0 &&
98+
React.Children.toArray(
99+
data.url.map((urls, index) => (
100+
<Stack
101+
key={urls.menuName && urls.menuName + index}
102+
sx={{
103+
borderBottom: "1px solid",
104+
borderColor: "grey.700",
105+
py: 2,
106+
}}
107+
>
108+
<Typography
109+
variant="body2"
110+
sx={{ px: 2, pb: 1 }}
111+
>
112+
{urls.menuName && urls.menuName}
113+
</Typography>
114+
<Stack
115+
direction="row"
116+
flexWrap="wrap"
117+
sx={{
118+
p: 1,
119+
gap: 1,
120+
}}
121+
>
122+
{urls.url &&
123+
Array.isArray(urls.url) &&
124+
urls.url.length > 0 &&
125+
React.Children.toArray(
126+
urls.url.map((url, index) => (
127+
<MenuItem
128+
key={
129+
url.menuName && url.menuName + index
130+
}
131+
component="a"
132+
href={url.url && url.url}
133+
target={
134+
url.isExternalURL
135+
? "_blank"
136+
: "_self"
137+
}
138+
rel={
139+
url.isExternalURL
140+
? "noopener noreferrer"
141+
: ""
142+
}
143+
onClick={handleClose}
144+
sx={{
145+
p: 0,
146+
":hover": {
147+
backgroundColor: "transparent",
148+
},
149+
}}
150+
>
151+
<Chip label={url.menuName} />
152+
</MenuItem>
153+
))
154+
)}
155+
</Stack>
156+
</Stack>
157+
))
158+
)}
159+
</Stack>
160+
</AccordionDetails>
161+
</Accordion> */}
162+
<div className="px-3 pt-2">
163+
<div className="d-flex">
164+
<span
165+
className="body2"
166+
style={{
167+
marginRight: "16px",
168+
}}
169+
>
170+
{data.menuIcon && data.menuIcon}
171+
</span>
172+
<div className="d-flex flex-column gap-1">
173+
{data.menuName && (
174+
<p className="body2 m-0">{data.menuName}</p>
175+
)}
176+
{data.menuDescription && (
177+
<p className="caption pb-2 m-0">
178+
{data.menuDescription}
179+
</p>
180+
)}
181+
</div>
182+
</div>
183+
<div className="d-flex flex-column flex-wrap">
184+
{data.url &&
185+
Array.isArray(data.url) &&
186+
data.url.length > 0 &&
187+
React.Children.toArray(
188+
data.url.map((urls, index) => (
189+
<div
190+
className="d-flex flex-column border-bottom-1 border-white py-2"
191+
key={urls.menuName && urls.menuName + index}
192+
>
193+
<p className="body2 px-2 pb-1 mb-1">
194+
{urls.menuName && urls.menuName}
195+
</p>
196+
<div className="d-flex flex-row flex-wrap p-1 ps-4 gap-1">
197+
{urls.url &&
198+
Array.isArray(urls.url) &&
199+
urls.url.length > 0 &&
200+
React.Children.toArray(
201+
urls.url.map((url, index) => (
202+
<a
203+
key={
204+
url.menuName && url.menuName + index
205+
}
206+
className="bg-translucent border-1 border-white rounded-4 px-3 pt-1 text-white"
207+
style={{ textDecoration: "none" }}
208+
href={url.url && url.url}
209+
target={
210+
url.isExternalURL ? "_blank" : "_self"
211+
}
212+
rel={
213+
url.isExternalURL
214+
? "noopener noreferrer"
215+
: ""
216+
}
217+
>
218+
{url.menuName}
219+
</a>
220+
))
221+
)}
222+
</div>
223+
</div>
224+
))
225+
)}
226+
</div>
227+
</div>
228+
{/* <details open className="px-3">
229+
<summary className="d-flex justify-content-between text-white pt-4">
230+
<div className="d-flex">
231+
<span
232+
className="body2"
233+
style={{
234+
marginRight: "16px",
235+
}}
236+
>
237+
{data.menuIcon && data.menuIcon}
238+
</span>
239+
<div className="d-flex flex-column gap-1">
240+
{data.menuName && (
241+
<p className="body2 m-0">{data.menuName}</p>
242+
)}
243+
{data.menuDescription && (
244+
<p className="caption pb-2 m-0">
245+
{data.menuDescription}
246+
</p>
247+
)}
248+
</div>
249+
</div>{" "}
250+
<i className="bi bi-chevron-down"></i>
251+
</summary>
252+
<div className="d-flex flex-column flex-wrap">
253+
{data.url &&
254+
Array.isArray(data.url) &&
255+
data.url.length > 0 &&
256+
React.Children.toArray(
257+
data.url.map((urls, index) => (
258+
<div
259+
className="d-flex flex-column border-bottom-1 border-white py-2"
260+
key={urls.menuName && urls.menuName + index}
261+
>
262+
<p className="body2 px-2 pb-1">
263+
{urls.menuName && urls.menuName}
264+
</p>
265+
<div className="d-flex flex-row flex-wrap p-1 gap-1">
266+
{urls.url &&
267+
Array.isArray(urls.url) &&
268+
urls.url.length > 0 &&
269+
React.Children.toArray(
270+
urls.url.map((url, index) => (
271+
<a
272+
key={
273+
url.menuName && url.menuName + index
274+
}
275+
className="bg-translucent border-1 border-white rounded-4 px-3 pt-1 text-white"
276+
style={{ textDecoration: "none" }}
277+
href={url.url && url.url}
278+
target={
279+
url.isExternalURL ? "_blank" : "_self"
280+
}
281+
rel={
282+
url.isExternalURL
283+
? "noopener noreferrer"
284+
: ""
285+
}
286+
>
287+
{url.menuName}
288+
</a>
289+
))
290+
)}
291+
</div>
292+
</div>
293+
))
294+
)}
295+
</div>
296+
</details> */}
297+
</>
298+
)
299+
)
300+
)}
301+
</ul>
302+
)}
303+
</div>
304+
);
305+
}

0 commit comments

Comments
 (0)