Compare commits

...

55 Commits

Author SHA1 Message Date
louiscklaw
ebc8a81641 "add docker compose up/down scripts and update vite config for production environment" 2025-06-11 18:49:28 +08:00
louiscklaw
f487427b2c "update service port configuration and docker setup" 2025-06-11 12:37:22 +08:00
louiscklaw
cc4d035f97 update documentation, 2025-06-08 22:26:41 +08:00
louiscklaw
84b223ff60 update, 2025-06-08 19:08:45 +08:00
louiscklaw
fca048074e update public folder, 2025-06-08 19:08:41 +08:00
louiscklaw
bc35e25616 update demo-sliding-profile, 2025-06-08 19:08:01 +08:00
louiscklaw
15f8d2e6aa update demo-shop-app-ui, 2025-06-08 19:08:01 +08:00
louiscklaw
592a099f7b update demo-score-board, 2025-06-08 19:08:01 +08:00
louiscklaw
4c1b30e5c6 update demo-restaurant-finder, 2025-06-08 19:08:00 +08:00
louiscklaw
c765bb49a4 update demo-recipe-app, 2025-06-08 19:08:00 +08:00
louiscklaw
9aeb58379d update demo-react-travel-app, 2025-06-08 19:08:00 +08:00
louiscklaw
6419567005 update demo-react-tabs-menus-custom, 2025-06-08 19:07:48 +08:00
louiscklaw
e2076fe67b update demo-react-switch-tabs, 2025-06-08 19:07:48 +08:00
louiscklaw
766720e075 update demo-react-shop-ui, 2025-06-08 19:07:48 +08:00
louiscklaw
19af60c410 update demo-react-shop, 2025-06-08 19:07:48 +08:00
louiscklaw
ed95621b2f update demo-react-quotes, 2025-06-08 19:07:48 +08:00
louiscklaw
2258fd8fb9 update demo-react-overlay-hooks, 2025-06-08 19:07:48 +08:00
louiscklaw
0f674badd9 update demo-react-onboarding-ui, 2025-06-08 19:07:48 +08:00
louiscklaw
bc731ea2b8 update demo-react-notes, 2025-06-08 19:07:48 +08:00
louiscklaw
c11dba6297 update demo-react-movie-app-with-algolia, 2025-06-08 19:07:38 +08:00
louiscklaw
b9fbe4e476 update demo-react-marvel-app, 2025-06-08 19:07:38 +08:00
louiscklaw
0d844eed3f update demo-react-login, 2025-06-08 19:07:38 +08:00
louiscklaw
2862cddb6b update demo-react-lifecycles, 2025-06-08 19:07:38 +08:00
louiscklaw
55509b483c update demo-react-item-list, 2025-06-08 19:07:38 +08:00
louiscklaw
3f2ac2a285 update demo-react-hook-form-example, 2025-06-08 19:07:38 +08:00
louiscklaw
1216de4ff9 update demo-react-drawing-canvas, 2025-06-08 19:07:29 +08:00
louiscklaw
7966d8abf5 update demo-react-calculator, 2025-06-08 19:07:29 +08:00
louiscklaw
e975aebfcd update demo-react-add-to-cart, 2025-06-08 19:07:29 +08:00
louiscklaw
7f6970b183 update demo-quote-app, 2025-06-08 19:07:29 +08:00
louiscklaw
e83854ed2a update demo-quiz-app, 2025-06-08 19:07:29 +08:00
louiscklaw
6961f058df update demo-list, 2025-06-08 19:06:46 +08:00
louiscklaw
b515337acc update demo-fast-food-app, 2025-06-08 19:06:25 +08:00
louiscklaw
c732d89c34 update demo-ecommerce-example, 2025-06-08 19:06:25 +08:00
louiscklaw
2b71d06c8d update demo-dictionary-app, 2025-06-08 19:06:25 +08:00
louiscklaw
3ec9d87f8b update demo-club-house, 2025-06-08 19:06:25 +08:00
louiscklaw
546fb72732 update demo-banking-ui, 2025-06-08 19:06:05 +08:00
louiscklaw
4303704753 update DemoSkeletonText, 2025-06-08 18:54:06 +08:00
louiscklaw
4bb213ef0c update DemoStickyBottomSheetExample, 2025-06-08 18:47:32 +08:00
louiscklaw
657c652657 updtae Demo2FaExample, 2025-06-08 18:40:35 +08:00
louiscklaw
5be77aae23 update DemoWeatherAppUi, 2025-06-08 16:44:59 +08:00
louiscklaw
ffbe63e421 update DemoStorageExample, 2025-06-08 16:16:40 +08:00
louiscklaw
ba1e718039 update DemoStickyBottomSheetExample, 2025-06-08 15:21:40 +08:00
louiscklaw
8b32d153db update DemoSkeletonText, 2025-06-08 15:04:56 +08:00
louiscklaw
d3e554b218 update DemoSkeletonText, 2025-06-08 11:06:30 +08:00
louiscklaw
5b10977a64 update DemoSkeletonText, 2025-06-08 11:05:39 +08:00
louiscklaw
a40b0fa4b1 update, 2025-06-08 09:20:18 +08:00
louiscklaw
a4692a7d1f update DemoReactThemeSwitcher, 2025-06-08 09:14:26 +08:00
louiscklaw
c3f680aa22 update demo-react-qr-code, 2025-06-07 10:36:15 +08:00
louiscklaw
5b680f2219 update demo-react-whatsapp-clone, 2025-06-07 10:18:28 +08:00
louiscklaw
d3d95469ea update demo-react-profile-dashboard-ui, 2025-06-07 09:41:52 +08:00
louiscklaw
04eaf91d60 update DemoReactMarvelApp, 2025-06-06 23:18:53 +08:00
louiscklaw
be571ba4db update demo-react-lifecycles, 2025-06-06 22:38:16 +08:00
louiscklaw
a6d549b2e8 update react-item-list example, 2025-06-06 22:32:08 +08:00
louiscklaw
beb1e0ae68 update react hook form example, 2025-06-06 22:27:14 +08:00
louiscklaw
b2adcff61b update canvas, 2025-06-06 22:21:22 +08:00
581 changed files with 16495 additions and 9361 deletions

