Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

APS Management Modal #1060

Merged
merged 2 commits into from
Aug 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions fission/src/Synthesis.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ import NewInputSchemeModal from "./ui/modals/configuring/theme-editor/NewInputSc
import AssignNewSchemeModal from "./ui/modals/configuring/theme-editor/AssignNewSchemeModal.tsx"
import AnalyticsConsent from "./ui/components/AnalyticsConsent.tsx"
import PreferencesSystem from "./systems/preferences/PreferencesSystem.ts"
import APSManagementModal from "./ui/modals/APSManagementModal.tsx"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can someone explain to me the difference between different @ imports and seemingly relative imports? I understand that @ refers to a module (or the javascript / typescript equivalent. Essentially a directory or collection of files), but we seem to switch between using an @ and a ./ and I'm not familiar with why.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We specify what the @ ones point to in our tsconfig and vite config, and they make it easier to change imports if we were to do a refactor since we’d only need to change there (for the most part). I think we switch between them because our editors auto-import using relative imports and nobody bothers to change it. It might be worth going through everything at some point and standardizing it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, not too big of a deal but would be nice if everything was the same.


const worker = new Lazy<Worker>(() => new WPILibWSWorker())

Expand Down Expand Up @@ -227,6 +228,7 @@ const initialModals = [
<ImportLocalMirabufModal key="import-local-mirabuf" modalId="import-local-mirabuf" />,
<ConfigureRobotModal key="config-robot" modalId="config-robot" />,
<ResetAllInputsModal key="reset-inputs" modalId="reset-inputs" />,
<APSManagementModal key="aps-management" modalId="aps-management" />,
]

const initialPanels: ReactElement[] = [
Expand Down
2 changes: 1 addition & 1 deletion fission/src/ui/components/MainHUD.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ const MainHUD: React.FC = () => {
value={`Hi, ${userInfo.givenName}`}
icon={<UserIcon className="h-[20pt] m-[5pt] rounded-full" />}
larger={true}
onClick={() => APS.logout()}
onClick={() => openModal("aps-management")}
/>
) : (
<MainHUDButton
Expand Down
24 changes: 24 additions & 0 deletions fission/src/ui/modals/APSManagementModal.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import React, { useState } from "react"
import Modal, { ModalPropsImpl } from "@/components/Modal"
import Stack, { StackDirection } from "@/components/Stack"
import { HiUser } from "react-icons/hi"
import APS from "@/aps/APS"

const APSManagementModal: React.FC<ModalPropsImpl> = ({ modalId }) => {
const [userInfo, _] = useState(APS.userInfo)
return (
<Modal
name={userInfo?.name ?? "Not signed in"}
icon={userInfo?.picture ? <img src={userInfo?.picture} className="h-10 rounded-full" /> : <HiUser />}
modalId={modalId}
acceptName="Logout"
onAccept={() => {
APS.logout()
}}
>
<Stack direction={StackDirection.Vertical} spacing={10}></Stack>
</Modal>
)
}

export default APSManagementModal
Loading