├── .gitignore
├── LICENSE
├── README.md
├── RoadMap.md
├── backend
├── .env.example
├── .gitattributes
├── .gitignore
├── _ide_helper.php
├── app
│ ├── Console
│ │ ├── Commands
│ │ │ ├── InitAdminUser.php
│ │ │ └── Inspire.php
│ │ └── Kernel.php
│ ├── Events
│ │ └── Event.php
│ ├── Exceptions
│ │ └── Handler.php
│ ├── Http
│ │ ├── Controllers
│ │ │ ├── Admin
│ │ │ │ └── AdminController.php
│ │ │ ├── Auth
│ │ │ │ ├── AuthController.php
│ │ │ │ └── PasswordController.php
│ │ │ ├── BaseController.php
│ │ │ └── HomeController.php
│ │ ├── Kernel.php
│ │ ├── Middleware
│ │ │ ├── Authenticate.php
│ │ │ ├── EncryptCookies.php
│ │ │ ├── RedirectIfAuthenticated.php
│ │ │ └── VerifyCsrfToken.php
│ │ ├── Requests
│ │ │ ├── Auth
│ │ │ │ └── RegisterRequest.php
│ │ │ └── Request.php
│ │ └── routes.php
│ ├── Jobs
│ │ └── Job.php
│ ├── Listeners
│ │ └── .gitkeep
│ ├── Policies
│ │ └── .gitkeep
│ └── Providers
│ │ ├── AppServiceProvider.php
│ │ ├── AuthServiceProvider.php
│ │ ├── EventServiceProvider.php
│ │ └── RouteServiceProvider.php
├── artisan
├── bootstrap
│ ├── app.php
│ ├── autoload.php
│ └── cache
│ │ └── .gitignore
├── composer.json
├── composer.lock
├── config
│ ├── app.php
│ ├── auth.php
│ ├── broadcasting.php
│ ├── cache.php
│ ├── compile.php
│ ├── database.php
│ ├── filesystems.php
│ ├── mail.php
│ ├── queue.php
│ ├── services.php
│ ├── session.php
│ └── view.php
├── database
│ ├── .gitignore
│ ├── factories
│ │ └── ModelFactory.php
│ ├── migrations
│ │ ├── .gitkeep
│ │ ├── 2014_10_12_000000_create_users_table.php
│ │ └── 2014_10_12_100000_create_password_resets_table.php
│ └── seeds
│ │ ├── .gitkeep
│ │ └── DatabaseSeeder.php
├── gulpfile.js
├── package.json
├── packages
│ └── zgldh
│ │ └── VuejsLaravelUser
│ │ ├── .gitkeep
│ │ ├── composer.json
│ │ ├── database
│ │ ├── migrations
│ │ │ ├── .gitkeep
│ │ │ ├── 2014_10_12_000000_create_users_table.php
│ │ │ └── 2014_10_12_100000_create_password_resets_table.php
│ │ └── seeds
│ │ │ └── .gitkeep
│ │ └── src
│ │ ├── Controllers
│ │ └── UserController.php
│ │ ├── User.php
│ │ ├── UserAbilities.php
│ │ ├── UserPermissionRequest.php
│ │ ├── UserRepository.php
│ │ ├── UserRepositoryInterface.php
│ │ ├── UserServiceProvider.php
│ │ └── routes.php
├── phpunit.xml
├── public
│ ├── .htaccess
│ ├── favicon.ico
│ ├── index.php
│ ├── robots.txt
│ └── web.config
├── readme.md
├── resources
│ ├── assets
│ │ └── sass
│ │ │ └── app.scss
│ ├── lang
│ │ ├── en
│ │ │ ├── auth.php
│ │ │ ├── pagination.php
│ │ │ ├── passwords.php
│ │ │ └── validation.php
│ │ └── zh
│ │ │ ├── auth.php
│ │ │ ├── pagination.php
│ │ │ ├── passwords.php
│ │ │ └── validation.php
│ └── views
│ │ ├── errors
│ │ └── 503.blade.php
│ │ ├── vendor
│ │ └── .gitkeep
│ │ └── welcome.blade.php
├── server.php
├── storage
│ ├── app
│ │ ├── .gitignore
│ │ └── public
│ │ │ └── .gitignore
│ ├── framework
│ │ ├── .gitignore
│ │ ├── cache
│ │ │ └── .gitignore
│ │ ├── sessions
│ │ │ └── .gitignore
│ │ └── views
│ │ │ └── .gitignore
│ └── logs
│ │ └── .gitignore
└── tests
│ ├── ExampleTest.php
│ └── TestCase.php
├── frontend
├── .babelrc
├── .editorconfig
├── .eslintrc.js
├── .gitignore
├── README.md
├── build
│ ├── build.js
│ ├── dev-client.js
│ ├── dev-server.js
│ ├── utils.js
│ ├── webpack.base.conf.js
│ ├── webpack.dev.conf.js
│ └── webpack.prod.conf.js
├── config.js
├── index.html
├── package.json
├── semantic.json
├── src
│ ├── admin.html
│ ├── admin.js
│ ├── assets
│ │ ├── custom.scss
│ │ ├── logo.png
│ │ └── page-transition.scss
│ ├── components
│ │ ├── Admin
│ │ │ ├── App.vue
│ │ │ ├── Common
│ │ │ │ └── SiteNav.vue
│ │ │ ├── Pages
│ │ │ │ ├── Dashboard.vue
│ │ │ │ └── Login.vue
│ │ │ ├── Vuex
│ │ │ │ ├── Actions.js
│ │ │ │ ├── Getters.js
│ │ │ │ └── Store.js
│ │ │ └── router.js
│ │ ├── Index
│ │ │ ├── App.vue
│ │ │ ├── Common
│ │ │ │ └── SiteNav.vue
│ │ │ ├── Pages
│ │ │ │ ├── Home.vue
│ │ │ │ ├── Login.vue
│ │ │ │ └── Register.vue
│ │ │ └── router.js
│ │ └── resources.js
│ ├── extensions
│ │ ├── AdminNavigatorsProvider.vue
│ │ ├── AdminRoutesProvider.vue
│ │ ├── AutoForm.vue
│ │ ├── CurrentUserProvider.js
│ │ ├── InfoDialog.js
│ │ ├── PackageInstaller.vue
│ │ ├── Pagination.vue
│ │ └── WebPage.js
│ ├── index.html
│ ├── index.js
│ ├── packages
│ │ ├── index.js
│ │ └── zgldh
│ │ │ └── VuejsLaravelUser
│ │ │ ├── .gitkeep
│ │ │ ├── index.js
│ │ │ └── vue
│ │ │ └── Pages
│ │ │ ├── UserEditor.vue
│ │ │ └── UserList.vue
│ └── semantic
│ │ ├── dist
│ │ ├── components
│ │ │ ├── accordion.css
│ │ │ ├── accordion.js
│ │ │ ├── accordion.min.css
│ │ │ ├── accordion.min.js
│ │ │ ├── ad.css
│ │ │ ├── ad.min.css
│ │ │ ├── api.js
│ │ │ ├── api.min.js
│ │ │ ├── breadcrumb.css
│ │ │ ├── breadcrumb.min.css
│ │ │ ├── button.css
│ │ │ ├── button.min.css
│ │ │ ├── card.css
│ │ │ ├── card.min.css
│ │ │ ├── checkbox.css
│ │ │ ├── checkbox.js
│ │ │ ├── checkbox.min.css
│ │ │ ├── checkbox.min.js
│ │ │ ├── comment.css
│ │ │ ├── comment.min.css
│ │ │ ├── container.css
│ │ │ ├── container.min.css
│ │ │ ├── dimmer.css
│ │ │ ├── dimmer.js
│ │ │ ├── dimmer.min.css
│ │ │ ├── dimmer.min.js
│ │ │ ├── divider.css
│ │ │ ├── divider.min.css
│ │ │ ├── dropdown.css
│ │ │ ├── dropdown.js
│ │ │ ├── dropdown.min.css
│ │ │ ├── dropdown.min.js
│ │ │ ├── embed.css
│ │ │ ├── embed.js
│ │ │ ├── embed.min.css
│ │ │ ├── embed.min.js
│ │ │ ├── feed.css
│ │ │ ├── feed.min.css
│ │ │ ├── flag.css
│ │ │ ├── flag.min.css
│ │ │ ├── form.css
│ │ │ ├── form.js
│ │ │ ├── form.min.css
│ │ │ ├── form.min.js
│ │ │ ├── grid.css
│ │ │ ├── grid.min.css
│ │ │ ├── header.css
│ │ │ ├── header.min.css
│ │ │ ├── icon.css
│ │ │ ├── icon.min.css
│ │ │ ├── image.css
│ │ │ ├── image.min.css
│ │ │ ├── input.css
│ │ │ ├── input.min.css
│ │ │ ├── item.css
│ │ │ ├── item.min.css
│ │ │ ├── label.css
│ │ │ ├── label.min.css
│ │ │ ├── list.css
│ │ │ ├── list.min.css
│ │ │ ├── loader.css
│ │ │ ├── loader.min.css
│ │ │ ├── menu.css
│ │ │ ├── menu.min.css
│ │ │ ├── message.css
│ │ │ ├── message.min.css
│ │ │ ├── modal.css
│ │ │ ├── modal.js
│ │ │ ├── modal.min.css
│ │ │ ├── modal.min.js
│ │ │ ├── nag.css
│ │ │ ├── nag.js
│ │ │ ├── nag.min.css
│ │ │ ├── nag.min.js
│ │ │ ├── popup.css
│ │ │ ├── popup.js
│ │ │ ├── popup.min.css
│ │ │ ├── popup.min.js
│ │ │ ├── progress.css
│ │ │ ├── progress.js
│ │ │ ├── progress.min.css
│ │ │ ├── progress.min.js
│ │ │ ├── rail.css
│ │ │ ├── rail.min.css
│ │ │ ├── rating.css
│ │ │ ├── rating.js
│ │ │ ├── rating.min.css
│ │ │ ├── rating.min.js
│ │ │ ├── reset.css
│ │ │ ├── reset.min.css
│ │ │ ├── reveal.css
│ │ │ ├── reveal.min.css
│ │ │ ├── search.css
│ │ │ ├── search.js
│ │ │ ├── search.min.css
│ │ │ ├── search.min.js
│ │ │ ├── segment.css
│ │ │ ├── segment.min.css
│ │ │ ├── shape.css
│ │ │ ├── shape.js
│ │ │ ├── shape.min.css
│ │ │ ├── shape.min.js
│ │ │ ├── sidebar.css
│ │ │ ├── sidebar.js
│ │ │ ├── sidebar.min.css
│ │ │ ├── sidebar.min.js
│ │ │ ├── site.css
│ │ │ ├── site.js
│ │ │ ├── site.min.css
│ │ │ ├── site.min.js
│ │ │ ├── state.js
│ │ │ ├── state.min.js
│ │ │ ├── statistic.css
│ │ │ ├── statistic.min.css
│ │ │ ├── step.css
│ │ │ ├── step.min.css
│ │ │ ├── sticky.css
│ │ │ ├── sticky.js
│ │ │ ├── sticky.min.css
│ │ │ ├── sticky.min.js
│ │ │ ├── tab.css
│ │ │ ├── tab.js
│ │ │ ├── tab.min.css
│ │ │ ├── tab.min.js
│ │ │ ├── table.css
│ │ │ ├── table.min.css
│ │ │ ├── transition.css
│ │ │ ├── transition.js
│ │ │ ├── transition.min.css
│ │ │ ├── transition.min.js
│ │ │ ├── visibility.js
│ │ │ └── visibility.min.js
│ │ ├── semantic.css
│ │ ├── semantic.js
│ │ ├── semantic.min.css
│ │ ├── semantic.min.js
│ │ └── themes
│ │ │ ├── basic
│ │ │ └── assets
│ │ │ │ └── fonts
│ │ │ │ ├── icons.eot
│ │ │ │ ├── icons.svg
│ │ │ │ ├── icons.ttf
│ │ │ │ └── icons.woff
│ │ │ ├── default
│ │ │ └── assets
│ │ │ │ ├── fonts
│ │ │ │ ├── icons.eot
│ │ │ │ ├── icons.svg
│ │ │ │ ├── icons.ttf
│ │ │ │ ├── icons.woff
│ │ │ │ └── icons.woff2
│ │ │ │ └── images
│ │ │ │ └── flags.png
│ │ │ └── github
│ │ │ └── assets
│ │ │ └── fonts
│ │ │ ├── octicons-local.ttf
│ │ │ ├── octicons.svg
│ │ │ ├── octicons.ttf
│ │ │ └── octicons.woff
│ │ ├── gulpfile.js
│ │ ├── src
│ │ ├── definitions
│ │ │ ├── behaviors
│ │ │ │ ├── api.js
│ │ │ │ ├── colorize.js
│ │ │ │ ├── form.js
│ │ │ │ ├── state.js
│ │ │ │ ├── visibility.js
│ │ │ │ └── visit.js
│ │ │ ├── collections
│ │ │ │ ├── breadcrumb.less
│ │ │ │ ├── form.less
│ │ │ │ ├── grid.less
│ │ │ │ ├── menu.less
│ │ │ │ ├── message.less
│ │ │ │ └── table.less
│ │ │ ├── elements
│ │ │ │ ├── button.less
│ │ │ │ ├── container.less
│ │ │ │ ├── divider.less
│ │ │ │ ├── flag.less
│ │ │ │ ├── header.less
│ │ │ │ ├── icon.less
│ │ │ │ ├── image.less
│ │ │ │ ├── input.less
│ │ │ │ ├── label.less
│ │ │ │ ├── list.less
│ │ │ │ ├── loader.less
│ │ │ │ ├── rail.less
│ │ │ │ ├── reveal.less
│ │ │ │ ├── segment.less
│ │ │ │ └── step.less
│ │ │ ├── globals
│ │ │ │ ├── reset.less
│ │ │ │ ├── site.js
│ │ │ │ └── site.less
│ │ │ ├── modules
│ │ │ │ ├── accordion.js
│ │ │ │ ├── accordion.less
│ │ │ │ ├── checkbox.js
│ │ │ │ ├── checkbox.less
│ │ │ │ ├── dimmer.js
│ │ │ │ ├── dimmer.less
│ │ │ │ ├── dropdown.js
│ │ │ │ ├── dropdown.less
│ │ │ │ ├── embed.js
│ │ │ │ ├── embed.less
│ │ │ │ ├── modal.js
│ │ │ │ ├── modal.less
│ │ │ │ ├── nag.js
│ │ │ │ ├── nag.less
│ │ │ │ ├── popup.js
│ │ │ │ ├── popup.less
│ │ │ │ ├── progress.js
│ │ │ │ ├── progress.less
│ │ │ │ ├── rating.js
│ │ │ │ ├── rating.less
│ │ │ │ ├── search.js
│ │ │ │ ├── search.less
│ │ │ │ ├── shape.js
│ │ │ │ ├── shape.less
│ │ │ │ ├── sidebar.js
│ │ │ │ ├── sidebar.less
│ │ │ │ ├── sticky.js
│ │ │ │ ├── sticky.less
│ │ │ │ ├── tab.js
│ │ │ │ ├── tab.less
│ │ │ │ ├── transition.js
│ │ │ │ └── transition.less
│ │ │ └── views
│ │ │ │ ├── ad.less
│ │ │ │ ├── card.less
│ │ │ │ ├── comment.less
│ │ │ │ ├── feed.less
│ │ │ │ ├── item.less
│ │ │ │ └── statistic.less
│ │ ├── semantic.less
│ │ ├── site
│ │ │ ├── collections
│ │ │ │ ├── breadcrumb.overrides
│ │ │ │ ├── breadcrumb.variables
│ │ │ │ ├── form.overrides
│ │ │ │ ├── form.variables
│ │ │ │ ├── grid.overrides
│ │ │ │ ├── grid.variables
│ │ │ │ ├── menu.overrides
│ │ │ │ ├── menu.variables
│ │ │ │ ├── message.overrides
│ │ │ │ ├── message.variables
│ │ │ │ ├── table.overrides
│ │ │ │ └── table.variables
│ │ │ ├── elements
│ │ │ │ ├── button.overrides
│ │ │ │ ├── button.variables
│ │ │ │ ├── container.overrides
│ │ │ │ ├── container.variables
│ │ │ │ ├── divider.overrides
│ │ │ │ ├── divider.variables
│ │ │ │ ├── flag.overrides
│ │ │ │ ├── flag.variables
│ │ │ │ ├── header.overrides
│ │ │ │ ├── header.variables
│ │ │ │ ├── icon.overrides
│ │ │ │ ├── icon.variables
│ │ │ │ ├── image.overrides
│ │ │ │ ├── image.variables
│ │ │ │ ├── input.overrides
│ │ │ │ ├── input.variables
│ │ │ │ ├── label.overrides
│ │ │ │ ├── label.variables
│ │ │ │ ├── list.overrides
│ │ │ │ ├── list.variables
│ │ │ │ ├── loader.overrides
│ │ │ │ ├── loader.variables
│ │ │ │ ├── rail.overrides
│ │ │ │ ├── rail.variables
│ │ │ │ ├── reveal.overrides
│ │ │ │ ├── reveal.variables
│ │ │ │ ├── segment.overrides
│ │ │ │ ├── segment.variables
│ │ │ │ ├── step.overrides
│ │ │ │ └── step.variables
│ │ │ ├── globals
│ │ │ │ ├── reset.overrides
│ │ │ │ ├── reset.variables
│ │ │ │ ├── site.overrides
│ │ │ │ └── site.variables
│ │ │ ├── modules
│ │ │ │ ├── accordion.overrides
│ │ │ │ ├── accordion.variables
│ │ │ │ ├── chatroom.overrides
│ │ │ │ ├── chatroom.variables
│ │ │ │ ├── checkbox.overrides
│ │ │ │ ├── checkbox.variables
│ │ │ │ ├── dimmer.overrides
│ │ │ │ ├── dimmer.variables
│ │ │ │ ├── dropdown.overrides
│ │ │ │ ├── dropdown.variables
│ │ │ │ ├── embed.overrides
│ │ │ │ ├── embed.variables
│ │ │ │ ├── modal.overrides
│ │ │ │ ├── modal.variables
│ │ │ │ ├── nag.overrides
│ │ │ │ ├── nag.variables
│ │ │ │ ├── popup.overrides
│ │ │ │ ├── popup.variables
│ │ │ │ ├── progress.overrides
│ │ │ │ ├── progress.variables
│ │ │ │ ├── rating.overrides
│ │ │ │ ├── rating.variables
│ │ │ │ ├── search.overrides
│ │ │ │ ├── search.variables
│ │ │ │ ├── shape.overrides
│ │ │ │ ├── shape.variables
│ │ │ │ ├── sidebar.overrides
│ │ │ │ ├── sidebar.variables
│ │ │ │ ├── sticky.overrides
│ │ │ │ ├── sticky.variables
│ │ │ │ ├── tab.overrides
│ │ │ │ ├── tab.variables
│ │ │ │ ├── transition.overrides
│ │ │ │ └── transition.variables
│ │ │ └── views
│ │ │ │ ├── ad.overrides
│ │ │ │ ├── ad.variables
│ │ │ │ ├── card.overrides
│ │ │ │ ├── card.variables
│ │ │ │ ├── comment.overrides
│ │ │ │ ├── comment.variables
│ │ │ │ ├── feed.overrides
│ │ │ │ ├── feed.variables
│ │ │ │ ├── item.overrides
│ │ │ │ ├── item.variables
│ │ │ │ ├── statistic.overrides
│ │ │ │ └── statistic.variables
│ │ ├── theme.config
│ │ ├── theme.less
│ │ └── themes
│ │ │ ├── amazon
│ │ │ ├── elements
│ │ │ │ ├── button.overrides
│ │ │ │ └── button.variables
│ │ │ └── globals
│ │ │ │ └── site.variables
│ │ │ ├── basic
│ │ │ ├── assets
│ │ │ │ └── fonts
│ │ │ │ │ ├── icons.eot
│ │ │ │ │ ├── icons.svg
│ │ │ │ │ ├── icons.ttf
│ │ │ │ │ └── icons.woff
│ │ │ ├── collections
│ │ │ │ ├── table.overrides
│ │ │ │ └── table.variables
│ │ │ ├── elements
│ │ │ │ ├── button.overrides
│ │ │ │ ├── button.variables
│ │ │ │ ├── icon.overrides
│ │ │ │ ├── icon.variables
│ │ │ │ ├── step.overrides
│ │ │ │ └── step.variables
│ │ │ ├── globals
│ │ │ │ ├── reset.overrides
│ │ │ │ └── reset.variables
│ │ │ ├── modules
│ │ │ │ ├── progress.overrides
│ │ │ │ └── progress.variables
│ │ │ └── views
│ │ │ │ ├── card.overrides
│ │ │ │ └── card.variables
│ │ │ ├── bookish
│ │ │ └── elements
│ │ │ │ ├── header.overrides
│ │ │ │ └── header.variables
│ │ │ ├── bootstrap3
│ │ │ └── elements
│ │ │ │ ├── button.overrides
│ │ │ │ └── button.variables
│ │ │ ├── chubby
│ │ │ ├── collections
│ │ │ │ ├── form.overrides
│ │ │ │ ├── form.variables
│ │ │ │ ├── menu.overrides
│ │ │ │ └── menu.variables
│ │ │ ├── elements
│ │ │ │ ├── button.overrides
│ │ │ │ ├── button.variables
│ │ │ │ ├── header.overrides
│ │ │ │ └── header.variables
│ │ │ ├── modules
│ │ │ │ ├── accordion.overrides
│ │ │ │ └── accordion.variables
│ │ │ └── views
│ │ │ │ ├── comment.overrides
│ │ │ │ └── comment.variables
│ │ │ ├── classic
│ │ │ ├── collections
│ │ │ │ ├── table.overrides
│ │ │ │ └── table.variables
│ │ │ ├── elements
│ │ │ │ ├── button.overrides
│ │ │ │ ├── button.variables
│ │ │ │ ├── header.overrides
│ │ │ │ └── header.variables
│ │ │ ├── modules
│ │ │ │ ├── progress.overrides
│ │ │ │ └── progress.variables
│ │ │ └── views
│ │ │ │ ├── card.overrides
│ │ │ │ └── card.variables
│ │ │ ├── colored
│ │ │ └── modules
│ │ │ │ ├── checkbox.overrides
│ │ │ │ └── checkbox.variables
│ │ │ ├── default
│ │ │ ├── assets
│ │ │ │ ├── fonts
│ │ │ │ │ ├── icons.eot
│ │ │ │ │ ├── icons.svg
│ │ │ │ │ ├── icons.ttf
│ │ │ │ │ ├── icons.woff
│ │ │ │ │ └── icons.woff2
│ │ │ │ └── images
│ │ │ │ │ └── flags.png
│ │ │ ├── collections
│ │ │ │ ├── breadcrumb.overrides
│ │ │ │ ├── breadcrumb.variables
│ │ │ │ ├── form.overrides
│ │ │ │ ├── form.variables
│ │ │ │ ├── grid.overrides
│ │ │ │ ├── grid.variables
│ │ │ │ ├── menu.overrides
│ │ │ │ ├── menu.variables
│ │ │ │ ├── message.overrides
│ │ │ │ ├── message.variables
│ │ │ │ ├── table.overrides
│ │ │ │ └── table.variables
│ │ │ ├── elements
│ │ │ │ ├── button.overrides
│ │ │ │ ├── button.variables
│ │ │ │ ├── container.overrides
│ │ │ │ ├── container.variables
│ │ │ │ ├── divider.overrides
│ │ │ │ ├── divider.variables
│ │ │ │ ├── flag.overrides
│ │ │ │ ├── flag.variables
│ │ │ │ ├── header.overrides
│ │ │ │ ├── header.variables
│ │ │ │ ├── icon.overrides
│ │ │ │ ├── icon.variables
│ │ │ │ ├── image.overrides
│ │ │ │ ├── image.variables
│ │ │ │ ├── input.overrides
│ │ │ │ ├── input.variables
│ │ │ │ ├── label.overrides
│ │ │ │ ├── label.variables
│ │ │ │ ├── list.overrides
│ │ │ │ ├── list.variables
│ │ │ │ ├── loader.overrides
│ │ │ │ ├── loader.variables
│ │ │ │ ├── rail.overrides
│ │ │ │ ├── rail.variables
│ │ │ │ ├── reveal.overrides
│ │ │ │ ├── reveal.variables
│ │ │ │ ├── segment.overrides
│ │ │ │ ├── segment.variables
│ │ │ │ ├── step.overrides
│ │ │ │ └── step.variables
│ │ │ ├── globals
│ │ │ │ ├── reset.overrides
│ │ │ │ ├── reset.variables
│ │ │ │ ├── site.overrides
│ │ │ │ └── site.variables
│ │ │ ├── modules
│ │ │ │ ├── accordion.overrides
│ │ │ │ ├── accordion.variables
│ │ │ │ ├── chatroom.overrides
│ │ │ │ ├── chatroom.variables
│ │ │ │ ├── checkbox.overrides
│ │ │ │ ├── checkbox.variables
│ │ │ │ ├── dimmer.overrides
│ │ │ │ ├── dimmer.variables
│ │ │ │ ├── dropdown.overrides
│ │ │ │ ├── dropdown.variables
│ │ │ │ ├── embed.overrides
│ │ │ │ ├── embed.variables
│ │ │ │ ├── modal.overrides
│ │ │ │ ├── modal.variables
│ │ │ │ ├── nag.overrides
│ │ │ │ ├── nag.variables
│ │ │ │ ├── popup.overrides
│ │ │ │ ├── popup.variables
│ │ │ │ ├── progress.overrides
│ │ │ │ ├── progress.variables
│ │ │ │ ├── rating.overrides
│ │ │ │ ├── rating.variables
│ │ │ │ ├── search.overrides
│ │ │ │ ├── search.variables
│ │ │ │ ├── shape.overrides
│ │ │ │ ├── shape.variables
│ │ │ │ ├── sidebar.overrides
│ │ │ │ ├── sidebar.variables
│ │ │ │ ├── sticky.overrides
│ │ │ │ ├── sticky.variables
│ │ │ │ ├── tab.overrides
│ │ │ │ ├── tab.variables
│ │ │ │ ├── transition.overrides
│ │ │ │ └── transition.variables
│ │ │ └── views
│ │ │ │ ├── ad.overrides
│ │ │ │ ├── ad.variables
│ │ │ │ ├── card.overrides
│ │ │ │ ├── card.variables
│ │ │ │ ├── comment.overrides
│ │ │ │ ├── comment.variables
│ │ │ │ ├── feed.overrides
│ │ │ │ ├── feed.variables
│ │ │ │ ├── item.overrides
│ │ │ │ ├── item.variables
│ │ │ │ ├── statistic.overrides
│ │ │ │ └── statistic.variables
│ │ │ ├── duo
│ │ │ └── elements
│ │ │ │ ├── loader.overrides
│ │ │ │ └── loader.variables
│ │ │ ├── fixed-width
│ │ │ ├── collections
│ │ │ │ ├── grid.overrides
│ │ │ │ └── grid.variables
│ │ │ └── modules
│ │ │ │ ├── modal.overrides
│ │ │ │ └── modal.variables
│ │ │ ├── flat
│ │ │ ├── collections
│ │ │ │ ├── form.overrides
│ │ │ │ └── form.variables
│ │ │ └── globals
│ │ │ │ ├── site.overrides
│ │ │ │ └── site.variables
│ │ │ ├── github
│ │ │ ├── assets
│ │ │ │ └── fonts
│ │ │ │ │ ├── octicons-local.ttf
│ │ │ │ │ ├── octicons.svg
│ │ │ │ │ ├── octicons.ttf
│ │ │ │ │ └── octicons.woff
│ │ │ ├── collections
│ │ │ │ ├── breadcrumb.variables
│ │ │ │ ├── form.overrides
│ │ │ │ ├── form.variables
│ │ │ │ ├── grid.variables
│ │ │ │ ├── menu.overrides
│ │ │ │ ├── menu.variables
│ │ │ │ ├── message.overrides
│ │ │ │ ├── message.variables
│ │ │ │ └── table.variables
│ │ │ ├── elements
│ │ │ │ ├── button.overrides
│ │ │ │ ├── button.variables
│ │ │ │ ├── header.variables
│ │ │ │ ├── icon.overrides
│ │ │ │ ├── icon.variables
│ │ │ │ ├── image.variables
│ │ │ │ ├── input.overrides
│ │ │ │ ├── input.variables
│ │ │ │ ├── label.overrides
│ │ │ │ ├── label.variables
│ │ │ │ ├── segment.overrides
│ │ │ │ ├── segment.variables
│ │ │ │ ├── step.overrides
│ │ │ │ └── step.variables
│ │ │ ├── globals
│ │ │ │ └── site.variables
│ │ │ └── modules
│ │ │ │ ├── dropdown.overrides
│ │ │ │ ├── dropdown.variables
│ │ │ │ └── popup.variables
│ │ │ ├── gmail
│ │ │ └── collections
│ │ │ │ ├── message.overrides
│ │ │ │ └── message.variables
│ │ │ ├── instagram
│ │ │ └── views
│ │ │ │ ├── card.overrides
│ │ │ │ └── card.variables
│ │ │ ├── material
│ │ │ ├── collections
│ │ │ │ ├── menu.overrides
│ │ │ │ └── menu.variables
│ │ │ ├── elements
│ │ │ │ ├── button.overrides
│ │ │ │ ├── button.variables
│ │ │ │ ├── header.overrides
│ │ │ │ └── header.variables
│ │ │ ├── globals
│ │ │ │ ├── site.overrides
│ │ │ │ └── site.variables
│ │ │ └── modules
│ │ │ │ ├── dropdown.overrides
│ │ │ │ ├── dropdown.variables
│ │ │ │ ├── modal.overrides
│ │ │ │ └── modal.variables
│ │ │ ├── pulsar
│ │ │ └── elements
│ │ │ │ ├── loader.overrides
│ │ │ │ └── loader.variables
│ │ │ ├── raised
│ │ │ └── elements
│ │ │ │ ├── button.overrides
│ │ │ │ └── button.variables
│ │ │ ├── resetcss
│ │ │ └── globals
│ │ │ │ ├── reset.overrides
│ │ │ │ └── reset.variables
│ │ │ ├── round
│ │ │ └── elements
│ │ │ │ ├── button.overrides
│ │ │ │ └── button.variables
│ │ │ ├── rtl
│ │ │ └── globals
│ │ │ │ ├── site.overrides
│ │ │ │ └── site.variables
│ │ │ ├── striped
│ │ │ └── modules
│ │ │ │ ├── progress.overrides
│ │ │ │ └── progress.variables
│ │ │ ├── timeline
│ │ │ └── views
│ │ │ │ ├── feed.overrides
│ │ │ │ └── feed.variables
│ │ │ └── twitter
│ │ │ └── elements
│ │ │ ├── button.overrides
│ │ │ └── button.variables
│ │ └── tasks
│ │ ├── README.md
│ │ ├── admin
│ │ ├── components
│ │ │ ├── create.js
│ │ │ ├── init.js
│ │ │ └── update.js
│ │ ├── distributions
│ │ │ ├── create.js
│ │ │ ├── init.js
│ │ │ └── update.js
│ │ ├── publish.js
│ │ ├── register.js
│ │ └── release.js
│ │ ├── build.js
│ │ ├── build
│ │ ├── assets.js
│ │ ├── css.js
│ │ └── javascript.js
│ │ ├── check-install.js
│ │ ├── clean.js
│ │ ├── collections
│ │ ├── README.md
│ │ ├── admin.js
│ │ ├── build.js
│ │ ├── internal.js
│ │ └── rtl.js
│ │ ├── config
│ │ ├── admin
│ │ │ ├── github.js
│ │ │ ├── oauth.example.js
│ │ │ ├── release.js
│ │ │ └── templates
│ │ │ │ ├── README.md
│ │ │ │ ├── bower.json
│ │ │ │ ├── component-package.js
│ │ │ │ ├── composer.json
│ │ │ │ ├── css-package.js
│ │ │ │ ├── less-package.js
│ │ │ │ └── package.json
│ │ ├── defaults.js
│ │ ├── docs.js
│ │ ├── npm
│ │ │ └── gulpfile.js
│ │ ├── project
│ │ │ ├── config.js
│ │ │ ├── install.js
│ │ │ └── release.js
│ │ ├── tasks.js
│ │ └── user.js
│ │ ├── docs
│ │ ├── build.js
│ │ ├── metadata.js
│ │ └── serve.js
│ │ ├── install.js
│ │ ├── rtl
│ │ ├── build.js
│ │ └── watch.js
│ │ ├── version.js
│ │ └── watch.js
├── static
│ ├── .gitkeep
│ └── images
│ │ └── avatar1.jpg
└── test
│ ├── e2e
│ ├── custom-assertions
│ │ └── elementCount.js
│ ├── nightwatch.conf.js
│ ├── runner.js
│ └── specs
│ │ └── test.js
│ └── unit
│ ├── .eslintrc
│ ├── Hello.spec.js
│ ├── index.js
│ ├── karma.conf.js
│ └── specs
│ └── Hello.spec.js
└── public
├── .htaccess
├── favicon.ico
├── index.php
└── robots.txt
/.gitignore:
--------------------------------------------------------------------------------
1 | ### Laravel template
2 | /backend/bootstrap/compiled.php
3 | /backend/.env.*.php
4 | /backend/.env.php
5 | /backend/.env
6 | ### Composer template
7 | /backend/composer.phar
8 | /backend/vendor/
9 |
10 | # Commit your application's lock file http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file
11 | # You may choose to ignore a library lock file http://getcomposer.org/doc/02-libraries.md#lock-file
12 | # composer.lock
13 | ### Node template
14 | # Logs
15 | /frontend/logs
16 | /frontend/*.log
17 | /frontend/npm-debug.log*
18 |
19 | # Runtime data
20 | /frontend/pids
21 | /frontend/*.pid
22 | /frontend/*.seed
23 |
24 | # Directory for instrumented libs generated by jscoverage/JSCover
25 | /frontend/lib-cov
26 |
27 | # Coverage directory used by tools like istanbul
28 | /frontend/coverage
29 |
30 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
31 | /frontend/.grunt
32 |
33 | # node-waf configuration
34 | /frontend/.lock-wscript
35 |
36 | # Compiled binary addons (http://nodejs.org/api/addons.html)
37 | /frontend/build/Release
38 |
39 | # Dependency directory
40 | # https://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-folder-into-git
41 | /frontend/node_modules
42 |
43 | # Created by .ignore support plugin (hsz.mobi)
44 | public/dist/
45 | .idea/
46 | public/index.html
47 | public/admin.html
48 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 zgldh
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/RoadMap.md:
--------------------------------------------------------------------------------
1 | # vuejs-laravel 路线图
2 |
3 | 打算先实现模块,再考虑模块扩展性。一开始就考虑扩展性太痛苦了。
4 |
5 | 1. 模块基础
6 | 1.1. 设计加载方式 **[In Progress]**
7 | 1.2. 设计自定义方式 **[In Progress]**
8 |
9 | 2. 基础用户模块
10 | 2.1. 用户列表 **[In Progress]**
11 | 2.2. 角色列表
12 | 2.3. 权限列表
13 | 2.4. 新增/编辑角色,与权限关联
14 | 2.5. 新增/编辑用户,与角色关联,与权限关联
15 |
16 | 3. 文章模块 _作为第一个扩展模块_
17 | 3.1. 文章列表
18 | 3.2. 新增文章
19 |
20 | 4. 分类模块
21 | 4.1. 分类列表/编辑分类
22 | 4.2. 分类类型
23 |
24 | 5. 文章和分类关联
25 |
26 | 6. 待续
27 |
28 |
29 |
--------------------------------------------------------------------------------
/backend/.env.example:
--------------------------------------------------------------------------------
1 | APP_ENV=local
2 | APP_DEBUG=true
3 | APP_KEY=aDQcxOxyAconNfmtJ2EAFPq3gWHp2ihn
4 | APP_URL=http://localhost
5 |
6 | DB_HOST=127.0.0.1
7 | DB_PORT=3306
8 | DB_DATABASE=homestead
9 | DB_USERNAME=homestead
10 | DB_PASSWORD=secret
11 |
12 | CACHE_DRIVER=file
13 | SESSION_DRIVER=file
14 | QUEUE_DRIVER=sync
15 |
16 | REDIS_HOST=127.0.0.1
17 | REDIS_PASSWORD=null
18 | REDIS_PORT=6379
19 |
20 | MAIL_DRIVER=smtp
21 | MAIL_HOST=mailtrap.io
22 | MAIL_PORT=2525
23 | MAIL_USERNAME=null
24 | MAIL_PASSWORD=null
25 | MAIL_ENCRYPTION=null
26 |
--------------------------------------------------------------------------------
/backend/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 | *.css linguist-vendored
3 | *.less linguist-vendored
4 |
--------------------------------------------------------------------------------
/backend/.gitignore:
--------------------------------------------------------------------------------
1 | /vendor
2 | /node_modules
3 | /public/storage
4 | Homestead.yaml
5 | Homestead.json
6 | .env
7 |
--------------------------------------------------------------------------------
/backend/app/Console/Commands/Inspire.php:
--------------------------------------------------------------------------------
1 | comment(PHP_EOL.Inspiring::quote().PHP_EOL);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/backend/app/Console/Kernel.php:
--------------------------------------------------------------------------------
1 | command('inspire')
29 | // ->hourly();
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/backend/app/Events/Event.php:
--------------------------------------------------------------------------------
1 | middleware('guest');
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/backend/app/Http/Controllers/BaseController.php:
--------------------------------------------------------------------------------
1 | guest()) {
19 | if ($request->ajax() || $request->wantsJson()) {
20 | return response('Unauthorized.', 401);
21 | }
22 | }
23 |
24 | return $next($request);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/backend/app/Http/Middleware/EncryptCookies.php:
--------------------------------------------------------------------------------
1 | check()) {
19 | return \Auth::user();
20 | }
21 |
22 | return $next($request);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/backend/app/Http/Middleware/VerifyCsrfToken.php:
--------------------------------------------------------------------------------
1 | 'api', 'middleware' => ['web']], function () {
30 | //
31 | Route::post('auth/register', 'Auth\AuthController@postRegister');
32 | Route::post('auth/login', 'Auth\AuthController@postLogin');
33 | Route::get('auth/logout', 'Auth\AuthController@getLogout');
34 |
35 | Route::group([
36 | 'prefix' => 'admin'
37 | ], function () {
38 |
39 | });
40 | });
41 |
--------------------------------------------------------------------------------
/backend/app/Jobs/Job.php:
--------------------------------------------------------------------------------
1 | 'App\Policies\ModelPolicy',
17 | ];
18 |
19 | /**
20 | * Register any application authentication / authorization services.
21 | *
22 | * @param \Illuminate\Contracts\Auth\Access\Gate $gate
23 | * @return void
24 | */
25 | public function boot(GateContract $gate)
26 | {
27 | $this->registerPolicies($gate);
28 |
29 | $gate->before(function ($user, $ability) {
30 | if ($user->isAdmin()) {
31 | return true;
32 | }
33 | });
34 | //
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/backend/app/Providers/EventServiceProvider.php:
--------------------------------------------------------------------------------
1 | [
17 | 'App\Listeners\EventListener',
18 | ],
19 | ];
20 |
21 | /**
22 | * Register any other events for your application.
23 | *
24 | * @param \Illuminate\Contracts\Events\Dispatcher $events
25 | * @return void
26 | */
27 | public function boot(DispatcherContract $events)
28 | {
29 | parent::boot($events);
30 |
31 | //
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/backend/app/Providers/RouteServiceProvider.php:
--------------------------------------------------------------------------------
1 | group(['namespace' => $this->namespace], function ($router) {
41 | require app_path('Http/routes.php');
42 | });
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/backend/bootstrap/autoload.php:
--------------------------------------------------------------------------------
1 | [
17 | //
18 | ],
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Compiled File Providers
23 | |--------------------------------------------------------------------------
24 | |
25 | | Here you may list service providers which define a "compiles" function
26 | | that returns additional files that should be compiled, providing an
27 | | easy way to get common files from any packages you are utilizing.
28 | |
29 | */
30 |
31 | 'providers' => [
32 | //
33 | ],
34 |
35 | ];
36 |
--------------------------------------------------------------------------------
/backend/config/services.php:
--------------------------------------------------------------------------------
1 | [
18 | 'domain' => env('MAILGUN_DOMAIN'),
19 | 'secret' => env('MAILGUN_SECRET'),
20 | ],
21 |
22 | 'ses' => [
23 | 'key' => env('SES_KEY'),
24 | 'secret' => env('SES_SECRET'),
25 | 'region' => 'us-east-1',
26 | ],
27 |
28 | 'sparkpost' => [
29 | 'secret' => env('SPARKPOST_SECRET'),
30 | ],
31 |
32 | 'stripe' => [
33 | 'model' => App\User::class,
34 | 'key' => env('STRIPE_KEY'),
35 | 'secret' => env('STRIPE_SECRET'),
36 | ],
37 |
38 | ];
39 |
--------------------------------------------------------------------------------
/backend/config/view.php:
--------------------------------------------------------------------------------
1 | [
17 | realpath(base_path('resources/views')),
18 | ],
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Compiled View Path
23 | |--------------------------------------------------------------------------
24 | |
25 | | This option determines where all the compiled Blade templates will be
26 | | stored for your application. Typically, this is within the storage
27 | | directory. However, as usual, you are free to change this value.
28 | |
29 | */
30 |
31 | 'compiled' => realpath(storage_path('framework/views')),
32 |
33 | ];
34 |
--------------------------------------------------------------------------------
/backend/database/.gitignore:
--------------------------------------------------------------------------------
1 | *.sqlite
2 |
--------------------------------------------------------------------------------
/backend/database/factories/ModelFactory.php:
--------------------------------------------------------------------------------
1 | define(App\User::class, function (Faker\Generator $faker) {
15 | return [
16 | 'name' => $faker->name,
17 | 'email' => $faker->safeEmail,
18 | 'password' => bcrypt(str_random(10)),
19 | 'remember_token' => str_random(10),
20 | ];
21 | });
22 |
--------------------------------------------------------------------------------
/backend/database/migrations/.gitkeep:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/backend/database/migrations/2014_10_12_000000_create_users_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->string('name');
18 | $table->string('email')->unique();
19 | $table->string('password');
20 | $table->rememberToken();
21 | $table->timestamps();
22 | });
23 | }
24 |
25 | /**
26 | * Reverse the migrations.
27 | *
28 | * @return void
29 | */
30 | public function down()
31 | {
32 | Schema::drop('users');
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/backend/database/migrations/2014_10_12_100000_create_password_resets_table.php:
--------------------------------------------------------------------------------
1 | string('email')->index();
17 | $table->string('token')->index();
18 | $table->timestamp('created_at');
19 | });
20 | }
21 |
22 | /**
23 | * Reverse the migrations.
24 | *
25 | * @return void
26 | */
27 | public function down()
28 | {
29 | Schema::drop('password_resets');
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/backend/database/seeds/.gitkeep:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/backend/database/seeds/DatabaseSeeder.php:
--------------------------------------------------------------------------------
1 | call(UsersTableSeeder::class);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/backend/gulpfile.js:
--------------------------------------------------------------------------------
1 | var elixir = require('laravel-elixir');
2 |
3 | /*
4 | |--------------------------------------------------------------------------
5 | | Elixir Asset Management
6 | |--------------------------------------------------------------------------
7 | |
8 | | Elixir provides a clean, fluent API for defining some basic Gulp tasks
9 | | for your Laravel application. By default, we are compiling the Sass
10 | | file for our application, as well as publishing vendor resources.
11 | |
12 | */
13 |
14 | elixir(function(mix) {
15 | mix.sass('app.scss');
16 | });
17 |
--------------------------------------------------------------------------------
/backend/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "devDependencies": {
4 | "gulp": "^3.8.8"
5 | },
6 | "dependencies": {
7 | "laravel-elixir": "^4.0.0",
8 | "bootstrap-sass": "^3.0.0"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/backend/packages/zgldh/VuejsLaravelUser/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/backend/packages/zgldh/VuejsLaravelUser/.gitkeep
--------------------------------------------------------------------------------
/backend/packages/zgldh/VuejsLaravelUser/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "zgldh/vuejs-laravel-user",
3 | "description": "User package for zgldh/vuejs-laravel",
4 | "keywords": [
5 | "vuejs",
6 | "laravel"
7 | ],
8 | "license": "MIT",
9 | "type": "project",
10 | "require": {
11 | "zgldh/vuejs-laravel": "*",
12 | "bican/roles": "2.1.*"
13 | },
14 | "autoload": {
15 | "psr-4": {
16 | "zgldh\\VuejsLaravelUser\\": "src/"
17 | }
18 | },
19 | "autoload-dev": {
20 | },
21 | "config": {
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/backend/packages/zgldh/VuejsLaravelUser/database/migrations/.gitkeep:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/backend/packages/zgldh/VuejsLaravelUser/database/migrations/2014_10_12_000000_create_users_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->string('name');
18 | $table->string('email')->unique();
19 | $table->string('password');
20 | $table->rememberToken();
21 | $table->timestamps();
22 | });
23 | }
24 |
25 | /**
26 | * Reverse the migrations.
27 | *
28 | * @return void
29 | */
30 | public function down()
31 | {
32 | Schema::drop('users');
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/backend/packages/zgldh/VuejsLaravelUser/database/migrations/2014_10_12_100000_create_password_resets_table.php:
--------------------------------------------------------------------------------
1 | string('email')->index();
17 | $table->string('token')->index();
18 | $table->timestamp('created_at');
19 | });
20 | }
21 |
22 | /**
23 | * Reverse the migrations.
24 | *
25 | * @return void
26 | */
27 | public function down()
28 | {
29 | Schema::drop('password_resets');
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/backend/packages/zgldh/VuejsLaravelUser/database/seeds/.gitkeep:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/backend/packages/zgldh/VuejsLaravelUser/src/User.php:
--------------------------------------------------------------------------------
1 | name === 'zgldh';
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/backend/packages/zgldh/VuejsLaravelUser/src/UserAbilities.php:
--------------------------------------------------------------------------------
1 | id === $targetUser->id;
8 | }
9 | }
--------------------------------------------------------------------------------
/backend/packages/zgldh/VuejsLaravelUser/src/UserPermissionRequest.php:
--------------------------------------------------------------------------------
1 | has('_modelClass') && $this->has('_modelId')) {
19 | $model = \App::make($this->get('_modelClass'));
20 | $model = $model->find($this->get('_modelId'));
21 | if ($model) {
22 | return $model;
23 | }
24 | return null;
25 | }
26 | return false;
27 | }
28 | }
--------------------------------------------------------------------------------
/backend/packages/zgldh/VuejsLaravelUser/src/UserRepository.php:
--------------------------------------------------------------------------------
1 | get();
17 | return $users;
18 | }
19 |
20 | public function getOne($userId)
21 | {
22 | $user = User::find($userId);
23 | return $user;
24 | }
25 |
26 | public function create($userData)
27 | {
28 | $user = User::create([
29 | 'name' => $userData['name'],
30 | 'email' => $userData['email'],
31 | 'password' => bcrypt($userData['password']),
32 | ]);
33 | return $user->id;
34 | }
35 |
36 | public function update($userData)
37 | {
38 | $user = User::find($userData['id']);
39 |
40 | if (\Gate::denies('update-user', $user)) {
41 | abort(403);
42 | }
43 | $user->name = $userData['name'];
44 | $user->email = $userData['email'];
45 | $user->save();
46 | }
47 |
48 | public function remove($userId)
49 | {
50 | $user = User::find($userId);
51 | if ($user) {
52 | $user->delete();
53 | }
54 | }
55 | }
--------------------------------------------------------------------------------
/backend/packages/zgldh/VuejsLaravelUser/src/UserRepositoryInterface.php:
--------------------------------------------------------------------------------
1 | app->singleton(UserRepositoryInterface::class, UserRepository::class);
25 | $this->app->register('Bican\Roles\RolesServiceProvider');
26 | }
27 |
28 | public function boot(Gate $gate)
29 | {
30 | $gate->define('list-users', UserAbilities::class . '@updateUser');
31 | }
32 | }
--------------------------------------------------------------------------------
/backend/packages/zgldh/VuejsLaravelUser/src/routes.php:
--------------------------------------------------------------------------------
1 | 'api', 'middleware' => ['web']], function () {
15 |
16 | Route::get('current_user', 'zgldh\VuejsLaravelUser\Controllers\UserController@getCurrentUser');
17 | Route::get('current_user/policy/role/{roleName}',
18 | 'zgldh\VuejsLaravelUser\Controllers\UserController@getCurrentUserPolicyRole');
19 | Route::get('current_user/policy/permission/{permissionName}',
20 | 'zgldh\VuejsLaravelUser\Controllers\UserController@getCurrentUserPolicyPermission');
21 |
22 | //
23 | Route::resource('user', 'zgldh\VuejsLaravelUser\Controllers\UserController');
24 |
25 | Route::group([
26 | 'prefix' => 'admin'
27 | ], function () {
28 |
29 | });
30 | });
31 |
--------------------------------------------------------------------------------
/backend/phpunit.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 | ./tests/
14 |
15 |
16 |
17 |
18 | app/
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/backend/public/.htaccess:
--------------------------------------------------------------------------------
1 |
2 |
3 | Options -MultiViews
4 |
5 |
6 | RewriteEngine On
7 |
8 | # Redirect Trailing Slashes If Not A Folder...
9 | RewriteCond %{REQUEST_FILENAME} !-d
10 | RewriteRule ^(.*)/$ /$1 [L,R=301]
11 |
12 | # Handle Front Controller...
13 | RewriteCond %{REQUEST_FILENAME} !-d
14 | RewriteCond %{REQUEST_FILENAME} !-f
15 | RewriteRule ^ index.php [L]
16 |
17 | # Handle Authorization Header
18 | RewriteCond %{HTTP:Authorization} .
19 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
20 |
21 |
--------------------------------------------------------------------------------
/backend/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/backend/public/favicon.ico
--------------------------------------------------------------------------------
/backend/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow:
3 |
--------------------------------------------------------------------------------
/backend/public/web.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/backend/resources/assets/sass/app.scss:
--------------------------------------------------------------------------------
1 | // @import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap";
2 |
3 |
--------------------------------------------------------------------------------
/backend/resources/lang/en/auth.php:
--------------------------------------------------------------------------------
1 | 'These credentials do not match our records.',
17 | 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
18 |
19 | ];
20 |
--------------------------------------------------------------------------------
/backend/resources/lang/en/pagination.php:
--------------------------------------------------------------------------------
1 | '« Previous',
17 | 'next' => 'Next »',
18 |
19 | ];
20 |
--------------------------------------------------------------------------------
/backend/resources/lang/en/passwords.php:
--------------------------------------------------------------------------------
1 | 'Passwords must be at least six characters and match the confirmation.',
17 | 'reset' => 'Your password has been reset!',
18 | 'sent' => 'We have e-mailed your password reset link!',
19 | 'token' => 'This password reset token is invalid.',
20 | 'user' => "We can't find a user with that e-mail address.",
21 |
22 | ];
23 |
--------------------------------------------------------------------------------
/backend/resources/lang/zh/auth.php:
--------------------------------------------------------------------------------
1 | '用户名或密码错误。',
17 | 'throttle' => '您的尝试登录次数过多. 请 :seconds 秒后再试。',
18 |
19 | ];
20 |
--------------------------------------------------------------------------------
/backend/resources/lang/zh/pagination.php:
--------------------------------------------------------------------------------
1 | '« 上一页',
17 | 'next' => '下一页 »',
18 |
19 | ];
20 |
--------------------------------------------------------------------------------
/backend/resources/lang/zh/passwords.php:
--------------------------------------------------------------------------------
1 | "密码至少是六位字符并且匹配。",
17 |
18 | "user" => "找不到该邮箱对应的用户。",
19 |
20 | "token" => "密码重置令牌无效。",
21 |
22 | "sent" => "密码重置邮件已发送!",
23 |
24 | "reset" => "密码重置成功!",
25 |
26 | ];
27 |
--------------------------------------------------------------------------------
/backend/resources/views/errors/503.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Be right back.
5 |
6 |
7 |
8 |
39 |
40 |
41 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/backend/resources/views/vendor/.gitkeep:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/backend/resources/views/welcome.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Laravel
5 |
6 |
7 |
8 |
37 |
38 |
39 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/backend/server.php:
--------------------------------------------------------------------------------
1 |
8 | */
9 |
10 | $uri = urldecode(
11 | parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
12 | );
13 |
14 | // This file allows us to emulate Apache's "mod_rewrite" functionality from the
15 | // built-in PHP web server. This provides a convenient way to test a Laravel
16 | // application without having installed a "real" web server software here.
17 | if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
18 | return false;
19 | }
20 |
21 | require_once __DIR__.'/public/index.php';
22 |
--------------------------------------------------------------------------------
/backend/storage/app/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !public/
3 | !.gitignore
4 |
--------------------------------------------------------------------------------
/backend/storage/app/public/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/backend/storage/framework/.gitignore:
--------------------------------------------------------------------------------
1 | config.php
2 | routes.php
3 | compiled.php
4 | services.json
5 | events.scanned.php
6 | routes.scanned.php
7 | down
8 |
--------------------------------------------------------------------------------
/backend/storage/framework/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/backend/storage/framework/sessions/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/backend/storage/framework/views/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/backend/storage/logs/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/backend/tests/ExampleTest.php:
--------------------------------------------------------------------------------
1 | visit('/')
17 | ->see('Laravel 5');
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/backend/tests/TestCase.php:
--------------------------------------------------------------------------------
1 | make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();
22 |
23 | return $app;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/frontend/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["es2015", "stage-2"],
3 | "plugins": ["transform-runtime"],
4 | "comments": false
5 | }
6 |
--------------------------------------------------------------------------------
/frontend/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
--------------------------------------------------------------------------------
/frontend/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
4 | extends: 'standard',
5 | // required to lint *.vue files
6 | plugins: [
7 | 'html'
8 | ],
9 | // add your custom rules here
10 | 'rules': {
11 | // allow paren-less arrow functions
12 | 'arrow-parens': 0,
13 | 'brace-style': 0,
14 | 'no-unreachable': 1,
15 | // allow debugger during development
16 | 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/frontend/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules/
3 | dist/
4 | npm-debug.log
5 | selenium-debug.log
6 | test/unit/coverage
7 | test/e2e/reports
8 |
--------------------------------------------------------------------------------
/frontend/README.md:
--------------------------------------------------------------------------------
1 | # vue2
2 |
3 | > A Vue.js project
4 |
5 | ## Build Setup
6 |
7 | ``` bash
8 | # install dependencies
9 | npm install
10 |
11 | # serve with hot reload at localhost:8080
12 | npm run dev
13 |
14 | # build for production with minification
15 | npm run build
16 |
17 | # run unit tests
18 | npm run unit
19 |
20 | # run e2e tests
21 | npm run e2e
22 |
23 | # run all tests
24 | npm test
25 | ```
26 |
27 | For detailed explanation on how things work, checkout the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).
28 |
--------------------------------------------------------------------------------
/frontend/build/build.js:
--------------------------------------------------------------------------------
1 | // https://github.com/shelljs/shelljs
2 | require('shelljs/global')
3 | env.NODE_ENV = 'production'
4 |
5 | var path = require('path')
6 | var config = require('../config')
7 | var ora = require('ora')
8 | var webpack = require('webpack')
9 | var webpackConfig = require('./webpack.prod.conf')
10 |
11 | console.log(
12 | ' Tip:\n' +
13 | ' Built files are meant to be served over an HTTP server.\n' +
14 | ' Opening index.html over file:// won\'t work.\n'
15 | )
16 |
17 | var spinner = ora('building for production...\n')
18 | spinner.start()
19 |
20 | var assetsPath = path.join(config.build.assetsRoot, config.build.assetsSubDirectory)
21 | rm('-rf', assetsPath)
22 | mkdir('-p', assetsPath)
23 | cp('-R', 'static/', assetsPath)
24 |
25 | webpack(webpackConfig, function (err, stats) {
26 | spinner.stop()
27 | if (err) throw err
28 | process.stdout.write(stats.toString({
29 | colors: true,
30 | modules: false,
31 | children: false,
32 | chunks: false,
33 | chunkModules: false
34 | }) + '\n')
35 | })
36 |
--------------------------------------------------------------------------------
/frontend/build/dev-client.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | require('eventsource-polyfill')
3 | var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true')
4 |
5 | hotClient.subscribe(function (event) {
6 | if (event.action === 'reload') {
7 | window.location.reload()
8 | }
9 | })
10 |
--------------------------------------------------------------------------------
/frontend/config.js:
--------------------------------------------------------------------------------
1 | // see http://vuejs-templates.github.io/webpack for documentation.
2 | var path = require('path')
3 |
4 | module.exports = {
5 | build: {
6 | index: path.resolve(__dirname, '../public/index.html'),
7 | admin: path.resolve(__dirname, '../public/admin.html'),
8 | assetsRoot: path.resolve(__dirname, '../public'),
9 | assetsSubDirectory: 'static',
10 | assetsPublicPath: '/',
11 | productionSourceMap: true
12 | },
13 | dev: {
14 | port: 8080,
15 | proxyTable: {
16 | '/api': {
17 | target: 'http://vuejs-laravel',
18 | changeOrigin: true,
19 | pathRewrite: {
20 | }
21 | }
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/frontend/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | vue2
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/frontend/semantic.json:
--------------------------------------------------------------------------------
1 | {
2 | "base": "src\\semantic\\",
3 | "paths": {
4 | "source": {
5 | "config": "src/theme.config",
6 | "definitions": "src/definitions/",
7 | "site": "src/site/",
8 | "themes": "src/themes/"
9 | },
10 | "output": {
11 | "packaged": "dist/",
12 | "uncompressed": "dist/components/",
13 | "compressed": "dist/components/",
14 | "themes": "dist/themes/"
15 | },
16 | "clean": "dist/"
17 | },
18 | "permission": false,
19 | "rtl": false,
20 | "version": "2.2.1"
21 | }
--------------------------------------------------------------------------------
/frontend/src/admin.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 | 管理后台
8 | 管理后台 - {{ pageTitle }}
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/frontend/src/admin.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import VueAsyncData from 'vue-async-data'
3 |
4 | import App from './components/Admin/App.vue'
5 | import Router from './components/Admin/router.js'
6 | import './components/resources.js'
7 | import store from './components/Admin/Vuex/Store'
8 |
9 | Vue.use(VueAsyncData)
10 | Vue.config.debug = true
11 | Vue.config.unsafeDelimiters = ['{!!', '!!}']
12 | /* eslint-disable no-new */
13 | var application = Vue.extend({
14 | components: {App},
15 | data () {
16 | return {pageTitle: null}
17 | },
18 | events: {
19 | onPageTitleChanged: function (title) {
20 | this.pageTitle = title
21 | }
22 | },
23 | store: store
24 | })
25 | Router.start(application, 'html')
26 |
--------------------------------------------------------------------------------
/frontend/src/assets/custom.scss:
--------------------------------------------------------------------------------
1 | .ui.button {
2 | font-family: 微软雅黑;
3 | }
--------------------------------------------------------------------------------
/frontend/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/assets/logo.png
--------------------------------------------------------------------------------
/frontend/src/assets/page-transition.scss:
--------------------------------------------------------------------------------
1 | .page-transition {
2 | display: inline-block; /* 否则 scale 动画不起作用 */
3 | position: absolute;
4 | }
5 |
6 | .page-enter {
7 | animation: page-in .3s;
8 | position: absolute;
9 | }
10 |
11 | .page-leave {
12 | animation: page-out .3s;
13 | position: absolute;
14 | }
15 |
16 | .pusher {
17 | .page-transition {
18 | &.full-page {
19 | }
20 | }
21 | }
22 |
23 | @keyframes page-in {
24 | 0% {
25 | top: -100%;
26 | opacity: 0;
27 | }
28 | 100% {
29 | top: 0;
30 | opacity: 1;
31 | }
32 | }
33 |
34 | @keyframes page-out {
35 | 0% {
36 | opacity: 1;
37 | }
38 | 100% {
39 | opacity: 0;
40 | }
41 | }
--------------------------------------------------------------------------------
/frontend/src/components/Admin/Pages/Dashboard.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Admin Dashboard
5 |
6 |
7 |
8 |
9 |
31 |
32 |
34 |
--------------------------------------------------------------------------------
/frontend/src/components/Admin/Vuex/Actions.js:
--------------------------------------------------------------------------------
1 | // An action will receive the store as the first argument.
2 | // Since we are only interested in the dispatch (and optionally the state)
3 | // we can pull those two parameters using the ES6 destructuring feature
4 | export const toggleSiteNavVisible = function ({dispatch, state}) {
5 | dispatch('TOGGLE_SITENAV_VISIBLE')
6 | }
7 |
--------------------------------------------------------------------------------
/frontend/src/components/Admin/Vuex/Getters.js:
--------------------------------------------------------------------------------
1 | // This getter is a function which just returns the count
2 | // With ES6 you can also write it as:
3 | // export const getCount = state => state.count
4 |
5 | export function getSiteNavVisible (state) {
6 | return state.siteNavVisible
7 | }
8 |
--------------------------------------------------------------------------------
/frontend/src/components/Admin/Vuex/Store.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Vuex from 'vuex'
3 |
4 | Vue.use(Vuex)
5 |
6 | // Create an object to hold the initial state when
7 | // the app starts up
8 | const state = {
9 | siteNavVisible: false
10 | }
11 |
12 | // Create an object storing various mutations. We will write the mutation
13 | const mutations = {
14 | // TODO: set up our mutations
15 | TOGGLE_SITENAV_VISIBLE: function (state, amount) {
16 | if (amount === undefined) {
17 | state.siteNavVisible = !state.siteNavVisible
18 | }
19 | else {
20 | state.siteNavVisible = amount
21 | }
22 | }
23 | }
24 |
25 | // Combine the initial state and the mutations to create a Vuex store.
26 | // This store can be linked to our app.
27 | export default new Vuex.Store({
28 | state,
29 | mutations
30 | })
31 |
--------------------------------------------------------------------------------
/frontend/src/components/Admin/router.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import VueRouter from 'vue-router'
3 | import Dashboard from 'components/Admin/Pages/Dashboard.vue'
4 | import Login from 'components/Admin/Pages/Login.vue'
5 |
6 | Vue.use(VueRouter)
7 | var router = new VueRouter({
8 | // Set to true to remove #! in path.
9 | // It needs proper configured server.
10 | // http://readystate4.com/2012/05/17/nginx-and-apache-rewrite-to-support-html5-pushstate/
11 | history: false
12 | })
13 | router.map({
14 | '/dashboard': {
15 | component: Dashboard
16 | },
17 | '/login': {
18 | component: Login
19 | }
20 | })
21 | export default router
22 |
--------------------------------------------------------------------------------
/frontend/src/components/Index/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
24 |
25 |
29 |
--------------------------------------------------------------------------------
/frontend/src/components/Index/Pages/Home.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
VueJS + Laravel + SemanticUI + WebPack
5 |
次世代Web开发组合
6 |
7 |
8 |
9 |
10 |
22 |
23 |
25 |
--------------------------------------------------------------------------------
/frontend/src/components/Index/router.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import VueRouter from 'vue-router'
3 | import Home from 'components/Index/Pages/Home.vue'
4 | import Register from 'components/Index/Pages/Register.vue'
5 | import Login from 'components/Index/Pages/Login.vue'
6 |
7 | Vue.use(VueRouter)
8 | var router = new VueRouter({
9 | // Set to true to remove #! in path.
10 | // It needs proper configured server.
11 | // http://readystate4.com/2012/05/17/nginx-and-apache-rewrite-to-support-html5-pushstate/
12 | history: false
13 | })
14 | router.map({
15 | '/': {
16 | component: Home
17 | },
18 | '/login': {
19 | component: Login
20 | },
21 | '/register': {
22 | component: Register
23 | }
24 | })
25 | export default router
26 |
--------------------------------------------------------------------------------
/frontend/src/extensions/AdminNavigatorsProvider.vue:
--------------------------------------------------------------------------------
1 |
37 |
--------------------------------------------------------------------------------
/frontend/src/extensions/PackageInstaller.vue:
--------------------------------------------------------------------------------
1 |
37 |
--------------------------------------------------------------------------------
/frontend/src/extensions/Pagination.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/frontend/src/extensions/WebPage.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 |
3 | var WebPage = {
4 | extend: function (settings) {
5 | var mixin = {
6 | ready: function () {
7 | if (this.pageTitle) {
8 | this.$dispatch('onPageTitleChanged', this.pageTitle)
9 | }
10 | }
11 | }
12 |
13 | if (settings.mixins) {
14 | settings.mixins.push(mixin)
15 | }
16 | else {
17 | settings.mixins = [mixin]
18 | }
19 |
20 | return Vue.extend(settings)
21 | }
22 | }
23 |
24 | export default WebPage
25 |
--------------------------------------------------------------------------------
/frontend/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 | Vue+Laravel Main
8 | Vue+Laravel Main - {{ pageTitle }}
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/frontend/src/index.js:
--------------------------------------------------------------------------------
1 | import App from './components/Index/App.vue'
2 | import Router from './components/Index/router.js'
3 |
4 | require(['vue', 'vue-async-data', 'vuex', './components/resources.js'],
5 | function (Vue, VueAsyncData, Vuex) {
6 | Vue.use(VueAsyncData)
7 | Vue.use(Vuex)
8 | Vue.config.debug = true
9 | Vue.config.unsafeDelimiters = ['{!!', '!!}']
10 | /* eslint-disable no-new */
11 | var application = Vue.extend({
12 | components: {App},
13 | data () {
14 | return {pageTitle: null}
15 | },
16 | events: {
17 | onPageTitleChanged: function (title) {
18 | this.pageTitle = title
19 | }
20 | }
21 | })
22 | Router.start(application, 'html')
23 | })
24 |
--------------------------------------------------------------------------------
/frontend/src/packages/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * This file should be updated when install / uninstall a front end package.
3 | * !!!本文件必须存在!!!
4 | * 在安装/卸载一个前端包(package)的时候,应当修改本文件
5 | *
6 | * All packages
7 | */
8 | import users from 'zgldh/VuejsLaravelUser'
9 | var packages = [
10 | users
11 | ]
12 |
13 | export default packages
14 |
--------------------------------------------------------------------------------
/frontend/src/packages/zgldh/VuejsLaravelUser/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/packages/zgldh/VuejsLaravelUser/.gitkeep
--------------------------------------------------------------------------------
/frontend/src/packages/zgldh/VuejsLaravelUser/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by zgldh on 2016/5/30.
3 | * 这是 zgldh/vuejs-laravel-user 组件的配置文件。
4 | * 包含路由、菜单配置等。 有待后续扩展
5 | */
6 | import UserEditor from 'zgldh/VuejsLaravelUser/vue/Pages/UserEditor'
7 | import UserList from 'zgldh/VuejsLaravelUser/vue/Pages/UserList'
8 |
9 | var config = {
10 | admin: {
11 | routes: {
12 | // 路由应当直接指向一个 VueJS component
13 | '/users/create': {
14 | component: UserEditor
15 | },
16 | '/users': {
17 | component: UserList
18 | },
19 | '/users/:userid/edit': {
20 | component: UserEditor
21 | }
22 | },
23 | navigators: {
24 | // 显示在左侧菜单的导航.
25 | 'users': {
26 | 'children': {
27 | 'users.create': {
28 | 'route': '/users/create',
29 | 'text': '新增用户'
30 | },
31 | 'users.list': {
32 | 'route': '/users',
33 | 'text': '用户列表'
34 | }
35 | },
36 | 'text': '用户'
37 | },
38 | 'posts': {
39 | 'text': '文章',
40 | 'route': '/posts'
41 | }
42 | }
43 | }
44 | }
45 | module.exports = config
46 |
--------------------------------------------------------------------------------
/frontend/src/semantic/dist/components/breadcrumb.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.1 - Breadcrumb
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */.ui.breadcrumb{line-height:1;display:inline-block;margin:0;vertical-align:middle}.ui.breadcrumb:first-child{margin-top:0}.ui.breadcrumb:last-child{margin-bottom:0}.ui.breadcrumb .divider{display:inline-block;opacity:.7;margin:0 .21428571rem;font-size:.92857143em;color:rgba(0,0,0,.4);vertical-align:baseline}.ui.breadcrumb a{color:#4183C4}.ui.breadcrumb a:hover{color:#1e70bf}.ui.breadcrumb .icon.divider{font-size:.85714286em;vertical-align:baseline}.ui.breadcrumb a.section{cursor:pointer}.ui.breadcrumb .section{display:inline-block;margin:0;padding:0}.ui.breadcrumb.segment{display:inline-block;padding:.78571429em 1em}.ui.breadcrumb .active.section{font-weight:700}.ui.mini.breadcrumb{font-size:.78571429rem}.ui.tiny.breadcrumb{font-size:.85714286rem}.ui.small.breadcrumb{font-size:.92857143rem}.ui.breadcrumb{font-size:1rem}.ui.large.breadcrumb{font-size:1.14285714rem}.ui.big.breadcrumb{font-size:1.28571429rem}.ui.huge.breadcrumb{font-size:1.42857143rem}.ui.massive.breadcrumb{font-size:1.71428571rem}
--------------------------------------------------------------------------------
/frontend/src/semantic/dist/components/nag.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.1 - Nag
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */.ui.nag{display:none;opacity:.95;position:relative;top:0;left:0;z-index:999;min-height:0;width:100%;margin:0;padding:.75em 1em;background:#555;box-shadow:0 1px 2px 0 rgba(0,0,0,.2);font-size:1rem;text-align:center;color:rgba(0,0,0,.87);border-radius:0 0 .28571429rem .28571429rem;-webkit-transition:.2s background ease;transition:.2s background ease}a.ui.nag{cursor:pointer}.ui.nag>.title{display:inline-block;margin:0 .5em;color:#FFF}.ui.nag>.close.icon{cursor:pointer;opacity:.4;position:absolute;top:50%;right:1em;font-size:1em;margin:-.5em 0 0;color:#FFF;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.ui.nag:hover{background:#555;opacity:1}.ui.nag .close:hover{opacity:1}.ui.overlay.nag{position:absolute;display:block}.ui.fixed.nag{position:fixed}.ui.bottom.nag,.ui.bottom.nags{border-radius:.28571429rem .28571429rem 0 0;top:auto;bottom:0}.ui.inverted.nag,.ui.inverted.nags .nag{background-color:#F3F4F5;color:rgba(0,0,0,.85)}.ui.inverted.nag .close,.ui.inverted.nag .title,.ui.inverted.nags .nag .close,.ui.inverted.nags .nag .title{color:rgba(0,0,0,.4)}.ui.nags .nag{border-radius:0!important}.ui.nags .nag:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.bottom.nags .nag:last-child{border-radius:.28571429rem .28571429rem 0 0}
--------------------------------------------------------------------------------
/frontend/src/semantic/dist/components/sticky.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.1 - Sticky
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */.ui.sticky{position:static;-webkit-transition:none;transition:none;z-index:800}.ui.sticky.bound{position:absolute;left:auto;right:auto}.ui.sticky.fixed{position:fixed;left:auto;right:auto}.ui.sticky.bound.top,.ui.sticky.fixed.top{top:0;bottom:auto}.ui.sticky.bound.bottom,.ui.sticky.fixed.bottom{top:auto;bottom:0}.ui.native.sticky{position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky}
--------------------------------------------------------------------------------
/frontend/src/semantic/dist/components/tab.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.1 - Tab
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */.ui.tab{display:none}.ui.tab.active,.ui.tab.open{display:block}.ui.tab.loading{position:relative;overflow:hidden;display:block;min-height:250px}.ui.tab.loading *{position:relative!important;left:-10000px!important}.ui.tab.loading.segment:before,.ui.tab.loading:before{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.tab.loading.segment:after,.ui.tab.loading:after{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}
--------------------------------------------------------------------------------
/frontend/src/semantic/dist/themes/basic/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/dist/themes/basic/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/frontend/src/semantic/dist/themes/basic/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/dist/themes/basic/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/frontend/src/semantic/dist/themes/basic/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/dist/themes/basic/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/frontend/src/semantic/dist/themes/default/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/dist/themes/default/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/frontend/src/semantic/dist/themes/default/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/dist/themes/default/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/frontend/src/semantic/dist/themes/default/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/dist/themes/default/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/frontend/src/semantic/dist/themes/default/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/dist/themes/default/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/frontend/src/semantic/dist/themes/default/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/dist/themes/default/assets/images/flags.png
--------------------------------------------------------------------------------
/frontend/src/semantic/dist/themes/github/assets/fonts/octicons-local.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/dist/themes/github/assets/fonts/octicons-local.ttf
--------------------------------------------------------------------------------
/frontend/src/semantic/dist/themes/github/assets/fonts/octicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/dist/themes/github/assets/fonts/octicons.ttf
--------------------------------------------------------------------------------
/frontend/src/semantic/dist/themes/github/assets/fonts/octicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/dist/themes/github/assets/fonts/octicons.woff
--------------------------------------------------------------------------------
/frontend/src/semantic/src/definitions/elements/flag.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI - Flag
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */
10 |
11 |
12 | /*******************************
13 | Theme
14 | *******************************/
15 |
16 | @type : 'element';
17 | @element : 'flag';
18 |
19 | @import (multiple) '../../theme.config';
20 |
21 |
22 | /*******************************
23 | Flag
24 | *******************************/
25 |
26 | i.flag:not(.icon) {
27 | display: inline-block;
28 |
29 | width: @width;
30 | height: @height;
31 |
32 | line-height: @height;
33 | vertical-align: @verticalAlign;
34 | margin: 0em @margin 0em 0em;
35 |
36 | text-decoration: inherit;
37 |
38 | speak: none;
39 | font-smoothing: antialiased;
40 | backface-visibility: hidden;
41 | }
42 |
43 | /* Sprite */
44 | i.flag:not(.icon):before {
45 | display: inline-block;
46 | content: '';
47 | background: url(@spritePath) no-repeat -108px -1976px;
48 | width: @width;
49 | height: @height;
50 | }
51 |
52 | .loadUIOverrides();
53 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/definitions/globals/reset.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI - Reset
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */
10 |
11 | /*******************************
12 | Theme
13 | *******************************/
14 |
15 | @type : 'global';
16 | @element : 'reset';
17 |
18 | @import (multiple) '../../theme.config';
19 |
20 | /*******************************
21 | Reset
22 | *******************************/
23 |
24 | /* Border-Box */
25 | *,
26 | *:before,
27 | *:after {
28 | box-sizing: inherit;
29 | }
30 | html {
31 | box-sizing: border-box;
32 | }
33 |
34 | /* iPad Input Shadows */
35 | input[type="text"], input[type="email"], input[type="search"], input[type="password"] {
36 | -webkit-appearance: none;
37 | -moz-appearance: none; /* mobile firefox too! */
38 | }
39 |
40 | .loadUIOverrides();
41 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/collections/breadcrumb.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/collections/breadcrumb.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/collections/form.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/collections/form.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/collections/grid.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/collections/grid.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/collections/menu.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/collections/menu.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/collections/message.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/collections/message.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/collections/table.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/collections/table.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/button.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/container.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/container.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/divider.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/divider.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/flag.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/flag.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Flag Variables
3 | --------------------*/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/header.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/header.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/icon.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/icon.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/image.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/image.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/input.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/input.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/label.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/label.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/list.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/list.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/loader.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/loader.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/rail.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/rail.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/reveal.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/reveal.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/segment.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/segment.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/step.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/elements/step.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/globals/reset.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/globals/reset.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Global Variables
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/globals/site.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/globals/site.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Global Variables
3 | *******************************/
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/accordion.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/accordion.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/chatroom.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/chatroom.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/checkbox.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/checkbox.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/dimmer.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/dimmer.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/dropdown.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/dropdown.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/embed.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/embed.variables:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/site/modules/embed.variables
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/modal.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/modal.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/nag.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/nag.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/popup.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/popup.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/progress.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/progress.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/rating.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/rating.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/search.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/search.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/shape.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/shape.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/sidebar.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/sidebar.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/sticky.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/sticky.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/tab.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/tab.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/transition.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/modules/transition.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/views/ad.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/views/ad.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/views/card.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/views/card.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/views/comment.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/views/comment.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/views/feed.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/views/feed.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/views/item.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/views/item.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/views/statistic.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/site/views/statistic.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/amazon/elements/button.overrides:
--------------------------------------------------------------------------------
1 | .ui.button {
2 | background-image: linear-gradient(center top , #F7F8FA, #E7E9EC) repeat scroll 0 0 rgba(0, 0, 0, 0);
3 | }
4 |
5 | .ui.primary.button {
6 | color: #111111;
7 | border: 1px solid;
8 | border-color: #C59F43 #AA8326 #957321;
9 | }
10 | .ui.primary.button:hover {
11 | border-color: #C59F43 #AA8326 #957321;
12 | color: #111111;
13 | }
14 |
15 | .ui.secondary.button {
16 | border: 1px solid;
17 | border-color: #3D444C #2F353B #2C3137;
18 | }
19 | .ui.secondary.button:hover {
20 | border-color: #32373E #24282D #212429;
21 | }
22 |
23 |
24 | .ui.labeled.icon.buttons .button > .icon,
25 | .ui.labeled.icon.button > .icon {
26 | padding-bottom: 0.48em;
27 | padding-top: 0.48em;
28 | position: absolute;
29 | text-align: center;
30 | width: 2em;
31 | height: 2em;
32 | top: 0.35em;
33 | left: 0.4em;
34 | border-radius: 3px;
35 | }
36 | .ui.right.labeled.icon.buttons .button > .icon,
37 | .ui.right.labeled.icon.button > .icon {
38 | left: auto;
39 | right: 0.4em;
40 | border-radius: 3px;
41 | }
42 |
43 | .ui.basic.labeled.icon.buttons .button > .icon,
44 | .ui.basic.labeled.icon.button > .icon {
45 | padding-top: 0.4em !important;
46 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/amazon/globals/site.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Global Variables
3 | *******************************/
4 |
5 | @pageMinWidth : 1049px;
6 | @pageOverflowX : visible;
7 |
8 | @emSize: 13px;
9 | @fontSize : 13px;
10 | @fontName : 'Arial';
11 | @importGoogleFonts : false;
12 |
13 | @h1: 2.25em;
14 |
15 | @defaultBorderRadius: 0.30769em; /* 4px @ 13em */
16 |
17 | @disabledOpacity: 0.3;
18 |
19 | @black: #444C55;
20 | @orange: #FDE07B;
21 |
22 | @linkColor: #0066C0;
23 | @linkHoverColor: #C45500;
24 | @linkHoverUnderline: underline;
25 |
26 | @borderColor: rgba(0, 0, 0, 0.13);
27 | @solidBorderColor: #DDDDDD;
28 | @internalBorderColor: rgba(0, 0, 0, 0.06);
29 | @selectedBorderColor: #51A7E8;
30 |
31 | /* Breakpoints */
32 | @largeMonitorBreakpoint: 1049px;
33 | @computerBreakpoint: @largeMonitorBreakpoint;
34 | @tabletBreakpoint: @largeMonitorBreakpoint;
35 |
36 | /* Colors */
37 | @blue: #80A6CD;
38 | @green: #60B044;
39 | @orange: #D26911;
40 |
41 |
42 | @infoBackgroundColor: #E6F1F6;
43 | @infoTextColor: #4E575B;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/basic/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/themes/basic/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/basic/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/themes/basic/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/basic/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/themes/basic/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/basic/collections/table.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/basic/collections/table.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Table Variables
3 | --------------------*/
4 |
5 | @headerBackground: @white;
6 | @footerBackground: @white;
7 |
8 | @cellVerticalPadding: 1em;
9 | @cellHorizontalPadding: 1em;
10 |
11 | @stateMarkerWidth: 1px;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/basic/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/basic/elements/button.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Button Variables
3 | --------------------*/
4 |
5 | /* Button Variables */
6 | @textTransform: none;
7 | @fontWeight: normal;
8 | @textColor: #333333;
9 |
10 | @primaryColor: #333333;
11 |
12 | @borderRadius: 0.25em;
13 |
14 | @backgroundColor: #EEEEEE;
15 | @backgroundImage: none;
16 | @boxShadow: none;
17 |
18 | @hoverBackgroundColor: #DDDDDD;
19 | @hoverBackgroundImage: none;
20 | @hoverBoxShadow: none;
21 |
22 | @downBackgroundColor: #D0D0D0;
23 | @downBackgroundImage: none;
24 | @downBoxShadow: none;
25 |
26 | @activeBackgroundColor: #CCCCCC;
27 | @activeBackgroundImage: none;
28 | @activeBoxShadow: none;
29 |
30 | @verticalBoxShadow: none;
31 |
32 | @loadingBackgroundColor: #F0F0F0;
33 |
34 | @labeledIconLeftShadow: none;
35 | @labeledIconRightShadow: none;
36 |
37 | @mini: 0.6rem;
38 | @tiny: 0.7rem;
39 | @small: 0.85rem;
40 | @medium: 0.92rem;
41 | @large: 1rem;
42 | @big: 1.125rem;
43 | @huge: 1.25rem;
44 | @massive: 1.3rem;
45 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/basic/elements/icon.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Icon Variables
3 | --------------------*/
4 |
5 | @fontPath : "../../themes/basic/assets/fonts";
6 |
7 | @src:
8 | url("@{fontPath}/@{fontName}.eot?#iefix") format('embedded-opentype'),
9 | url("@{fontPath}/@{fontName}.woff") format('woff'),
10 | url("@{fontPath}/@{fontName}.ttf") format('truetype'),
11 | url("@{fontPath}/@{fontName}.svg#icons") format('svg')
12 | ;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/basic/elements/step.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | .ui.steps .step:after {
6 | display: none !important;
7 | }
8 | .ui.steps .step {
9 | border-radius: 500px !important;
10 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/basic/elements/step.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Step Variables
3 | --------------------*/
4 |
5 | /* Stepss */
6 | @stepsBorder: none;
7 | @stepsBorderRadius: @circularRadius;
8 |
9 | /* Step */
10 | @border: none;
11 | @divider: none;
12 | @background: transparent;
13 | @borderRadius: @circularRadius;
14 | @iconDistance: 0.8em;
15 | @arrowDisplay: none;
16 |
17 | @activeBackground: @midWhite;
18 | @activeArrowDisplay: none;
19 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/basic/globals/reset.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | /* No Additonal Resets */
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/basic/globals/reset.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Reset
3 | *******************************/
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/basic/modules/progress.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Progress
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/basic/modules/progress.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Progress
3 | *******************************/
4 |
5 | @background: transparent;
6 | @border: none;
7 | @padding: 0em;
8 |
9 | @progressLeft: 0em;
10 | @progressWidth: 100%;
11 | @progressTextAlign: center;
12 |
13 | @labelFontWeight: normal;
14 | @labelTextAlign: left;
15 | @labelHeight: 1.5em;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/basic/views/card.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/basic/views/card.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Card
3 | *******************************/
4 |
5 | /*-------------------
6 | View
7 | --------------------*/
8 |
9 | @width: 250px;
10 | @background: transparent;
11 | @border: none;
12 | @boxShadow: none;
13 |
14 | @contentPadding: 1em 0em;
15 |
16 | @rowSpacing: 1.5em;
17 | @groupCardMargin: 0em @horizontalSpacing @rowSpacing;
18 |
19 | @extraBackground: transparent;
20 | @extraDivider: none;
21 | @extraBoxShadow: none;
22 | @extraPadding: 0.5em 0em;
23 |
24 | @extraLinkColor: @textColor;
25 | @extraLinkHoverColor: @linkHoverColor;
26 |
27 | @headerFontSize: @relativeLarge;
28 | @headerLinkColor: @textColor;
29 | @headerLinkHoverColor: @linkHoverColor;
30 |
31 | @imageBorderRadius: @borderRadius;
32 | @imageBorder: 1px solid @borderColor;
33 |
34 | @linkHoverBackground: transparent;
35 | @linkHoverBoxShadow: none;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/bookish/elements/header.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | @import url(http://fonts.googleapis.com/css?family=Karma);
6 |
7 | h1.ui.header,
8 | .ui.huge.header {
9 | font-weight: bold;
10 | }
11 |
12 | h2.ui.header,
13 | .ui.large.header {
14 | font-weight: bold;
15 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/bookish/elements/header.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Header
3 | --------------------*/
4 |
5 | @headerFont : 'Karma', 'Times New Roman', serif;
6 | @fontWeight: normal;
7 |
8 | @iconSize: 1.5em;
9 | @iconOffset: 0.2em;
10 | @iconAlignment: top;
11 |
12 | @subHeaderFontSize: 0.85rem;
13 |
14 | @dividedBorder: 1px dotted rgba(0, 0, 0, 0.2);
15 |
16 | /* Block Header */
17 | @blockVerticalPadding: 1.3em;
18 | @blockHorizontalPadding: 1em;
19 |
20 | /* Attached */
21 | @attachedBackground: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.03)) repeat scroll 0 0 #F8F8F8;
22 | @attachedVerticalPadding: 1.3;
23 | @attachedHorizontalPadding: 1em;
24 |
25 | /* HTML Headings */
26 | @h1: 1.75rem;
27 | @h2: 1.33rem;
28 | @h3: 1.33rem;
29 | @h4: 1rem;
30 | @h5: 0.9rem;
31 |
32 | /* Sizing */
33 | @hugeFontSize: 1.75em;
34 | @largeFontSize: 1.33em;
35 | @mediumFontSize: 1.33em;
36 | @smallFontSize: 1em;
37 | @tinyFontSize: 0.9em;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/bootstrap3/elements/button.overrides:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/themes/bootstrap3/elements/button.overrides
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/chubby/collections/form.overrides:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Form Variables
3 | --------------------*/
4 |
5 | .ui.form .selection.dropdown {
6 | padding: 1.1em 1.2em;
7 | border-width: 2px;
8 | }
9 | .ui.form .selection.dropdown .menu {
10 | min-width: calc(100% + 4px);
11 | margin: 0 -2px;
12 | border-width: 2px;
13 | }
14 | .ui.form .selection.dropdown input {
15 | padding: inherit;
16 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/chubby/collections/form.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Form Variables
3 | --------------------*/
4 |
5 | @labelTextTransform: uppercase;
6 | @labelFontSize: 0.8em;
7 |
8 | @inputPadding: 1em 1.2em;
9 | @inputBorder: 2px solid @borderColor;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/chubby/collections/menu.overrides:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/themes/chubby/collections/menu.overrides
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/chubby/collections/menu.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Menu
3 | *******************************/
4 |
5 | @background: @darkWhite;
6 | @boxShadow: none;
7 | @dividerSize: 0px;
8 |
9 | @verticalBoxShadow: 0px 0px 0px 2px @borderColor inset;
10 | @verticalActiveBoxShadow: none;
11 |
12 | @itemVerticalPadding: 1.25em;
13 | @itemHorizontalPadding: 2em;
14 | @itemFontWeight: bold;
15 |
16 | @activeItemBackground: @primaryColor;
17 | @activeItemTextColor: @white;
18 | @activeHoverItemBackground: @primaryColorHover;
19 | @activeHoverItemColor: @white;
20 |
21 | @secondaryItemPadding: @relativeSmall @relativeMedium;
22 |
23 | @secondaryActiveItemBackground: @primaryColor;
24 | @secondaryActiveItemColor: @white;
25 | @secondaryActiveHoverItemBackground: @primaryColorHover;
26 | @secondaryActiveHoverItemColor: @white;
27 |
28 | @secondaryPointingBorderWidth: 4px;
29 | @secondaryPointingActiveBorderColor: @primaryColor;
30 | @secondaryPointingActiveTextColor: @primaryColor;
31 |
32 | @arrowSize: 1em;
33 | @arrowActiveColor: @primaryColor;
34 | @arrowActiveHoverColor: @primaryColorHover;
35 | @arrowBorder: transparent;
36 |
37 | @paginationActiveBackground: @lightGrey;
38 |
39 | @borderColor: @darkWhite;
40 | @tabularBorderWidth: 2px;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/chubby/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | @import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro);
6 |
7 | .ui.labeled.icon.buttons > .button > .icon,
8 | .ui.labeled.icon.button > .icon {
9 | box-shadow:
10 | -1px 0px 0px 0px rgba(255, 255, 255, 0.2) inset,
11 | -1px 0px 0px 0px rgba(0, 0, 0, 0.05) inset
12 | ;
13 | }
14 |
15 | .ui.right.labeled.icon.buttons .button .icon,
16 | .ui.right.labeled.icon.button .icon {
17 | box-shadow:
18 | 1px 0px 0px 0px rgba(255, 255, 255, 0.2) inset,
19 | 1px 0px 0px 0px rgba(0, 0, 0, 0.05) inset
20 | ;
21 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/chubby/elements/button.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Button Variables
3 | --------------------*/
4 |
5 | /* Button Variables */
6 | @pageFont: 'Source Sans Pro', Arial, sans-serif;
7 |
8 | @textTransform: none;
9 | @fontWeight: normal;
10 | @textColor: #333333;
11 |
12 | @verticalPadding: 1.1em;
13 | @horizontalPadding: 2.5em;
14 | @invertedBorderSize: 3px;
15 |
16 | @basicBorderRadius: 0.4em;
17 | @basicFontWeight: bold;
18 | @basicTextTransform: uppercase;
19 |
20 | @blue: #4A88CB;
21 | @primaryColor: @blue;
22 |
23 | @borderRadius: 0.25em;
24 |
25 | @backgroundColor: #E6EAED;
26 | @backgroundImage: none;
27 | @boxShadow: none;
28 |
29 | @hoverBackgroundColor: #DDDDDD;
30 | @hoverBackgroundImage: none;
31 | @hoverBoxShadow: none;
32 |
33 | @downBackgroundColor: #D0D0D0;
34 | @downBackgroundImage: none;
35 | @downBoxShadow: none;
36 |
37 | @activeBackgroundColor: #CCCCCC;
38 | @activeBackgroundImage: none;
39 | @activeBoxShadow: none;
40 |
41 | @verticalBoxShadow: none;
42 |
43 | @loadingBackgroundColor: #F0F0F0;
44 |
45 | @compactVerticalPadding: (@verticalPadding * 0.5);
46 | @compactHorizontalPadding: (@horizontalPadding * 0.5);
47 |
48 | @labeledIconBackgroundColor: transparent;
49 |
50 | @mini: 0.7rem;
51 | @tiny: 0.75rem;
52 | @small: 0.8rem;
53 | @medium: 0.92rem;
54 | @large: 1rem;
55 | @big: 1.125rem;
56 | @huge: 1.2rem;
57 | @massive: 1.3rem;
58 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/chubby/elements/header.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | @import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro);
6 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/chubby/elements/header.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Header
3 | --------------------*/
4 |
5 | @headerFont : 'Source Sans Pro', Helvetica Neue, Helvetica, Arial, sans-serif;
6 | @fontWeight: bold;
7 | @textTransform: none;
8 |
9 | /* HTML Headings */
10 | @h1: 1.33rem;
11 | @h2: 1.2rem;
12 | @h3: 1rem;
13 | @h4: 0.9rem;
14 | @h5: 0.8rem;
15 |
16 | /* Sizing */
17 | @hugeFontSize: 1.33em;
18 | @largeFontSize: 1.2em;
19 | @mediumFontSize: 1em;
20 | @smallFontSize: 0.9em;
21 | @tinyFontSize: 0.8em;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/chubby/modules/accordion.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | .ui.styled.accordion .accordion .active.title {
6 | border-bottom: 1px solid rgba(0, 0, 0, 0.1);
7 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/chubby/modules/accordion.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Accordion Variables
3 | --------------------*/
4 |
5 | @iconMargin: 0em 0.5em 0em 0em;
6 |
7 | @styledActiveTitleBackground: @subtleGradient;
8 | @styledActiveTitleColor: @primaryColor;
9 |
10 | @styledActiveChildTitleBackground: transparent;
11 |
12 | @styledTitlePadding: 1.25em;
13 | @styledTitleFontWeight: bold;
14 | @styledContentPadding: 1.5em 3.25em;
15 | @styledChildContentPadding: @styledContentPadding;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/chubby/views/comment.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | .ui.comments .comment {
6 | border-radius: 0.5em;
7 | box-shadow: 0px 1px 1px 1px rgba(0, 0, 0, 0.1);
8 | }
9 | .ui.comments .comment .comments .comment {
10 | border: 1px solid rgba(0, 0, 0, 0.1);
11 | box-shadow: none;
12 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/chubby/views/comment.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Comments
3 | *******************************/
4 |
5 | /*-------------------
6 | Elements
7 | --------------------*/
8 |
9 | /* Comment */
10 | @commentBackground: #FFFFFF;
11 | @commentMargin: 1em 0em 0em;
12 | @commentPadding: 1em 1.5em;
13 | @commentBorder: 1px solid rgba(0, 0, 0, 0.1);
14 | @commentDivider: 1px solid rgba(0, 0, 0, 0.1);
15 | @firstCommentMargin: 1em;
16 | @firstCommentPadding: 1em;
17 |
18 | /* Nested Comment */
19 | @nestedCommentsMargin: 0em 0em 0.5em 0.5em;
20 | @nestedCommentsPadding: 1em 0em 0em 1em;
21 | @nestedCommentBackground: #F0F0F0;
22 |
23 | /* Avatar */
24 | @avatarWidth: 3.5em;
25 | @avatarSpacing: 1.5em;
26 | @avatarBorderRadius: @circularRadius;
27 |
28 | /* Content */
29 | @contentMargin: @avatarWidth + @avatarSpacing;
30 |
31 | /* Author */
32 | @authorFontSize: 1em;
33 | @authorColor: @primaryColor;
34 | @authorHoverColor: @primaryColorHover;
35 | @authorFontWeight: bold;
36 |
37 | @metadataDisplay: block;
38 | @metadataSpacing: 0em;
39 | @metadataColor: @textColor;
40 |
41 | /*-------------------
42 | Variations
43 | --------------------*/
44 |
45 | /* Threaded */
46 | @threadedCommentMargin: -1.5em 0 -1em (@avatarWidth / 2);
47 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/classic/collections/table.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/classic/collections/table.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Table
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | @boxShadow: @subtleGradient;
10 |
11 | @headerBackground: @subtleGradient;
12 | @headerBoxShadow: @subtleShadow;
13 | @footerBoxShadow: 0px -1px 1px 0px rgba(0, 0, 0, 0.05);
14 | @footerBackground: rgba(0, 0, 0, 0.05);
15 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/classic/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/classic/elements/header.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/classic/elements/header.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Button
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | @headerFont: 'Open Sans', Arial, sans-serif;
10 |
11 | @blockBackground: @offWhite @subtleGradient;
12 | @blockBoxShadow: @subtleShadow;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/classic/modules/progress.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Progress
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/classic/modules/progress.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Progress
3 | *******************************/
4 |
5 | @background: rgba(0, 0, 0, 0.05);
6 | @boxShadow: 0px 0px 4px rgba(0, 0, 0, 0.1) inset;
7 | @barBackground: @subtleGradient #888888;
8 | @border: 1px solid @borderColor;
9 | @padding: @relative3px;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/classic/views/card.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Card
3 | *******************************/
4 |
5 | /*-------------------
6 | View
7 | --------------------*/
8 |
9 | /* Shadow */
10 | @shadowDistance: 0em;
11 | @padding: 0em;
12 |
13 | /*-------------------
14 | Content
15 | --------------------*/
16 |
17 | /* Additional Content */
18 | @extraDivider: 1px solid rgba(0, 0, 0, 0.05);
19 | @extraBackground: #FAFAFA @subtleGradient;
20 | @extraPadding: 0.75em 1em;
21 | @extraBoxShadow: 0 1px 1px rgba(0, 0, 0, 0.15);
22 | @extraColor: @lightTextColor;
23 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/colored/modules/checkbox.overrides:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/themes/colored/modules/checkbox.overrides
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/colored/modules/checkbox.variables:
--------------------------------------------------------------------------------
1 | /* Checkbox */
2 | @checkboxActiveBackground: @primaryColor;
3 | @checkboxActiveBorderColor: @primaryColor;
4 | @checkboxActiveCheckColor: @white;
5 |
6 | @checkboxActiveFocusBackground: @primaryColorFocus;
7 | @checkboxActiveFocusBorderColor: @primaryColorFocus;
8 | @checkboxActiveFocusCheckColor: @white;
9 |
10 | @checkboxTransition: none;
11 |
12 | /* Radio */
13 | @radioActiveBackground: @white;
14 | @radioActiveBorderColor: @primaryColor;
15 | @radioActiveBulletColor: @primaryColor;
16 |
17 | @radioActiveFocusBackground: @white;
18 | @radioActiveFocusBorderColor: @primaryColorFocus;
19 | @radioActiveFocusBulletColor: @primaryColorFocus;
20 |
21 | /* Slider */
22 | @sliderOnLineColor: @primaryColor;
23 | @sliderOnFocusLineColor: @primaryColorFocus;
24 |
25 | /* Handle */
26 | @handleBackground: @white @subtleGradient;
27 | @handleBoxShadow:
28 | 0px 0px 0px 1px @selectedBorderColor inset
29 | ;
30 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/themes/default/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/themes/default/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/themes/default/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/themes/default/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/themes/default/assets/images/flags.png
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/collections/breadcrumb.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/collections/breadcrumb.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Breadcrumb
3 | *******************************/
4 |
5 | /*-------------------
6 | Breadcrumb
7 | --------------------*/
8 |
9 | @verticalMargin: 0em;
10 | @display: inline-block;
11 | @verticalAlign: middle;
12 |
13 | @dividerSpacing: @3px;
14 | @dividerOpacity: 0.7;
15 | @dividerColor: @lightTextColor;
16 |
17 | @dividerSize: @relativeSmall;
18 | @dividerVerticalAlign: baseline;
19 |
20 | @iconDividerSize: @relativeTiny;
21 | @iconDividerVerticalAlign: baseline;
22 |
23 | @sectionMargin: 0em;
24 | @sectionPadding: 0em;
25 |
26 | /* Coupling */
27 | @segmentPadding: @relativeMini @relativeMedium;
28 |
29 | /*-------------------
30 | States
31 | --------------------*/
32 |
33 | @activeFontWeight: bold;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/collections/form.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/collections/grid.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/collections/menu.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/collections/message.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/collections/table.overrides:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/themes/default/collections/table.overrides
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/elements/container.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/elements/divider.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Divider
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | @margin: 1rem 0rem;
10 |
11 | @highlightWidth: 1px;
12 | @highlightColor: @whiteBorderColor;
13 |
14 | @shadowWidth: 1px;
15 | @shadowColor: @borderColor;
16 |
17 | /* Text */
18 | @letterSpacing: 0.05em;
19 | @fontWeight: bold;
20 | @color: @darkTextColor;
21 | @textTransform: uppercase;
22 |
23 | /*-------------------
24 | Coupling
25 | --------------------*/
26 |
27 | /* Icon */
28 | @dividerIconSize: 1rem;
29 | @dividerIconMargin: 0rem;
30 |
31 |
32 | /*******************************
33 | Variations
34 | *******************************/
35 |
36 | /* Horizontal / Vertical */
37 | @horizontalMargin: '';
38 | @horizontalDividerMargin: 1em;
39 | @horizontalRulerOffset: ~"calc(-50% - "(@horizontalDividerMargin)~")";
40 |
41 | @verticalDividerMargin: 1rem;
42 | @verticalDividerHeight: ~"calc(100% - "(@verticalDividerMargin)~")";
43 |
44 | /* Inverted */
45 | @invertedTextColor: @white;
46 | @invertedHighlightColor: rgba(255, 255, 255, 0.15);
47 | @invertedShadowColor: @borderColor;
48 |
49 | /* Section */
50 | @sectionMargin: 2rem;
51 |
52 | /* Sizes */
53 | @medium: 1rem;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/elements/flag.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Flag
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | @spritePath: "@{imagePath}/flags.png";
10 | @width: 16px;
11 | @height: 11px;
12 | @verticalAlign: baseline;
13 | @margin: 0.5em;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/elements/header.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/elements/image.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/elements/image.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Image
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | @placeholderColor: transparent;
10 | @roundedBorderRadius: 0.3125em;
11 |
12 | @imageHorizontalMargin: 0.25rem;
13 | @imageVerticalMargin: 0.5rem;
14 | @imageBorder: 1px solid rgba(0, 0, 0, 0.1);
15 |
16 | /*-------------------
17 | Types
18 | --------------------*/
19 |
20 | /* Avatar */
21 | @avatarSize: 2em;
22 | @avatarMargin: 0.25em;
23 |
24 |
25 | /*-------------------
26 | Variations
27 | --------------------*/
28 |
29 | /* Spaced */
30 | @spacedDistance: 0.5em;
31 |
32 | /* Floated */
33 | @floatedHorizontalMargin: 1em;
34 | @floatedVerticalMargin: 1em;
35 |
36 | /* Size */
37 | @miniWidth: 35px;
38 | @tinyWidth: 80px;
39 | @smallWidth: 150px;
40 | @mediumWidth: 300px;
41 | @largeWidth: 450px;
42 | @bigWidth: 600px;
43 | @hugeWidth: 800px;
44 | @massiveWidth: 960px;
45 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/elements/input.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/elements/label.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/elements/list.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/elements/loader.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/elements/rail.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/elements/rail.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Rail
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | @width: 300px;
10 | @height: 100%;
11 |
12 | @distance: 4rem;
13 | @splitDistance: (@distance / 2);
14 |
15 | /*-------------------
16 | Variations
17 | --------------------*/
18 |
19 | /* Close */
20 | @closeDistance: 2em;
21 | @veryCloseDistance: 1em;
22 |
23 | @splitCloseDistance: (@closeDistance / 2);
24 | @splitVeryCloseDistance: (@veryCloseDistance / 2);
25 |
26 | @closeWidth: ~"calc("@width~" + "@splitCloseDistance~")";
27 | @veryCloseWidth: ~"calc("@width~" + "@splitVeryCloseDistance~")";
28 |
29 | /* Dividing */
30 | @dividingBorder: 1px solid @borderColor;
31 | @dividingDistance: 5rem;
32 | @splitDividingDistance: (@dividingDistance / 2);
33 | @dividingWidth: @width + @splitDividingDistance;
34 |
35 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/elements/reveal.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/elements/reveal.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Reveal
3 | *******************************/
4 |
5 | @transitionDelay: 0.1s;
6 | @transitionDuration: 0.5s;
7 | @transitionEasing: cubic-bezier(0.175, 0.885, 0.320, 1);
8 | @transition: all @transitionDuration @defaultEasing @transitionDelay;
9 |
10 | @bottomZIndex: 2;
11 | @topZIndex: 3;
12 | @activeZIndex: 4;
13 |
14 | /* Types */
15 | @rotateDegrees: 110deg;
16 | @moveTransition: transform @transitionDuration @transitionEasing @transitionDelay;
17 | @slideTransition: transform @transitionDuration @defaultEasing @transitionDelay;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/elements/segment.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/globals/reset.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Reset
3 | *******************************/
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/globals/site.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Global Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/modules/chatroom.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/modules/chatroom.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Chatroom
3 | *******************************/
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/modules/dimmer.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/modules/embed.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Video Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/modules/modal.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/modules/nag.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/modules/popup.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/modules/progress.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Progress
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/modules/search.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/modules/shape.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/modules/shape.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Shape
3 | *******************************/
4 |
5 | @display: inline-block;
6 |
7 | /* Animating */
8 | @perspective: 2000px;
9 |
10 | @duration: 0.6s;
11 | @easing: ease-in-out;
12 |
13 | @hiddenSideOpacity: 0.6;
14 | @animatingZIndex: 100;
15 |
16 | @transition:
17 | transform @duration @easing,
18 | left @duration @easing,
19 | width @duration @easing,
20 | height @duration @easing
21 | ;
22 | @sideTransition: opacity @duration @easing;
23 | @backfaceVisibility: hidden;
24 |
25 | /* Side */
26 | @sideMargin: 0em;
27 |
28 | /*--------------
29 | Types
30 | ---------------*/
31 |
32 | /* Cube */
33 | @cubeSize: 15em;
34 | @cubeBackground: #E6E6E6;
35 | @cubePadding: 2em;
36 | @cubeTextColor: @textColor;
37 | @cubeBoxShadow: 0px 0px 2px rgba(0, 0, 0, 0.3);
38 |
39 | @cubeTextAlign: center;
40 | @cubeFontSize: 2em;
41 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/modules/sidebar.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/modules/sidebar.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Sidebar
3 | *******************************/
4 |
5 | /*-------------------
6 | Content
7 | --------------------*/
8 |
9 | /* Animation */
10 | @perspective: 1500px;
11 | @duration: 500ms;
12 | @easing: @defaultEasing;
13 |
14 | /* Dimmer */
15 | @dimmerColor: rgba(0, 0, 0, 0.4);
16 | @dimmerTransition: opacity @duration;
17 |
18 | /* Color below page */
19 | @canvasBackground: @lightBlack;
20 |
21 | /* Shadow */
22 | @boxShadow: 0px 0px 20px @borderColor;
23 | @horizontalBoxShadow: @boxShadow;
24 | @verticalBoxShadow: @boxShadow;
25 |
26 | /* Layering */
27 | @bottomLayer: 1;
28 | @middleLayer: 2;
29 | @fixedLayer: 101;
30 | @topLayer: 102;
31 | @dimmerLayer: 1000;
32 |
33 | /*-------------------
34 | Variations
35 | --------------------*/
36 |
37 | /* Width */
38 | @veryThinWidth: 60px;
39 | @thinWidth: 150px;
40 | @width: 260px;
41 | @wideWidth: 350px;
42 | @veryWideWidth: 475px;
43 |
44 | /* Height */
45 | @height: 36px;
46 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/modules/sticky.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/modules/sticky.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Sticky
3 | *******************************/
4 |
5 | @transitionDuration: @defaultDuration;
6 | @transition: none;
7 | @zIndex: 800;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/modules/tab.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Tab Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/modules/tab.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Tab
3 | *******************************/
4 |
5 | /* Loading */
6 | @loadingMinHeight: 250px;
7 | @loadingContentPosition: relative;
8 | @loadingContentOffset: -10000px;
9 |
10 | @loaderDistanceFromTop: 100px;
11 | @loaderSize: 2.5em;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/modules/transition.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Transition
3 | *******************************/
4 |
5 | @transitionDefaultEasing: @defaultEasing;
6 | @transitionDefaultFill: both;
7 | @transitionDefaultDuration: 300ms;
8 |
9 | @use3DAcceleration: translateZ(0);
10 | @backfaceVisibility: hidden;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/views/ad.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/views/ad.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Advertisement
3 | *******************************/
4 |
5 | @margin: 1em 0em;
6 | @overflow: hidden;
7 |
8 | @testBackground: @lightBlack;
9 | @testColor: @white;
10 | @testFontWeight: bold;
11 | @testText: 'Ad';
12 | @testFontSize: @relativeMedium;
13 | @testMobileFontSize: @relativeTiny;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/views/card.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/views/comment.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/views/feed.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/views/item.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/default/views/statistic.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/duo/elements/loader.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/duo/elements/loader.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Loader
3 | *******************************/
4 |
5 | @shapeBorderColor: @primaryColor @primaryColor @secondaryColor @secondaryColor;
6 | @invertedShapeBorderColor: @lightPrimaryColor @lightPrimaryColor @lightSecondaryColor @lightSecondaryColor;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/fixed-width/collections/grid.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/fixed-width/collections/grid.variables:
--------------------------------------------------------------------------------
1 | /* Fixed Page Grid */
2 |
3 | @mobileWidth: auto;
4 | @mobileMargin: 0em;
5 | @mobileGutter: 0em;
6 |
7 | @tabletWidth: auto;
8 | @tabletMargin: 0em;
9 | @tabletGutter: 8%;
10 |
11 | @computerWidth: 960px;
12 | @computerMargin: auto;
13 | @computerGutter: 0;
14 |
15 | @largeMonitorWidth: 1180px;
16 | @largeMonitorMargin: auto;
17 | @largeMonitorGutter: 0;
18 |
19 | @widescreenMonitorWidth: 1300px;
20 | @widescreenMargin: auto;
21 | @widescreenMonitorGutter: 0;
22 |
23 | @tableWidth: '';
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/fixed-width/modules/modal.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/flat/collections/form.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | .ui.form input[type="text"],
6 | .ui.form input[type="email"],
7 | .ui.form input[type="date"],
8 | .ui.form input[type="password"],
9 | .ui.form input[type="number"],
10 | .ui.form input[type="url"],
11 | .ui.form input[type="tel"] {
12 | border-bottom: 1px solid #DDDDDD;
13 | }
14 |
15 | .ui.form .selection.dropdown {
16 | border: none;
17 | box-shadow: none !important;
18 | border-bottom: 1px solid #DDDDDD;
19 | border-radius: 0em !important;
20 | }
21 | .ui.form .selection.dropdown > .menu {
22 | border-top-width: 1px !important;
23 | border-radius: @defaultBorderRadius !important;
24 | }
25 |
26 | .ui.form .ui.icon.input > .icon {
27 | width: 1em;
28 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/flat/globals/site.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/assets/fonts/octicons-local.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/themes/github/assets/fonts/octicons-local.ttf
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/assets/fonts/octicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/themes/github/assets/fonts/octicons.ttf
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/assets/fonts/octicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/themes/github/assets/fonts/octicons.woff
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/collections/breadcrumb.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
5 | @dividerOpacity: 1;
6 | @dividerSpacing: 0;
7 | @dividerSize: @big;
8 | @dividerColor: inherit;
9 |
10 | @huge: 1.5384em;
11 |
12 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/collections/form.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | .ui.selection.dropdown {
6 | background-color: #FAFAFA;
7 | box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset;
8 | border-color: #CCCCCC;
9 | }
10 |
11 | .ui.selection.dropdown:focus {
12 | box-shadow:
13 | 0px 1px 2px rgba(0, 0, 0, 0.075) inset,
14 | 0px 0px 5px rgba(81, 167, 232, 0.5)
15 | ;
16 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/collections/form.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Form
3 | *******************************/
4 |
5 | /*-------------------
6 | Elements
7 | --------------------*/
8 |
9 | @inputBackground: #FAFAFA;
10 | @inputBorder: 1px solid #CCCCCC;
11 | @inputBoxShadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset;
12 | @inputBorderRadius: 3px;
13 |
14 | @labelFontWeight: bold;
15 | @labelDistance: 6px;
16 |
17 | /*-------------------
18 | States
19 | --------------------*/
20 |
21 | @inputFocusBackground: #FFFFFF;
22 | @inputFocusBoxShadow:
23 | 0px 1px 2px rgba(0, 0, 0, 0.075) inset,
24 | 0px 0px 5px rgba(81, 167, 232, 0.5)
25 | ;
26 | @inputFocusBorderColor: #51A7E8;
27 | @inputFocusBorderRadius: @inputBorderRadius;
28 |
29 | /*-------------------
30 | Types
31 | --------------------*/
32 |
33 |
34 | /*-------------------
35 | Variations
36 | --------------------*/
37 |
38 | /*-------------------
39 | Groups
40 | --------------------*/
41 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/collections/grid.variables:
--------------------------------------------------------------------------------
1 |
2 | @gutterWidth: 1.538rem;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/collections/menu.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | .ui.menu .item > .label {
6 | box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset;
7 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/collections/message.overrides:
--------------------------------------------------------------------------------
1 | .ui.info.message {
2 | background: linear-gradient(#D8EBF8, #D0E3EF);
3 | }
4 | .ui.error.message {
5 | background: linear-gradient(#F8D8D8, #EFD0D0);
6 | }
7 | .ui.warning.message {
8 | background: linear-gradient(#FFE3C8, #F5DAC0);
9 | }
10 | .ui.success.message {
11 | }
12 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/collections/message.variables:
--------------------------------------------------------------------------------
1 | @background: linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.05)) #FEFEFE;
2 | @boxShadow:
3 | 0px 0px 0px 1px rgba(255, 255, 255, 0.3) inset,
4 | 0px 0px 0px 1px rgba(0, 0, 0, 0.2) inset
5 | ;
6 | @verticalPadding: 15px;
7 | @horizontalPadding: 15px;
8 |
9 | @headerFontSize: 1.15em;
10 |
11 | @infoTextColor: #264C72;
12 | @warningTextColor: #613A00;
13 | @errorTextColor: #991111;
14 |
15 | @floatingBoxShadow:
16 | 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset,
17 | 0px 2px 3px 0px rgba(0, 0, 0, 0.1),
18 | 0px 0px 0px 1px rgba(0, 0, 0, 0.05) inset
19 | ;
20 |
21 | @infoBorderColor: #97C1DA;
22 | @errorBorderColor: #DA9797;
23 | @warningBorderColor: #DCA874;
24 |
25 | @small: 12px;
26 | @medium: 13px;
27 | @large: 14px;
28 | @huge: 16px;
29 | @massive: 18px;
30 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/collections/table.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
5 | @background: #F8F8F8;
6 |
7 | @cellVerticalPadding: @relative6px;
8 | @cellHorizontalPadding: @relative8px;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/elements/header.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Header
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | @iconMargin: @4px;
10 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/elements/icon.variables:
--------------------------------------------------------------------------------
1 | @fontPath: '../../themes/github/assets/fonts';
2 | @fontName: 'octicons';
3 | @fallbackSRC: '';
4 |
5 | @width: 1em;
6 | @height: 1em;
7 |
8 | @small: 13px;
9 | @medium: 16px;
10 | @large: 18px;
11 | @big : 20px;
12 | @huge: 28px;
13 | @massive: 32px;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/elements/image.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
5 | @miniWidth: 20px;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/elements/input.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Input
3 | *******************************/
4 |
5 | /* Labeled Input has padding */
6 | .ui.labeled.input {
7 | background-color: @white;
8 | border: @borderWidth solid @borderColor;
9 | border-radius: @borderRadius !important;
10 | }
11 | .ui.labeled.input input {
12 | box-shadow: none !important;
13 | border: none !important;
14 | }
15 | .ui.labeled.input .label {
16 | font-weight: normal;
17 | align-self: center;
18 | font-size: 12px;
19 | margin: @2px;
20 | border-radius: @borderRadius !important;
21 | padding: @relative5px @relative8px !important;
22 | }
23 |
24 | /* GitHub Uses Focus Group with class name added */
25 | .ui.labeled.input.focused {
26 | border-color: @focusBorderColor;
27 | box-shadow: @focusBoxShadow;
28 | }
29 | .ui.labeled.input.focused .label {
30 | background-color: #E1EAF5;
31 | color: #4078C0;
32 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/elements/input.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Input
3 | *******************************/
4 |
5 | @boxShadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset;
6 |
7 | @verticalPadding: @relative7px;
8 | @horizontalPadding: @relative8px;
9 |
10 | @borderColor: #CCCCCC;
11 |
12 | @focusBorderColor: #51A7E8;
13 | @focusBoxShadow:
14 | 0 1px 2px rgba(0, 0, 0, 0.075) inset,
15 | 0 0 5px rgba(81, 167, 232, 0.5)
16 | ;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/elements/label.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
5 | /* Notification Label on GitHub */
6 | .ui.floating.blue.label {
7 | border: 2px solid #f3f3f3 !important;
8 | background-image: linear-gradient(#7aa1d3, #4078c0) !important;
9 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/elements/label.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/elements/segment.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/elements/segment.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Standard
3 | *******************************/
4 |
5 | /*-------------------
6 | Segment
7 | --------------------*/
8 |
9 | @segmentBorderWidth: 1px;
10 | @border: 1px solid #D8DEE2;
11 | @boxShadow: 0px 1px 3px rgba(0, 0, 0, 0.075);
12 |
13 | @verticalPadding: 20px;
14 | @horizontalPadding: 20px;
15 |
16 | @borderRadius: 4px;
17 |
18 | /*******************************
19 | Variations
20 | *******************************/
21 |
22 |
23 | /* Raised */
24 | @raisedBoxShadow: 0px 1px 3px rgba(0, 0, 0, 0.075);
25 |
26 | /* Colors */
27 | @coloredBorderSize: 0.5em;
28 |
29 | /* Ordinality */
30 | @secondaryBackground: #F9F9F9;
31 | @secondaryColor: @textColor;
32 |
33 | @tertiaryBackground: #F0F0F0;
34 | @tertiaryColor: @textColor;
35 |
36 | @secondaryInvertedBackground: #555555;
37 | @secondaryInvertedColor: @textColor;
38 |
39 | @tertiaryInvertedBackground: #333333;
40 | @tertiaryInvertedColor: @textColor;
41 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/elements/step.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | .ui.steps .step:after {
6 | display: none;
7 | }
8 | .ui.steps .completed.step:before {
9 | opacity: 0.5;
10 | }
11 |
12 | .ui.steps .step.active:after {
13 | display: block;
14 | border: none;
15 | border-bottom: 1px solid rgba(0, 0, 0, 0.2);
16 | border-left: 1px solid rgba(0, 0, 0, 0.2);
17 | }
18 | .ui.vertical.steps .step.active:after {
19 | display: block;
20 | border: none;
21 | top: 50%;
22 | right: 0%;
23 | border-left: none;
24 | border-bottom: 1px solid rgba(0, 0, 0, 0.2);
25 | border-right: 1px solid rgba(0, 0, 0, 0.2);
26 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/elements/step.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Step Variables
3 | --------------------*/
4 |
5 | /* Step */
6 | @background: transparent linear-gradient(transparent, rgba(0, 0, 0, 0.07));
7 | @verticalPadding: 1em;
8 |
9 | @arrowDisplay: none;
10 | @lastArrowDisplay: none;
11 | @activeArrowDisplay: block;
12 | @activeLastArrowDisplay: block;
13 |
14 | /* Group */
15 | @stepsBackground: #FFFFFF;
16 | @stepsBoxShadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.15);
17 |
18 | /* States */
19 | @activeBackground: #FFFFFF;
20 | @activeIconColor: @darkTextColor;
21 |
22 | /* Arrow */
23 | @arrowTopOffset: 100%;
24 | @arrowRightOffset: 50%;
25 | @arrowBorderColor: rgba(0, 0, 0, 0.2);
26 | @arrowBorderWidth: 0px 0px @borderWidth @borderWidth;
27 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/globals/site.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Global Variables
3 | *******************************/
4 |
5 | @pageMinWidth : 1049px;
6 | @pageOverflowX : visible;
7 |
8 | @emSize: 13px;
9 | @fontSize : 13px;
10 | @fontName : 'Arial';
11 | @importGoogleFonts : false;
12 |
13 | @h1: 2.25em;
14 |
15 | @defaultBorderRadius: 0.2307em;
16 |
17 | @disabledOpacity: 0.3;
18 |
19 | /* Colors */
20 | @blue: #80A6CD;
21 | @green: #78CB5B;
22 | @orange: #D26911;
23 | @black: #333333;
24 | @primaryColor: @green;
25 | @secondaryColor: @black;
26 |
27 | /* Links */
28 | @linkColor: #4078C0;
29 | @linkHoverColor: @linkColor;
30 | @linkHoverUnderline: underline;
31 |
32 | /* Borders */
33 | @borderColor: rgba(0, 0, 0, 0.13);
34 | @solidBorderColor: #DDDDDD;
35 | @internalBorderColor: rgba(0, 0, 0, 0.06);
36 | @selectedBorderColor: #51A7E8;
37 |
38 | /* Breakpoints */
39 | @largeMonitorBreakpoint: 1049px;
40 | @computerBreakpoint: @largeMonitorBreakpoint;
41 | @tabletBreakpoint: @largeMonitorBreakpoint;
42 |
43 | @infoBackgroundColor: #E6F1F6;
44 |
45 | @infoTextColor: #4E575B;
46 | @warningTextColor: #613A00;
47 | @errorTextColor: #991111;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/modules/dropdown.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
5 | @transition:
6 | width @defaultDuration @defaultEasing
7 | ;
8 |
9 | @menuPadding: 0px;
10 |
11 | @itemVerticalPadding: @relative8px;
12 | @itemHorizontalPadding: @relative14px;
13 |
14 | @dropdownIconMargin: 0em 0em 0em 2px;
15 |
16 | @raisedBoxShadow: 0px 3px 12px rgba(0, 0, 0, 0.15);
17 |
18 | @menuPadding: @relative5px 0px;
19 |
20 | @menuHeaderMargin: 0em;
21 | @menuHeaderPadding: @relative6px @itemHorizontalPadding;
22 | @menuHeaderFontSize: @relative12px;
23 | @menuHeaderTextTransform: none;
24 | @menuHeaderFontWeight: normal;
25 | @menuHeaderColor: #767676;
26 |
27 | @menuDividerMargin: @relative8px 0em;
28 |
29 | @disabledOpacity: 0.6;
30 |
31 | /* States */
32 | @hoveredItemBackground: #4078C0;
33 | @hoveredItemColor: @white;
34 |
35 | @pointingArrowSize: @relative9px;
36 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/github/modules/popup.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Popup
3 | *******************************/
4 |
5 |
6 | @small: @relative10px;
7 | @medium: @relative11px;
8 | @large: @relative13px;
9 |
10 | @verticalPadding: @relative7px;
11 | @horizontalPadding: @relative11px;
12 |
13 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/gmail/collections/message.overrides:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/themes/gmail/collections/message.overrides
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/gmail/collections/message.variables:
--------------------------------------------------------------------------------
1 | @background: #F3F3F3;
2 |
3 | @boxShadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset;
4 | @borderRadius: 4px;
5 | @verticalPadding: 7px;
6 | @horizontalPadding: 15px;
7 |
8 | @headerFontSize: 1em;
9 |
10 | @floatingBoxShadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
11 |
12 | @iconSize: 1.5em;
13 | @iconDistance: 1em;
14 |
15 | @warningBackgroundColor: #F9EDBE;
16 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/instagram/views/card.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 |
6 | @import url(http://fonts.googleapis.com/css?family=Montserrat:700,400);
7 |
8 | .ui.cards > .card,
9 | .ui.card {
10 | font-family: 'Montserrat';
11 | font-size-adjust: 0.5;
12 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/instagram/views/card.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Card
3 | *******************************/
4 |
5 | /*-------------------
6 | View
7 | --------------------*/
8 |
9 | @borderBoxShadow: none;
10 | @shadowBoxShadow: none;
11 | @boxShadow: none;
12 |
13 |
14 | @internalBorderColor: #EDEDEE;
15 | @border: 1px solid #EDEDEE;
16 |
17 | @contentPadding: 14px 20px;
18 |
19 | @metaColor: #A5A7AA;
20 |
21 | @linkHoverRaiseDistance: 0px;
22 | @linkHoverBoxShadow: none;
23 | @linkHoverBorder: 1px solid #D0D0D8;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/material/collections/menu.overrides:
--------------------------------------------------------------------------------
1 | @import url(http://fonts.googleapis.com/css?family=Roboto);
2 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/material/collections/menu.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Menu
3 | *******************************/
4 |
5 | @fontFamily: 'Roboto', Arial, sans-serif;
6 | @boxShadow: 0px 1px 6px rgba(0, 0, 0, 0.2);
7 | @dividerSize: 0px;
8 |
9 | @itemVerticalPadding: @relativeLarge;
10 | @itemHorizontaPadding: @relativeLarge;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/material/elements/button.overrides:
--------------------------------------------------------------------------------
1 | @import url(http://fonts.googleapis.com/css?family=Roboto);
2 |
3 | .ui.primary.button:hover {
4 | box-shadow:
5 | 0px 0px 0px 1px rgba(0, 0, 0, 0.3) inset,
6 | 0px 2px 3px 0px rgba(0, 0, 0, 0.35) !important
7 | ;
8 | }
9 |
10 | .ui.secondary.button:hover {
11 | box-shadow:
12 | 0px 0px 0px 1px rgba(0, 0, 0, 0.2) inset,
13 | 0px 2px 3px 0px rgba(0, 0, 0, 0.3) !important
14 | ;
15 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/material/elements/header.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | @import url(http://fonts.googleapis.com/css?family=Roboto);
6 |
7 | h1.ui.header,
8 | .ui.huge.header {
9 | font-weight: normal;
10 | }
11 |
12 | h2.ui.header,
13 | .ui.large.header {
14 | font-weight: normal;
15 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/material/elements/header.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Header
3 | --------------------*/
4 |
5 | @headerFont : 'Roboto', Arial, sans-serif;
6 | @fontWeight: normal;
7 |
8 | @iconSize: 2em;
9 | @iconOffset: 0.2em;
10 | @iconAlignment: top;
11 |
12 | @subHeaderFontSize: 1rem;
13 |
14 |
15 | /* HTML Headings */
16 | @h1 : 2.25rem;
17 | @h2 : 2rem;
18 | @h3 : 1.75rem;
19 | @h4 : 1.5rem;
20 | @h5 : 1.25rem;
21 |
22 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/material/globals/site.overrides:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/themes/material/globals/site.overrides
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/material/modules/dropdown.overrides:
--------------------------------------------------------------------------------
1 | @import url(http://fonts.googleapis.com/css?family=Roboto:400,700);
2 |
3 | .ui.dropdown {
4 | font-family: 'Roboto';
5 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/material/modules/dropdown.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Menu
3 | *******************************/
4 |
5 | @menuBorderRadius: @borderRadius;
6 | @menuBorderColor: #DADADA;
7 | @menuBoxShadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
8 |
9 | @menuPadding: @relative8px 0em;
10 | @itemVerticalPadding: 1em;
11 | @itemHorizontalPadding: 1.5em;
12 |
13 | @menuHeaderFontSize: @small;
14 | @menuHeaderFontWeight: bold;
15 | @menuHeaderTextTransform: none;
16 |
17 | @selectionBorderEmWidth: 0em;
18 | @selectionItemDivider: none;
19 |
20 | @labelBoxShadow: none;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/material/modules/modal.overrides:
--------------------------------------------------------------------------------
1 | @import url(http://fonts.googleapis.com/css?family=Roboto);
2 |
3 | .ui.modal .header {
4 | font-family: "Roboto", Arial, Sans-serif !important;
5 | font-weight: 400 !important;
6 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/material/modules/modal.variables:
--------------------------------------------------------------------------------
1 | @boxShadow: 0px 10px 18px rgba(0, 0, 0, 0.22);
2 | @borderRadius: 0em;
3 |
4 |
5 | @headerBackground: @white;
6 | @headerVerticalPadding: 1.7142rem;
7 | @headerHorizontalPadding: 1.7142rem;
8 | @headerFontWeight: 400;
9 | @headerFontFamily: 'Roboto', "Helvetica Neue", Arial, sans-serif;
10 | @headerBorder: none;
11 |
12 | @contentPadding: 1rem 2rem 2rem;
13 |
14 | @actionBorder: none;
15 | @actionBackground: @white;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/pulsar/elements/loader.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Loader
3 | *******************************/
4 |
5 | @loaderSpeed: 2s;
6 | @loaderLineColor: @primaryColor;
7 | @invertedLoaderLineColor: @lightPrimaryColor;
8 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/raised/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/raised/elements/button.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Button
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | @backgroundColor: #F8F8F8;
10 | @backgroundImage: linear-gradient(transparent, rgba(0, 0, 0, 0.05));
11 | @verticalAlign: middle;
12 | @borderRadius: 0.4em;
13 | @borderBoxShadowColor: @borderColor;
14 |
15 | /* Shadow */
16 | @shadowDistance: 0.3em;
17 | @verticalPadding: 1em;
18 | @horizontalPadding: 2em;
19 |
20 | /* transition box shadow as well */
21 | @transition:
22 | opacity @defaultDuration @defaultEasing,
23 | background-color @defaultDuration @defaultEasing,
24 | box-shadow @defaultDuration @defaultEasing,
25 | color @defaultDuration @defaultEasing,
26 | background @defaultDuration @defaultEasing
27 | ;
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/resetcss/globals/reset.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Reset
3 | *******************************/
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/round/elements/button.overrides:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/src/semantic/src/themes/round/elements/button.overrides
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/rtl/globals/site.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Global Overrides
3 | *******************************/
4 |
5 | /* Import Droid Arabic Kufi */
6 | @import 'http://fonts.googleapis.com/earlyaccess/droidarabickufi.css';
7 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/rtl/globals/site.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Settings
3 | *******************************/
4 |
5 | /*-------------------
6 | Fonts
7 | --------------------*/
8 |
9 | @googleFontName : 'Droid Sans';
10 |
11 | /* Kufi imported in site.overrides */
12 | @headerFont : 'Droid Arabic Kufi', 'Droid Sans', 'Helvetica Neue', Arial, Helvetica, sans-serif;
13 | @pageFont : 'Droid Arabic Kufi', 'Droid Sans', 'Helvetica Neue', Arial, Helvetica, sans-serif;
14 |
15 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/striped/modules/progress.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Progress
3 | *******************************/
4 |
5 | .ui.progress .bar {
6 | background-size: 30px 30px;
7 | background-image:
8 | linear-gradient(
9 | 135deg, rgba(255, 255, 255, 0.08) 25%, transparent 25%,
10 | transparent 50%, rgba(255, 255, 255, 0.08) 50%, rgba(255, 255, 255, 0.08) 75%,
11 | transparent 75%, transparent
12 | )
13 | ;
14 | }
15 |
16 | .ui.progress.active .bar:after {
17 | animation: none;
18 | }
19 | .ui.progress.active .bar {
20 | animation: progress-striped 3s linear infinite;
21 | }
22 | @keyframes progress-striped {
23 | 0% {
24 | background-position: 0px 0;
25 | }
26 | 100% {
27 | background-position: 60px 0;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/striped/modules/progress.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Progress
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/timeline/views/feed.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
5 | .ui.feed > .event .label {
6 | border-left: 3px solid #DDDDDD;
7 | }
8 | .ui.feed > .event:last-child .label {
9 | border-left-color: transparent;
10 | }
11 |
12 | .ui.feed > .event > .label {
13 | margin-left: 1.6em;
14 | }
15 |
16 | .ui.feed > .event > .label > img,
17 | .ui.feed > .event > .label > .icon {
18 | background-color: #009FDA;
19 | border-radius: 500rem;
20 | color: #FFFFFF;
21 | width: 3rem;
22 | height: 3rem;
23 | line-height: 1.5;
24 | left: -1.6rem;
25 | opacity: 1;
26 | position: relative;
27 | }
28 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/timeline/views/feed.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Feed
3 | *******************************/
4 |
5 | /*-------------------
6 | Elements
7 | --------------------*/
8 |
9 | @eventMargin: 0em;
10 | @eventDivider: none;
11 | @eventPadding: 0em;
12 |
13 | /* Event Label */
14 | @labelWidth: 3em;
15 | @labelHeight: auto;
16 |
17 | @labeledContentMargin: 0.75em 0em 2em 0.75em;
18 |
19 | /* Icon */
20 | @iconLabelBackground: @primaryColor;
21 | @iconLabelBorderRadius: @circularRadius;
22 | @iconLabelColor: @white;
23 |
24 | /* Metadata Group */
25 | @metadataDisplay: inline-block;
26 | @metadataMargin: 1em 0em 0em;
27 | @metadataBackground: @white @subtleGradient;
28 | @metadataBorder: 1px solid @solidBorderColor;
29 | @metadataBorderRadius: 0.25em;
30 | @metadataBoxShadow: 0 1px 1px rgba(0, 0, 0, 0.05);
31 | @metadataPadding: 0.5em 1em;
32 | @metadataColor: rgba(0, 0, 0, 0.6);
33 |
34 | /*-------------------
35 | Variations
36 | --------------------*/
37 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/twitter/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | .ui.primary.button {
6 | box-shadow:
7 | 0px 0px 0px 1px #3B88C3 inset,
8 | 0 2px 0 rgba(255, 255, 255, 0.15) inset
9 | ;
10 | }
11 | .ui.primary.button > .icon {
12 | color: #FFFFFF;
13 | }
14 |
--------------------------------------------------------------------------------
/frontend/src/semantic/src/themes/twitter/elements/button.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Global Variables
3 | --------------------*/
4 |
5 | @pageFont: Helvetica Neue, Helvetica, Arial, sans-serif;
6 | @textColor: #66757F;
7 | @blue: #55ACEE;
8 |
9 | /*-------------------
10 | Button Variables
11 | --------------------*/
12 |
13 | @backgroundColor: #F5F8FA;
14 | @backgroundImage: linear-gradient(@white, @backgroundColor);
15 | @color: #66757F;
16 | @borderBoxShadowColor: #E1E8ED;
17 |
18 | @textTransform: none;
19 | @fontWeight: bold;
20 | @textColor: #333333;
21 |
22 | @horizontalPadding: 1.284em;
23 | @verticalPadding: 0.8571em;
24 |
25 | @activeBackgroundColor: rgba(0, 0, 0, 0.1);
26 |
27 | @primaryColor: @blue;
28 | @coloredBackgroundImage: @subtleGradient;
29 |
30 |
31 | /*-------------------
32 | States
33 | --------------------*/
34 |
35 | @hoverBackgroundColor: #E1E8ED;
36 | @hoverBackgroundImage: linear-gradient(@white, @hoverBackgroundColor);
37 | @hoverColor: #292F33;
38 |
39 | @downBackgroundColor: #E1E8ED;
40 | @downColor: #292F33;
41 | @downPressedShadow: 0px 1px 4px rgba(0, 0, 0, 0.2) inset;
42 |
43 | @labeledIconBackgroundColor: rgba(85, 172, 238, 0.05);
44 | @labeledIconBorder: rgba(0, 0, 0, 0.1);
45 |
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/README.md:
--------------------------------------------------------------------------------
1 | ## Tasks
2 |
3 | * Watch - Compile only changed files from source
4 | * Build - Build all files from source
5 | * Version - Output version number
6 | * Install - Run Installer to Set-up Paths
7 |
8 | ## How to use
9 |
10 | These tasks can be imported into your own gulpfile allowing you to avoid using Semantic's build tools
11 |
12 | ```javascript
13 | var
14 | watch = require('path/to/semantic/tasks/watch')
15 | ;
16 | gulp.task('watch ui', watch);
17 | ```
18 |
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/admin/publish.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Release All
3 | *******************************/
4 |
5 | /*
6 | This task update all SUI individual component repos with new versions of components
7 |
8 | * Commits changes from create components to GitHub and Tags
9 |
10 | */
11 |
12 | var
13 | runSequence = require('run-sequence')
14 | ;
15 |
16 | /* Release All */
17 | module.exports = function(callback) {
18 |
19 | runSequence(
20 | 'update distributions', // commit less/css versions to github
21 | 'update components', // commit components to github
22 | callback
23 | );
24 |
25 | };
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/admin/release.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Release
3 | *******************************/
4 |
5 | /*
6 | This task update all SUI individual component repos with new versions of components
7 |
8 | * Initializes repositories with current versions
9 | * Creates local files at ../distributions/ with each repo for release
10 |
11 | */
12 |
13 | var
14 | runSequence = require('run-sequence')
15 | ;
16 |
17 | /* Release All */
18 | module.exports = function(callback) {
19 |
20 | runSequence(
21 | //'build', // build Semantic
22 | 'init distributions', // sync with current github version
23 | 'create distributions', // update each repo with changes from master repo
24 | 'init components', // sync with current github version
25 | 'create components', // update each repo
26 | callback
27 | );
28 |
29 | };
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/build.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Build Task
3 | *******************************/
4 |
5 | var
6 | // dependencies
7 | gulp = require('gulp-help')(require('gulp')),
8 | runSequence = require('run-sequence'),
9 |
10 | // config
11 | config = require('./config/user'),
12 | install = require('./config/project/install'),
13 |
14 | // task sequence
15 | tasks = []
16 | ;
17 |
18 |
19 | // sub-tasks
20 | if(config.rtl) {
21 | require('./collections/rtl')(gulp);
22 | }
23 | require('./collections/build')(gulp);
24 |
25 |
26 | module.exports = function(callback) {
27 |
28 | console.info('Building Semantic');
29 |
30 | if( !install.isSetup() ) {
31 | console.error('Cannot find semantic.json. Run "gulp install" to set-up Semantic');
32 | return 1;
33 | }
34 |
35 | // check for right-to-left (RTL) language
36 | if(config.rtl === true || config.rtl === 'Yes') {
37 | gulp.start('build-rtl');
38 | return;
39 | }
40 |
41 | if(config.rtl == 'both') {
42 | tasks.push('build-rtl');
43 | }
44 |
45 | tasks.push('build-javascript');
46 | tasks.push('build-css');
47 | tasks.push('build-assets');
48 |
49 | runSequence(tasks, callback);
50 | };
51 |
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/build/assets.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Build Task
3 | *******************************/
4 |
5 | var
6 | gulp = require('gulp'),
7 |
8 | // gulp dependencies
9 | chmod = require('gulp-chmod'),
10 | gulpif = require('gulp-if'),
11 |
12 | // config
13 | config = require('../config/user'),
14 | tasks = require('../config/tasks'),
15 |
16 | // shorthand
17 | globs = config.globs,
18 | assets = config.paths.assets,
19 | output = config.paths.output,
20 | source = config.paths.source,
21 |
22 | log = tasks.log
23 | ;
24 |
25 | module.exports = function(callback) {
26 |
27 | console.info('Building assets');
28 |
29 | // copy assets
30 | return gulp.src(source.themes + '/**/assets/**/*.*')
31 | .pipe(gulpif(config.hasPermission, chmod(config.permission)))
32 | .pipe(gulp.dest(output.themes))
33 | ;
34 |
35 | };
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/check-install.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Check Install
3 | *******************************/
4 |
5 | var
6 | // node dependencies
7 | gulp = require('gulp'),
8 | fs = require('fs'),
9 | console = require('better-console'),
10 | install = require('./config/project/install')
11 | ;
12 |
13 | // export task
14 | module.exports = function() {
15 |
16 | setTimeout(function() {
17 | if( !install.isSetup() ) {
18 | console.log('Starting install...');
19 | gulp.start('install');
20 | return;
21 | }
22 | else {
23 | gulp.start('watch');
24 | }
25 | }, 50); // Delay to allow console.clear to remove messages from check event
26 |
27 |
28 | };
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/clean.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Clean Task
3 | *******************************/
4 |
5 | var
6 | del = require('del'),
7 | config = require('./config/user'),
8 | tasks = require('./config/tasks')
9 | ;
10 |
11 | // cleans distribution files
12 | module.exports = function(callback) {
13 | return del([config.paths.clean], tasks.settings.del, callback);
14 | };
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/collections/README.md:
--------------------------------------------------------------------------------
1 | ## How to use
2 |
3 | These are collections of tasks that are imported together.
4 |
5 | To import them into gulp:
6 | ```javascript
7 | var
8 | gulp = require('gulp'),
9 | // modified to point to semantic folder
10 | install = require('tasks/collections/install')
11 | ;
12 | gulp = install(gulp);
13 |
14 | // tasks are now injected and ready to be used
15 | gulp.start('install');
16 | ```
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/collections/build.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Define Sub-Tasks
3 | *******************************/
4 |
5 | module.exports = function(gulp) {
6 |
7 | var
8 | // build sub-tasks
9 | buildJS = require('./../build/javascript'),
10 | buildCSS = require('./../build/css'),
11 | buildAssets = require('./../build/assets')
12 | ;
13 |
14 | // in case these tasks are undefined during import, less make sure these are available in scope
15 | gulp.task('build-javascript', 'Builds all javascript from source', buildJS);
16 | gulp.task('build-css', 'Builds all css from source', buildCSS);
17 | gulp.task('build-assets', 'Copies all assets from source', buildAssets);
18 |
19 | };
20 |
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/collections/rtl.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Define Sub-Tasks
3 | *******************************/
4 |
5 | module.exports = function(gulp) {
6 |
7 | var
8 | // rtl
9 | buildRTL = require('./../rtl/build'),
10 | watchRTL = require('./../rtl/watch')
11 | ;
12 |
13 | gulp.task('watch-rtl', 'Build all files as RTL', watchRTL);
14 | gulp.task('build-rtl', 'Watch files as RTL ', buildRTL);
15 |
16 | };
17 |
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/config/admin/github.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | GitHub Login
3 | *******************************/
4 | /*
5 | Logs into GitHub using OAuth
6 | */
7 |
8 | var
9 | fs = require('fs'),
10 | path = require('path'),
11 | githubAPI = require('github'),
12 |
13 | // stores oauth info for GitHub API
14 | oAuthConfig = path.join(__dirname, 'oauth.js'),
15 | oAuth = fs.existsSync(oAuthConfig)
16 | ? require(oAuthConfig)
17 | : false,
18 | github
19 | ;
20 |
21 | if(!oAuth) {
22 | console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js');
23 | }
24 |
25 | github = new githubAPI({
26 | version : '3.0.0',
27 | debug : true,
28 | protocol : 'https',
29 | timeout : 5000
30 | });
31 |
32 | github.authenticate({
33 | type: 'oauth',
34 | token: oAuth.token
35 | });
36 |
37 | module.exports = github;
38 |
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/config/admin/oauth.example.js:
--------------------------------------------------------------------------------
1 | /*
2 | Used to import GitHub Auth Token
3 | To Automate GitHub Updates
4 | */
5 |
6 | module.exports = {
7 | token : 'AN-OAUTH2-TOKEN',
8 | username : 'github-username',
9 | name : 'Your Name',
10 | email : 'user@email.com'
11 | };
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/config/admin/templates/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name" : "Component",
3 | "description" : "Component distribution",
4 | "homepage" : "http://www.semantic-ui.com",
5 | "author": {
6 | "name" : "Jack Lukic",
7 | "web" : "http://www.jacklukic.com"
8 | },
9 | "ignore": [
10 | "./index.js"
11 | ],
12 | "keywords": [
13 | "semantic",
14 | "ui",
15 | "css3",
16 | "framework"
17 | ],
18 | "license" : [
19 | "http://semantic-ui.mit-license.org/"
20 | ],
21 | "ignore": [
22 | "docs",
23 | "node",
24 | "server",
25 | "spec",
26 | "src",
27 | "test"
28 | ]
29 | }
30 |
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/config/admin/templates/component-package.js:
--------------------------------------------------------------------------------
1 |
2 | Package.describe({
3 | name : 'semantic:ui-{component}',
4 | summary : 'Semantic UI - {Component}: Single component release',
5 | version : '{version}',
6 | git : 'git://github.com/Semantic-Org/UI-{Component}.git',
7 | });
8 |
9 | Package.onUse(function(api) {
10 | api.versionsFrom('1.0');
11 | api.addFiles([
12 | {files}
13 | ], 'client');
14 | });
15 |
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/config/admin/templates/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name" : "semantic/ui",
3 | "description" : "Semantic empowers designers and developers by creating a shared vocabulary for UI.",
4 | "homepage" : "http://www.semantic-ui.com",
5 | "authors": [
6 | {
7 | "name" : "Jack Lukic",
8 | "email": "jacklukic@gmail.com",
9 | "web" : "http://www.jacklukic.com",
10 | "role" : "Creator"
11 | }
12 | ],
13 | "keywords": [
14 | "semantic",
15 | "ui",
16 | "css",
17 | "framework"
18 | ],
19 | "license" : "MIT"
20 | }
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/config/admin/templates/css-package.js:
--------------------------------------------------------------------------------
1 | var
2 | where = 'client' // Adds files only to the client
3 | ;
4 |
5 | Package.describe({
6 | name : 'semantic:ui-css',
7 | summary : 'Semantic UI - CSS Release of Semantic UI',
8 | version : '{version}',
9 | git : 'git://github.com/Semantic-Org/Semantic-UI-CSS.git',
10 | });
11 |
12 | Package.onUse(function(api) {
13 |
14 | api.versionsFrom('1.0');
15 |
16 | api.use('jquery', 'client');
17 |
18 | api.addFiles([
19 | // icons
20 | 'themes/default/assets/fonts/icons.eot',
21 | 'themes/default/assets/fonts/icons.svg',
22 | 'themes/default/assets/fonts/icons.ttf',
23 | 'themes/default/assets/fonts/icons.woff',
24 | 'themes/default/assets/fonts/icons.woff2',
25 |
26 | // flags
27 | 'themes/default/assets/images/flags.png',
28 |
29 | // release
30 | 'semantic.css',
31 | 'semantic.js'
32 | ], 'client');
33 |
34 | });
35 |
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/config/admin/templates/less-package.js:
--------------------------------------------------------------------------------
1 | var
2 | where = 'client' // Adds files only to the client
3 | ;
4 |
5 | Package.describe({
6 | name : 'semantic:ui',
7 | summary : 'Semantic UI - LESS Release of Semantic UI',
8 | version : '{version}',
9 | git : 'git://github.com/Semantic-Org/Semantic-UI-LESS.git',
10 | });
11 |
12 | Package.onUse(function(api) {
13 |
14 | api.versionsFrom('1.0');
15 | api.use('less', 'client');
16 |
17 | api.addFiles([
18 | {files}
19 | ], 'client');
20 |
21 | });
22 |
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/config/admin/templates/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "semantic",
3 | "version": "1.0.0",
4 | "title": "Semantic UI",
5 | "description": "Semantic empowers designers and developers by creating a shared vocabulary for UI.",
6 | "homepage": "http://www.semantic-ui.com",
7 | "author": "Jack Lukic ",
8 | "license": "MIT",
9 | "repository": {
10 | "type": "git",
11 | "url": "git://github.com/Semantic-Org/Semantic-UI.git"
12 | },
13 | "bugs": {
14 | "url": "https://github.com/Semantic-Org/Semantic-UI/issues"
15 | },
16 | "devDependencies": {}
17 | }
18 |
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/config/docs.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Docs
3 | *******************************/
4 |
5 | /* Paths used for "serve-docs" and "build-docs" tasks */
6 | module.exports = {
7 | base: '',
8 | globs: {
9 | eco: '**/*.html.eco'
10 | },
11 | paths: {
12 | clean: '../docs/out/dist/',
13 | source: {
14 | config : 'src/theme.config',
15 | definitions : 'src/definitions/',
16 | site : 'src/site/',
17 | themes : 'src/themes/'
18 | },
19 | output: {
20 | examples : '../docs/out/examples/',
21 | less : '../docs/out/src/',
22 | metadata : '../docs/out/',
23 | packaged : '../docs/out/dist/',
24 | uncompressed : '../docs/out/dist/components/',
25 | compressed : '../docs/out/dist/components/',
26 | themes : '../docs/out/dist/themes/'
27 | },
28 | template: {
29 | eco: '../docs/server/documents/'
30 | },
31 | }
32 | };
33 |
--------------------------------------------------------------------------------
/frontend/src/semantic/tasks/version.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Version Task
3 | *******************************/
4 |
5 | var
6 | release = require('./config/project/release')
7 | ;
8 |
9 | module.exports = function(callback) {
10 | console.log(release.title + ' ' + release.version);
11 | };
--------------------------------------------------------------------------------
/frontend/static/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/static/.gitkeep
--------------------------------------------------------------------------------
/frontend/static/images/avatar1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/frontend/static/images/avatar1.jpg
--------------------------------------------------------------------------------
/frontend/test/e2e/custom-assertions/elementCount.js:
--------------------------------------------------------------------------------
1 | // A custom Nightwatch assertion.
2 | // the name of the method is the filename.
3 | // can be used in tests like this:
4 | //
5 | // browser.assert.elementCount(selector, count)
6 | //
7 | // for how to write custom assertions see
8 | // http://nightwatchjs.org/guide#writing-custom-assertions
9 | exports.assertion = function (selector, count) {
10 | this.message = 'Testing if element <' + selector + '> has count: ' + count
11 | this.expected = count
12 | this.pass = function (val) {
13 | return val === this.expected
14 | }
15 | this.value = function (res) {
16 | return res.value
17 | }
18 | this.command = function (cb) {
19 | var self = this
20 | return this.api.execute(function (selector) {
21 | return document.querySelectorAll(selector).length
22 | }, [selector], function (res) {
23 | cb.call(self, res)
24 | })
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/frontend/test/e2e/nightwatch.conf.js:
--------------------------------------------------------------------------------
1 | // http://nightwatchjs.org/guide#settings-file
2 | module.exports = {
3 | "src_folders": ["test/e2e/specs"],
4 | "output_folder": "test/e2e/reports",
5 | "custom_assertions_path": ["test/e2e/custom-assertions"],
6 |
7 | "selenium": {
8 | "start_process": true,
9 | "server_path": "node_modules/selenium-server/lib/runner/selenium-server-standalone-2.53.0.jar",
10 | "host": "127.0.0.1",
11 | "port": 4444,
12 | "cli_args": {
13 | "webdriver.chrome.driver": require('chromedriver').path
14 | }
15 | },
16 |
17 | "test_settings": {
18 | "default": {
19 | "selenium_port": 4444,
20 | "selenium_host": "localhost",
21 | "silent": true
22 | },
23 |
24 | "chrome": {
25 | "desiredCapabilities": {
26 | "browserName": "chrome",
27 | "javascriptEnabled": true,
28 | "acceptSslCerts": true
29 | }
30 | },
31 |
32 | "firefox": {
33 | "desiredCapabilities": {
34 | "browserName": "firefox",
35 | "javascriptEnabled": true,
36 | "acceptSslCerts": true
37 | }
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/frontend/test/e2e/runner.js:
--------------------------------------------------------------------------------
1 | // 1. start the dev server using production config
2 | process.env.NODE_ENV = 'testing'
3 | var server = require('../../build/dev-server.js')
4 |
5 | // 2. run the nightwatch test suite against it
6 | // to run in additional browsers:
7 | // 1. add an entry in test/e2e/nightwatch.conf.json under "test_settings"
8 | // 2. add it to the --env flag below
9 | // For more information on Nightwatch's config file, see
10 | // http://nightwatchjs.org/guide#settings-file
11 | var spawn = require('cross-spawn')
12 | var runner = spawn(
13 | './node_modules/.bin/nightwatch',
14 | [
15 | '--config', 'test/e2e/nightwatch.conf.js',
16 | '--env', 'chrome,firefox'
17 | ],
18 | {
19 | stdio: 'inherit'
20 | }
21 | )
22 |
23 | runner.on('exit', function (code) {
24 | server.close()
25 | process.exit(code)
26 | })
27 |
28 | runner.on('error', function (err) {
29 | server.close()
30 | throw err
31 | })
32 |
--------------------------------------------------------------------------------
/frontend/test/e2e/specs/test.js:
--------------------------------------------------------------------------------
1 | // For authoring Nightwatch tests, see
2 | // http://nightwatchjs.org/guide#usage
3 |
4 | module.exports = {
5 | 'default e2e tests': function (browser) {
6 | browser
7 | .url('http://localhost:8080')
8 | .waitForElementVisible('#app', 5000)
9 | .assert.elementPresent('.logo')
10 | .assert.containsText('h1', 'Hello World!')
11 | .assert.elementCount('p', 3)
12 | .end()
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/frontend/test/unit/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "mocha": true
4 | },
5 | "globals": {
6 | "expect": true,
7 | "sinon": true
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/frontend/test/unit/Hello.spec.js:
--------------------------------------------------------------------------------
1 | /* global describe, it, expect */
2 |
3 | import Vue from 'vue'
4 | import Hello from 'src/components/Hello'
5 |
6 | describe('Hello.vue', () => {
7 | it('should render correct contents', () => {
8 | const vm = new Vue({
9 | template: '
',
10 | components: { Hello }
11 | }).$mount()
12 | expect(vm.$el.querySelector('.hello h1').textContent).toBe('Hello World!')
13 | })
14 | })
15 |
16 | // also see example testing a component with mocks at
17 | // https://github.com/vuejs/vue-loader-example/blob/master/test/unit/a.spec.js#L24-L49
18 |
--------------------------------------------------------------------------------
/frontend/test/unit/index.js:
--------------------------------------------------------------------------------
1 | // Polyfill fn.bind() for PhantomJS
2 | /* eslint-disable no-extend-native */
3 | Function.prototype.bind = require('function-bind')
4 |
5 | // require all test files (files that ends with .spec.js)
6 | var testsContext = require.context('./specs', true, /\.spec$/)
7 | testsContext.keys().forEach(testsContext)
8 |
9 | // require all src files except main.js for coverage.
10 | // you can also change this to match only the subset of files that
11 | // you want coverage for.
12 | var srcContext = require.context('../../src', true, /^\.\/(?!main(\.js)?$)/)
13 | srcContext.keys().forEach(srcContext)
14 |
--------------------------------------------------------------------------------
/frontend/test/unit/specs/Hello.spec.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Hello from 'src/components/Hello'
3 |
4 | describe('Hello.vue', () => {
5 | it('should render correct contents', () => {
6 | const vm = new Vue({
7 | template: '
',
8 | components: { Hello }
9 | }).$mount()
10 | expect(vm.$el.querySelector('.hello h1').textContent).to.contain('Hello World!')
11 | })
12 | })
13 |
--------------------------------------------------------------------------------
/public/.htaccess:
--------------------------------------------------------------------------------
1 |
2 |
3 | Options -MultiViews
4 |
5 |
6 | RewriteEngine On
7 |
8 | # Redirect Trailing Slashes If Not A Folder...
9 | RewriteCond %{REQUEST_FILENAME} !-d
10 | RewriteRule ^(.*)/$ /$1 [L,R=301]
11 |
12 | # Handle Front Controller...
13 | RewriteCond %{REQUEST_FILENAME} !-d
14 | RewriteCond %{REQUEST_FILENAME} !-f
15 | RewriteRule ^ index.php [L]
16 |
17 | # Handle Authorization Header
18 | RewriteCond %{HTTP:Authorization} .
19 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
20 |
21 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zgldh/vuejs-laravel/cd86f00f900e7734aa0a624a210a9da5a7e3d68b/public/favicon.ico
--------------------------------------------------------------------------------
/public/index.php:
--------------------------------------------------------------------------------
1 |