View File

@@ -77,12 +77,12 @@ const Chat = () => {
const [toastMessage, setToastMessage] = useState("");
// Refs
const contentRef = useRef();
const contentRef = useRef(null);
const swiperRefs = useRef([]);
const textareaRef = useRef();
const sideRef = useRef();
const sendRef = useRef();
const replyToAnimationRef = useRef();
const textareaRef = useRef(null);
const sideRef = useRef(null);
const sendRef = useRef(null);
const replyToAnimationRef = useRef(null);
const actionSheetButtons = [
{
@@ -104,7 +104,7 @@ const Chat = () => {
icon: alertOutline,
handler: () =>
toaster(
"I haven't implemented unsend :) Simple store update though",
"I haven't implemented unsend :) Simple store update though"
),
},
{
@@ -165,11 +165,11 @@ const Chat = () => {
const chatMessageID = elementID.includes("chatText")
? parseInt(elementID.replace("chatText_", ""))
: elementID.includes("chatTime")
? parseInt(elementID.replace("chatTime_", ""))
: parseInt(elementID.replace("chatBubble_", ""));
? parseInt(elementID.replace("chatTime_", ""))
: parseInt(elementID.replace("chatBubble_", ""));
const chatMessage = chat.filter(
(message) => parseInt(message.id) === parseInt(chatMessageID),
(message) => parseInt(message.id) === parseInt(chatMessageID)
)[0];
setActionMessage(chatMessage);
@@ -278,7 +278,7 @@ const Chat = () => {
replyToMessage,
replyToMessage ? replyToMessage.id : false,
image,
imagePath,
imagePath
);
setMessage("");
@@ -329,7 +329,7 @@ const Chat = () => {
fill="clear"
onClick={() =>
toaster(
"As this is a UI only, video calling wouldn't work here.",
"As this is a UI only, video calling wouldn't work here."
)
}
>
@@ -352,7 +352,7 @@ const Chat = () => {
{chat.map((message, index) => {
const repliedMessage = chat.filter(
(subMessage) =>
parseInt(subMessage.id) === parseInt(message.replyID),
parseInt(subMessage.id) === parseInt(message.replyID)
)[0];
return (
@@ -360,7 +360,9 @@ const Chat = () => {
ref={(ref) => (swiperRefs.current[index] = ref)}
id={`chatBubble_${message.id}`}
key={index}
className={`chat-bubble ${message.sent ? "bubble-sent" : "bubble-received"}`}
className={`chat-bubble ${
message.sent ? "bubble-sent" : "bubble-received"
}`}
{...longPressEvent}
>
<div id={`chatText_${message.id}`}>

View File

@@ -22,7 +22,7 @@ import { useRef } from "react";
import ContactModal from "../components/ContactModal";
const Chats = () => {
const pageRef = useRef();
const pageRef = useRef(null);
const contacts = ContactStore.useState(getContacts);
const latestChats = ChatStore.useState(getChats);
@@ -43,7 +43,7 @@ const Chats = () => {
contacts
.filter((c) => c.id === chat.contact_id)[0]
.name.toLowerCase()
.includes(searchTermLower),
.includes(searchTermLower)
);
setResults(newResults);
} else {

View File

@@ -0,0 +1 @@
# Demo2FaExample

View File

@@ -0,0 +1 @@
# DemoAccordionTutorial

View File

@@ -0,0 +1 @@
# DemoBankingUi

View File

@@ -0,0 +1 @@
# DemoBlogPostUi

View File

@@ -0,0 +1 @@
# DemoCapacitorGoogleMapsTutorial

View File

@@ -0,0 +1 @@
# DemoClubHouse

View File

@@ -0,0 +1 @@
# DemoColorTutorial

View File

@@ -0,0 +1 @@
# DemoDictionaryApp

View File

@@ -0,0 +1 @@
# DemoEcommerceExample

View File

@@ -0,0 +1 @@
# DemoFacebookClone

View File

@@ -0,0 +1 @@
# DemoFastFoodApp

View File

@@ -0,0 +1 @@
# DemoFloatingTabs

View File

@@ -0,0 +1 @@
# DemoInstagramClone

View File

@@ -0,0 +1 @@
# DemoKanbanBoard

View File

@@ -0,0 +1 @@
# DemoList

View File

@@ -0,0 +1 @@
# DemoOrderingApp

View File

@@ -0,0 +1 @@
# DemoPinterestFloatingTabBar

View File

@@ -0,0 +1 @@
# DemoProfileExample

View File

@@ -0,0 +1 @@
# DemoPullstateTutorial

View File

@@ -0,0 +1 @@
# DemoQrScanner

View File

@@ -0,0 +1 @@
# DemoQuizApp

View File

@@ -0,0 +1 @@
# DemoQuoteApp

View File

@@ -0,0 +1 @@
# DemoReactAddToCart

View File

@@ -0,0 +1 @@
# DemoReactCalculator

View File

@@ -0,0 +1 @@
# DemoReactDrawingCanvas

View File

@@ -0,0 +1 @@
# DemoReactHookFormExample

View File

@@ -0,0 +1 @@
# DemoReactItemList

View File

@@ -0,0 +1 @@
# DemoReactLifecycles

View File

@@ -0,0 +1 @@
# DemoReactLogin

View File

@@ -0,0 +1 @@
# DemoReactMarvelApp

View File

@@ -0,0 +1 @@
# DemoReactMovieAppWithAlgolia

View File

@@ -0,0 +1 @@
# DemoReactNotes

View File

@@ -0,0 +1 @@
# DemoReactOnboardingUi

View File

@@ -0,0 +1 @@
# DemoReactOverlayHooks

View File

@@ -0,0 +1 @@
# DemoReactPollApp

View File

@@ -0,0 +1 @@
# DemoReactProfileDashboardUi

View File

@@ -0,0 +1 @@
# DemoReactQuotes

View File

@@ -0,0 +1 @@
# DemoReactShop

View File

@@ -0,0 +1 @@
# DemoReactShopUi

View File

@@ -0,0 +1 @@
# DemoReactSwitchTabs

View File

@@ -0,0 +1 @@
# DemoReactTabsMenusCustom

View File

@@ -0,0 +1 @@
# DemoReactThemeSwitcher

View File

@@ -0,0 +1 @@
# DemoReactTravelApp

View File

@@ -0,0 +1 @@
# DemoRecipeApp

View File

@@ -0,0 +1 @@
# DemoRestaurantFinder

View File

@@ -0,0 +1 @@
# DemoScoreBoard

View File

@@ -0,0 +1 @@
# DemoShopAppUi

View File

@@ -0,0 +1 @@
# DemoSkeletonText

View File

@@ -0,0 +1 @@
# DemoSlidingProfile

View File

@@ -0,0 +1 @@
# DemoStickyBottomSheetExample

View File

@@ -0,0 +1 @@
# DemoStorageExample

View File

@@ -0,0 +1 @@
# DemoWeatherAppUi

View File

@@ -0,0 +1,16 @@
---
tags: docker, ports
---
# REQ0180 service port schedule
## Port Usage
| Service | Host Port | Container Port | Environment | Purpose |
| ----------- | --------- | -------------- | ----------- | -------------------------------- |
| Frontend | 10001 | 8080 | All | Web application access |
| Mobile | 10004 | 3000 | All | Mobile application access |
| CMS Backend | 10002 | 7272 | All | Main API access |
| CMS Backend | 10003 | 5555 | All | Additional service access |
| Postgres | - | 5432 | Production | Database access (container only) |
| Postgres | 5432 | 5432 | Development | Database access |

16
03_source/docker/81_dc_down.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -ex
# -f docker-compose.db.yml
DOCKER_COMPOSE_FILES=" -f docker-compose.yml -f docker-compose.dev.yml"
# docker compose $DOCKER_COMPOSE_FILES build
docker compose $DOCKER_COMPOSE_FILES kill
docker compose $DOCKER_COMPOSE_FILES down
# cd ../api_server
# yarn docker:dev
# cd ..
# docker compose $DOCKER_COMPOSE_FILES logs -f

View File

@@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -ex
# -f docker-compose.db.yml
DOCKER_COMPOSE_FILES=" -f docker-compose.yml"
# docker compose $DOCKER_COMPOSE_FILES build
docker compose $DOCKER_COMPOSE_FILES kill
docker compose $DOCKER_COMPOSE_FILES down
# cd ../api_server
# yarn docker:dev
# cd ..
# docker compose $DOCKER_COMPOSE_FILES logs -f

17
03_source/docker/99_prod_up.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/usr/bin/env bash
set -ex
# -f docker-compose.db.yml
DOCKER_COMPOSE_FILES=" -f docker-compose.yml"
# docker compose $DOCKER_COMPOSE_FILES build
docker compose $DOCKER_COMPOSE_FILES up -d
docker compose $DOCKER_COMPOSE_FILES logs -f
# cd ../api_server
# yarn docker:dev
# cd ..
# docker compose $DOCKER_COMPOSE_FILES logs -f

View File

@@ -1,9 +1,14 @@
services:
frontend:
command: "sleep infinity"
command: 'sleep infinity'
mobile:
command: "sleep infinity"
command: 'sleep infinity'
cms_backend:
command: "sleep infinity"
command: 'sleep infinity'
postgres:
# container_name: postgres
ports:
- '5432:5432'

View File

@@ -8,22 +8,22 @@ services:
build: ../frontend
# user: 1000:1000
ports:
- 8080:8080
- 10001:8080
volumes:
- ../frontend:/app
working_dir: "/app"
command: "yarn dev"
working_dir: '/app'
command: './dev.sh'
mobile:
image: 192.168.10.61:5000/hksingleparty_mobile
build: ../mobile
# user: 1000:1000
ports:
- 8081:3000
- 10004:3000
volumes:
- ../mobile:/app
working_dir: "/app"
command: "npm run dev"
working_dir: '/app'
command: './dev.sh'
cms_backend:
image: 192.168.10.61:5000/demo_minimal_kit_backend
@@ -32,22 +32,19 @@ services:
env_file:
- .env
ports:
- 7272:7272
- 5555:5555
- 10002:7272
- 10003:5555
volumes:
- ../cms_backend:/app
working_dir: "/app"
command: "yarn dev"
working_dir: '/app'
command: './dev.sh'
postgres:
container_name: postgres
image: postgres:14.1-alpine
restart: unless-stopped
env_file:
- .env
expose:
- "5432"
ports:
- "5432:5432"
- '5432'
volumes:
- db:/var/lib/postgresql/data

View File

@@ -3,5 +3,28 @@
"semi": true,
"singleQuote": true,
"trailingComma": "es5",
"printWidth": 100
}
"printWidth": 100,
"overrides": [
{
"files": "src/App.tsx",
"options": {
"printWidth": 160
}
},
{
"files": "src/routes/*",
"options": {
"printWidth": 160
}
},
{
"files": [
"*.html",
"legacy/**/*.js"
],
"options": {
"tabWidth": 4
}
}
]
}

View File

@@ -18,6 +18,7 @@
"@hookform/resolvers": "^4.1.3",
"@ionic/react": "^8.5.0",
"@ionic/react-router": "^8.5.0",
"@ionic/storage": "^4.0.0",
"@mdx-js/react": "^3.1.0",
"@react-hook/window-size": "^3.1.1",
"@types/leaflet": "^1.9.17",
@@ -29,10 +30,12 @@
"pigeon-maps": "^0.22.1",
"pullstate": "^1",
"react": "19.0.0",
"react-canvas-draw": "^1.2.1",
"react-color": "^2.19.3",
"react-confetti": "^6.4.0",
"react-dom": "19.0.0",
"react-hook-form": "^7.55.0",
"react-iconly": "^2.2.10",
"react-leaflet": "^5.0.0",
"react-markdown": "^10.1.0",
"react-qr-code": "^2.0.15",

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 930 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -0,0 +1 @@
<svg width="350" height="140" xmlns="http://www.w3.org/2000/svg" style="background:#f6f7f9"><g fill="none" fill-rule="evenodd"><path fill="#F04141" style="mix-blend-mode:multiply" d="M61.905-34.23l96.194 54.51-66.982 54.512L22 34.887z"/><circle fill="#10DC60" style="mix-blend-mode:multiply" cx="155.5" cy="135.5" r="57.5"/><path fill="#3880FF" style="mix-blend-mode:multiply" d="M208.538 9.513l84.417 15.392L223.93 93.93z"/><path fill="#FFCE00" style="mix-blend-mode:multiply" d="M268.625 106.557l46.332-26.75 46.332 26.75v53.5l-46.332 26.75-46.332-26.75z"/><circle fill="#7044FF" style="mix-blend-mode:multiply" cx="299.5" cy="9.5" r="38.5"/><rect fill="#11D3EA" style="mix-blend-mode:multiply" transform="rotate(-60 148.47 37.886)" x="143.372" y="-7.056" width="10.196" height="89.884" rx="5.098"/><path d="M-25.389 74.253l84.86 8.107c5.498.525 9.53 5.407 9.004 10.905a10 10 0 0 1-.057.477l-12.36 85.671a10.002 10.002 0 0 1-11.634 8.42l-86.351-15.226c-5.44-.959-9.07-6.145-8.112-11.584l13.851-78.551a10 10 0 0 1 10.799-8.219z" fill="#7044FF" style="mix-blend-mode:multiply"/><circle fill="#0CD1E8" style="mix-blend-mode:multiply" cx="273.5" cy="106.5" r="20.5"/></g></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 930 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 KiB

View File

@@ -0,0 +1 @@
<svg width="350" height="140" xmlns="http://www.w3.org/2000/svg" style="background:#f6f7f9"><g fill="none" fill-rule="evenodd"><path fill="#F04141" style="mix-blend-mode:multiply" d="M61.905-34.23l96.194 54.51-66.982 54.512L22 34.887z"/><circle fill="#10DC60" style="mix-blend-mode:multiply" cx="155.5" cy="135.5" r="57.5"/><path fill="#3880FF" style="mix-blend-mode:multiply" d="M208.538 9.513l84.417 15.392L223.93 93.93z"/><path fill="#FFCE00" style="mix-blend-mode:multiply" d="M268.625 106.557l46.332-26.75 46.332 26.75v53.5l-46.332 26.75-46.332-26.75z"/><circle fill="#7044FF" style="mix-blend-mode:multiply" cx="299.5" cy="9.5" r="38.5"/><rect fill="#11D3EA" style="mix-blend-mode:multiply" transform="rotate(-60 148.47 37.886)" x="143.372" y="-7.056" width="10.196" height="89.884" rx="5.098"/><path d="M-25.389 74.253l84.86 8.107c5.498.525 9.53 5.407 9.004 10.905a10 10 0 0 1-.057.477l-12.36 85.671a10.002 10.002 0 0 1-11.634 8.42l-86.351-15.226c-5.44-.959-9.07-6.145-8.112-11.584l13.851-78.551a10 10 0 0 1 10.799-8.219z" fill="#7044FF" style="mix-blend-mode:multiply"/><circle fill="#0CD1E8" style="mix-blend-mode:multiply" cx="273.5" cy="106.5" r="20.5"/></g></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 930 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -0,0 +1 @@
<svg width="350" height="140" xmlns="http://www.w3.org/2000/svg" style="background:#f6f7f9"><g fill="none" fill-rule="evenodd"><path fill="#F04141" style="mix-blend-mode:multiply" d="M61.905-34.23l96.194 54.51-66.982 54.512L22 34.887z"/><circle fill="#10DC60" style="mix-blend-mode:multiply" cx="155.5" cy="135.5" r="57.5"/><path fill="#3880FF" style="mix-blend-mode:multiply" d="M208.538 9.513l84.417 15.392L223.93 93.93z"/><path fill="#FFCE00" style="mix-blend-mode:multiply" d="M268.625 106.557l46.332-26.75 46.332 26.75v53.5l-46.332 26.75-46.332-26.75z"/><circle fill="#7044FF" style="mix-blend-mode:multiply" cx="299.5" cy="9.5" r="38.5"/><rect fill="#11D3EA" style="mix-blend-mode:multiply" transform="rotate(-60 148.47 37.886)" x="143.372" y="-7.056" width="10.196" height="89.884" rx="5.098"/><path d="M-25.389 74.253l84.86 8.107c5.498.525 9.53 5.407 9.004 10.905a10 10 0 0 1-.057.477l-12.36 85.671a10.002 10.002 0 0 1-11.634 8.42l-86.351-15.226c-5.44-.959-9.07-6.145-8.112-11.584l13.851-78.551a10 10 0 0 1 10.799-8.219z" fill="#7044FF" style="mix-blend-mode:multiply"/><circle fill="#0CD1E8" style="mix-blend-mode:multiply" cx="273.5" cy="106.5" r="20.5"/></g></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,16 @@
{
"toolbar_background_color": "blue",
"tab_bar_background_color": "blue",
"toolbar_color": "",
"tab_bar_color": "",
"tab_bar_activated_color": "",
"main_color": "",
"light_color": "",
"main_color_tint": "",
"main_color_shade": "",
"light_color_tint": "",
"light_color_shade": ""
}

View File

@@ -0,0 +1,16 @@
{
"toolbar_background_color": "#5f361e",
"tab_bar_background_color": "#5f361e",
"toolbar_color": "#d1bfb5",
"tab_bar_color": "#886551",
"tab_bar_activated_color": "",
"main_color": "#5f361e",
"light_color": "#886551",
"main_color_tint": "#855a41",
"main_color_shade": "#57331e",
"light_color_tint": "#9c7d6b",
"light_color_shade": "#61412f"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 474 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

View File

@@ -0,0 +1,16 @@
{
"toolbar_background_color": "#c4b0c4",
"tab_bar_background_color": "#c4b0c4",
"toolbar_color": "#5c4153",
"tab_bar_color": "#917788",
"tab_bar_activated_color": "#5c4153",
"main_color": "#5c4153",
"light_color": "#917788",
"main_color_tint": "#6b5463",
"main_color_shade": "#4d3545",
"light_color_tint": "#a893a1",
"light_color_shade": "#74606d"
}

View File

@@ -0,0 +1,16 @@
{
"toolbar_background_color": "#c93608",
"tab_bar_background_color": "#c93608",
"toolbar_color": "",
"tab_bar_color": "#852506",
"tab_bar_activated_color": "",
"main_color": "#c93608",
"light_color": "#c95834",
"main_color_tint": "#aa614a",
"main_color_shade": "#692611",
"light_color_tint": "#d67151",
"light_color_shade": "#a85439"
}

View File

@@ -0,0 +1,16 @@
{
"toolbar_background_color": "green",
"tab_bar_background_color": "green",
"toolbar_color": "",
"tab_bar_color": "",
"tab_bar_activated_color": "",
"main_color": "",
"light_color": "",
"main_color_tint": "",
"main_color_shade": "",
"light_color_tint": "",
"light_color_shade": ""
}

View File

@@ -0,0 +1,16 @@
{
"toolbar_background_color": "#336b36",
"tab_bar_background_color": "#336b36",
"toolbar_color": "white",
"tab_bar_color": "#1c421d",
"tab_bar_activated_color": "white",
"main_color": "#336b36",
"light_color": "#517953",
"main_color_tint": "#497a4b",
"main_color_shade": "#305832",
"light_color_tint": "#738574",
"light_color_shade": "#485849"
}

View File

@@ -0,0 +1,16 @@
{
"toolbar_background_color": "#7baec7",
"tab_bar_background_color": "#7baec7",
"toolbar_color": "",
"tab_bar_color": "#49758b",
"tab_bar_activated_color": "",
"main_color": "#7baec7",
"light_color": "#90bbcf",
"main_color_tint": "#96c0d5",
"main_color_shade": "#6b93a7",
"light_color_tint": "#c3e2f1",
"light_color_shade": "#89aec0"
}

View File

@@ -0,0 +1,16 @@
{
"toolbar_background_color": "#fd8f38",
"tab_bar_background_color": "#fd8f38",
"toolbar_color": "#815208",
"tab_bar_color": "#ffb67c",
"tab_bar_activated_color": "#815208",
"main_color": "#e49200",
"light_color": "#ffb67c",
"main_color_tint": "#e6ae4b",
"main_color_shade": "#b4780c",
"light_color_tint": "#fad4b6",
"light_color_shade": "#ff9c4e"
}

View File

@@ -0,0 +1,16 @@
{
"toolbar_background_color": "red",
"tab_bar_background_color": "red",
"toolbar_color": "",
"tab_bar_color": "",
"tab_bar_activated_color": "",
"main_color": "",
"light_color": "",
"main_color_tint": "",
"main_color_shade": "",
"light_color_tint": "",
"light_color_shade": ""
}

View File

@@ -0,0 +1,16 @@
{
"toolbar_background_color": "blue",
"tab_bar_background_color": "blue",
"toolbar_color": "",
"tab_bar_color": "",
"tab_bar_activated_color": "",
"main_color": "",
"light_color": "",
"main_color_tint": "",
"main_color_shade": "",
"light_color_tint": "",
"light_color_shade": ""
}

View File

@@ -0,0 +1,16 @@
{
"toolbar_background_color": "#5f361e",
"tab_bar_background_color": "#5f361e",
"toolbar_color": "#d1bfb5",
"tab_bar_color": "#886551",
"tab_bar_activated_color": "",
"main_color": "#5f361e",
"light_color": "#886551",
"main_color_tint": "#855a41",
"main_color_shade": "#57331e",
"light_color_tint": "#9c7d6b",
"light_color_shade": "#61412f"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 474 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 KiB

Some files were not shown because too many files have changed in this diff Show More