diff --git a/create_icons.py b/create_icons.py new file mode 100644 index 0000000..08704a9 Binary files /dev/null and b/create_icons.py differ diff --git a/gen_icons.js b/gen_icons.js new file mode 100644 index 0000000..f6b3893 --- /dev/null +++ b/gen_icons.js @@ -0,0 +1,20 @@ +const fs = require('fs'); +const path = require('path'); +const iconsDir = path.join(__dirname, 'public', 'icons'); +if (!fs.existsSync(iconsDir)) fs.mkdirSync(iconsDir, { recursive: true }); +const icons = { + home: { path: 'M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z M9 22v-10l6 6v-10', label: 'Home' }, + search: { d: 'circle cx=11 cy=11 r=8 line x1=21 y1=21 x2=16.65 y2=16.65', label: 'Search' }, + user: { d: 'path d=M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2 circle cx=12 cy=7 r=4', label: 'User' }, + folder: { d: 'path d=M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z', fill: true, label: 'Folder' }, + file: { d: 'path d=M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z polyline points=14 2 14 8 20 8', label: 'File' }, + settings: { d: 'circle cx=12 cy=12 r=3 path d=M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0', label: 'Settings' }, + close: { d: 'line x1=18 y1=6 x2=6 y2=18 line x1=6 y1=6 x2=18 y2=18', label: 'Close' }, + check: { d: 'polyline points=20 6 9 17 4 12', color: '#22c55e', label: 'Check' }, + delete: { d: 'polyline points=3 6 5 6 21 6 path d=M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2', color: '#ef4444', label: 'Delete' }, + add: { d: 'circle cx=12 cy=12 r=10 line x1=12 y1=8 x2=12 y2=16 line x1=8 y1=12 x2=16 y2=12', label: 'Add' }, + download: { d: 'path d=M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4 polyline points=7 10 12 15 17 10 line x1=12 y1=15 x2=12 y2=3', label: 'Download' }, + upload: { d: 'path d=M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4 polyline points=17 8 12 3 7 8 line x1=12 y1=3 x2=12 y2=15', label: 'Upload' }, + share: { d: 'circle cx=18 cy=5 r=3 circle cx=6 cy=12 r=3 circle cx=18 cy=19 r=3 line x1=8.59 y1=13.51 x2=15.42 y2=17.49 line x1=15.41 y1=6.51 x2=8.59 y2=10.49', label: 'Share' }, + favorite: { d: 'path d=M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z', fill: true, label: 'Favorite' }, + cloud: { d: 'path d=M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z', label: 'Cloud' }, diff --git a/gen_icons.py b/gen_icons.py new file mode 100644 index 0000000..800d5ce --- /dev/null +++ b/gen_icons.py @@ -0,0 +1,175 @@ +# Icon Generator Script +import os + +icons_dir = 'public/icons' +os.makedirs(icons_dir, exist_ok=True) + +# Color scheme +PRIMARY_COLOR = '#6366f1' +SUCCESS_COLOR = '#22c55e' +DANGER_COLOR = '#ef4444' + +def create_svg(filename, elements, color=PRIMARY_COLOR, fill=False): + """Create an SVG icon file""" + fill_attr = 'fill "{}"'.format(color) if fill else 'fill="none"' + svg_content = ''' +{} +'''.format(fill_attr, color, '\n'.join(elements)) + + filepath = os.path.join(icons_dir, filename) + with open(filepath, 'w', encoding='utf-8') as f: + f.write(svg_content) + print(f'Created: {filename}') + +# Home icon +create_svg('home.svg', [ + '', + '' +]) + +# Search icon +create_svg('search.svg', [ + '', + '' +]) + +# Settings icon +create_svg('settings.svg', [ + '', + '' +]) + +# User icon +create_svg('user.svg', [ + '', + '' +]) + +# Folder icon (filled) +create_svg('folder.svg', [ + '' +], fill=True) + +# File icon +create_svg('file.svg', [ + '', + '' +]) + +# Download icon +create_svg('download.svg', [ + '', + '', + '' +]) + +# Upload icon +create_svg('upload.svg', [ + '', + '', + '' +]) + +# Share icon +create_svg('share.svg', [ + '', + '', + '', + '', + '' +]) + +# Favorite/Like icon (filled) +create_svg('favorite.svg', [ + '' +], fill=True) + +# Delete icon +create_svg('delete.svg', [ + '', + '' +], color=DANGER_COLOR) + +# Edit icon +create_svg('edit.svg', [ + '', + '' +]) + +# Add icon +create_svg('add.svg', [ + '', + '', + '' +]) + +# Back/Arrow Left icon +create_svg('back.svg', [ + '', + '' +]) + +# More/Options icon (three dots) +create_svg('more.svg', [ + '', + '', + '' +], fill=True) + +# Cloud icon +create_svg('cloud.svg', [ + '' +]) + +# Drive/Server icon +create_svg('drive.svg', [ + '', + '', + '' +]) + +# Log/File Text icon +create_svg('log.svg', [ + '', + '', + '', + '', + '' +]) + +# Close icon +create_svg('close.svg', [ + '', + '' +]) + +# Check/Verify icon +create_svg('check.svg', [ + '' +], color=SUCCESS_COLOR) + +# Play icon +create_svg('play.svg', [ + '' +], fill=True) + +# Pause icon +create_svg('pause.svg', [ + '', + '' +]) + +# Eye icon +create_svg('eye.svg', [ + '', + '' +]) + +# Eye Off icon +create_svg('eye-off.svg', [ + '', + '' +]) + +print(f'\nTotal icons created: {len(os.listdir(icons_dir)) - 1}') # Exclude test.txt +print('Icon generation complete!') \ No newline at end of file diff --git a/src/App.vue b/src/App.vue index 640b408..acc023a 100644 --- a/src/App.vue +++ b/src/App.vue @@ -179,13 +179,10 @@
- -