Skip to content

Commit 549e085

Browse files
authored
Merge pull request #41 from codergautam/bottomad
Bottomad
2 parents 7723149 + 8caeaec commit 549e085

File tree

4 files changed

+101
-17
lines changed

4 files changed

+101
-17
lines changed

components/chatBox.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ const MessageParser = ({ children, actions }) => {
107107
);
108108
};
109109

110-
export default function ChatBox({ ws, open, onToggle, enabled, myId, inGame }) {
110+
export default function ChatBox({ ws, open, onToggle, enabled, myId, inGame, miniMapShown }) {
111111
const { t: text } = useTranslation("common");
112112
const [unreadCount, setUnreadCount] = useState(0);
113113

@@ -134,7 +134,7 @@ export default function ChatBox({ ws, open, onToggle, enabled, myId, inGame }) {
134134

135135
return (
136136
<div className={`chatboxParent ${enabled ? 'enabled' : ''}`}>
137-
<button style={{ fontSize: '16px', fontWeight: 'bold', color: 'white', background: 'green', border: 'none', borderRadius: '5px', padding: '10px 20px', cursor: 'pointer' }} onClick={onToggle}>
137+
<button className={`chatboxBtn ${open ? 'open' : ''} ${miniMapShown ? 'minimap' : ''}`} style={{ fontSize: '16px', fontWeight: 'bold', color: 'white', background: 'green', border: 'none', borderRadius: '5px', padding: '10px 20px', cursor: 'pointer' }} onClick={onToggle}>
138138
{open ? <FaXmark onClick={onToggle} /> : `${text("chat")}${unreadCount > 0 ? ` (${unreadCount})` : ''}`}
139139
</button>
140140
<div className={`chatbox ${open ? 'open' : ''}`}>

components/gameUI.js

+1-3
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import RoundOverScreen from "./roundOverScreen";
2323

2424
const MapWidget = dynamic(() => import("../components/Map"), { ssr: false });
2525

26-
export default function GameUI({ singlePlayerRound, setSinglePlayerRound, showDiscordModal, setShowDiscordModal, inCrazyGames, showPanoOnResult, setShowPanoOnResult, countryGuesserCorrect, setCountryGuesserCorrect, otherOptions, onboarding, setOnboarding, countryGuesser, options, timeOffset, ws, multiplayerState, backBtnPressed, setMultiplayerState, countryStreak, setCountryStreak, loading, setLoading, session, gameOptionsModalShown, setGameOptionsModalShown, latLong, streetViewShown, setStreetViewShown, loadLocation, gameOptions, setGameOptions, showAnswer, setShowAnswer, pinPoint, setPinPoint, hintShown, setHintShown, xpEarned, setXpEarned, showCountryButtons, setShowCountryButtons }) {
26+
export default function GameUI({ miniMapShown, setMiniMapShown, singlePlayerRound, setSinglePlayerRound, showDiscordModal, setShowDiscordModal, inCrazyGames, showPanoOnResult, setShowPanoOnResult, countryGuesserCorrect, setCountryGuesserCorrect, otherOptions, onboarding, setOnboarding, countryGuesser, options, timeOffset, ws, multiplayerState, backBtnPressed, setMultiplayerState, countryStreak, setCountryStreak, loading, setLoading, session, gameOptionsModalShown, setGameOptionsModalShown, latLong, streetViewShown, setStreetViewShown, loadLocation, gameOptions, setGameOptions, showAnswer, setShowAnswer, pinPoint, setPinPoint, hintShown, setHintShown, xpEarned, setXpEarned, showCountryButtons, setShowCountryButtons }) {
2727
const { t: text } = useTranslation("common");
2828
const [showStreakAdBanner, setShowStreakAdBanner] = useState(false);
2929

@@ -125,8 +125,6 @@ export default function GameUI({ singlePlayerRound, setSinglePlayerRound, showDi
125125
if(window.matchMedia("(pointer: coarse)").matches) {
126126
isTouchScreen = true;
127127
}
128-
129-
const [miniMapShown, setMiniMapShown] = useState(false)
130128
const [miniMapExpanded, setMiniMapExpanded] = useState(false)
131129
const [miniMapFullscreen, setMiniMapFullscreen] = useState(false)
132130
const [roundStartTime, setRoundStartTime] = useState(null);

components/home.js

+13-4
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ export default function Home({ }) {
101101
const [options, setOptions] = useState({
102102
});
103103
const [multiplayerError, setMultiplayerError] = useState(null);
104+
const [miniMapShown, setMiniMapShown] = useState(false)
104105

105106
let login = null;
106107
if(process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID) {
@@ -1584,7 +1585,9 @@ setShowCountryButtons(false)
15841585
}
15851586
}
15861587

1587-
const ChatboxMemo = React.useMemo(() => <ChatBox ws={ws} open={multiplayerChatOpen} onToggle={() => setMultiplayerChatOpen(!multiplayerChatOpen)} enabled={multiplayerChatEnabled} myId={multiplayerState?.gameData?.myId} inGame={multiplayerState?.inGame} />, [multiplayerChatOpen, multiplayerChatEnabled, ws, multiplayerState?.gameData?.myId, multiplayerState?.inGame])
1588+
const ChatboxMemo = React.useMemo(() => <ChatBox miniMapShown={miniMapShown} ws={ws} open={multiplayerChatOpen} onToggle={() => setMultiplayerChatOpen(!multiplayerChatOpen)} enabled={
1589+
multiplayerChatEnabled
1590+
} myId={multiplayerState?.gameData?.myId} inGame={multiplayerState?.inGame} />, [multiplayerChatOpen, multiplayerChatEnabled, ws, multiplayerState?.gameData?.myId, multiplayerState?.inGame, miniMapShown])
15881591

15891592
// Send pong every 10 seconds if websocket is connected
15901593
useEffect(() => {
@@ -1931,11 +1934,15 @@ setShowCountryButtons(false)
19311934
} sendInvite={sendInvite} />
19321935

19331936
{screen === "singleplayer" && <div className="home__singleplayer">
1934-
<GameUI singlePlayerRound={singlePlayerRound} setSinglePlayerRound={setSinglePlayerRound} showDiscordModal={showDiscordModal} setShowDiscordModal={setShowDiscordModal} inCrazyGames={inCrazyGames} showPanoOnResult={showPanoOnResult} setShowPanoOnResult={setShowPanoOnResult} options={options} countryStreak={countryStreak} setCountryStreak={setCountryStreak} xpEarned={xpEarned} setXpEarned={setXpEarned} hintShown={hintShown} setHintShown={setHintShown} pinPoint={pinPoint} setPinPoint={setPinPoint} showAnswer={showAnswer} setShowAnswer={setShowAnswer} loading={loading} setLoading={setLoading} session={session} gameOptionsModalShown={gameOptionsModalShown} setGameOptionsModalShown={setGameOptionsModalShown} latLong={latLong} streetViewShown={streetViewShown} setStreetViewShown={setStreetViewShown} loadLocation={loadLocation} gameOptions={gameOptions} setGameOptions={setGameOptions} />
1937+
<GameUI
1938+
miniMapShown={miniMapShown} setMiniMapShown={setMiniMapShown}
1939+
singlePlayerRound={singlePlayerRound} setSinglePlayerRound={setSinglePlayerRound} showDiscordModal={showDiscordModal} setShowDiscordModal={setShowDiscordModal} inCrazyGames={inCrazyGames} showPanoOnResult={showPanoOnResult} setShowPanoOnResult={setShowPanoOnResult} options={options} countryStreak={countryStreak} setCountryStreak={setCountryStreak} xpEarned={xpEarned} setXpEarned={setXpEarned} hintShown={hintShown} setHintShown={setHintShown} pinPoint={pinPoint} setPinPoint={setPinPoint} showAnswer={showAnswer} setShowAnswer={setShowAnswer} loading={loading} setLoading={setLoading} session={session} gameOptionsModalShown={gameOptionsModalShown} setGameOptionsModalShown={setGameOptionsModalShown} latLong={latLong} streetViewShown={streetViewShown} setStreetViewShown={setStreetViewShown} loadLocation={loadLocation} gameOptions={gameOptions} setGameOptions={setGameOptions} />
19351940
</div>}
19361941

19371942
{screen === "onboarding" && onboarding?.round && <div className="home__onboarding">
1938-
<GameUI inCrazyGames={inCrazyGames} showPanoOnResult={showPanoOnResult} setShowPanoOnResult={setShowPanoOnResult} countryGuesserCorrect={countryGuesserCorrect} setCountryGuesserCorrect={setCountryGuesserCorrect} showCountryButtons={showCountryButtons} setShowCountryButtons={setShowCountryButtons} otherOptions={otherOptions} onboarding={onboarding} countryGuesser={false} setOnboarding={setOnboarding} options={options} countryStreak={countryStreak} setCountryStreak={setCountryStreak} xpEarned={xpEarned} setXpEarned={setXpEarned} hintShown={hintShown} setHintShown={setHintShown} pinPoint={pinPoint} setPinPoint={setPinPoint} showAnswer={showAnswer} setShowAnswer={setShowAnswer} loading={loading} setLoading={setLoading} session={session} gameOptionsModalShown={gameOptionsModalShown} setGameOptionsModalShown={setGameOptionsModalShown} latLong={latLong} streetViewShown={streetViewShown} setStreetViewShown={setStreetViewShown} loadLocation={loadLocation} gameOptions={gameOptions} setGameOptions={setGameOptions} />
1943+
<GameUI
1944+
miniMapShown={miniMapShown} setMiniMapShown={setMiniMapShown}
1945+
inCrazyGames={inCrazyGames} showPanoOnResult={showPanoOnResult} setShowPanoOnResult={setShowPanoOnResult} countryGuesserCorrect={countryGuesserCorrect} setCountryGuesserCorrect={setCountryGuesserCorrect} showCountryButtons={showCountryButtons} setShowCountryButtons={setShowCountryButtons} otherOptions={otherOptions} onboarding={onboarding} countryGuesser={false} setOnboarding={setOnboarding} options={options} countryStreak={countryStreak} setCountryStreak={setCountryStreak} xpEarned={xpEarned} setXpEarned={setXpEarned} hintShown={hintShown} setHintShown={setHintShown} pinPoint={pinPoint} setPinPoint={setPinPoint} showAnswer={showAnswer} setShowAnswer={setShowAnswer} loading={loading} setLoading={setLoading} session={session} gameOptionsModalShown={gameOptionsModalShown} setGameOptionsModalShown={setGameOptionsModalShown} latLong={latLong} streetViewShown={streetViewShown} setStreetViewShown={setStreetViewShown} loadLocation={loadLocation} gameOptions={gameOptions} setGameOptions={setGameOptions} />
19391946
</div>}
19401947

19411948
{screen === "onboarding" && onboarding?.completed && <div className="home__onboarding">
@@ -1976,7 +1983,9 @@ setShowCountryButtons(false)
19761983
</div>}
19771984

19781985
{multiplayerState.inGame && ["guess", "getready", "end"].includes(multiplayerState.gameData?.state) && (
1979-
<GameUI inCrazyGames={inCrazyGames} showPanoOnResult={showPanoOnResult} setShowPanoOnResult={setShowPanoOnResult} options={options} timeOffset={timeOffset} ws={ws} backBtnPressed={backBtnPressed} multiplayerChatOpen={multiplayerChatOpen} setMultiplayerChatOpen={setMultiplayerChatOpen} multiplayerState={multiplayerState} xpEarned={xpEarned} setXpEarned={setXpEarned} pinPoint={pinPoint} setPinPoint={setPinPoint} loading={loading} setLoading={setLoading} session={session} streetViewShown={streetViewShown} setStreetViewShown={setStreetViewShown} latLong={latLong} loadLocation={() => { }} gameOptions={{ location: "all", maxDist: 20000, extent: gameOptions?.extent ?? multiplayerState?.gameData?.extent }} setGameOptions={() => { }} showAnswer={(multiplayerState?.gameData?.curRound !== 1) && multiplayerState?.gameData?.state === 'getready'} setShowAnswer={guessMultiplayer} />
1986+
<GameUI
1987+
miniMapShown={miniMapShown} setMiniMapShown={setMiniMapShown}
1988+
inCrazyGames={inCrazyGames} showPanoOnResult={showPanoOnResult} setShowPanoOnResult={setShowPanoOnResult} options={options} timeOffset={timeOffset} ws={ws} backBtnPressed={backBtnPressed} multiplayerChatOpen={multiplayerChatOpen} setMultiplayerChatOpen={setMultiplayerChatOpen} multiplayerState={multiplayerState} xpEarned={xpEarned} setXpEarned={setXpEarned} pinPoint={pinPoint} setPinPoint={setPinPoint} loading={loading} setLoading={setLoading} session={session} streetViewShown={streetViewShown} setStreetViewShown={setStreetViewShown} latLong={latLong} loadLocation={() => { }} gameOptions={{ location: "all", maxDist: 20000, extent: gameOptions?.extent ?? multiplayerState?.gameData?.extent }} setGameOptions={() => { }} showAnswer={(multiplayerState?.gameData?.curRound !== 1) && multiplayerState?.gameData?.state === 'getready'} setShowAnswer={guessMultiplayer} />
19801989
)}
19811990

19821991

styles/globals.scss

+85-8
Original file line numberDiff line numberDiff line change
@@ -607,15 +607,33 @@ h1, h2, h3, span {
607607
flex-flow: column;
608608

609609

610-
bottom: 40px;
610+
bottom: 10px;
611611
margin-top: auto;
612612
margin-left: auto;
613-
margin-right: 100px;
613+
margin-right: 5px;
614+
z-index: 1000;
614615

615616
transform: translateY(105%);
616617
opacity: 0;
617618
}
618619

620+
.gm-bundled-control-on-bottom {
621+
right: auto !important;
622+
left: 0 !important;
623+
bottom: calc(161px + 50px) !important;
624+
}
625+
.gm-style-cc {
626+
display: none;
627+
}
628+
// less than 460px
629+
// @media screen and (max-width: 460px) {
630+
// .gm-bundled-control-on-bottom {
631+
// bottom: calc(161px + 100px) !important;
632+
// }
633+
634+
635+
// }
636+
619637

620638

621639
#miniMapArea.shown {
@@ -663,6 +681,11 @@ screen and (pointer:coarse) {
663681
transform: translateY(0%);
664682
margin-right: 0;
665683
width: 100%;
684+
685+
686+
}
687+
#miniMapArea.miniMap.shown .chatboxBtn {
688+
transform: translate(0, 0) !important;
666689
}
667690
// #miniMapArea.answerShown {
668691
// transform: none;
@@ -678,8 +701,6 @@ screen and (pointer:coarse) {
678701
display: flex;
679702
justify-content: space-around;
680703
align-items: center;
681-
gap: 10px;
682-
margin-top: 10px;
683704

684705
}
685706

@@ -691,7 +712,7 @@ screen and (pointer:coarse) {
691712
font-size: 1.5em;
692713
cursor: pointer;
693714
transition: background-color 0.3s;
694-
border-radius: 15px;
715+
border-radius: 5px;
695716
// box-shadow: 10px 3px 4px 0px rgb(0 0 0 / 35%);
696717
// background-image: radial-gradient(150% 160% at 50% 15%,hsla(0,0%,100%,.6) 0,transparent 30%);
697718
}
@@ -712,10 +733,12 @@ screen and (pointer:coarse) {
712733
margin-top: 10px;
713734
position: absolute;
714735
border-radius: 10px;
715-
right: 65px;
736+
right: 15px;
716737
bottom: 30px;
717738
animation: fadeIn 1s ease-in-out forwards;
718739
}
740+
741+
719742
.mobile_minimap__btns.miniMapShown {
720743
bottom: calc(70% + 5px);
721744
width: 100%;
@@ -725,6 +748,34 @@ screen and (pointer:coarse) {
725748
width: 20%;
726749
}
727750
}
751+
// @media screen and (max-width: 460px) {
752+
// .mobile_minimap__btns {
753+
// bottom: calc(20px + 50px);
754+
// }
755+
756+
// }
757+
758+
.chatboxBtn {
759+
transform: translate(60px, 5px);
760+
}
761+
@media screen and (max-width: 600px), screen and (pointer:coarse) {
762+
.chatboxBtn.minimap {
763+
transform: translate(5px, 0px);
764+
}
765+
766+
}
767+
768+
// @media screen and (max-width: 580px) {
769+
// .chatboxBtn {
770+
// transform: translate(60px, -45px);
771+
// }
772+
773+
// }
774+
.chatboxBtn.open {
775+
transform: translate(0, 0);
776+
}
777+
778+
728779

729780
.answerShownBtns {
730781
display: none;
@@ -896,6 +947,7 @@ screen and (pointer:coarse) {
896947
left: 50%;
897948
padding: 20px;
898949
margin-bottom: 10px;
950+
z-index: 1001;
899951
pointer-events: all;
900952
}
901953

@@ -912,6 +964,7 @@ screen and (pointer:coarse) {
912964
justify-content: center;
913965
align-items: center;
914966
gap: 10px;
967+
z-index: 1001;
915968
}
916969

917970
@media screen and (max-width: 600px) {
@@ -1045,7 +1098,6 @@ screen and (pointer:coarse) {
10451098
.chatboxParent {
10461099
position: fixed;
10471100
bottom: 20px;
1048-
left: 10px;
10491101
opacity: 0;
10501102
transition: all 0.5s;
10511103
border-radius: 10px;
@@ -1096,14 +1148,22 @@ screen and (pointer:coarse) {
10961148
.react-chatbot-kit-chat-bot-message {
10971149
margin-left: 0 !important;
10981150
}
1151+
@media screen and (max-height: 6000px) {
10991152

1153+
.react-chatbot-kit-chat-message-container {
1154+
height: 448px !important;
1155+
}
1156+
.react-chatbot-kit-chat-inner-container {
1157+
height: 496px !important;
1158+
}
1159+
}
11001160
@media screen and (max-height: 600px) {
11011161

11021162
.react-chatbot-kit-chat-message-container {
11031163
height: 244px !important;
11041164
}
11051165
.react-chatbot-kit-chat-inner-container {
1106-
height: 300px !important;
1166+
height: 292px !important;
11071167
}
11081168
}
11091169

@@ -1203,6 +1263,16 @@ screen and (pointer:coarse) {
12031263
-o-filter: invert(100%);
12041264
-ms-filter: invert(100%);
12051265
}
1266+
.gm-control-active[title="Zoom in"],
1267+
.gm-control-active[title="Zoom out"] {
1268+
-webkit-filter: invert(100%);
1269+
-moz-filter: invert(100%);
1270+
-o-filter: invert(100%);
1271+
-ms-filter: invert(100%);
1272+
}
1273+
.gm-compass {
1274+
transform: translateY(350%);
1275+
}
12061276
#playerCnt{
12071277
}
12081278
img[alt="Google"] {
@@ -2097,6 +2167,13 @@ div[style*="background-color: white; font-weight: 500; font-family: Roboto, sans
20972167
}
20982168

20992169
}
2170+
// .topAdFixed {
2171+
// position: fixed;
2172+
// bottom: 5px;
2173+
// z-index: 100;
2174+
// left: 50%;
2175+
// transform: translateX(-50%);
2176+
// }
21002177
div[dir="ltr"] {
21012178
// invert the colors
21022179
filter: invert(1);

0 commit comments

Comments
 (0)