Skip to content

Commit 43c59de

Browse files
Merge branch 'release/3.1' into release/3.1-400
2 parents 168c5b2 + e12e84c commit 43c59de

20 files changed

Lines changed: 252 additions & 36 deletions

File tree

instructions.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ <h1 class="section-header">Speedometer 3 General Instructions</h1>
2626
<li>Restart the browser and close all other tabs and windows.</li>
2727
<li>Keep the Speedometer page focused and do not interact with the device while running the benchmark.</li>
2828
<li>Keep your battery-powered device plugged into a charger.</li>
29-
<li>Some devices might need time to cool down between between consecutive runs.</li>
29+
<li>Some devices might need time to cool down between consecutive runs.</li>
3030
</ul>
3131
</div>
3232
<div class="buttons section-footer">
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="./_next/static/css/a0dca1379a01e5cf.css" as="style"/><link rel="stylesheet" href="./_next/static/css/a0dca1379a01e5cf.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="./_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="./_next/static/chunks/webpack-e50e9853db18b759.js" defer=""></script><script src="./_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="./_next/static/chunks/main-2ba37e62325cc71b.js" defer=""></script><script src="./_next/static/chunks/pages/_app-77983e68be50f72a.js" defer=""></script><script src="./_next/static/chunks/pages/_error-54de1933a164a1ff.js" defer=""></script><script src="./_next/static/hVjtt3DRTxwTZ0w7LdK0j/_buildManifest.js" defer=""></script><script src="./_next/static/hVjtt3DRTxwTZ0w7LdK0j/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><div id="settings-container"></div><div id="notifications-container"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"hVjtt3DRTxwTZ0w7LdK0j","assetPrefix":".","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="./_next/static/css/a0dca1379a01e5cf.css" as="style"/><link rel="stylesheet" href="./_next/static/css/a0dca1379a01e5cf.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="./_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="./_next/static/chunks/webpack-e50e9853db18b759.js" defer=""></script><script src="./_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="./_next/static/chunks/main-2ba37e62325cc71b.js" defer=""></script><script src="./_next/static/chunks/pages/_app-77983e68be50f72a.js" defer=""></script><script src="./_next/static/chunks/pages/_error-54de1933a164a1ff.js" defer=""></script><script src="./_next/static/5v6xiLKzLrBzD4hPqXwOj/_buildManifest.js" defer=""></script><script src="./_next/static/5v6xiLKzLrBzD4hPqXwOj/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><div id="settings-container"></div><div id="notifications-container"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"5v6xiLKzLrBzD4hPqXwOj","assetPrefix":".","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>

resources/newssite/news-next/dist/_next/static/hVjtt3DRTxwTZ0w7LdK0j/_buildManifest.js renamed to resources/newssite/news-next/dist/_next/static/5v6xiLKzLrBzD4hPqXwOj/_buildManifest.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

resources/newssite/news-next/dist/_next/static/hVjtt3DRTxwTZ0w7LdK0j/_ssgManifest.js renamed to resources/newssite/news-next/dist/_next/static/5v6xiLKzLrBzD4hPqXwOj/_ssgManifest.js

File renamed without changes.

