Skip to content

Commit b2e6244

Browse files
Merge pull request #6 from DamonGreenhalgh/dev
XIV Tracker 1.3.1
2 parents d1c7422 + 098109a commit b2e6244

Some content is hidden

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

49 files changed

+374
-924
lines changed

CHANGELOG.md

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,35 @@
33
All changes following 1.0.0 will be documented within this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
55

6-
## Unreleased
7-
86
## Released
97

8+
## [1.3.1] - 2023-06-30
9+
10+
Optimization updates and support for **Final Fantasy XIV** patch **6.4** '_The Dark Throne_'.
11+
12+
### Added
13+
14+
- Added support for **Final Fantasy XIV** patch **6.4** '_The Dark Throne_' content
15+
- Added descriptions to how quests/duties are marked for completion.
16+
- Added response text for edge cases during searches.
17+
18+
### Changed
19+
20+
- Changed character page layout.
21+
- Updated current patch and event banners to featured.
22+
- Updated help and settings pages to reflect the current app state.
23+
- Changed various styles across the app.
24+
25+
### Fixed
26+
27+
- Fixed overlay issues with tooltips and tab buttons.
28+
- Fixed crashes due to achievement requests.
29+
- Fix loading component not visible while searching for characters.
30+
31+
### Removed
32+
33+
- Removed reference system, this system added a significant amount of bloat to the app and would cause many edge case issues.
34+
1035
## [1.3.0] - 2023-04-24
1136

1237
Compare system, updated character page layout and support for **Final Fantasy XIV** patch **6.2** '_Buried Memory_' and patch **6.3** '_Gods Revel Lands Tremble_'.

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "xiv-tracker",
3-
"version": "1.2.1",
3+
"version": "1.3.1",
44
"private": true,
55
"homepage": "https://www.xivtracker.gg/",
66
"dependencies": {

public/index.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
<meta name="author" content="Damon Greenhalgh">
1010
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
1111
<script src="https://img.finalfantasyxiv.com/lds/pc/global/js/eorzeadb/loader.js?v2"></script>
12+
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4639776993522637"
13+
crossorigin="anonymous"></script>
1214
<title>XIV Tracker</title>
1315
</head>
1416
<body>

public/logo192.png

5.16 KB
Loading

src/App.jsx

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -56,22 +56,24 @@ const App = () => {
5656
// Settings
5757
const [theme, setTheme] = useState(settingsJSON.theme);
5858
const [splash, setSplash] = useState(settingsJSON.splash);
59-
const [referenceCharacter, setReferenceCharacter] = useState(null);
60-
const [displayPanel, setDisplayPanel] = useState(false);
6159

6260
// Mount
6361
useEffect(() => {
6462
// Local storage display for testing.
65-
// for (let i = 0; i < localStorage.length; i++) {
66-
// console.log(localStorage.key(i) + "=[" + localStorage.getItem(localStorage.key(i)) + "]");
63+
// for (let i = 0; i < localStorage.length; i++) {
64+
// console.log(
65+
// localStorage.key(i) +
66+
// "=[" +
67+
// localStorage.getItem(localStorage.key(i)) +
68+
// "]"
69+
// );
6770
// }
6871

6972
// Load settings from local storage if they exist
7073
const localSettings = JSON.parse(localStorage.getItem("settings"));
7174
if (localSettings !== null) {
7275
setTheme(localSettings.theme);
7376
setSplash(localSettings.splash);
74-
setReferenceCharacter(localSettings.referenceData);
7577
}
7678

7779
setLoading(false);
@@ -92,39 +94,25 @@ const App = () => {
9294
JSON.stringify({
9395
theme: theme,
9496
splash: splash,
95-
referenceData: referenceCharacter,
9697
})
9798
);
98-
}, [theme, splash, referenceCharacter]);
99+
}, [theme, splash]);
99100

