Compare commits
1 Commits
f412f06e10
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8b36742150 |
@@ -1,8 +1,28 @@
|
|||||||
|
diff --git a/index.html b/index.html
|
||||||
|
index 65570da..ff4ae99 100644
|
||||||
|
--- a/index.html
|
||||||
|
+++ b/index.html
|
||||||
|
@@ -2,10 +2,12 @@
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
- <title>FFXIV Raid Planner</title>
|
||||||
|
- <meta name="description" content="A tool for diagramming raid strategies for Final Fantasy XIV" />
|
||||||
|
+ <title>FFXIV Raid Planner + DB</title>
|
||||||
|
+ <meta
|
||||||
|
+ name="description"
|
||||||
|
+ content="A tool for diagramming raid strategies for Final Fantasy XIV. This instance includes a small mod to add a built in online DB to simplify sharing plans."
|
||||||
|
+ />
|
||||||
|
<meta name="viewport" content="width=1280, initial-scale=1.0" />
|
||||||
|
- <meta name="description" content="FFXIV Raid Planner" />
|
||||||
|
<meta name="theme-color" content="#1e1e1e" />
|
||||||
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||||
|
</head>
|
||||||
diff --git a/src/AboutDialog.tsx b/src/AboutDialog.tsx
|
diff --git a/src/AboutDialog.tsx b/src/AboutDialog.tsx
|
||||||
index a346146..b4ef320 100644
|
index a346146..12c5487 100644
|
||||||
--- a/src/AboutDialog.tsx
|
--- a/src/AboutDialog.tsx
|
||||||
+++ b/src/AboutDialog.tsx
|
+++ b/src/AboutDialog.tsx
|
||||||
@@ -30,6 +30,13 @@ export const AboutDialog: React.FC<AboutDialogProps> = (props) => {
|
@@ -30,6 +30,18 @@ export const AboutDialog: React.FC<AboutDialogProps> = (props) => {
|
||||||
<HotkeyBlockingDialogBody>
|
<HotkeyBlockingDialogBody>
|
||||||
<DialogTitle>About</DialogTitle>
|
<DialogTitle>About</DialogTitle>
|
||||||
<DialogContent className={classes.content}>
|
<DialogContent className={classes.content}>
|
||||||
@@ -12,10 +32,34 @@ index a346146..b4ef320 100644
|
|||||||
+ very basic database behind it to make more accessible share links. This minimal mod is open
|
+ very basic database behind it to make more accessible share links. This minimal mod is open
|
||||||
+ source and can be found{' '}
|
+ source and can be found{' '}
|
||||||
+ <ExternalLink href="https://git.milligan.dev/xivdev/XIVPlan-DB">here</ExternalLink>.
|
+ <ExternalLink href="https://git.milligan.dev/xivdev/XIVPlan-DB">here</ExternalLink>.
|
||||||
|
+ </p>
|
||||||
|
+ <p>
|
||||||
|
+ If you run into any issues regarding saving/loading/signing into the DB mod (basically
|
||||||
|
+ anything that is on the Online DB part of the Open/Save screens), please email{' '}
|
||||||
|
+ <Link>ean [at] milligan [dot] dev</Link>.
|
||||||
+ </p>
|
+ </p>
|
||||||
<p>
|
<p>
|
||||||
XIVPlan is a tool for quickly diagramming raid strategies for Final Fantasy XIV, inspired by{' '}
|
XIVPlan is a tool for quickly diagramming raid strategies for Final Fantasy XIV, inspired by{' '}
|
||||||
<ExternalLink href="https://raidplan.io">RaidPlan.io</ExternalLink> and{' '}
|
<ExternalLink href="https://raidplan.io">RaidPlan.io</ExternalLink> and{' '}
|
||||||
|
@@ -41,7 +53,8 @@ export const AboutDialog: React.FC<AboutDialogProps> = (props) => {
|
||||||
|
<p>
|
||||||
|
XIVPlan is open source on{' '}
|
||||||
|
<ExternalLink href="https://github.com/joelspadin/xivplan">GitHub</ExternalLink>. If you
|
||||||
|
- find a bug or have other feedback, please create a{' '}
|
||||||
|
+ find a bug with XIVPlan itself (excluding anything relating to the Online DB) or have other
|
||||||
|
+ feedback, please create a{' '}
|
||||||
|
<ExternalLink href="https://github.com/joelspadin/xivplan/issues/new/choose">
|
||||||
|
new issue
|
||||||
|
</ExternalLink>{' '}
|
||||||
|
@@ -61,7 +74,7 @@ export const AboutDialog: React.FC<AboutDialogProps> = (props) => {
|
||||||
|
<ExternalLink href="https://github.com/kotarou3/ffxiv-arena-images">
|
||||||
|
arena background images
|
||||||
|
</ExternalLink>{' '}
|
||||||
|
- by kotarou3
|
||||||
|
+ by kotarou3.
|
||||||
|
</p>
|
||||||
|
</DialogContent>
|
||||||
|
<DialogActions>
|
||||||
diff --git a/src/App.tsx b/src/App.tsx
|
diff --git a/src/App.tsx b/src/App.tsx
|
||||||
index 05a2fb7..f7ed022 100644
|
index 05a2fb7..f7ed022 100644
|
||||||
--- a/src/App.tsx
|
--- a/src/App.tsx
|
||||||
@@ -133,7 +177,7 @@ index 0000000..81bad97
|
|||||||
+ return <>Loading plan from DB, please wait . . .</>;
|
+ return <>Loading plan from DB, please wait . . .</>;
|
||||||
+};
|
+};
|
||||||
diff --git a/src/SiteHeader.tsx b/src/SiteHeader.tsx
|
diff --git a/src/SiteHeader.tsx b/src/SiteHeader.tsx
|
||||||
index 524a0d3..8642bd4 100644
|
index 524a0d3..695a0f3 100644
|
||||||
--- a/src/SiteHeader.tsx
|
--- a/src/SiteHeader.tsx
|
||||||
+++ b/src/SiteHeader.tsx
|
+++ b/src/SiteHeader.tsx
|
||||||
@@ -75,7 +75,7 @@ export const SiteHeader: React.FC<HTMLAttributes<HTMLElement>> = ({ className, .
|
@@ -75,7 +75,7 @@ export const SiteHeader: React.FC<HTMLAttributes<HTMLElement>> = ({ className, .
|
||||||
@@ -145,6 +189,15 @@ index 524a0d3..8642bd4 100644
|
|||||||
</Text>
|
</Text>
|
||||||
{source && <SourceIndicator source={source} />}
|
{source && <SourceIndicator source={source} />}
|
||||||
</div>
|
</div>
|
||||||
|
@@ -87,7 +87,7 @@ export const SiteHeader: React.FC<HTMLAttributes<HTMLElement>> = ({ className, .
|
||||||
|
Help
|
||||||
|
</Link>
|
||||||
|
<AboutDialog className={classes.link} />
|
||||||
|
- <ExternalLink className={classes.link} href="https://github.com/joelspadin/xivplan" noIcon>
|
||||||
|
+ <ExternalLink className={classes.link} href="https://git.milligan.dev/xivdev/XIVPlan-DB" noIcon>
|
||||||
|
GitHub
|
||||||
|
</ExternalLink>
|
||||||
|
<div>
|
||||||
@@ -117,7 +117,10 @@ const SourceIndicator: React.FC<SourceIndicatorProps> = ({ source }) => {
|
@@ -117,7 +117,10 @@ const SourceIndicator: React.FC<SourceIndicatorProps> = ({ source }) => {
|
||||||
return (
|
return (
|
||||||
<Tooltip content={tooltip} relationship="description">
|
<Tooltip content={tooltip} relationship="description">
|
||||||
@@ -297,10 +350,10 @@ index 63a473b..d32cb53 100644
|
|||||||
</TabActivity>
|
</TabActivity>
|
||||||
diff --git a/src/file/FileDialogDB.tsx b/src/file/FileDialogDB.tsx
|
diff --git a/src/file/FileDialogDB.tsx b/src/file/FileDialogDB.tsx
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..05ea7ce
|
index 0000000..2e4a31c
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/file/FileDialogDB.tsx
|
+++ b/src/file/FileDialogDB.tsx
|
||||||
@@ -0,0 +1,508 @@
|
@@ -0,0 +1,515 @@
|
||||||
+import {
|
+import {
|
||||||
+ Button,
|
+ Button,
|
||||||
+ Checkbox,
|
+ Checkbox,
|
||||||
@@ -533,6 +586,16 @@ index 0000000..05ea7ce
|
|||||||
+ }
|
+ }
|
||||||
+ };
|
+ };
|
||||||
+
|
+
|
||||||
|
+ const exportAll = (event: MouseEvent<HTMLElement>) => {
|
||||||
|
+ event.preventDefault();
|
||||||
|
+ const a = document.createElement('a');
|
||||||
|
+ a.href = `/api/export/${dbUser?.userId}`;
|
||||||
|
+ a.download = `${dbUser?.userName}-plans.zip`;
|
||||||
|
+ document.body.appendChild(a);
|
||||||
|
+ a.click();
|
||||||
|
+ document.body.removeChild(a);
|
||||||
|
+ };
|
||||||
|
+
|
||||||
+ const loadPlans = async (userId: string) => {
|
+ const loadPlans = async (userId: string) => {
|
||||||
+ const newPlans = await getPlans(userId);
|
+ const newPlans = await getPlans(userId);
|
||||||
+
|
+
|
||||||
@@ -721,17 +784,14 @@ index 0000000..05ea7ce
|
|||||||
+ {renderModal2()}
|
+ {renderModal2()}
|
||||||
+ <InPortal node={actions}>
|
+ <InPortal node={actions}>
|
||||||
+ <DialogActions fluid style={{ width: '100%' }}>
|
+ <DialogActions fluid style={{ width: '100%' }}>
|
||||||
+ <Tooltip
|
+ <Button
|
||||||
+ appearance="inverted"
|
+ icon={<ArrowDownloadRegular />}
|
||||||
+ showDelay={0}
|
+ style={{ marginRight: 'auto' }}
|
||||||
+ relationship="label"
|
+ disabled={!dbUser}
|
||||||
+ content="Coming Soon™"
|
+ onClick={exportAll}
|
||||||
+ withArrow
|
|
||||||
+ >
|
+ >
|
||||||
+ <Button icon={<ArrowDownloadRegular />} style={{ marginRight: 'auto' }} disabled>
|
|
||||||
+ Export all
|
+ Export all
|
||||||
+ </Button>
|
+ </Button>
|
||||||
+ </Tooltip>
|
|
||||||
+ <Button appearance="primary" disabled={!dbUser || selectedRows.size === 0} onClick={openCallback}>
|
+ <Button appearance="primary" disabled={!dbUser || selectedRows.size === 0} onClick={openCallback}>
|
||||||
+ Open
|
+ Open
|
||||||
+ </Button>
|
+ </Button>
|
||||||
|
|||||||
Reference in New Issue
Block a user