resources/newssite/news-next/dist/_next/static/chunks/pages/index-a6d76b1b73bbfbe0.js renamed to resources/newssite/news-next/dist/_next/static/chunks/pages/index-61e648f02ae686f6.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="./_next/static/css/a0dca1379a01e5cf.css" as="style"/><link rel="stylesheet" href="./_next/static/css/a0dca1379a01e5cf.css" data-n-g=""/><link rel="preload" href="./_next/static/css/2cf5163b53bb0adb.css" as="style"/><link rel="stylesheet" href="./_next/static/css/2cf5163b53bb0adb.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="./_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="./_next/static/chunks/webpack-e50e9853db18b759.js" defer=""></script><script src="./_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="./_next/static/chunks/main-2ba37e62325cc71b.js" defer=""></script><script src="./_next/static/chunks/pages/_app-77983e68be50f72a.js" defer=""></script><script src="./_next/static/chunks/743-fd706aeabb7828e3.js" defer=""></script><script src="./_next/static/chunks/pages/index-a6d76b1b73bbfbe0.js" defer=""></script><script src="./_next/static/hVjtt3DRTxwTZ0w7LdK0j/_buildManifest.js" defer=""></script><script src="./_next/static/hVjtt3DRTxwTZ0w7LdK0j/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><div id="settings-container"></div><div id="notifications-container"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"hVjtt3DRTxwTZ0w7LdK0j","assetPrefix":".","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="./_next/static/css/a0dca1379a01e5cf.css" as="style"/><link rel="stylesheet" href="./_next/static/css/a0dca1379a01e5cf.css" data-n-g=""/><link rel="preload" href="./_next/static/css/2cf5163b53bb0adb.css" as="style"/><link rel="stylesheet" href="./_next/static/css/2cf5163b53bb0adb.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="./_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="./_next/static/chunks/webpack-e50e9853db18b759.js" defer=""></script><script src="./_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="./_next/static/chunks/main-2ba37e62325cc71b.js" defer=""></script><script src="./_next/static/chunks/pages/_app-77983e68be50f72a.js" defer=""></script><script src="./_next/static/chunks/743-fd706aeabb7828e3.js" defer=""></script><script src="./_next/static/chunks/pages/index-61e648f02ae686f6.js" defer=""></script><script src="./_next/static/5v6xiLKzLrBzD4hPqXwOj/_buildManifest.js" defer=""></script><script src="./_next/static/5v6xiLKzLrBzD4hPqXwOj/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><div id="settings-container"></div><div id="notifications-container"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"5v6xiLKzLrBzD4hPqXwOj","assetPrefix":".","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>

resources/newssite/news-next/src/components/article/article-content.jsx

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { v4 as uuidv4 } from "uuid";
21
import classNames from "classnames";
32

