Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
c841cd6
feat: update projects page with TAT - 北科生活 details and download links
kevinlee-06 Feb 23, 2025
1e16a20
feat: add global and style CSS files for improved theming and layout
kevinlee-06 Feb 23, 2025
1bd15b6
feat: add global and style CSS imports and new join route
kevinlee-06 Feb 23, 2025
00acbdf
feat: add App Store badge SVG asset for download promotion
kevinlee-06 Feb 23, 2025
684e6a1
feat: create join page template with header
kevinlee-06 Feb 23, 2025
fdbe351
feat: update index page with new content and join call-to-action
kevinlee-06 Feb 23, 2025
ce90fc1
feat: enhance join page with detailed content and improved layout
kevinlee-06 Feb 23, 2025
3538ef8
feat: update join and projects pages with new images and styles
kevinlee-06 Feb 23, 2025
ae7996b
feat: enhance styling and layout across multiple pages, add store pag…
kevinlee-06 Feb 24, 2025
ea40473
feat: update projects page with new content and improved layout
kevinlee-06 Feb 24, 2025
fba6815
feat: add shadow effect to project images for improved visual appeal
kevinlee-06 Feb 24, 2025
40e2598
feat: refactor layout and styles, remove global.css, and add contact …
kevinlee-06 Feb 25, 2025
ea1a51e
feat: update image paths for join, projects, and store pages for bett…
kevinlee-06 Feb 25, 2025
2191234
feat: comment out headings in join and projects pages for future updates
kevinlee-06 Feb 25, 2025
cb44d91
feat: update project routes, enhance styles, and improve join page la…
kevinlee-06 Feb 25, 2025
cfcec3f
feat: add new SVG image for shorts, update image paths, and enhance s…
kevinlee-06 Feb 25, 2025
50da863
feat: update image path for t-shirt in store page for better organiza…
kevinlee-06 Feb 25, 2025
5e6e2e0
feat: refactor QR code display logic and update image paths for projects
kevinlee-06 Feb 26, 2025
c570597
feat: update image paths for assets, add new Discord SVG, and adjust …
kevinlee-06 Feb 26, 2025
4506f2a
refactor: rewrite scripts in <script setup lang="ts">
rileychh Feb 27, 2025
29ca681
refactor: inline showQR function
rileychh Feb 27, 2025
7552574
fix: update t-shirt image path in store page
rileychh Feb 27, 2025
1577a9b
refactor: clean up body font-family and apply it to header
kevinlee-06 Feb 27, 2025
2d3b4cb
refactor: move CSS variables and styles from style.css to app.vue for…
kevinlee-06 Feb 27, 2025
ff32400
feat: add README for QR Code generation instructions
kevinlee-06 Feb 27, 2025
3a895ce
refactor: replace PNG images with SVGs for better scalability and per…
kevinlee-06 Feb 27, 2025
903bdb2
fix: update QRStates to set shorts to false
kevinlee-06 Feb 27, 2025
f7056d8
fix: update QR code image filenames for consistency
kevinlee-06 Feb 27, 2025
7feed34
fix: update join.vue to use SVG for Discord QR code image
kevinlee-06 Feb 27, 2025
267c103
fix: remove shadow class from project images for consistency
kevinlee-06 Feb 27, 2025
34d8f80
fix: add transition effects for QR code images in projects.vue
kevinlee-06 Feb 27, 2025
5802f16
fix: update contact.vue with new office location and contact information
kevinlee-06 Feb 27, 2025
b45daeb
fix: remove QR Code toggling effects
rileychh Feb 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
155 changes: 146 additions & 9 deletions app/app.vue
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ const toggleDark = useToggle(isDark)
const routes = {
'/': '關於',
'/projects': '專案',
'/join': '加入我們',
'/contact': '聯絡資訊',
}

const breakpoints = useBreakpoints(breakpointsSematic)
Expand All @@ -39,7 +41,7 @@ const [mobileMenuOpen, toggleMobileMenu] = useToggle(false)
<header id="header">
<div class="left">
<a href="/">
<img src="assets/npc-horizontal.svg">
<img src="assets/img/npc-horizontal.svg">
</a>
</div>

Expand Down Expand Up @@ -136,15 +138,145 @@ const [mobileMenuOpen, toggleMobileMenu] = useToggle(false)
<NuxtPage />
</template>

