Skip to content

Commit 8235944

Browse files
committed
Mobile, and npm audit
1 parent 85c4f54 commit 8235944

5 files changed

Lines changed: 72 additions & 29 deletions

File tree

README.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -182,11 +182,9 @@ Xdebug is pre-configured in the Sail Docker environment for local debugging.
182182
- Start the "Listen for Xdebug" configuration in VS Code.
183183
- Trigger a request (web, test, or CLI) and Xdebug will connect to VS Code.
184184

185+
## Deployment
185186

186-
## Documentation
187-
188-
- [Project Roadmap](docs/ROADMAP.md): See the planned phases and milestones for the project.
189-
- [Application Routes & UI Previews](docs/ROUTES.md): Browse all main routes and their associated UI images.
187+
`ansible-playbook -i ./ansible/inventory/production.ini deploy.yml`
190188

191189
## License
192190

package-lock.json

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

resources/js/Components/Resources/ResourceCard.vue

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,36 @@ const emit = defineEmits(["upvote", "downvote"]);
2525
<div
2626
class="rounded-sm border bg-white dark:bg-gray-900 border-gray-200 dark:border-gray-700 text-gray-900 dark:text-gray-100 shadow-sm overflow-hidden transition-shadow hover:shadow-md"
2727
>
28-
<div class="flex gap-3 p-4">
29-
<!-- Vote section -->
30-
<div class="flex flex-col items-center gap-1 pt-1 my-auto">
28+
<div class="flex flex-col sm:flex-row gap-3 p-3 sm:p-4">
29+
<!-- Mobile: Image and Vote Row -->
30+
<div class="flex sm:hidden gap-6 items-start">
31+
<!-- Vote section (mobile) -->
32+
<div class="flex flex-col items-center gap-1">
33+
<Upvotable
34+
:upvotable-id="resource.id"
35+
:upvotable-key="'resource'"
36+
:initial-votes="resource.vote_score"
37+
:user-vote="resource.user_vote"
38+
class="flex flex-col items-center"
39+
/>
40+
</div>
41+
42+
<!-- Image section (mobile) -->
43+
<div class="shrink-0">
44+
<ClickableImage
45+
:href="route('resources.show', { slug: resource.slug })"
46+
>
47+
<ResourceThumbnail
48+
:src="resource.image_url"
49+
:alt="resource.name"
50+
/>
51+
</ClickableImage>
52+
</div>
53+
54+
</div>
55+
56+
<!-- Desktop: Vote section -->
57+
<div class="hidden sm:flex flex-col items-center gap-1 pt-1 my-auto">
3158
<Upvotable
3259
:upvotable-id="resource.id"
3360
:upvotable-key="'resource'"
@@ -37,8 +64,8 @@ const emit = defineEmits(["upvote", "downvote"]);
3764
/>
3865
</div>
3966

40-
<!-- Image section -->
41-
<div class="shrink-0 my-auto mr-4">
67+
<!-- Desktop: Image section -->
68+
<div class="hidden sm:block shrink-0 my-auto mr-4">
4269
<ClickableImage
4370
:href="route('resources.show', { slug: resource.slug })"
4471
>

resources/js/Components/Resources/ResourceDetailedRatings.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<script setup>
1+
t <script setup>
22
import { defineProps } from "vue";
33
import { Icon } from "@iconify/vue";
44
import StarRating from "@/Components/StarRating/StarRating.vue";

resources/js/Components/Resources/ResourceOverview.vue

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,31 @@ const props = defineProps({
2020
<template>
2121
<!-- Header Section -->
2222
<div
23-
class="bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-700 rounded-sm shadow-sm px-4 py-4"
23+
class="bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-700 rounded-sm shadow-sm px-3 sm:px-4 py-3 sm:py-4"
2424
>
25-
<div class="flex items-start gap-4">
26-
<!-- Image Section -->
27-
<div class="shrink-0 flex flex-row my-auto gap-3">
25+
<div class="flex flex-col sm:flex-row items-start gap-3 sm:gap-4">
26+
<!-- Mobile: Image and Vote Row -->
27+
<div class="flex sm:hidden gap-3 items-start w-full">
28+
<!-- Thumbnail -->
29+
<div class="shrink-0">
30+
<ResourceThumbnail
31+
:src="props.resource.image_url"
32+
:alt="props.resource.name"
33+
/>
34+
</div>
35+
36+
<!-- Vote Section (mobile) -->
37+
<UpvoteResource
38+
:upvotable-id="props.resource.id"
39+
:upvotable-key="'resource'"
40+
:initial-votes="props.resource.vote_score"
41+
:user-vote="props.resource.user_vote"
42+
class="flex flex-col pt-1"
43+
/>
44+
</div>
45+
46+
<!-- Desktop: Image Section -->
47+
<div class="hidden sm:flex shrink-0 flex-row my-auto gap-3">
2848
<!-- Vote Section -->
2949
<UpvoteResource
3050
:upvotable-id="props.resource.id"
@@ -40,7 +60,7 @@ const props = defineProps({
4060
</div>
4161

4262
<!-- Content -->
43-
<div class="flex-1 min-w-0">
63+
<div class="flex-1 min-w-0 w-full sm:w-auto">
4464
<!-- Title -->
4565
<h1
4666
class="text-2xl font-bold mb-2 text-gray-900 dark:text-gray-100 text-balance"

0 commit comments

Comments
 (0)