@mbpockets/shared-ui 0.1.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +681 -0
- package/README.md +85 -0
- package/dist/EventPage/editMode/index.cjs +573 -0
- package/dist/EventPage/editMode/index.cjs.map +1 -0
- package/dist/EventPage/editMode/index.d.cts +5 -0
- package/dist/EventPage/editMode/index.d.ts +5 -0
- package/dist/EventPage/editMode/index.mjs +559 -0
- package/dist/EventPage/editMode/index.mjs.map +1 -0
- package/dist/EventPage/editMode.cjs +573 -0
- package/dist/EventPage/editMode.cjs.map +1 -0
- package/dist/EventPage/editMode.d.cts +5 -0
- package/dist/EventPage/editMode.d.ts +5 -0
- package/dist/EventPage/editMode.mjs +559 -0
- package/dist/EventPage/editMode.mjs.map +1 -0
- package/dist/EventPage/index.cjs +1245 -0
- package/dist/EventPage/index.cjs.map +1 -0
- package/dist/EventPage/index.d.cts +6 -0
- package/dist/EventPage/index.d.ts +6 -0
- package/dist/EventPage/index.mjs +1215 -0
- package/dist/EventPage/index.mjs.map +1 -0
- package/dist/EventPage.cjs +1245 -0
- package/dist/EventPage.cjs.map +1 -0
- package/dist/EventPage.d.cts +42 -0
- package/dist/EventPage.d.ts +42 -0
- package/dist/EventPage.mjs +1215 -0
- package/dist/EventPage.mjs.map +1 -0
- package/dist/PlayerPage/index.cjs +370 -0
- package/dist/PlayerPage/index.cjs.map +1 -0
- package/dist/PlayerPage/index.d.cts +4 -0
- package/dist/PlayerPage/index.d.ts +4 -0
- package/dist/PlayerPage/index.mjs +358 -0
- package/dist/PlayerPage/index.mjs.map +1 -0
- package/dist/PlayerPage.cjs +370 -0
- package/dist/PlayerPage.cjs.map +1 -0
- package/dist/PlayerPage.d.cts +32 -0
- package/dist/PlayerPage.d.ts +32 -0
- package/dist/PlayerPage.mjs +358 -0
- package/dist/PlayerPage.mjs.map +1 -0
- package/dist/ProfilePage/index.cjs +136 -0
- package/dist/ProfilePage/index.cjs.map +1 -0
- package/dist/ProfilePage/index.d.cts +3 -0
- package/dist/ProfilePage/index.d.ts +3 -0
- package/dist/ProfilePage/index.mjs +124 -0
- package/dist/ProfilePage/index.mjs.map +1 -0
- package/dist/ProfilePage.cjs +136 -0
- package/dist/ProfilePage.cjs.map +1 -0
- package/dist/ProfilePage.d.cts +10 -0
- package/dist/ProfilePage.d.ts +10 -0
- package/dist/ProfilePage.mjs +124 -0
- package/dist/ProfilePage.mjs.map +1 -0
- package/dist/SearchPage/Filters/index.cjs +270 -0
- package/dist/SearchPage/Filters/index.cjs.map +1 -0
- package/dist/SearchPage/Filters/index.d.cts +4 -0
- package/dist/SearchPage/Filters/index.d.ts +4 -0
- package/dist/SearchPage/Filters/index.mjs +250 -0
- package/dist/SearchPage/Filters/index.mjs.map +1 -0
- package/dist/SearchPage/Filters.cjs +270 -0
- package/dist/SearchPage/Filters.cjs.map +1 -0
- package/dist/SearchPage/Filters.d.cts +31 -0
- package/dist/SearchPage/Filters.d.ts +31 -0
- package/dist/SearchPage/Filters.mjs +250 -0
- package/dist/SearchPage/Filters.mjs.map +1 -0
- package/dist/SearchPage/Results/index.cjs +226 -0
- package/dist/SearchPage/Results/index.cjs.map +1 -0
- package/dist/SearchPage/Results/index.d.cts +4 -0
- package/dist/SearchPage/Results/index.d.ts +4 -0
- package/dist/SearchPage/Results/index.mjs +212 -0
- package/dist/SearchPage/Results/index.mjs.map +1 -0
- package/dist/SearchPage/Results.cjs +226 -0
- package/dist/SearchPage/Results.cjs.map +1 -0
- package/dist/SearchPage/Results.d.cts +53 -0
- package/dist/SearchPage/Results.d.ts +53 -0
- package/dist/SearchPage/Results.mjs +212 -0
- package/dist/SearchPage/Results.mjs.map +1 -0
- package/dist/SearchPage/index.cjs +737 -0
- package/dist/SearchPage/index.cjs.map +1 -0
- package/dist/SearchPage/index.d.cts +7 -0
- package/dist/SearchPage/index.d.ts +7 -0
- package/dist/SearchPage/index.mjs +695 -0
- package/dist/SearchPage/index.mjs.map +1 -0
- package/dist/SearchPage.cjs +737 -0
- package/dist/SearchPage.cjs.map +1 -0
- package/dist/SearchPage.d.cts +110 -0
- package/dist/SearchPage.d.ts +110 -0
- package/dist/SearchPage.mjs +695 -0
- package/dist/SearchPage.mjs.map +1 -0
- package/dist/TablePage/GameTableProvider/index.cjs +26 -0
- package/dist/TablePage/GameTableProvider/index.cjs.map +1 -0
- package/dist/TablePage/GameTableProvider/index.d.cts +4 -0
- package/dist/TablePage/GameTableProvider/index.d.ts +4 -0
- package/dist/TablePage/GameTableProvider/index.mjs +19 -0
- package/dist/TablePage/GameTableProvider/index.mjs.map +1 -0
- package/dist/TablePage/GameTableProvider.cjs +26 -0
- package/dist/TablePage/GameTableProvider.cjs.map +1 -0
- package/dist/TablePage/GameTableProvider.d.cts +15 -0
- package/dist/TablePage/GameTableProvider.d.ts +15 -0
- package/dist/TablePage/GameTableProvider.mjs +19 -0
- package/dist/TablePage/GameTableProvider.mjs.map +1 -0
- package/dist/TablePage/ModalProvider/index.cjs +83 -0
- package/dist/TablePage/ModalProvider/index.cjs.map +1 -0
- package/dist/TablePage/ModalProvider/index.css +49 -0
- package/dist/TablePage/ModalProvider/index.css.map +1 -0
- package/dist/TablePage/ModalProvider/index.d.cts +3 -0
- package/dist/TablePage/ModalProvider/index.d.ts +3 -0
- package/dist/TablePage/ModalProvider/index.mjs +79 -0
- package/dist/TablePage/ModalProvider/index.mjs.map +1 -0
- package/dist/TablePage/ModalProvider.cjs +83 -0
- package/dist/TablePage/ModalProvider.cjs.map +1 -0
- package/dist/TablePage/ModalProvider.css +49 -0
- package/dist/TablePage/ModalProvider.css.map +1 -0
- package/dist/TablePage/ModalProvider.d.cts +17 -0
- package/dist/TablePage/ModalProvider.d.ts +17 -0
- package/dist/TablePage/ModalProvider.mjs +79 -0
- package/dist/TablePage/ModalProvider.mjs.map +1 -0
- package/dist/TablePage/index.cjs +606 -0
- package/dist/TablePage/index.cjs.map +1 -0
- package/dist/TablePage/index.css +49 -0
- package/dist/TablePage/index.css.map +1 -0
- package/dist/TablePage/index.d.cts +10 -0
- package/dist/TablePage/index.d.ts +10 -0
- package/dist/TablePage/index.mjs +579 -0
- package/dist/TablePage/index.mjs.map +1 -0
- package/dist/TablePage/players/index.cjs +85 -0
- package/dist/TablePage/players/index.cjs.map +1 -0
- package/dist/TablePage/players/index.d.cts +4 -0
- package/dist/TablePage/players/index.d.ts +4 -0
- package/dist/TablePage/players/index.mjs +76 -0
- package/dist/TablePage/players/index.mjs.map +1 -0
- package/dist/TablePage/players.cjs +85 -0
- package/dist/TablePage/players.cjs.map +1 -0
- package/dist/TablePage/players.d.cts +22 -0
- package/dist/TablePage/players.d.ts +22 -0
- package/dist/TablePage/players.mjs +76 -0
- package/dist/TablePage/players.mjs.map +1 -0
- package/dist/TablePage.cjs +606 -0
- package/dist/TablePage.cjs.map +1 -0
- package/dist/TablePage.css +49 -0
- package/dist/TablePage.css.map +1 -0
- package/dist/TablePage.d.cts +54 -0
- package/dist/TablePage.d.ts +54 -0
- package/dist/TablePage.mjs +579 -0
- package/dist/TablePage.mjs.map +1 -0
- package/dist/common/Modal/index.cjs +64 -0
- package/dist/common/Modal/index.cjs.map +1 -0
- package/dist/common/Modal/index.css +49 -0
- package/dist/common/Modal/index.css.map +1 -0
- package/dist/common/Modal/index.d.cts +2 -0
- package/dist/common/Modal/index.d.ts +2 -0
- package/dist/common/Modal/index.mjs +62 -0
- package/dist/common/Modal/index.mjs.map +1 -0
- package/dist/common/Modal.cjs +64 -0
- package/dist/common/Modal.cjs.map +1 -0
- package/dist/common/Modal.css +49 -0
- package/dist/common/Modal.css.map +1 -0
- package/dist/common/Modal.d.cts +9 -0
- package/dist/common/Modal.d.ts +9 -0
- package/dist/common/Modal.mjs +62 -0
- package/dist/common/Modal.mjs.map +1 -0
- package/dist/common/index.cjs +210 -0
- package/dist/common/index.cjs.map +1 -0
- package/dist/common/index.css +49 -0
- package/dist/common/index.css.map +1 -0
- package/dist/common/index.d.cts +4 -0
- package/dist/common/index.d.ts +4 -0
- package/dist/common/index.mjs +194 -0
- package/dist/common/index.mjs.map +1 -0
- package/dist/common.cjs +210 -0
- package/dist/common.cjs.map +1 -0
- package/dist/common.css +49 -0
- package/dist/common.css.map +1 -0
- package/dist/common.d.cts +28 -0
- package/dist/common.d.ts +28 -0
- package/dist/common.mjs +194 -0
- package/dist/common.mjs.map +1 -0
- package/dist/index-D7WHhl3Q.d.ts +64 -0
- package/dist/index-DC0kK3aC.d.cts +64 -0
- package/dist/index.cjs +2608 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +49 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.cts +20 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.mjs +2529 -0
- package/dist/index.mjs.map +1 -0
- package/dist/mocks/EventDB.cjs +171 -0
- package/dist/mocks/EventDB.cjs.map +1 -0
- package/dist/mocks/EventDB.d.cts +6 -0
- package/dist/mocks/EventDB.d.ts +6 -0
- package/dist/mocks/EventDB.mjs +169 -0
- package/dist/mocks/EventDB.mjs.map +1 -0
- package/dist/mocks/Events.cjs +59 -0
- package/dist/mocks/Events.cjs.map +1 -0
- package/dist/mocks/Events.d.cts +13 -0
- package/dist/mocks/Events.d.ts +13 -0
- package/dist/mocks/Events.mjs +57 -0
- package/dist/mocks/Events.mjs.map +1 -0
- package/dist/mocks/Players.cjs +75 -0
- package/dist/mocks/Players.cjs.map +1 -0
- package/dist/mocks/Players.d.cts +15 -0
- package/dist/mocks/Players.d.ts +15 -0
- package/dist/mocks/Players.mjs +73 -0
- package/dist/mocks/Players.mjs.map +1 -0
- package/dist/mocks/SearchResults.cjs +143 -0
- package/dist/mocks/SearchResults.cjs.map +1 -0
- package/dist/mocks/SearchResults.d.cts +30 -0
- package/dist/mocks/SearchResults.d.ts +30 -0
- package/dist/mocks/SearchResults.mjs +137 -0
- package/dist/mocks/SearchResults.mjs.map +1 -0
- package/dist/mocks/Tables.cjs +133 -0
- package/dist/mocks/Tables.cjs.map +1 -0
- package/dist/mocks/Tables.d.cts +38 -0
- package/dist/mocks/Tables.d.ts +38 -0
- package/dist/mocks/Tables.mjs +131 -0
- package/dist/mocks/Tables.mjs.map +1 -0
- package/dist/mocks/Tags.cjs +142 -0
- package/dist/mocks/Tags.cjs.map +1 -0
- package/dist/mocks/Tags.d.cts +5 -0
- package/dist/mocks/Tags.d.ts +5 -0
- package/dist/mocks/Tags.mjs +140 -0
- package/dist/mocks/Tags.mjs.map +1 -0
- package/dist/mocks/index.cjs +566 -0
- package/dist/mocks/index.cjs.map +1 -0
- package/dist/mocks/index.d.cts +8 -0
- package/dist/mocks/index.d.ts +8 -0
- package/dist/mocks/index.mjs +555 -0
- package/dist/mocks/index.mjs.map +1 -0
- package/dist/mocks.cjs +566 -0
- package/dist/mocks.cjs.map +1 -0
- package/dist/mocks.d.cts +8 -0
- package/dist/mocks.d.ts +8 -0
- package/dist/mocks.mjs +555 -0
- package/dist/mocks.mjs.map +1 -0
- package/dist/types/event.cjs +4 -0
- package/dist/types/event.cjs.map +1 -0
- package/dist/types/event.d.cts +37 -0
- package/dist/types/event.d.ts +37 -0
- package/dist/types/event.mjs +3 -0
- package/dist/types/event.mjs.map +1 -0
- package/dist/types/index.cjs +4 -0
- package/dist/types/index.cjs.map +1 -0
- package/dist/types/index.d.cts +6 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.mjs +3 -0
- package/dist/types/index.mjs.map +1 -0
- package/dist/types/player.cjs +4 -0
- package/dist/types/player.cjs.map +1 -0
- package/dist/types/player.d.cts +20 -0
- package/dist/types/player.d.ts +20 -0
- package/dist/types/player.mjs +3 -0
- package/dist/types/player.mjs.map +1 -0
- package/dist/types/search.cjs +4 -0
- package/dist/types/search.cjs.map +1 -0
- package/dist/types/search.d.cts +20 -0
- package/dist/types/search.d.ts +20 -0
- package/dist/types/search.mjs +3 -0
- package/dist/types/search.mjs.map +1 -0
- package/dist/types/table.cjs +4 -0
- package/dist/types/table.cjs.map +1 -0
- package/dist/types/table.d.cts +21 -0
- package/dist/types/table.d.ts +21 -0
- package/dist/types/table.mjs +3 -0
- package/dist/types/table.mjs.map +1 -0
- package/dist/types/tables.cjs +4 -0
- package/dist/types/tables.cjs.map +1 -0
- package/dist/types/tables.d.cts +21 -0
- package/dist/types/tables.d.ts +21 -0
- package/dist/types/tables.mjs +3 -0
- package/dist/types/tables.mjs.map +1 -0
- package/dist/types/tag.cjs +4 -0
- package/dist/types/tag.cjs.map +1 -0
- package/dist/types/tag.d.cts +14 -0
- package/dist/types/tag.d.ts +14 -0
- package/dist/types/tag.mjs +3 -0
- package/dist/types/tag.mjs.map +1 -0
- package/dist/types.cjs +4 -0
- package/dist/types.cjs.map +1 -0
- package/dist/types.d.cts +6 -0
- package/dist/types.d.ts +6 -0
- package/dist/types.mjs +3 -0
- package/dist/types.mjs.map +1 -0
- package/package.json +117 -0
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var material = require('@mui/material');
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var Grid = require('@mui/material/Grid');
|
|
8
|
+
var Card4 = require('@mui/material/Card');
|
|
9
|
+
var CardHeader = require('@mui/material/CardHeader');
|
|
10
|
+
var CardContent4 = require('@mui/material/CardContent');
|
|
11
|
+
|
|
12
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
|
|
14
|
+
var Grid__default = /*#__PURE__*/_interopDefault(Grid);
|
|
15
|
+
var Card4__default = /*#__PURE__*/_interopDefault(Card4);
|
|
16
|
+
var CardHeader__default = /*#__PURE__*/_interopDefault(CardHeader);
|
|
17
|
+
var CardContent4__default = /*#__PURE__*/_interopDefault(CardContent4);
|
|
18
|
+
|
|
19
|
+
// src/components/PlayerPage/PlayerDetailsCard.tsx
|
|
20
|
+
var PlayerDetails = ({
|
|
21
|
+
age,
|
|
22
|
+
yearsPlaying,
|
|
23
|
+
discordUsername,
|
|
24
|
+
preferredGames
|
|
25
|
+
}) => {
|
|
26
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
27
|
+
material.Card,
|
|
28
|
+
{
|
|
29
|
+
sx: {
|
|
30
|
+
margin: "1rem",
|
|
31
|
+
background: "linear-gradient(135deg, rgba(25, 118, 210, 0.8), rgba(25, 118, 210, 1))",
|
|
32
|
+
// Primary Blue Gradient
|
|
33
|
+
boxShadow: "0px 8px 15px rgba(25, 118, 210, 0.3)",
|
|
34
|
+
// Deep shadow based on the color
|
|
35
|
+
borderRadius: "12px",
|
|
36
|
+
// Rounded corners
|
|
37
|
+
color: "#FFFFFF",
|
|
38
|
+
// White as the base text color for contrast
|
|
39
|
+
position: "relative",
|
|
40
|
+
overflow: "hidden"
|
|
41
|
+
// Ensures clean edges
|
|
42
|
+
},
|
|
43
|
+
className: "transition duration-300 transform hover:scale-105 hover:shadow-2xl",
|
|
44
|
+
children: [
|
|
45
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
46
|
+
"div",
|
|
47
|
+
{
|
|
48
|
+
className: "absolute inset-0 bg-gradient-to-t from-white/10 to-transparent opacity-60",
|
|
49
|
+
"aria-hidden": "true"
|
|
50
|
+
}
|
|
51
|
+
),
|
|
52
|
+
/* @__PURE__ */ jsxRuntime.jsxs(material.CardContent, { className: "relative p-6", children: [
|
|
53
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
54
|
+
material.Typography,
|
|
55
|
+
{
|
|
56
|
+
variant: "h5",
|
|
57
|
+
className: "font-bold uppercase text-center tracking-wide mb-4",
|
|
58
|
+
sx: {
|
|
59
|
+
color: "#FFFFFF",
|
|
60
|
+
// Bright white for high contrast
|
|
61
|
+
textShadow: "0px 4px 8px rgba(0, 0, 0, 0.5)",
|
|
62
|
+
// Stronger shadow for bold presence
|
|
63
|
+
fontSize: "1.5rem"
|
|
64
|
+
// Slightly larger title size
|
|
65
|
+
},
|
|
66
|
+
children: "Player Details"
|
|
67
|
+
}
|
|
68
|
+
),
|
|
69
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
70
|
+
age !== null && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
71
|
+
material.Typography,
|
|
72
|
+
{
|
|
73
|
+
variant: "body2",
|
|
74
|
+
className: "text-sm font-medium",
|
|
75
|
+
sx: {
|
|
76
|
+
color: "#FFFFFF",
|
|
77
|
+
textShadow: "0px 2px 6px rgba(0, 0, 0, 0.5)",
|
|
78
|
+
fontWeight: "bold"
|
|
79
|
+
},
|
|
80
|
+
children: [
|
|
81
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-extrabold text-cyan-300", children: "Age:" }),
|
|
82
|
+
" ",
|
|
83
|
+
age
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
),
|
|
87
|
+
yearsPlaying !== null && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
88
|
+
material.Typography,
|
|
89
|
+
{
|
|
90
|
+
variant: "body2",
|
|
91
|
+
className: "text-sm font-medium",
|
|
92
|
+
sx: {
|
|
93
|
+
color: "#FFFFFF",
|
|
94
|
+
textShadow: "0px 2px 6px rgba(0, 0, 0, 0.5)",
|
|
95
|
+
fontWeight: "bold"
|
|
96
|
+
},
|
|
97
|
+
children: [
|
|
98
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-extrabold text-cyan-300", children: "Years Playing:" }),
|
|
99
|
+
" ",
|
|
100
|
+
yearsPlaying
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
),
|
|
104
|
+
discordUsername && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
105
|
+
material.Typography,
|
|
106
|
+
{
|
|
107
|
+
variant: "body2",
|
|
108
|
+
className: "text-sm font-medium",
|
|
109
|
+
sx: {
|
|
110
|
+
color: "#FFFFFF",
|
|
111
|
+
textShadow: "0px 2px 6px rgba(0, 0, 0, 0.5)",
|
|
112
|
+
fontWeight: "bold"
|
|
113
|
+
},
|
|
114
|
+
children: [
|
|
115
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-extrabold text-cyan-300", children: "Discord Username:" }),
|
|
116
|
+
" ",
|
|
117
|
+
discordUsername
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
),
|
|
121
|
+
preferredGames && preferredGames.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
122
|
+
material.Typography,
|
|
123
|
+
{
|
|
124
|
+
variant: "body2",
|
|
125
|
+
className: "text-sm font-medium",
|
|
126
|
+
sx: {
|
|
127
|
+
color: "#FFFFFF",
|
|
128
|
+
textShadow: "0px 2px 6px rgba(0, 0, 0, 0.5)",
|
|
129
|
+
fontWeight: "bold"
|
|
130
|
+
},
|
|
131
|
+
children: [
|
|
132
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-extrabold text-cyan-300", children: "Preferred Games:" }),
|
|
133
|
+
" ",
|
|
134
|
+
preferredGames.join(", ")
|
|
135
|
+
]
|
|
136
|
+
}
|
|
137
|
+
)
|
|
138
|
+
] }),
|
|
139
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-6 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
140
|
+
material.Typography,
|
|
141
|
+
{
|
|
142
|
+
variant: "caption",
|
|
143
|
+
className: "text-xs italic",
|
|
144
|
+
sx: {
|
|
145
|
+
color: "#BBDEFB",
|
|
146
|
+
// Subtle light blue for footer text
|
|
147
|
+
textShadow: "0px 1px 3px rgba(0, 0, 0, 0.2)"
|
|
148
|
+
},
|
|
149
|
+
children: "All information is player-submitted."
|
|
150
|
+
}
|
|
151
|
+
) })
|
|
152
|
+
] })
|
|
153
|
+
]
|
|
154
|
+
}
|
|
155
|
+
);
|
|
156
|
+
};
|
|
157
|
+
var PlayerDetailsCard_default = PlayerDetails;
|
|
158
|
+
|
|
159
|
+
// src/data/values.tsx
|
|
160
|
+
var ProfilePictureSettings = {
|
|
161
|
+
aspectRatio: 4 / 5};
|
|
162
|
+
var { aspectRatio } = ProfilePictureSettings;
|
|
163
|
+
var PlayerDisplayCard = ({
|
|
164
|
+
profilePicture,
|
|
165
|
+
username,
|
|
166
|
+
bio,
|
|
167
|
+
preferredPronouns
|
|
168
|
+
}) => {
|
|
169
|
+
const [imageSrc, setImageSrc] = react.useState("/man-walking-silhouette-clipart.jpg");
|
|
170
|
+
react.useEffect(() => {
|
|
171
|
+
async function validateImage() {
|
|
172
|
+
const newImage = profilePicture || "/man-walking-silhouette-clipart.jpg";
|
|
173
|
+
if (!profilePicture) {
|
|
174
|
+
setImageSrc("/man-walking-silhouette-clipart.jpg");
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const img = new Image();
|
|
178
|
+
img.src = newImage;
|
|
179
|
+
img.onload = () => {
|
|
180
|
+
setImageSrc(newImage);
|
|
181
|
+
};
|
|
182
|
+
img.onerror = () => {
|
|
183
|
+
setImageSrc("/man-walking-silhouette-clipart.jpg");
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
validateImage();
|
|
187
|
+
}, [profilePicture]);
|
|
188
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
189
|
+
material.Card,
|
|
190
|
+
{
|
|
191
|
+
sx: {
|
|
192
|
+
margin: "1rem",
|
|
193
|
+
background: "linear-gradient(135deg, rgba(25, 118, 210, 0.8), rgba(25, 118, 210, 1))",
|
|
194
|
+
// Vibrant blue gradient
|
|
195
|
+
boxShadow: "0px 8px 15px rgba(25, 118, 210, 0.3)",
|
|
196
|
+
// Blue shadow to add depth
|
|
197
|
+
borderRadius: "12px",
|
|
198
|
+
// Smooth rounded corners
|
|
199
|
+
color: "#FFFFFF",
|
|
200
|
+
// White text for high contrast
|
|
201
|
+
overflow: "hidden"
|
|
202
|
+
// Clean edges
|
|
203
|
+
},
|
|
204
|
+
className: "transition duration-300 transform hover:scale-105 hover:shadow-2xl",
|
|
205
|
+
children: [
|
|
206
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
207
|
+
material.CardMedia,
|
|
208
|
+
{
|
|
209
|
+
component: "img",
|
|
210
|
+
image: imageSrc,
|
|
211
|
+
alt: `${username}'s Profile Picture`,
|
|
212
|
+
sx: {
|
|
213
|
+
aspectRatio,
|
|
214
|
+
height: "auto",
|
|
215
|
+
// Updates to maintain aspect ratio and fill space nicely
|
|
216
|
+
width: "100%",
|
|
217
|
+
objectFit: "scale-down"
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
),
|
|
221
|
+
/* @__PURE__ */ jsxRuntime.jsxs(material.CardContent, { className: "relative p-6", children: [
|
|
222
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
223
|
+
material.Typography,
|
|
224
|
+
{
|
|
225
|
+
variant: "h5",
|
|
226
|
+
component: "div",
|
|
227
|
+
className: "font-bold text-lg uppercase text-center tracking-wide mb-2",
|
|
228
|
+
sx: {
|
|
229
|
+
color: "#FFFFFF",
|
|
230
|
+
// Pure white for username
|
|
231
|
+
fontSize: "1.5rem",
|
|
232
|
+
textShadow: "0px 3px 6px rgba(0, 0, 0, 0.5)"
|
|
233
|
+
// Strong shadow for visibility
|
|
234
|
+
},
|
|
235
|
+
children: username
|
|
236
|
+
}
|
|
237
|
+
),
|
|
238
|
+
preferredPronouns && /* @__PURE__ */ jsxRuntime.jsx(
|
|
239
|
+
material.Typography,
|
|
240
|
+
{
|
|
241
|
+
variant: "body2",
|
|
242
|
+
className: "text-sm font-medium",
|
|
243
|
+
sx: {
|
|
244
|
+
color: "#E3F2FD",
|
|
245
|
+
textShadow: "0px 2px 4px rgba(0, 0, 0, 0.3)",
|
|
246
|
+
// Subtle shadow for readability
|
|
247
|
+
fontWeight: "bold",
|
|
248
|
+
// Emphasize key details
|
|
249
|
+
marginBottom: "1rem"
|
|
250
|
+
},
|
|
251
|
+
children: preferredPronouns
|
|
252
|
+
}
|
|
253
|
+
),
|
|
254
|
+
bio && /* @__PURE__ */ jsxRuntime.jsx(
|
|
255
|
+
material.Typography,
|
|
256
|
+
{
|
|
257
|
+
variant: "body2",
|
|
258
|
+
className: "text-sm font-light",
|
|
259
|
+
sx: {
|
|
260
|
+
color: "#E3F2FD",
|
|
261
|
+
// Softer muted tone for secondary text
|
|
262
|
+
textShadow: "0px 2px 4px rgba(0, 0, 0, 0.3)",
|
|
263
|
+
// Subtle shadow for readability
|
|
264
|
+
fontStyle: "italic"
|
|
265
|
+
// Distinguish bio visually
|
|
266
|
+
},
|
|
267
|
+
children: bio
|
|
268
|
+
}
|
|
269
|
+
)
|
|
270
|
+
] })
|
|
271
|
+
]
|
|
272
|
+
}
|
|
273
|
+
);
|
|
274
|
+
};
|
|
275
|
+
var PlayerDisplayCard_default = PlayerDisplayCard;
|
|
276
|
+
var PlayerPromptCard = ({ title, description }) => {
|
|
277
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
278
|
+
material.Card,
|
|
279
|
+
{
|
|
280
|
+
sx: {
|
|
281
|
+
margin: "1rem",
|
|
282
|
+
background: "linear-gradient(135deg, rgba(25, 118, 210, 0.8), rgba(25, 118, 210, 1))",
|
|
283
|
+
// Gradient color scheme
|
|
284
|
+
boxShadow: "0px 8px 15px rgba(25, 118, 210, 0.3)",
|
|
285
|
+
// Card shadow
|
|
286
|
+
borderRadius: "12px",
|
|
287
|
+
// Rounded corners
|
|
288
|
+
color: "#FFFFFF",
|
|
289
|
+
// Text contrast with the background
|
|
290
|
+
overflow: "hidden"
|
|
291
|
+
// Keeps consistent and clean card shape
|
|
292
|
+
},
|
|
293
|
+
className: "transition duration-300 transform hover:scale-105 hover:shadow-2xl",
|
|
294
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(material.CardContent, { className: "p-6", children: [
|
|
295
|
+
title && /* @__PURE__ */ jsxRuntime.jsx(
|
|
296
|
+
material.Typography,
|
|
297
|
+
{
|
|
298
|
+
variant: "h5",
|
|
299
|
+
className: "font-bold text-lg uppercase text-center tracking-wide mb-4",
|
|
300
|
+
sx: {
|
|
301
|
+
color: "#FFFFFF",
|
|
302
|
+
// Bright white for high visibility
|
|
303
|
+
textShadow: "0px 3px 6px rgba(0, 0, 0, 0.5)",
|
|
304
|
+
// Strong text shadow for contrast
|
|
305
|
+
fontSize: "1.5rem"
|
|
306
|
+
},
|
|
307
|
+
children: title
|
|
308
|
+
}
|
|
309
|
+
),
|
|
310
|
+
description && /* @__PURE__ */ jsxRuntime.jsx(
|
|
311
|
+
material.Typography,
|
|
312
|
+
{
|
|
313
|
+
variant: "body2",
|
|
314
|
+
className: "text-sm font-medium text-center",
|
|
315
|
+
sx: {
|
|
316
|
+
color: "#E3F2FD",
|
|
317
|
+
// Softer light blue for description
|
|
318
|
+
textShadow: "0px 2px 4px rgba(0, 0, 0, 0.3)",
|
|
319
|
+
// Subtle shadow
|
|
320
|
+
lineHeight: 1.6,
|
|
321
|
+
marginTop: "1rem"
|
|
322
|
+
},
|
|
323
|
+
children: description
|
|
324
|
+
}
|
|
325
|
+
)
|
|
326
|
+
] })
|
|
327
|
+
}
|
|
328
|
+
);
|
|
329
|
+
};
|
|
330
|
+
var PlayerPromptCard_default = PlayerPromptCard;
|
|
331
|
+
function PlayerTagsCard(props) {
|
|
332
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Grid__default.default, { container: true, children: /* @__PURE__ */ jsxRuntime.jsx(Grid__default.default, { size: { xs: 12, md: 3 }, children: /* @__PURE__ */ jsxRuntime.jsxs(Card4__default.default, { children: [
|
|
333
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardHeader__default.default, { title: "Player Tags", style: {
|
|
334
|
+
background: "linear-gradient(135deg, rgba(25, 118, 210, 0.8), rgba(25, 118, 210, 1))",
|
|
335
|
+
color: "#FFFFFF",
|
|
336
|
+
// Pure white for username
|
|
337
|
+
fontSize: "1.5rem",
|
|
338
|
+
textShadow: "0px 3px 6px rgba(0, 0, 0, 0.5)"
|
|
339
|
+
// Strong shadow for visibility
|
|
340
|
+
} }),
|
|
341
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardContent4__default.default, { children: renderLabels(props.PlayerTags) })
|
|
342
|
+
] }) }) });
|
|
343
|
+
}
|
|
344
|
+
var renderLabels = (tags) => {
|
|
345
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 flex flex-wrap gap-2", children: tags.map((tag) => generateLabel(tag)) });
|
|
346
|
+
};
|
|
347
|
+
var generateLabel = (tag) => {
|
|
348
|
+
let color = "#bfbcbb";
|
|
349
|
+
if (tag.color) color = tag.color;
|
|
350
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
351
|
+
"span",
|
|
352
|
+
{
|
|
353
|
+
className: "inline-block text-sm px-3 py-1 rounded-full outline-black outline-2 font-outlined",
|
|
354
|
+
style: {
|
|
355
|
+
background: color,
|
|
356
|
+
color: "white",
|
|
357
|
+
textShadow: "black 0.2em 0.2em 0.4em"
|
|
358
|
+
},
|
|
359
|
+
children: tag.label
|
|
360
|
+
},
|
|
361
|
+
tag.id
|
|
362
|
+
);
|
|
363
|
+
};
|
|
364
|
+
|
|
365
|
+
exports.PlayerDetailsCard = PlayerDetailsCard_default;
|
|
366
|
+
exports.PlayerDisplayCard = PlayerDisplayCard_default;
|
|
367
|
+
exports.PlayerPromptCard = PlayerPromptCard_default;
|
|
368
|
+
exports.PlayerTagsCard = PlayerTagsCard;
|
|
369
|
+
//# sourceMappingURL=PlayerPage.cjs.map
|
|
370
|
+
//# sourceMappingURL=PlayerPage.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/PlayerPage/PlayerDetailsCard.tsx","../src/data/values.tsx","../src/components/PlayerPage/PlayerDisplayCard.tsx","../src/components/PlayerPage/PlayerPromptCard.tsx","../src/components/PlayerPage/PlayerTagsCard.tsx"],"names":["jsxs","Card","jsx","CardContent","Typography","useState","useEffect","CardMedia","Grid","CardHeader"],"mappings":"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","file":"PlayerPage.cjs","sourcesContent":["\"use client\";\n\nimport React from \"react\";\r\nimport { Card, CardContent, Typography } from \"@mui/material\";\r\n\r\ntype PlayerDetailsProps = {\r\n preferredPronouns: string | null;\r\n age: number | null;\r\n yearsPlaying: number | null;\r\n discordUsername: string | null;\r\n preferredGames: string[] | null;\r\n};\r\n\r\nconst PlayerDetails: React.FC<PlayerDetailsProps> = ({\r\n age,\r\n yearsPlaying,\r\n discordUsername,\r\n preferredGames,\r\n }) => {\r\n return (\r\n <Card\r\n sx={{\r\n margin: \"1rem\",\r\n background: \"linear-gradient(135deg, rgba(25, 118, 210, 0.8), rgba(25, 118, 210, 1))\", // Primary Blue Gradient\r\n boxShadow: \"0px 8px 15px rgba(25, 118, 210, 0.3)\", // Deep shadow based on the color\r\n borderRadius: \"12px\", // Rounded corners\r\n color: \"#FFFFFF\", // White as the base text color for contrast\r\n position: \"relative\",\r\n overflow: \"hidden\", // Ensures clean edges\r\n }}\r\n className=\"transition duration-300 transform hover:scale-105 hover:shadow-2xl\"\r\n >\r\n {/* Decorative Overlay */}\r\n <div\r\n className=\"absolute inset-0 bg-gradient-to-t from-white/10 to-transparent opacity-60\"\r\n aria-hidden=\"true\"\r\n ></div>\r\n\r\n <CardContent className=\"relative p-6\">\r\n {/* Title */}\r\n <Typography\r\n variant=\"h5\"\r\n className=\"font-bold uppercase text-center tracking-wide mb-4\"\r\n sx={{\r\n color: \"#FFFFFF\", // Bright white for high contrast\r\n textShadow: \"0px 4px 8px rgba(0, 0, 0, 0.5)\", // Stronger shadow for bold presence\r\n fontSize: \"1.5rem\", // Slightly larger title size\r\n }}\r\n >\r\n Player Details\r\n </Typography>\r\n\r\n {/* Details Section */}\r\n <div className=\"space-y-3\">\r\n {age !== null && (\r\n <Typography\r\n variant=\"body2\"\r\n className=\"text-sm font-medium\"\r\n sx={{\r\n color: \"#FFFFFF\",\r\n textShadow: \"0px 2px 6px rgba(0, 0, 0, 0.5)\",\r\n fontWeight: \"bold\",\r\n }}\r\n >\r\n <span className=\"font-extrabold text-cyan-300\">Age:</span> {age}\r\n </Typography>\r\n )}\r\n {yearsPlaying !== null && (\r\n <Typography\r\n variant=\"body2\"\r\n className=\"text-sm font-medium\"\r\n sx={{\r\n color: \"#FFFFFF\",\r\n textShadow: \"0px 2px 6px rgba(0, 0, 0, 0.5)\",\r\n fontWeight: \"bold\",\r\n }}\r\n >\r\n <span className=\"font-extrabold text-cyan-300\">Years Playing:</span> {yearsPlaying}\r\n </Typography>\r\n )}\r\n {discordUsername && (\r\n <Typography\r\n variant=\"body2\"\r\n className=\"text-sm font-medium\"\r\n sx={{\r\n color: \"#FFFFFF\",\r\n textShadow: \"0px 2px 6px rgba(0, 0, 0, 0.5)\",\r\n fontWeight: \"bold\",\r\n }}\r\n >\r\n <span className=\"font-extrabold text-cyan-300\">Discord Username:</span> {discordUsername}\r\n </Typography>\r\n )}\r\n {preferredGames && preferredGames.length > 0 && (\r\n <Typography\r\n variant=\"body2\"\r\n className=\"text-sm font-medium\"\r\n sx={{\r\n color: \"#FFFFFF\",\r\n textShadow: \"0px 2px 6px rgba(0, 0, 0, 0.5)\",\r\n fontWeight: \"bold\",\r\n }}\r\n >\r\n <span className=\"font-extrabold text-cyan-300\">Preferred Games:</span>{\" \"}\r\n {preferredGames.join(\", \")}\r\n </Typography>\r\n )}\r\n </div>\r\n\r\n {/* Footer Section */}\r\n <div className=\"mt-6 text-center\">\r\n <Typography\r\n variant=\"caption\"\r\n className=\"text-xs italic\"\r\n sx={{\r\n color: \"#BBDEFB\", // Subtle light blue for footer text\r\n textShadow: \"0px 1px 3px rgba(0, 0, 0, 0.2)\",\r\n }}\r\n >\r\n All information is player-submitted.\r\n </Typography>\r\n </div>\r\n </CardContent>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default PlayerDetails;\r\n\r\n","export function BlurbTitles() {\r\n const blurbTitles = new Map();\r\n blurbTitles.set(1, \"What’s your most epic tabletop moment?\");\r\n blurbTitles.set(2, \"What type of character do you dream of playing?\");\r\n blurbTitles.set(3, \"What kind of story are you most excited to be part of?\");\r\n blurbTitles.set(4, \"Which tabletop world would you want to live in?\");\r\n blurbTitles.set(5, \"If you could only play one tabletop game forever, what would it be?\");\r\n blurbTitles.set(6, \"What’s a fantasy or sci-fi world you love and would want to game in?\");\r\n blurbTitles.set(7, \"Who’s the most chaotic (or hilarious) player you've ever gamed with?\");\r\n blurbTitles.set(8, \"What motivates you to join a tabletop game: adventure, laughs, or something else?\");\r\n blurbTitles.set(9, \"What’s your weirdest in-game flex?\");\r\n blurbTitles.set(10, \"Which class or archetype are you drawn to—fighter, mage, rogue, healer, or wildcard?\");\r\n blurbTitles.set(11, \"What character did you have the most fun playing?\");\r\n blurbTitles.set(12, \"What kind of player are you: Min-maxer, storyteller, or chaos incarnate?\");\r\n blurbTitles.set(13, \"Describe the best campaign twist you’ve ever experienced.\");\r\n blurbTitles.set(14, \"What’s your guilty pleasure when it comes to character archetypes?\");\r\n blurbTitles.set(15, \"Who’s your favorite villain or antagonist you’ve faced in a campaign?\");\r\n blurbTitles.set(16, \"What’s the hardest decision your character ever had to make?\");\r\n blurbTitles.set(17, \"What’s the funniest tabletop memory you’ve ever had?\");\r\n blurbTitles.set(18, \"Ever had a tabletop game go completely off the rails? What happened?\");\r\n blurbTitles.set(19, \"Introduce us to your favorite homebrew rule!\");\r\n blurbTitles.set(20, \"What’s your favorite dice-rolling ritual or superstition?\");\r\n blurbTitles.set(21, \"What’s your go-to tabletop snack during sessions?\");\r\n blurbTitles.set(22, \"What’s the most creative solution you’ve ever come up with in a game?\");\r\n blurbTitles.set(23, \"What NPC or character from a campaign would you date IRL?\");\r\n blurbTitles.set(24, \"What’s your favorite tabletop rule or mechanic?\");\r\n blurbTitles.set(25, \"What’s the most emotional tabletop moment you’ve had?\");\r\n blurbTitles.set(26, \"What kind of story twist or epic moment would make you fall in love with the game?\");\r\n blurbTitles.set(27, \"What’s the most challenging yet rewarding NPC you've ever created?\");\r\n blurbTitles.set(28, \"How do you keep players on track without railroading your game?\");\r\n blurbTitles.set(29, \"What’s the most unexpected way your players solved a problem you designed?\");\r\n blurbTitles.set(30, \"What’s your favorite resource or tool for planning campaigns?\");\r\n blurbTitles.set(31, \"What’s the funniest way your players have broken your carefully-planned encounter?\");\r\n blurbTitles.set(32, \"What’s the most memorable villain or antagonist you’ve created?\");\r\n blurbTitles.set(33, \"How do you handle player conflict in your campaigns?\");\r\n blurbTitles.set(34, \"What’s your favorite homebrew rule to spice up your campaigns?\");\r\n blurbTitles.set(35, \"Have you ever scrapped a planned session because of something your players did?\");\r\n blurbTitles.set(36, \"What’s the most creative environment or setting you’ve designed for your players?\");\r\n\r\n return blurbTitles;\r\n}\r\n\r\nexport function PrivacyValues() {\r\n const privacyValues = new Map();\r\n privacyValues.set(1, \"private\");\r\n privacyValues.set(\"private\", 1);\r\n\r\n privacyValues.set(2, \"connection\");\r\n privacyValues.set(\"connection\",2);\r\n\r\n privacyValues.set(3, \"public\");\r\n privacyValues.set(\"public\", 3);\r\n\r\n privacyValues.set(4, \"table\");\r\n privacyValues.set(\"table\", 4);\r\n\r\n return privacyValues;\r\n}\r\n\r\nexport function PlayerTagLabels(): string[] {\r\n const tagTitles: string[] = [];\r\n\r\n tagTitles.push(\"girl gamer\");\r\n tagTitles.push(\"veteran\");\r\n tagTitles.push(\"new\");\r\n tagTitles.push(\"min-maxer\");\r\n tagTitles.push(\"role-player\");\r\n tagTitles.push(\"rules lawyer\");\r\n tagTitles.push(\"storyteller\");\r\n tagTitles.push(\"chaotic\");\r\n tagTitles.push(\"planner\");\r\n tagTitles.push(\"wildcard\");\r\n tagTitles.push(\"protector\");\r\n tagTitles.push(\"rogue-like\");\r\n tagTitles.push(\"power gamer\");\r\n tagTitles.push(\"thinker\");\r\n tagTitles.push(\"narrative\");\r\n tagTitles.push(\"homebrewer\");\r\n tagTitles.push(\"dungeon master\");\r\n tagTitles.push(\"world builder\");\r\n tagTitles.push(\"solver\");\r\n tagTitles.push(\"strategist\");\r\n tagTitles.push(\"dice lover\");\r\n tagTitles.push(\"performer\");\r\n tagTitles.push(\"casual\");\r\n tagTitles.push(\"character-focused\");\r\n tagTitles.push(\"team player\");\r\n tagTitles.push(\"mechanics\");\r\n tagTitles.push(\"adventurer\");\r\n tagTitles.push(\"collector\");\r\n tagTitles.push(\"problem solver\");\r\n tagTitles.push(\"innovator\");\r\n tagTitles.push(\"lorekeeper\");\r\n tagTitles.push(\"rule bender\");\r\n tagTitles.push(\"sandboxer\");\r\n tagTitles.push(\"cartographer\");\r\n tagTitles.push(\"loyalist\");\r\n tagTitles.push(\"wrangler\");\r\n tagTitles.push(\"moment maker\");\r\n tagTitles.push(\"jinxed roller\");\r\n tagTitles.push(\"lucky roller\");\r\n tagTitles.push(\"meticulous\");\r\n tagTitles.push(\"improviser\");\r\n tagTitles.push(\"tactician\");\r\n tagTitles.push(\"butterfly\");\r\n tagTitles.push(\"beginner\");\r\n tagTitles.push(\"voice actor\");\r\n tagTitles.push(\"multi-campaign\");\r\n tagTitles.push(\"starter\");\r\n tagTitles.push(\"forever DM\");\r\n tagTitles.push(\"finisher\");\r\n tagTitles.push(\"swapper\");\r\n tagTitles.push(\"meta-gamer\");\r\n tagTitles.push(\"specialist\");\r\n\r\n return tagTitles;\r\n}\r\n\r\n\r\nexport const FantasyNouns = [\r\n // Core D&D Classes\r\n \"Fighter\", \"Rogue\", \"Wizard\", \"Cleric\", \"Paladin\", \"Barbarian\", \"Ranger\", \"Sorcerer\", \"Bard\", \"Monk\", \"Warlock\", \"Druid\", \"Artificer\",\r\n\r\n // Fantasy Occupations\r\n \"Alchemist\", \"Blacksmith\", \"Knight\", \"Mage\", \"Mercenary\", \"Archer\", \"Scribe\", \"Healer\", \"Hunter\", \"Assassin\", \"Enchanter\",\r\n \"Miner\", \"Sailor\", \"Merchant\", \"Herbalist\", \"Cartographer\", \"Tailor\", \"Innkeeper\", \"Cook\", \"Scholar\",\r\n\r\n // Archetypes\r\n \"Adventurer\", \"Champion\", \"Warlord\", \"Outlaw\", \"Pilgrim\", \"Prophet\", \"Necromancer\", \"Witch\", \"Shaman\",\r\n \"Beastmaster\", \"Acolyte\", \"Spellblade\", \"Battlemage\", \"Blademaster\", \"Warpriest\", \"Berserker\", \"Elementalist\",\r\n\r\n // Fantasy Creatures/Beings\r\n \"Dragon\", \"Elf\", \"Dwarf\", \"Orc\", \"Goblin\", \"Gnome\", \"Tiefling\", \"Genasi\", \"Halfling\", \"Lich\", \"Vampire\", \"Werewolf\",\r\n \"Demon\", \"Angel\", \"Pixie\", \"Dryad\", \"Centaur\", \"Chimera\", \"Golem\", \"Fairy\", \"Troll\", \"Minotaur\", \"Kraken\",\r\n \"Griffin\", \"Phoenix\",\r\n\r\n // Fantasy Roles/Titles\r\n \"Archmage\", \"High Priestess\", \"King\", \"Queen\", \"Duke\", \"Duchess\", \"Emperor\", \"Empress\", \"Captain\", \"Seer\", \"Oracle\",\r\n \"Warden\", \"Guardian\", \"Watchman\", \"Hero\", \"Villain\", \"Herald\", \"Scout\", \"Envoy\",\r\n\r\n // Other Fantasy-Themed Nouns\r\n \"Spellcaster\", \"Summoner\", \"Conjurer\", \"Warrior\", \"Gladiator\", \"Pathfinder\", \"Explorer\", \"Tinkerer\", \"Shadowblade\",\r\n \"Dungeoneer\", \"Archon\", \"Mystic\", \"Sage\", \"Runemaster\", \"Smith\", \"Wanderer\", \"Wayfarer\", \"Avenger\", \"Defender\", \"Keeper\"\r\n];\r\n\r\nexport const FantasyAdjectives = [\r\n // Descriptive of Power/Strength\r\n \"Mighty\", \"Powerful\", \"Fierce\", \"Tough\", \"Armored\", \"Indomitable\", \"Savage\", \"Vengeful\", \"Heroic\", \"Valiant\",\r\n\r\n // Magical Features\r\n \"Enchanted\", \"Bewitched\", \"Magical\", \"Mystical\", \"Ethereal\", \"Arcane\", \"Spellbound\", \"Supernatural\", \"Runed\",\r\n\r\n // Personality/Appearance Traits\r\n \"Noble\", \"Gallant\", \"Cunning\", \"Crafty\", \"Shadowy\", \"Elegant\", \"Wise\", \"Shrewd\", \"Merciless\", \"Serene\",\r\n \"Infernal\", \"Wicked\", \"Pious\", \"Charming\", \"Loyal\", \"Treacherous\", \"Bold\", \"Cowardly\", \"Sly\",\r\n\r\n // Environment-Themed\r\n \"Cursed\", \"Blessed\", \"Haunted\", \"Frozen\", \"Burning\", \"Fiery\", \"Icy\", \"Stormy\", \"Sunlit\", \"Moonlit\",\r\n \"Dark\", \"Luminous\", \"Glistening\", \"Ancient\", \"Shattered\", \"Sacred\", \"Forbidden\", \"Hidden\", \"Lost\",\r\n \"Verdant\", \"Barren\",\r\n\r\n // Monster/Creature Traits\r\n \"Ferocious\", \"Ravenous\", \"Menacing\", \"Grotesque\", \"Spiked\", \"Scaled\", \"Hulking\", \"Winged\", \"Fanged\", \"Horned\",\r\n \"Tentacled\", \"Shapeshifting\",\r\n\r\n // Mystical/Abstract Traits\r\n \"Immortal\", \"Mythical\", \"Omniscient\", \"Unbreakable\",\r\n \"Unfathomable\", \"Celestial\", \"Void\", \"Otherworldly\", \"Primordial\",\r\n\r\n // Precious/Gleaming Adjectives\r\n \"Golden\", \"Silver\", \"Crystalline\", \"Diamond\", \"Jeweled\", \"Sapphire\", \"Emerald\", \"Shimmering\", \"Gleaming\", \"Radiant\",\r\n\r\n // Combat-Related Traits\r\n \"Bloodstained\", \"Battleworn\", \"Unyielding\", \"Victorious\", \"Deadly\", \"Sharp\", \"Piercing\", \"Relentless\", \"Untouchable\",\r\n\r\n // Nature-Themed\r\n \"Whispering\", \"Thorned\", \"Blossoming\", \"Blooming\", \"Overgrown\", \"Howling\", \"Cracked\", \"Twisted\", \"Mossy\", \"Winding\",\r\n \"Towering\", \"Rooted\",\r\n\r\n // Emotional/Thematic Descriptors\r\n \"Free\", \"Courageous\", \"Reckless\", \"Damned\", \"Lonely\", \"Heartless\", \"Driven\", \"Hopeful\",\r\n \"Fateful\"\r\n];\r\n\r\nexport const FantasyQualifiers = [\r\n // Describing Uniqueness or Origins\r\n \"Original\", \"Prime\", \"Primal\", \"Archetypal\", \"Ancestral\", \"Legendary\", \"Foremost\",\r\n\r\n // Describing Finality or Completion\r\n \"Final\", \"Ultimate\", \"Absolute\", \"Conclusive\", \"Eternal\", \"Enduring\", \"Definitive\",\r\n\r\n // Describing Supremacy or Greatness\r\n \"Supreme\", \"Paramount\", \"Preeminent\", \"Pinnacle\", \"Peerless\", \"Unrivaled\", \"Sovereign\", \"Dominant\",\r\n\r\n // Describing Perfection or Excellence\r\n \"Flawless\", \"Perfect\", \"Divine\", \"Exalted\", \"Transcendent\", \"Matchless\", \"Incomparable\",\r\n\r\n // Describing Eternity or Timelessness\r\n \"Timeless\", \"Boundless\", \"Ageless\", \"Perpetual\", \"Infinite\", \"Everlasting\",\r\n\r\n // Describing Power or Authority\r\n \"Omnipotent\", \"Almighty\", \"Unassailable\", \"Overwhelming\", \"Irresistible\", \"Unconquerable\", \"Majestic\"\r\n];\r\n\r\nexport const generateUsername = () => {\r\n let output = \"\"\r\n\r\n output+= getRandomElement(FantasyQualifiers)\r\n output+= getRandomElement(FantasyAdjectives)\r\n output+= getRandomElement(FantasyNouns)\r\n\r\n return output;\r\n}\r\n\r\nexport const ProfilePictureSettings = {\r\n aspectRatio: 4/5,\r\n minWidth: 400,\r\n}\r\n\r\nconst getRandomElement = (array: string[]) => {\r\n return array[Math.floor(Math.random() * array.length)];\r\n}\r\n\r\n","\"use client\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Card, CardMedia, CardContent, Typography } from \"@mui/material\";\r\nimport {ProfilePictureSettings} from \"../../data/values\";\r\n\r\nconst {aspectRatio} = ProfilePictureSettings;\r\n\r\ntype PlayerDisplayProps = {\r\n profilePicture: string | null;\r\n username: string;\r\n bio: string | null;\r\n preferredPronouns: string | null;\r\n};\r\n\r\nconst PlayerDisplayCard: React.FC<PlayerDisplayProps> = ({\r\n profilePicture,\r\n username,\r\n bio,\r\n preferredPronouns,\r\n }) => {\r\n const [imageSrc, setImageSrc] = useState<string>(\"/man-walking-silhouette-clipart.jpg\");\r\n\r\n useEffect(() => {\r\n async function validateImage() {\r\n const newImage = profilePicture || \"/man-walking-silhouette-clipart.jpg\";\r\n if (!profilePicture) {\r\n setImageSrc(\"/man-walking-silhouette-clipart.jpg\");\r\n return;\r\n }\r\n\r\n const img = new Image();\r\n img.src = newImage;\r\n\r\n img.onload = () => {\r\n setImageSrc(newImage);\r\n };\r\n\r\n img.onerror = () => {\r\n setImageSrc(\"/man-walking-silhouette-clipart.jpg\");\r\n };\r\n }\r\n\r\n validateImage();\r\n }, [profilePicture]);\r\n\r\n return (\r\n <Card\r\n sx={{\r\n margin: \"1rem\",\r\n background: \"linear-gradient(135deg, rgba(25, 118, 210, 0.8), rgba(25, 118, 210, 1))\", // Vibrant blue gradient\r\n boxShadow: \"0px 8px 15px rgba(25, 118, 210, 0.3)\", // Blue shadow to add depth\r\n borderRadius: \"12px\", // Smooth rounded corners\r\n color: \"#FFFFFF\", // White text for high contrast\r\n overflow: \"hidden\", // Clean edges\r\n }}\r\n className=\"transition duration-300 transform hover:scale-105 hover:shadow-2xl\"\r\n >\r\n {/* Image Section */}\r\n <CardMedia\r\n component=\"img\"\r\n image={imageSrc}\r\n alt={`${username}'s Profile Picture`}\r\n sx={{\r\n aspectRatio: aspectRatio,\r\n height: \"auto\",// Updates to maintain aspect ratio and fill space nicely\r\n width: \"100%\",\r\n objectFit: \"scale-down\",\r\n }}\r\n />\r\n\r\n <CardContent className=\"relative p-6\">\r\n {/* Username */}\r\n <Typography\r\n variant=\"h5\"\r\n component=\"div\"\r\n className=\"font-bold text-lg uppercase text-center tracking-wide mb-2\"\r\n sx={{\r\n color: \"#FFFFFF\", // Pure white for username\r\n fontSize: \"1.5rem\",\r\n textShadow: \"0px 3px 6px rgba(0, 0, 0, 0.5)\", // Strong shadow for visibility\r\n }}\r\n >\r\n {username}\r\n </Typography>\r\n\r\n {/* Preferred Pronouns */}\r\n {preferredPronouns && (\r\n <Typography\r\n variant=\"body2\"\r\n className=\"text-sm font-medium\"\r\n sx={{\r\n color: \"#E3F2FD\",\r\n textShadow: \"0px 2px 4px rgba(0, 0, 0, 0.3)\", // Subtle shadow for readability\r\n fontWeight: \"bold\", // Emphasize key details\r\n marginBottom: \"1rem\",\r\n }}\r\n >\r\n {preferredPronouns}\r\n </Typography>\r\n )}\r\n\r\n {/* Bio */}\r\n {bio && (\r\n <Typography\r\n variant=\"body2\"\r\n className=\"text-sm font-light\"\r\n sx={{\r\n color: \"#E3F2FD\", // Softer muted tone for secondary text\r\n textShadow: \"0px 2px 4px rgba(0, 0, 0, 0.3)\", // Subtle shadow for readability\r\n fontStyle: \"italic\", // Distinguish bio visually\r\n }}\r\n >\r\n {bio}\r\n </Typography>\r\n )}\r\n </CardContent>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default PlayerDisplayCard;\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\"use client\";\n\nimport React from \"react\";\r\nimport { Card, CardContent, Typography } from \"@mui/material\";\r\n\r\n// Props for the PlayerPromptCard component\r\ntype PlayerPromptCardProps = {\r\n title: string | null;\r\n description: string | null;\r\n};\r\n\r\nconst PlayerPromptCard: React.FC<PlayerPromptCardProps> = ({ title, description }) => {\r\n return (\r\n <Card\r\n sx={{\r\n margin: \"1rem\",\r\n background: \"linear-gradient(135deg, rgba(25, 118, 210, 0.8), rgba(25, 118, 210, 1))\", // Gradient color scheme\r\n boxShadow: \"0px 8px 15px rgba(25, 118, 210, 0.3)\", // Card shadow\r\n borderRadius: \"12px\", // Rounded corners\r\n color: \"#FFFFFF\", // Text contrast with the background\r\n overflow: \"hidden\", // Keeps consistent and clean card shape\r\n }}\r\n className=\"transition duration-300 transform hover:scale-105 hover:shadow-2xl\"\r\n >\r\n <CardContent className=\"p-6\">\r\n {/* Title */}\r\n {title && (\r\n <Typography\r\n variant=\"h5\"\r\n className=\"font-bold text-lg uppercase text-center tracking-wide mb-4\"\r\n sx={{\r\n color: \"#FFFFFF\", // Bright white for high visibility\r\n textShadow: \"0px 3px 6px rgba(0, 0, 0, 0.5)\", // Strong text shadow for contrast\r\n fontSize: \"1.5rem\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n )}\r\n\r\n {/* Description */}\r\n {description && (\r\n <Typography\r\n variant=\"body2\"\r\n className=\"text-sm font-medium text-center\"\r\n sx={{\r\n color: \"#E3F2FD\", // Softer light blue for description\r\n textShadow: \"0px 2px 4px rgba(0, 0, 0, 0.3)\", // Subtle shadow\r\n lineHeight: 1.6,\r\n marginTop: \"1rem\",\r\n }}\r\n >\r\n {description}\r\n </Typography>\r\n )}\r\n </CardContent>\r\n </Card>\r\n );\r\n};\r\n\r\nexport default PlayerPromptCard;\r\n\r\n","\"use client\";\n\nimport {Tag} from \"@/types/tag\";\nimport Grid from \"@mui/material/Grid\"\nimport Card from \"@mui/material/Card\"\nimport CardHeader from \"@mui/material/CardHeader\"\nimport CardContent from \"@mui/material/CardContent\"\n\nexport default function PlayerTagsCard(props : {PlayerTags: Tag[]}) {\n return (\n <Grid container>\n <Grid size={{xs:12, md:3}}>\n <Card>\n <CardHeader title=\"Player Tags\" style={{\n background: \"linear-gradient(135deg, rgba(25, 118, 210, 0.8), rgba(25, 118, 210, 1))\",\n color: \"#FFFFFF\", // Pure white for username\n fontSize: \"1.5rem\",\n textShadow: \"0px 3px 6px rgba(0, 0, 0, 0.5)\", // Strong shadow for visibility\n }}/>\n <CardContent>\n {renderLabels(props.PlayerTags)}\n </CardContent>\n </Card>\n </Grid>\n </Grid>\n\n )\n}\n\nconst renderLabels = (tags:Tag[]) => {\n\n return (\n <div className=\"mt-2 flex flex-wrap gap-2\">\n { tags.map((tag) => generateLabel(tag))}\n </div>\n)\n}\n\nconst generateLabel = (tag:Tag) => {\n\n let color = \"#bfbcbb\"\n if (tag.color) color = tag.color\n\n return (\n <span\n key={tag.id}\n className=\"inline-block text-sm px-3 py-1 rounded-full outline-black outline-2 font-outlined\"\n style={{background:color,\n color:\"white\",\n textShadow: \"black 0.2em 0.2em 0.4em\"\n }}\n >\n {tag.label}\n </span>\n )\n\n}"]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
|
+
import { Tag } from './types/tag';
|
|
4
|
+
|
|
5
|
+
type PlayerDetailsProps = {
|
|
6
|
+
preferredPronouns: string | null;
|
|
7
|
+
age: number | null;
|
|
8
|
+
yearsPlaying: number | null;
|
|
9
|
+
discordUsername: string | null;
|
|
10
|
+
preferredGames: string[] | null;
|
|
11
|
+
};
|
|
12
|
+
declare const PlayerDetails: React__default.FC<PlayerDetailsProps>;
|
|
13
|
+
|
|
14
|
+
type PlayerDisplayProps = {
|
|
15
|
+
profilePicture: string | null;
|
|
16
|
+
username: string;
|
|
17
|
+
bio: string | null;
|
|
18
|
+
preferredPronouns: string | null;
|
|
19
|
+
};
|
|
20
|
+
declare const PlayerDisplayCard: React__default.FC<PlayerDisplayProps>;
|
|
21
|
+
|
|
22
|
+
type PlayerPromptCardProps = {
|
|
23
|
+
title: string | null;
|
|
24
|
+
description: string | null;
|
|
25
|
+
};
|
|
26
|
+
declare const PlayerPromptCard: React__default.FC<PlayerPromptCardProps>;
|
|
27
|
+
|
|
28
|
+
declare function PlayerTagsCard(props: {
|
|
29
|
+
PlayerTags: Tag[];
|
|
30
|
+
}): react_jsx_runtime.JSX.Element;
|
|
31
|
+
|
|
32
|
+
export { PlayerDetails as PlayerDetailsCard, PlayerDisplayCard, PlayerPromptCard, PlayerTagsCard };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
|
+
import { Tag } from './types/tag';
|
|
4
|
+
|
|
5
|
+
type PlayerDetailsProps = {
|
|
6
|
+
preferredPronouns: string | null;
|
|
7
|
+
age: number | null;
|
|
8
|
+
yearsPlaying: number | null;
|
|
9
|
+
discordUsername: string | null;
|
|
10
|
+
preferredGames: string[] | null;
|
|
11
|
+
};
|
|
12
|
+
declare const PlayerDetails: React__default.FC<PlayerDetailsProps>;
|
|
13
|
+
|
|
14
|
+
type PlayerDisplayProps = {
|
|
15
|
+
profilePicture: string | null;
|
|
16
|
+
username: string;
|
|
17
|
+
bio: string | null;
|
|
18
|
+
preferredPronouns: string | null;
|
|
19
|
+
};
|
|
20
|
+
declare const PlayerDisplayCard: React__default.FC<PlayerDisplayProps>;
|
|
21
|
+
|
|
22
|
+
type PlayerPromptCardProps = {
|
|
23
|
+
title: string | null;
|
|
24
|
+
description: string | null;
|
|
25
|
+
};
|
|
26
|
+
declare const PlayerPromptCard: React__default.FC<PlayerPromptCardProps>;
|
|
27
|
+
|
|
28
|
+
declare function PlayerTagsCard(props: {
|
|
29
|
+
PlayerTags: Tag[];
|
|
30
|
+
}): react_jsx_runtime.JSX.Element;
|
|
31
|
+
|
|
32
|
+
export { PlayerDetails as PlayerDetailsCard, PlayerDisplayCard, PlayerPromptCard, PlayerTagsCard };
|