<style lang="postcss">
body {
font-family: 'Cubic 11';
<style>
:root {
--background-color: #f8f9fa;
--text-color: #333333;
--heading-color: #000000;
--button-background-color: #e4e4e4;
--button-hover-background-color: #cccccc;
--box-background-color: #ffffff;
--box-shadow-color: 0 0 1rem rgba(0, 0, 0, 0.1);
--link-color: rgb(0, 115, 255);
--link-hover-color: rgb(0, 83, 184);
}

.dark {
--background-color: #222222;
--text-color: #e0e0e0;
--heading-color: #ffffff;
--button-background-color: #444444;
--button-hover-background-color: #666666;
--box-background-color: #2a2a2a;
--box-shadow-color: 0 0 1rem rgba(0, 0, 0, 0.1);
--link-color: rgb(0, 221, 255);
--link-hover-color: rgb(65, 150, 255);
}

html {
background-color: var(--background-color);
color: var(--text-color);
font-family: 'Arial', sans-serif;
line-height: 1.6;
}

h1,
h2,
h3 {
color: var(--heading-color);
margin-bottom: 2rem;
}

h1 {
font-size: 2.5rem;
}

h2 {
font-size: 2rem;
}

h3 {
font-size: 1.75rem;
}

p {
color: var(--text-color);
margin-bottom: 1rem;
}

a {
color: var(--link-color);
text-decoration: none;
transition: color 0.3s;
&:hover {
color: var(--link-hover-color);
}
}

button {
background-color: var(--button-background-color);
color: var(--text-color);
border: none;
padding: 0.75rem 1.5rem;
border-radius: 5px;
cursor: pointer;
box-shadow: 0 2px 5px var(--shadow-color);
transition: background-color 0.3s;

&:hover {
background-color: var(--button-hover-background-color);
}
}

.npc-paragraph {
display: flex;
flex-direction: column;
gap: 1rem;
padding: 2rem 0.5rem;
margin: auto;
/* border-radius: 8px; */
max-width: 1000px;
& > div {
gap: 0;
}
}

.npc-box {
display: flex;
flex-direction: column;
gap: 2rem;
padding: 2rem;
margin: auto;
border-radius: 8px;
width: 100%;
background-color: var(--box-background-color);
box-shadow: var(--box-shadow-color);

.project-content {
display: flex;
flex-wrap: wrap;
gap: 2rem;
justify-content: center;
}

.project-image {
width: 100%;
min-width: 200px;
max-width: 300px;
max-height: 300px;
/* object-fit: cover; */
border-radius: 2rem;
object-fit: contain;
}

.project-description {
flex: 1;
min-width: 200px;
}

.project-description p {
margin: 0 0 1rem;
}
}

.shadow {
box-shadow: rgba(131, 131, 131, 0.479) 1px 1px 40px;
}

#header,
#header-mobile-menu {
background-color: #333;
color: white;
background-color: #333 !important;
/* color: white !important; */

ul,
& {
Expand All @@ -157,21 +289,26 @@ body {
list-style: none;

&:hover {
cursor: pointer;
background-color: #fff3;
cursor: pointer !important;
background-color: #fff3 !important;
}
}
}

button,
a {
all: unset;
display: inline-block;
display: flex;
padding: 0.5rem;
color: white !important;
& > svg {
height: 3rem;
}
}
}

#header {
font-family: 'Cubic 11';
display: flex;
justify-content: space-between;
align-items: center;
Expand Down
30 changes: 30 additions & 0 deletions app/assets/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# QR Code 生成說明

本 README 文件詳細介紹如何使用 [QR Code Generator](https://qrcodegenerator.com.tr/url-qr-code) 生成符合下列規格的 QR Code。

## 使用網站

使用以下網站生成 QR Code:
[https://qrcodegenerator.com.tr/url-qr-code](https://qrcodegenerator.com.tr/url-qr-code)

## 參數設置

在生成 QR Code 時,請使用下列參數:

- **尺寸:** 400x400 像素
- **邊距:** 10 像素
- **Logo 大小:** 設置為 0.4(相對於 QR Code 的比例)
- **Logo 間距:** 10 像素
- **點樣式選項:** 4
- **外框方塊:** 3
- **角落點:** 2

## 操作步驟

1. 打開網站 [https://qrcodegenerator.com.tr/url-qr-code](https://qrcodegenerator.com.tr/url-qr-code)。
2. 輸入或貼上需要嵌入 QR Code 的 URL。
3. 設置 QR Code 尺寸為 400x400 像素。
4. 設定邊距(margin)為 10 像素,確保 QR Code 周圍有足夠空白。
5. 如果需要添加 Logo,請將 Logo 大小設置為 0.4 並留出 10 像素的間距(logo spacing)。
6. 選擇點樣式選項為 4,外框方塊為 3,角落點為 2(根據網站提供的選項進行調整)。
7. 預覽並確認設置無誤後,儲存為 .svg 向量圖檔案。
46 changes: 46 additions & 0 deletions app/assets/img/app_store.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions app/assets/img/discord_qr_code.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading