Responsive news (+ import svelte-media-queries lib)
This commit is contained in:
parent
b6f8ef8f37
commit
c7fb3f7945
|
@ -7,6 +7,9 @@
|
||||||
"": {
|
"": {
|
||||||
"name": "deprived-main-website",
|
"name": "deprived-main-website",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
|
"dependencies": {
|
||||||
|
"svelte-media-queries": "^1.6.2"
|
||||||
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@sveltejs/adapter-auto": "^3.0.0",
|
"@sveltejs/adapter-auto": "^3.0.0",
|
||||||
"@sveltejs/adapter-static": "^3.0.1",
|
"@sveltejs/adapter-static": "^3.0.1",
|
||||||
|
@ -1184,6 +1187,11 @@
|
||||||
"svelte": "^3.19.0 || ^4.0.0"
|
"svelte": "^3.19.0 || ^4.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/svelte-media-queries": {
|
||||||
|
"version": "1.6.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/svelte-media-queries/-/svelte-media-queries-1.6.2.tgz",
|
||||||
|
"integrity": "sha512-SMz6od/vIeZEGlc4P0HKJK4G0fZotuwFhCSpBQaPqh75h6sL6sNf+4+IjbegFKXbP7b+SOfyzVOIMXTr8jynkA=="
|
||||||
|
},
|
||||||
"node_modules/svelte/node_modules/@ampproject/remapping": {
|
"node_modules/svelte/node_modules/@ampproject/remapping": {
|
||||||
"version": "2.2.1",
|
"version": "2.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
|
||||||
|
|
|
@ -19,5 +19,8 @@
|
||||||
"typescript": "^5.0.0",
|
"typescript": "^5.0.0",
|
||||||
"vite": "^5.0.3"
|
"vite": "^5.0.3"
|
||||||
},
|
},
|
||||||
"type": "module"
|
"type": "module",
|
||||||
|
"dependencies": {
|
||||||
|
"svelte-media-queries": "^1.6.2"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,20 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
import MediaQuery from 'svelte-media-queries';
|
||||||
import NewsCard from '$lib/posts/NewsCard.svelte';
|
import NewsCard from '$lib/posts/NewsCard.svelte';
|
||||||
import ShowcaseNewsCard from '$lib/posts/ShowcaseNewsCard.svelte';
|
import ShowcaseNewsCard from '$lib/posts/ShowcaseNewsCard.svelte';
|
||||||
|
|
||||||
export let data; // <- contains post data
|
export let data; // <- contains post data
|
||||||
|
|
||||||
|
$: most_recent_post = data.summaries[0];
|
||||||
|
|
||||||
|
const mobileThreshold : string = '1000px';
|
||||||
|
const post_show_count : number = 3;
|
||||||
|
let mobile : boolean;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<!-- Detect mobile -->
|
||||||
|
<MediaQuery query='(max-width: {mobileThreshold})' bind:matches={mobile} />
|
||||||
|
|
||||||
<div class="main-title">
|
<div class="main-title">
|
||||||
<h1>The Deprived Devs</h1>
|
<h1>The Deprived Devs</h1>
|
||||||
</div>
|
</div>
|
||||||
|
@ -14,10 +24,10 @@
|
||||||
<h1 id="news-header">Recent News</h1>
|
<h1 id="news-header">Recent News</h1>
|
||||||
<div class="news-container">
|
<div class="news-container">
|
||||||
<!-- The newest blog post being showcased -->
|
<!-- The newest blog post being showcased -->
|
||||||
<ShowcaseNewsCard post_url={data.summaries[0].url} title={data.summaries[0].title} summary={data.summaries[0].summary} creation_date={data.summaries[0].creation_date} />
|
<ShowcaseNewsCard post_url={most_recent_post.url} title={most_recent_post.title} summary={most_recent_post.summary} creation_date={most_recent_post.creation_date} />
|
||||||
|
|
||||||
<div class="news-list">
|
<div class="news-list">
|
||||||
{#each data.summaries as summary}
|
{#each data.summaries.slice(1, post_show_count) as summary}
|
||||||
<NewsCard post_url={summary.url} title={summary.title} summary={summary.summary} creation_date={summary.creation_date} />
|
<NewsCard post_url={summary.url} title={summary.title} summary={summary.summary} creation_date={summary.creation_date} />
|
||||||
{/each}
|
{/each}
|
||||||
</div>
|
</div>
|
||||||
|
@ -33,7 +43,7 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
width: 60%;
|
width: 60%;
|
||||||
margin: auto;
|
margin-inline: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
#news-header {
|
#news-header {
|
||||||
|
@ -71,4 +81,17 @@
|
||||||
h1 {
|
h1 {
|
||||||
color: var(--text1);
|
color: var(--text1);
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
{#if mobile}
|
||||||
|
<style>
|
||||||
|
#news-section {
|
||||||
|
width: 90vw !important;
|
||||||
|
}
|
||||||
|
.news-container {
|
||||||
|
flex-direction: column !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
|
|
@ -27,4 +27,11 @@ export const posts : Post[] = [
|
||||||
creation_date: 1708382491,
|
creation_date: 1708382491,
|
||||||
modification_date: 1708382491,
|
modification_date: 1708382491,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
url: 'lorem1',
|
||||||
|
title: 'Idk some arcticle bruh!',
|
||||||
|
summary: 'Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint consectetur cupidatat.',
|
||||||
|
creation_date: 1708558377,
|
||||||
|
modification_date: 1708558377,
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
Loading…
Reference in New Issue