43
import ArticleImage from "./article-image";
@@ -21,7 +20,7 @@ export default function ArticleContent({ type, content, display }) {
2120
<div className={styles["article-content"]}>
2221
<ul className={classNames(styles["article-list"], styles.vertical, { [styles[display]]: display })}>
2322
{content.map((item) =>
24-
<li key={uuidv4()} className={styles["article-list-item"]}>
23+
<li key={item.id} className={styles["article-list-item"]}>
2524
{item.url && !item.title
2625
? <a href={item.url}>
2726
<ArticleText text={item.content} />
@@ -40,7 +39,7 @@ export default function ArticleContent({ type, content, display }) {
4039
<div className={styles["article-list-content"]}>
4140
<ul className={classNames(styles["article-list"], styles.vertical)}>
4241
{content.map((item) =>
43-
<li key={uuidv4()} className={styles["article-list-item"]}>
42+
<li key={item.id} className={styles["article-list-item"]}>
4443
<ArticleText textClass={classNames(styles["article-title"], "truncate-multiline", "truncate-multiline-3")} text={item.title} type="h3" />
4544
{item.url && !item.title
4645
? <a href={item.url}>
@@ -59,7 +58,7 @@ export default function ArticleContent({ type, content, display }) {
5958
return (
6059
<ul className={classNames(styles["article-list"], styles.horizontal)}>
6160
{content.map((item) =>
62-
<li key={uuidv4()} className={styles["article-list-item"]}>
61+
<li key={item.id} className={styles["article-list-item"]}>
6362
<ArticleImage imageClass={styles["article-hero"]} image={item.image} />
6463
<div className={styles["article-content"]}>
6564
<ArticleText textClass="truncate-multiline truncate-multiline-3" text={item.text} type="div" />
@@ -74,7 +73,7 @@ export default function ArticleContent({ type, content, display }) {
7473
return (
7574
<div className={classNames(layoutStyles["grid-container"], { [layoutStyles[display]]: display })}>
7675
{content.map((item) =>
77-
<div key={uuidv4()} className={layoutStyles["grid-item"]}>
76+
<div key={item.id} className={layoutStyles["grid-item"]}>
7877
<ArticleImage imageClass={styles["article-image-container"]} image={item.image} meta={item.meta} />
7978

8079
{item.url
@@ -93,7 +92,7 @@ export default function ArticleContent({ type, content, display }) {
9392
return (
9493
<ul className={classNames(styles["article-list"], styles.vertical)}>
9594
{content.map((item) =>
96-
<li key={uuidv4()} className={styles["article-list-item"]}>
95+
<li key={item.id} className={styles["article-list-item"]}>
9796
<ArticleImage imageClass={styles["article-image-container"]} image={item.image} />
9897
<ArticleText textClass={classNames(styles["article-title"], "truncate-multiline", "truncate-multiline-3")} text={item.title} type="h3" />
9998
</li>

resources/newssite/news-next/src/context/data-context.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { createContext, useContext } from "react";
22
import { dataSource } from "../data";
33

4+
import { v4 as uuidv4 } from "uuid";
5+
46
const RTL_LOCALES = ["ar", "he", "fa", "ps", "ur"];
57
const DEFAULT_LANG = "en";
68
const DEFAULT_DIR = "ltr";
@@ -16,10 +18,41 @@ export const DataContextProvider = ({ children }) => {
1618
document.documentElement.setAttribute("dir", dir);
1719
document.documentElement.setAttribute("lang", lang);
1820

21+
const { content } = dataSource[lang];
22+
23+
// Generate unique IDs for all articles, and their content items where appropriate.
24+
const contentWithIds = Object.create(null);
25+
Object.keys(content).forEach((key) => {
26+
const { sections } = content[key];
27+
28+
const currentSections = sections.map((section) => {
29+
const currentSection = { ...section };
30+
currentSection.articles = section.articles.map((article) => {
31+
const currentArticle = { ...article };
32+
currentArticle.id = uuidv4();
33+
if (Array.isArray(article.content)) {
34+
currentArticle.content = article.content.map((item) => {
35+
const currentItem = { ...item };
36+
currentItem.id = uuidv4();
37+
return currentItem;
38+
});
39+
}
40+
return currentArticle;
41+
});
42+
return currentSection;
43+
});
44+
45+
contentWithIds[key] = {
46+
...content[key],
47+
sections: currentSections,
48+
};
49+
});
50+
1951
const value = {
2052
lang,
2153
dir,
2254
...dataSource[lang],
55+
content: contentWithIds,
2356
};
2457

2558
return <DataContext.Provider value={value}>{children}</DataContext.Provider>;

resources/newssite/news-next/src/pages/index.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ export default function App() {
1414
<DataContextProvider>
1515
<Router>
1616
<Routes>
17-
<Route path="/business" element={<Page id="business" />} />
18-
<Route path="/health" element={<Page id="health" />} />
19-
<Route path="/opinion" element={<Page id="opinion" />} />
20-
<Route path="/politics" element={<Page id="politics" />} />
21-
<Route path="/us" element={<Page id="us" />} />
22-
<Route path="/world" element={<Page id="world" />} />
23-
<Route path="/home" element={<Page id="home" />} />
24-
<Route path="/" element={<Page id="home" />} />
17+
<Route path="/business" element={<Page id="business" key="business" />} />
18+
<Route path="/health" element={<Page id="health" key="health" />} />
19+
<Route path="/opinion" element={<Page id="opinion" key="opinion" />} />
20+
<Route path="/politics" element={<Page id="politics" key="politics" />} />
21+
<Route path="/us" element={<Page id="us" key="us" />} />
22+
<Route path="/world" element={<Page id="world" key="world" />} />
23+
<Route path="/home" element={<Page id="home" key="home" />} />
24+
<Route path="/" element={<Page id="home" key="home" />} />
2525
</Routes>
2626
</Router>
2727
</DataContextProvider>

resources/newssite/news-next/src/partials/layout/layout.jsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,8 @@ import { useDataContext } from "@/context/data-context";
1313
import styles from "news-site-css/dist/layout.module.css";
1414

1515
export default function Layout({ children, id }) {
16-
const [showMessage, setShowMessage] = useState(false);
1716
const { content, links } = useDataContext();
18-
19-
useEffect(() => {
20-
setShowMessage(content[id].message);
21-
}, [id]);
17+
const [showMessage, setShowMessage] = useState(Boolean(content[id].message));
2218

2319
const pageRef = useRef(null);
2420
const { pathname } = useLocation();

0 commit comments

Comments
 (0)