diff --git a/.github/workflows/version-bump.yml b/.github/workflows/version-bump.yml
deleted file mode 100644
index 2373323..0000000
--- a/.github/workflows/version-bump.yml
+++ /dev/null
@@ -1,64 +0,0 @@
-name: Version Bump
-
-on:
- workflow_run:
- workflows: ["Build and Deploy to GitHub Pages"]
- types:
- - completed
-
-permissions:
- contents: write
- pull-requests: write
-
-jobs:
- version-bump:
- runs-on: ubuntu-latest
- # Only run if the previous workflow succeeded
- if: ${{ github.event.workflow_run.conclusion == 'success' }}
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
- with:
- fetch-depth: 0
-
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: '20'
- cache: 'npm'
-
- - name: Configure Git
- run: |
- git config user.name "github-actions[bot]"
- git config user.email "github-actions[bot]@users.noreply.github.com"
-
- - name: Create version bump branch
- run: |
- BRANCH_NAME="version-bump-$(date +%Y%m%d-%H%M%S)"
- git checkout -b $BRANCH_NAME
- echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
-
- - name: Bump version
- run: npm version minor --no-git-tag-version
-
- - name: Commit version bump
- run: |
- git add package.json package-lock.json
- NEW_VERSION=$(node -p "require('./package.json').version")
- git commit -m "chore: bump version to $NEW_VERSION"
- echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV
-
- - name: Push changes
- run: git push origin $BRANCH_NAME
-
- - name: Create Pull Request
- env:
- GH_TOKEN: ${{ github.token }}
- run: |
- gh pr create \
- --title "chore: bump version to $NEW_VERSION" \
- --body "Automated version bump to \`$NEW_VERSION\` after successful deployment.
-
- This PR was automatically created by the version-bump workflow." \
- --base main \
- --head $BRANCH_NAME
diff --git a/README.md b/README.md
index b5c805a..8801bfa 100644
--- a/README.md
+++ b/README.md
@@ -10,6 +10,7 @@ A Vue.js application for creating beautiful layouts of two pictures with customi
- Configurable frame width and outer border size
- Drag-and-drop image upload
- High-resolution image export
+- PWA support - installable on mobile and desktop devices
## Tech Stack
@@ -80,7 +81,6 @@ This project uses GitHub Actions for continuous integration and deployment:
- **CI**: Runs linter, tests, and build on all non-main branches and pull requests
- **Build and Deploy**: Automatically builds and deploys to GitHub Pages on every tag
-- **Version Bump**: Creates a PR with a minor version bump after successful deployment
## AI Disclaimer
AI tools have been used to contribute to this project.
diff --git a/index.html b/index.html
index 8101ceb..f2652e6 100644
--- a/index.html
+++ b/index.html
@@ -8,11 +8,19 @@
Framed
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/package.json b/package.json
index 19b822f..5e0a840 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "erost-framed",
- "version": "1.0.0",
+ "version": "1.1.0",
"description": "Canvas-based picture framing application",
"type": "module",
"scripts": {
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 0000000..b96266e
Binary files /dev/null and b/public/favicon.ico differ
diff --git a/public/icons/maskable_icon_x128.png b/public/icons/maskable_icon_x128.png
new file mode 100644
index 0000000..7d2cb24
Binary files /dev/null and b/public/icons/maskable_icon_x128.png differ
diff --git a/public/icons/maskable_icon_x192.png b/public/icons/maskable_icon_x192.png
new file mode 100644
index 0000000..f651d19
Binary files /dev/null and b/public/icons/maskable_icon_x192.png differ
diff --git a/public/icons/maskable_icon_x384.png b/public/icons/maskable_icon_x384.png
new file mode 100644
index 0000000..2e73daa
Binary files /dev/null and b/public/icons/maskable_icon_x384.png differ
diff --git a/public/icons/maskable_icon_x48.png b/public/icons/maskable_icon_x48.png
new file mode 100644
index 0000000..fb771ae
Binary files /dev/null and b/public/icons/maskable_icon_x48.png differ
diff --git a/public/icons/maskable_icon_x512.png b/public/icons/maskable_icon_x512.png
new file mode 100644
index 0000000..772f871
Binary files /dev/null and b/public/icons/maskable_icon_x512.png differ
diff --git a/public/icons/maskable_icon_x72.png b/public/icons/maskable_icon_x72.png
new file mode 100644
index 0000000..3f23dcc
Binary files /dev/null and b/public/icons/maskable_icon_x72.png differ
diff --git a/public/icons/maskable_icon_x96.png b/public/icons/maskable_icon_x96.png
new file mode 100644
index 0000000..f6e24ee
Binary files /dev/null and b/public/icons/maskable_icon_x96.png differ
diff --git a/public/manifest.json b/public/manifest.json
new file mode 100644
index 0000000..9962870
--- /dev/null
+++ b/public/manifest.json
@@ -0,0 +1,56 @@
+{
+ "name": "Framed",
+ "short_name": "Framed",
+ "description": "Create stunning layouts of two pictures with customizable backgrounds, borders, and orientations",
+ "start_url": "/",
+ "display": "standalone",
+ "background_color": "#1f2937",
+ "theme_color": "#1f2937",
+ "orientation": "any",
+ "icons": [
+ {
+ "purpose": "maskable",
+ "sizes": "48x48",
+ "src": "/icons/maskable_icon_x48.png",
+ "type": "image/png"
+ },
+ {
+ "purpose": "maskable",
+ "sizes": "72x72",
+ "src": "/icons/maskable_icon_x72.png",
+ "type": "image/png"
+ },
+ {
+ "purpose": "maskable",
+ "sizes": "96x96",
+ "src": "/icons/maskable_icon_x96.png",
+ "type": "image/png"
+ },
+ {
+ "purpose": "maskable",
+ "sizes": "128x128",
+ "src": "/icons/maskable_icon_x128.png",
+ "type": "image/png"
+ },
+ {
+ "purpose": "maskable",
+ "sizes": "192x192",
+ "src": "/icons/maskable_icon_x192.png",
+ "type": "image/png"
+ },
+ {
+ "purpose": "maskable",
+ "sizes": "384x384",
+ "src": "/icons/maskable_icon_x384.png",
+ "type": "image/png"
+ },
+ {
+ "purpose": "maskable",
+ "sizes": "512x512",
+ "src": "/icons/maskable_icon_x512.png",
+ "type": "image/png"
+ }
+],
+ "categories": ["photo", "graphics", "utilities"],
+ "screenshots": []
+}