100101
return (
101102
<BrowserRouter basename={process.env.PUBLIC_URL}>
102103
{loading ? (
103104
<Loading full={true} />
104105
) : (
105106
<>
106-
<Navbar referenceCharacter={referenceCharacter} theme={theme} />
107+
<Navbar theme={theme} />
107108
<Routes>
108-
<Route
109-
exact
110-
path="/:id"
111-
element={
112-
<Character
113-
referenceCharacter={referenceCharacter}
114-
setReferenceCharacter={setReferenceCharacter}
115-
displayPanel={displayPanel}
116-
setDisplayPanel={setDisplayPanel}
117-
/>
118-
}
119-
/>
109+
<Route exact path="/:id" element={<Character />} />
120110
<Route
121111
path="/settings"
122112
element={
123113
<Settings
124114
theme={theme}
125115
setTheme={setTheme}
126-
referenceCharacter={referenceCharacter}
127-
setReferenceCharacter={setReferenceCharacter}
128116
splash={splash}
129117
setSplash={setSplash}
130118
/>

src/components/FailToLoad.jsx

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,8 @@
11
// Style
22
import "../styles/FailToLoad.css";
33
import cactuarSticker from "../images/cac.png";
4-
import { Link } from "react-router-dom";
54

65
const message = {
7-
referenceCharacterError: (
8-
<p>
9-
Hmmm, looks like there is currently no reference character set on this
10-
device. You can set a reference character by clicking{" "}
11-
<Link to={"/settings"} style={{ textDecoration: "underline" }}>
12-
here.
13-
</Link>
14-
</p>
15-
),
166
noMountsMinionsError: (
177
<p>
188
Hmmm, looks like this character does not have any mounts or minions in

src/components/Featured.jsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
buriedMemoryBanner,
1717
godsRevelLandsTrembleBanner,
1818
hatchingTide23Banner,
19+
theDarkThroneBanner,
1920
} from "../images/featured";
2021

2122
// Styles
@@ -30,6 +31,7 @@ const banner = [
3031
buriedMemoryBanner,
3132
godsRevelLandsTrembleBanner,
3233
hatchingTide23Banner,
34+
theDarkThroneBanner,
3335
];
3436

3537
const Featured = () => {

src/components/Footer.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const Footer = () => {
55
return (
66
<div className="footer">
77
<p>
8-
<b>© 2022 - {new Date().getFullYear()} XIV Tracker v1.3.0</b>. <br />
8+
<b>© 2021 - {new Date().getFullYear()} XIV Tracker v1.3.1</b>. <br />
99
<b>XIV Tracker</b> is Designed and Developed by Damon Greenhalgh.{" "}
1010
<b>XIV Tracker</b> is not officially endorsed by{" "}
1111
<b>SQUARE ENIX CO,. LTD</b>.<br />

src/components/Friends.jsx

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,15 @@ import "../styles/Friends.css";
22
import FailToLoad from "./FailToLoad";
33
import MiniBanner from "./MiniBanner";
44
const Friends = (props) => {
5-
const { friends } = props;
6-
return friends.length === 0 ? (
5+
const { friends, display } = props;
6+
return friends.length === 0 && display ? (
77
<FailToLoad type="noFriendsError" />
88
) : (
9-
<>
10-
<div className="banner--mini-container">
11-
{friends.map((friend) => (
12-
<MiniBanner character={friend} key={friend.ID} />
13-
))}{" "}
14-
</div>
15-
</>
9+
<div className={"banner--mini-container" + (display ? "" : " disabled")}>
10+
{friends.map((friend) => (
11+
<MiniBanner character={friend} key={friend.ID} />
12+
))}{" "}
13+
</div>
1614
);
1715
};
1816

src/components/Loading.jsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,7 @@ const Loading = (props) => {
3232
}, []);
3333

3434
return (
35-
<div
36-
className={
37-
"col align-center justify-center gap-lg" + (full ? " full-page" : "")
38-
}
39-
>
35+
<div className={"loading" + (full ? " full-page" : "")}>
4036
<img src={titan} className="loading__icon" alt="Loading Icon" />
4137
<p>{descriptions[descIndex] + " " + periods[perIndex]}</p>
4238
</div>

src/components/Navbar.jsx

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { CgProfile } from "react-icons/cg";
88
import Searchbar from "./Searchbar";
99

1010
const Navbar = (props) => {
11-
const { referenceCharacter, theme } = props;
11+
const { theme } = props;
1212
const location = useLocation();
1313

1414
return (
@@ -39,18 +39,6 @@ const Navbar = (props) => {
3939
<RiSettings3Line className="navbar__icon" />
4040
</button>
4141
</Link>
42-
{referenceCharacter !== null ? (
43-
<Link to={"/" + referenceCharacter.Character.ID}>
44-
<img
45-
src={referenceCharacter.Character.Avatar}
46-
className="overlay-panel__avatar"
47-
title={referenceCharacter.Character.Name}
48-
alt="reference character"
49-
/>
50-
</Link>
51-
) : (
52-
<CgProfile className="navbar__icon" />
53-
)}
5442
</nav>
5543
);
5644
};

src/components/OverlayPanel.jsx

Lines changed: 0 additions & 73 deletions
This file was deleted.

src/components/Searchbar.jsx

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ const Searchbar = (props) => {
5757
}
5858
}, []);
5959

60+
console.log(results, loading, ok);
61+
6062
return (
6163
<form
6264
className={"searchbar searchbar--" + props.type}
@@ -112,9 +114,7 @@ const Searchbar = (props) => {
112114
/>
113115
</div>
114116
<Divider />
115-
{loading ? (
116-
<Loading />
117-
) : tabIndex === 2 ? (
117+
{tabIndex === 2 ? (
118118
<div className="data-center-container">
119119
<h4 style={{ gridArea: "na" }}>North America</h4>
120120
<h5 style={{ gridArea: "Aether" }}>Aether</h5>
@@ -281,12 +281,24 @@ const Searchbar = (props) => {
281281
<button>Zeromus</button>
282282
</div>
283283
</div>
284+
) : (!ok && name !== "") || loading ? (
285+
<Loading />
286+
) : tabIndex === 0 ? (
287+
<div className="banner--mini-container">{recent}</div>
288+
) : results === null ? (
289+
<p style={{ margin: "auto" }}>
290+
Start typing to search for a character!
291+
</p>
292+
) : results.length === 0 ? (
293+
<p
294+
style={{ margin: "auto" }}
295+
>{`No results found for character "${name}".`}</p>
284296
) : (
285297
<div
286298
className="banner--mini-container"
287299
onClick={() => setDisplayRecent(false)}
288300
>
289-
{tabIndex === 0 ? recent : results}
301+
{results}{" "}
290302
</div>
291303
)}
292304
</div>

0 commit comments

Comments
 (0)